64,676
社区成员
发帖
与我相关
我的任务
分享
void ClientAppBrowser::OnContextInitialized()
{
CefRefPtr<CefCookieManager> manager = CefCookieManager::GetGlobalManager(NULL);
manager->SetSupportedSchemes(cookie_schemes, NULL);
// 删除保存的Cooies信息
// manager->DeleteCookies(L"", L"", nullptr);
DelegateSet::iterator it = m_delegates.begin();
for (; it != m_delegates.end(); ++it)
(*it)->OnContextInitialized(this);
}
namespace Browser
{
class ClientApp : public CefApp
{
public:
ClientApp(){}
protected:
std::vector<CefString> cookie_schemes;
DISALLOW_COPY_AND_ASSIGN(ClientApp);
};
class ClientAppBrowser : public ClientApp , public CefBrowserProcessHandler
{
public:
class Delegate : public virtual CefBase {
public:
virtual void OnBeforeCommandLineProcessing(
CefRefPtr<ClientAppBrowser> app,
CefRefPtr<CefCommandLine> command_line) {}
virtual void OnContextInitialized(CefRefPtr<ClientAppBrowser> app) {}
virtual void OnBeforeChildProcessLaunch(
CefRefPtr<ClientAppBrowser> app,
CefRefPtr<CefCommandLine> command_line) {}
virtual void OnRenderProcessThreadCreated(
CefRefPtr<ClientAppBrowser> app,
CefRefPtr<CefListValue> extra_info) {}
};
typedef std::set<CefRefPtr<Delegate> > DelegateSet;
ClientAppBrowser();
private:
// CefApp methods.
void OnBeforeCommandLineProcessing(const CefString& process_type, CefRefPtr<CefCommandLine> command_line) OVERRIDE;
void OnRegisterCustomSchemes(CefRawPtr<CefSchemeRegistrar> registrar) OVERRIDE;
CefRefPtr<CefBrowserProcessHandler> GetBrowserProcessHandler() OVERRIDE{return this;}
// CefBrowserProcessHandler methods.
void OnContextInitialized() OVERRIDE;
void OnBeforeChildProcessLaunch(CefRefPtr<CefCommandLine> command_line) OVERRIDE;
void OnRenderProcessThreadCreated(CefRefPtr<CefListValue> extra_info) OVERRIDE;
private:
DelegateSet m_delegates;
IMPLEMENT_REFCOUNTING(ClientAppBrowser);
DISALLOW_COPY_AND_ASSIGN(ClientAppBrowser);
};
}