CEFApp
/*--cef(source=client,no_debugct_check)--*/class CefApp : public virtual CefBase { public: /// // Provides an opportunity to view and/or modify command-line arguments before // processing by CEF and Chromium. The |process_type| value will be empty for // the browser process. Do not keep a reference to the CefCommandLine object // passed to this method. The CefSettings.command_line_args_disabled value // can be used to start with an empty command-line object. Any values // specified in CefSettings that equate to command-line arguments will be set // before this method is called. Be cautious when using this method to modify // command-line arguments for non-browser processes as this may result in // undefined behavior including crashes. /// /*--cef(optional_param=process_type)--*/ virtual void OnBeforeCommandLineProcessing( const CefString& process_type, CefRefPtr<CefCommandLine> command_line) { } /// // Provides an opportunity to register custom schemes. Do not keep a reference // to the |registrar| object. This method is called on the main thread for // each process and the registered schemes should be the same across all // processes. /// /*--cef()--*/ virtual void OnRegisterCustomSchemes( CefRefPtr<CefSchemeRegistrar> registrar) { } /// // Return the handler for resource bundle events. If // CefSettings.pack_loading_disabled is true a handler must be returned. If no // handler is returned resources will be loaded from pack files. This method // is called by the browser and render processes on multiple threads. /// /*--cef()--*/ virtual CefRefPtr<CefResourceBundleHandler> GetResourceBundleHandler() { return NULL; } /// // Return the handler for functionality specific to the browser process. This // method is called on multiple threads in the browser process. /// /*--cef()--*/ virtual CefRefPtr<CefBrowserProcessHandler> GetBrowserProcessHandler() { return NULL; } /// // Return the handler for functionality specific to the render process. This // method is called on the render process main thread. /// /*--cef()--*/ virtual CefRefPtr<CefRenderProcessHandler> GetRenderProcessHandler() { return NULL; }};
接口阐明:
//提供批改命令行参数的机会 virtual void OnBeforeCommandLineProcessing( const CefString& process_type, CefRefPtr<CefCommandLine> command_line) {} //提供批改注册用户主题的机会 virtual void OnRegisterCustomSchemes( CefRawPtr<CefSchemeRegistrar> registrar) {}//资源包Handler virtual CefRefPtr<CefResourceBundleHandler> GetResourceBundleHandler() { return nullptr; }//浏览器过程Handler virtual CefRefPtr<CefBrowserProcessHandler> GetBrowserProcessHandler() { return nullptr; }//渲染过程Handler virtual CefRefPtr<CefRenderProcessHandler> GetRenderProcessHandler() { return nullptr; }
CefApp,此接口用来传递到CefInitialize(),和容许应用程序定制全局,如资源加载,代理。一些性能是由所有过程共享的,有些必须实现浏览器的过程中,必须在渲染过程中执行。