Libcef如何删除浏览器cookie

手册/FAQ (688) 2016-04-23 09:37:28

Libcef如何删除浏览器cookie

review一下设置cookie:

    std::wstring username_key = L"username";

    std::wstring username_value = L"xidada";

    std::wstring domain = L"blog.csdn.net"

 

    CefRefPtr<CefCookieManager> manager = CefCookieManager::GetGlobalManager();

    CefCookie cookie;

    CefString(&cookie.name).FromWString(username_key.c_str());

    CefString(&cookie.value).FromWString(username_value.c_str());

    CefString(&cookie.domain).FromWString(domain.c_str());

    CefString(&cookie.path).FromASCII("/");

    cookie.has_expires = false;

 

    domain = L"https://" + domain;

    CefPostTask(TID_IO, NewCefRunnableMethod(manager.get(), &CefCookieManager::SetCookie,CefString(domain.c_str()), cookie));

 

//创建浏览器

    CefBrowserHost::CreateBrowser(info, g_web_browser_client.get(),

        domain.c_str(), browserSettings, NULL);

现在就开始删除某一cookie: 
DeleteCookies 
看看函数描述:

// Delete all cookies that match the specified parameters. If both |url| and

  // values |cookie_name| are specified all host and domain cookies matching

  // both will be deleted. If only |url| is specified all host cookies (but not

  // domain cookies) irrespective of path will be deleted. If |url| is empty all

  // cookies for all hosts and domains will be deleted. Returns false if a non-

  // empty invalid URL is specified or if cookies cannot be accessed. This

  // method must be called on the IO thread.

  ///

  /*--cef(optional_param=url,optional_param=cookie_name)--*/

  virtual bool DeleteCookies(const CefString& url,

                             const CefString& cookie_name) =0;

应用:

CefPostTask(TID_IO, NewCefRunnableMethod(manager.get(), &CefCookieManager::DeleteCookies,

        CefString(domain.c_str()), CefString("username")));

以上代码就删除了为”blog.csdn.net”设置的cookie: 
username = xidada

THE END