#ifndef _SUB_PROCESS_CLIENT_APP_H #define _SUB_PROCESS_CLIENT_APP_H #pragma once #include "Cef3V8HandlerEx.h" #include "include/cef_app.h" class CefClient; class RenderProcessClientApp : public CefApp, public CefRenderProcessHandler { public: RenderProcessClientApp() { v8Handler_ = new CCef3V8HandlerEx; } ~RenderProcessClientApp() { } static CefRefPtr& Instance(); virtual void OnBeforeCommandLineProcessing( const CefString& process_type, CefRefPtr command_line) OVERRIDE; // CefApp methods: virtual CefRefPtr GetRenderProcessHandler() OVERRIDE { return this; } // // CefRenderProcessHandler methods: // virtual void OnWebKitInitialized() override; virtual void OnContextCreated(CefRefPtr browser, CefRefPtr frame, CefRefPtr context) override; virtual void OnContextReleased(CefRefPtr browser, CefRefPtr frame, CefRefPtr context) override; virtual void OnFocusedNodeChanged(CefRefPtr browser, CefRefPtr frame, CefRefPtr node)override; virtual void OnUncaughtException(CefRefPtr browser, CefRefPtr frame, CefRefPtr context, CefRefPtr exception, CefRefPtr stackTrace) OVERRIDE; virtual bool OnProcessMessageReceived( CefRefPtr browser, CefProcessId source_process, CefRefPtr message) OVERRIDE; CefRefPtr v8Handler_; private: IMPLEMENT_REFCOUNTING(RenderProcessClientApp); }; #endif //_SUB_PROCESS_CLIENT_APP_H