chrome: Add callback for already running app relaunch (fixes #3609)

Adds a new CefBrowserProcessHandler::OnAlreadyRunningAppRelaunch
callback for when an already running app is relaunched with the
same CefSettings.root_cache_path.

Client apps should check the CefInitialize() return value for early
exit of the relaunch source process.
This commit is contained in:
Marshall Greenblatt
2023-11-28 20:33:44 -05:00
parent d6af79e7a6
commit a25f89f9e4
45 changed files with 553 additions and 178 deletions

View File

@@ -10,6 +10,7 @@
#include "include/base/cef_macros.h"
#include "include/base/cef_ref_counted.h"
#include "include/cef_command_line.h"
#include "include/internal/cef_types_wrappers.h"
#include "tests/cefclient/browser/osr_renderer_settings.h"
@@ -24,6 +25,9 @@ class MainContext {
// Returns the singleton instance of this object.
static MainContext* Get();
// Returns the global command-line.
virtual CefRefPtr<CefCommandLine> GetCommandLine() = 0;
// Returns the full path to the console log file.
virtual std::string GetConsoleLogPath() = 0;
@@ -33,8 +37,8 @@ class MainContext {
// Returns the app working directory including trailing path separator.
virtual std::string GetAppWorkingDirectory() = 0;
// Returns the main application URL.
virtual std::string GetMainURL() = 0;
// Returns the main application URL based on |command_line| and global state.
virtual std::string GetMainURL(CefRefPtr<CefCommandLine> command_line) = 0;
// Returns the background color.
virtual cef_color_t GetBackgroundColor() = 0;