mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-03 04:27:43 +01:00
cefsimple: Only instantiate SimpleApp in the browser process (issue #1776)
This commit is contained in:
parent
b4a159a1da
commit
bd6e656747
@ -33,27 +33,28 @@ int main(int argc, char* argv[]) {
|
|||||||
// Provide CEF with command-line arguments.
|
// Provide CEF with command-line arguments.
|
||||||
CefMainArgs main_args(argc, argv);
|
CefMainArgs main_args(argc, argv);
|
||||||
|
|
||||||
// SimpleApp implements application-level callbacks. It will create the first
|
|
||||||
// browser instance in OnContextInitialized() after CEF has initialized.
|
|
||||||
CefRefPtr<SimpleApp> app(new SimpleApp);
|
|
||||||
|
|
||||||
// CEF applications have multiple sub-processes (render, plugin, GPU, etc)
|
// CEF applications have multiple sub-processes (render, plugin, GPU, etc)
|
||||||
// that share the same executable. This function checks the command-line and,
|
// that share the same executable. This function checks the command-line and,
|
||||||
// if this is a sub-process, executes the appropriate logic.
|
// if this is a sub-process, executes the appropriate logic.
|
||||||
int exit_code = CefExecuteProcess(main_args, app.get(), NULL);
|
int exit_code = CefExecuteProcess(main_args, NULL, NULL);
|
||||||
if (exit_code >= 0) {
|
if (exit_code >= 0) {
|
||||||
// The sub-process has completed so return here.
|
// The sub-process has completed so return here.
|
||||||
return exit_code;
|
return exit_code;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Specify CEF global settings here.
|
|
||||||
CefSettings settings;
|
|
||||||
|
|
||||||
// Install xlib error handlers so that the application won't be terminated
|
// Install xlib error handlers so that the application won't be terminated
|
||||||
// on non-fatal errors.
|
// on non-fatal errors.
|
||||||
XSetErrorHandler(XErrorHandlerImpl);
|
XSetErrorHandler(XErrorHandlerImpl);
|
||||||
XSetIOErrorHandler(XIOErrorHandlerImpl);
|
XSetIOErrorHandler(XIOErrorHandlerImpl);
|
||||||
|
|
||||||
|
// Specify CEF global settings here.
|
||||||
|
CefSettings settings;
|
||||||
|
|
||||||
|
// SimpleApp implements application-level callbacks for the browser process.
|
||||||
|
// It will create the first browser instance in OnContextInitialized() after
|
||||||
|
// CEF has initialized.
|
||||||
|
CefRefPtr<SimpleApp> app(new SimpleApp);
|
||||||
|
|
||||||
// Initialize CEF for the browser process.
|
// Initialize CEF for the browser process.
|
||||||
CefInitialize(main_args, settings, app.get(), NULL);
|
CefInitialize(main_args, settings, app.get(), NULL);
|
||||||
|
|
||||||
|
@ -111,10 +111,6 @@ int main(int argc, char* argv[]) {
|
|||||||
// Provide CEF with command-line arguments.
|
// Provide CEF with command-line arguments.
|
||||||
CefMainArgs main_args(argc, argv);
|
CefMainArgs main_args(argc, argv);
|
||||||
|
|
||||||
// SimpleApp implements application-level callbacks. It will create the first
|
|
||||||
// browser instance in OnContextInitialized() after CEF has initialized.
|
|
||||||
CefRefPtr<SimpleApp> app(new SimpleApp);
|
|
||||||
|
|
||||||
// Initialize the AutoRelease pool.
|
// Initialize the AutoRelease pool.
|
||||||
NSAutoreleasePool* autopool = [[NSAutoreleasePool alloc] init];
|
NSAutoreleasePool* autopool = [[NSAutoreleasePool alloc] init];
|
||||||
|
|
||||||
@ -124,6 +120,11 @@ int main(int argc, char* argv[]) {
|
|||||||
// Specify CEF global settings here.
|
// Specify CEF global settings here.
|
||||||
CefSettings settings;
|
CefSettings settings;
|
||||||
|
|
||||||
|
// SimpleApp implements application-level callbacks for the browser process.
|
||||||
|
// It will create the first browser instance in OnContextInitialized() after
|
||||||
|
// CEF has initialized.
|
||||||
|
CefRefPtr<SimpleApp> app(new SimpleApp);
|
||||||
|
|
||||||
// Initialize CEF for the browser process.
|
// Initialize CEF for the browser process.
|
||||||
CefInitialize(main_args, settings, app.get(), NULL);
|
CefInitialize(main_args, settings, app.get(), NULL);
|
||||||
|
|
||||||
|
@ -44,14 +44,10 @@ int APIENTRY wWinMain(HINSTANCE hInstance,
|
|||||||
// Provide CEF with command-line arguments.
|
// Provide CEF with command-line arguments.
|
||||||
CefMainArgs main_args(hInstance);
|
CefMainArgs main_args(hInstance);
|
||||||
|
|
||||||
// SimpleApp implements application-level callbacks. It will create the first
|
|
||||||
// browser instance in OnContextInitialized() after CEF has initialized.
|
|
||||||
CefRefPtr<SimpleApp> app(new SimpleApp);
|
|
||||||
|
|
||||||
// CEF applications have multiple sub-processes (render, plugin, GPU, etc)
|
// CEF applications have multiple sub-processes (render, plugin, GPU, etc)
|
||||||
// that share the same executable. This function checks the command-line and,
|
// that share the same executable. This function checks the command-line and,
|
||||||
// if this is a sub-process, executes the appropriate logic.
|
// if this is a sub-process, executes the appropriate logic.
|
||||||
int exit_code = CefExecuteProcess(main_args, app.get(), sandbox_info);
|
int exit_code = CefExecuteProcess(main_args, NULL, sandbox_info);
|
||||||
if (exit_code >= 0) {
|
if (exit_code >= 0) {
|
||||||
// The sub-process has completed so return here.
|
// The sub-process has completed so return here.
|
||||||
return exit_code;
|
return exit_code;
|
||||||
@ -64,6 +60,11 @@ int APIENTRY wWinMain(HINSTANCE hInstance,
|
|||||||
settings.no_sandbox = true;
|
settings.no_sandbox = true;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// SimpleApp implements application-level callbacks for the browser process.
|
||||||
|
// It will create the first browser instance in OnContextInitialized() after
|
||||||
|
// CEF has initialized.
|
||||||
|
CefRefPtr<SimpleApp> app(new SimpleApp);
|
||||||
|
|
||||||
// Initialize CEF.
|
// Initialize CEF.
|
||||||
CefInitialize(main_args, settings, app.get(), sandbox_info);
|
CefInitialize(main_args, settings, app.get(), sandbox_info);
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include "include/cef_app.h"
|
#include "include/cef_app.h"
|
||||||
|
|
||||||
|
// Implement application-level callbacks for the browser process.
|
||||||
class SimpleApp : public CefApp,
|
class SimpleApp : public CefApp,
|
||||||
public CefBrowserProcessHandler {
|
public CefBrowserProcessHandler {
|
||||||
public:
|
public:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user