Add default browser & external-open support
Introduce default-browser integration and external open handling across platforms. Added platform/default_browser.h with a Windows implementation (registry registration + settings UI invocation) and mac/linux stubs. Exposed new commands from the renderer (check-default-browser / set-default-browser) and implemented request/response plumbing in NebulaController (SendDefaultBrowserResult) and BrowserClient. Added UI controls and JS helpers in settings and setup pages to check and prompt the user to make Nebula the default browser. Also added single-instance launch target handling: command-line URL normalization, passing/consolidating the launch target, forwarding it to an existing window on Windows via WM_COPYDATA, and exposing OnExternalOpenRequested on the window/controller. Implemented delayed navigation (CefTask) to safely load pending initial URLs after CEF initialization. Updated CMakeLists and platform startup signatures to include and accept the new files/parameters.
This commit is contained in:
@@ -54,6 +54,7 @@ set(NEBULA_COMMON_SOURCES
|
||||
|
||||
if(OS_WINDOWS)
|
||||
set(NEBULA_PLATFORM_SOURCES
|
||||
src/platform/win/default_browser_win.cpp
|
||||
src/platform/win/paths_win.cpp
|
||||
src/platform/win/startup_win.cpp
|
||||
src/platform/win/browser_host_win.cpp
|
||||
@@ -61,6 +62,7 @@ if(OS_WINDOWS)
|
||||
)
|
||||
elseif(OS_MACOSX)
|
||||
set(NEBULA_PLATFORM_SOURCES
|
||||
src/platform/mac/default_browser_mac.mm
|
||||
src/platform/mac/paths_mac.cpp
|
||||
src/platform/mac/startup_mac.mm
|
||||
src/platform/mac/browser_host_mac.mm
|
||||
@@ -75,6 +77,7 @@ elseif(OS_MACOSX)
|
||||
)
|
||||
elseif(OS_LINUX)
|
||||
set(NEBULA_PLATFORM_SOURCES
|
||||
src/platform/linux/default_browser_linux.cpp
|
||||
src/platform/linux/paths_linux.cpp
|
||||
src/platform/linux/startup_linux.cpp
|
||||
src/platform/linux/browser_host_linux.cpp
|
||||
|
||||
Reference in New Issue
Block a user