c514e4faec5d3c3113cac7495b6ba465a29bfdca
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.
Nebula Browser
A Chromium Embedded Framework (CEF) browser with a custom HTML chrome UI.
Documentation
- Cross-platform build & architecture — how to use one repo for Windows, macOS, and Linux; CEF setup; source layout; porting status.
Quick start (Windows)
-
Download the CEF standard binary distribution for Windows 64-bit.
-
Extract into
thirdparty/cef/sothirdparty/cef/cmake/FindCEF.cmakeexists. -
Build:
cmake -B build cmake --build build --config Release -
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.
Releases
1
Languages
JavaScript
32%
C++
26.1%
HTML
20.2%
CSS
18.2%
Objective-C++
2%
Other
1.5%