Andrew Zambazos c514e4faec Menu popup: visibility, zoom sync, and tab fixes
Track menu popup visibility and propagate zoom level to the popup. Add menu_popup_visible_ flag, SendMenuPopupZoom(), and call it when creating/showing the popup and when adjusting zoom. Make CreateNewTab accept an optional URL and route popup/new-tab flows to it. Prevent per-tab child closes from triggering app shutdown by tracking closing_tab_browsers_ and adding ForgetClosingTabBrowser(). Treat MenuPopup role specially when enabling frame hit-testing.

Platform: remove usage of ApplyRoundedBrowserRegion and switch menu popup sizing to use resized client_size helpers (consolidate calculations across Win/Mac/Linux). UI: update menu-popup CSS/JS (new styling, font, zoom formatting API via NebulaMenuPopup.setZoomLevel), wire settings to use nebulaNative.postMessage for new-tab, and remove the static menu-popup.html. Misc: small chrome CSS/JS tweaks and ensure chrome state includes zoomLevel.
2026-05-18 18:28:20 +12:00

Nebula Browser

A Chromium Embedded Framework (CEF) browser with a custom HTML chrome UI.

Documentation

Quick start (Windows)

  1. Download the CEF standard binary distribution for Windows 64-bit.

  2. Extract into thirdparty/cef/ so thirdparty/cef/cmake/FindCEF.cmake exists.

  3. Build:

    cmake -B build
    cmake --build build --config Release
    
  4. Run build\Release\NebulaBrowser.exe.

For macOS/Linux prerequisites, directory structure, and current port status, see docs/cross-platform.md.

License

See the CEF distribution and Chromium license terms for third-party runtime components.

S
Description
No description provided
Readme MPL-2.0 711 MiB
2026-01-31 17:07:09 +13:00
Languages
JavaScript 32%
C++ 26.1%
HTML 20.2%
CSS 18.2%
Objective-C++ 2%
Other 1.5%