测试工程师-Cef3 CefCookieManager的正确用法?

问题描述

Cef3 CefCookieManager的正确用法?

研究过CEF3的大牛们?怎样使用CefCookieManager::CreateManager来为浏览器实例分配单独的CookieManager?
我本来以为很简单:
首先生成一个CefRequestContextHandler,重载GetCookieManager,象这样:

 class WXRequestContextHandler :public CefRequestContextHandler
{
public:
    WXRequestContextHandler(){};
    ~WXRequestContextHandler(){};
    CefRefPtr<CefCookieManager> GetCookieManager() OVERRIDE{

            return CefCookieManager::CreateManager("F:\CefCookie", FALSE)
    }
private:
    // Include the default reference counting implementation.
    IMPLEMENT_REFCOUNTING(WXRequestContextHandler);
};

然后用CefRequestContext::CreateContext来创建一个CefRequestContext实例。
像这样:

CefRefPtr rc = CefRequestContext::CreateContext(new WXRequestContextHandler());

然后创建BROWSER:

 CefBrowserHost::CreateBrowser(window_info, handler.get(), url,
                                browser_settings, rc);

结果一运行代码就出现EXCEPTION 访问冲突。只有getCookieManager返回NULL
才正常

我想肯定是我的用法错了,那么正确的用法是什么?求指教。
我测试代码是用的CEF3下载包中的cefSimple应用程序,只改了两行代码:

 void SimpleApp::OnContextInitialized() {
  REQUIRE_UI_THREAD();

  // Information used when creating the native window.
  CefWindowInfo window_info;

#if defined(OS_WIN)
  // On Windows we need to specify certain flags that will be passed to
  // CreateWindowEx().
  window_info.SetAsPopup(NULL, "cefsimple");
#endif

  // SimpleHandler implements browser-level callbacks.
  CefRefPtr<SimpleHandler> handler(new SimpleHandler());

  // Specify CEF browser settings here.
  CefBrowserSettings browser_settings;

  std::string url;

  // Check if a "--url=" value was provided via the command-line. If so, use
  // that instead of the default URL.
  CefRefPtr<CefCommandLine> command_line =
      CefCommandLine::GetGlobalCommandLine();
  url = command_line->GetSwitchValue("url");
  if (url.empty())
    url = "http://www.google.com";

  CefRefPtr<CefRequestContext> rc = CefRequestContext::CreateContext(new WXRequestContextHandler());

  // Create the first browser window.
  CefBrowserHost::CreateBrowser(window_info, handler.get(), url,
                                browser_settings, rc);
}

我是用的CEF3.175,VS2013,WIN7。

解决方案

问题解决了。
答案
有遇到同样问题的兄弟们可以参考下

解决方案二:

怎么解决的也没说, 参考什么呢?

时间: 2024-12-23 10:27:30

测试工程师-Cef3 CefCookieManager的正确用法?的相关文章

iOS 中导航栏的 hidesBottomBarWhenPushed 正确用法

iOS:hidesBottomBarWhenPushed的正确用法 OCT 12 今天说的是在TabBar嵌套Nav时,进行Push的时候隐藏TabBar的问题. 之前项目也需要这么做,那时候iOS7还没出,也是各种搜罗,后来的解决方法是当push操作的时候自己隐藏Tabbar,push过去视图拉伸适应屏幕,再pop回来的时候接再显示Tabbar,过程复杂还需要自己写动画,最终效果也不是很理想. 前两天公司APP上架,当时没有适配iOS7,在XCode4.6上开发编译并发布,居然在iOS7下跑起

easyui的tabs update正确用法分享

 jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.下面说一下tabs update的正确用法 一直以为 tabs update 是 easyui 的 bug,最近在用的时候发现可以这样解决   代码如下: function updateTab(url) {       var tab = $('#tt').tabs('getSelected');       $("#tt")

改善C#程序的建议2:C#中dynamic的正确用法

原文:改善C#程序的建议2:C#中dynamic的正确用法 dynamic是FrameWork4.0的新特性.dynamic的出现让C#具有了弱语言类型的特性.编译器在编译的时候不再对类型进行检查,编译期默认dynamic对象支持你想要的任何特性.比如,即使你对GetDynamicObject方法返回的对象一无所知,你也可以像如下那样进行代码的调用,编译器不会报错:   dynamic dynamicObject = GetDynamicObject(); Console.WriteLine(d

渗透测试工程师的17个常用工具 还有专家告诉你如何成为渗透测试人员—转载绿盟

渗透测试工程师的17个常用工具 还有专家告诉你如何成为渗透测试人员 发布时间:2017年9月15日 07:51    浏览量:2231   渗透测试 (pen testing) 是由安全专家进行的一项安全性测试,其目的是为了在攻击者攻击之前发现系统中的漏洞.它需要聪明的思考.耐心和一点点运气.此外, 大多数安全专家将需要一些具体的工具来帮助完成这项工作. 最近, 外媒跟一些民间组织和一些安全专家进行了沟通,看看他们最喜欢用哪些工具.下面的工具是那些在简单的评估.复杂的项目中曾经用过的工具,其中的

JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax_javascript技巧

关于本文 本文主要总结网站编写以来在传递 JSON 数据方面遇到的一些问题以及目前采用的解决方案.网站数据库采用 MongoDB,后端是 Python,前端采用"半分离"形式的 Riot.js,所谓半分离,是说第一页数据是通过服务器端的模板引擎直接渲染到 HTML 中,从而避免首页两次加载的问题,而其它动态内容则采用 Ajax 加载.整个流程中数据都是通过 JSON 格式传递的,但是在不同的环节中需要采用不同的方式并遇到一些不同的问题,本文主要做记录.总结. 1. What is JS

新时代的测试工程师

测试工程师在软件项目中把握着项目产品质量,具有最终项目能否发布的生杀大权,就这样一个重要的角色在实际情况中往往不受待见,却是为何? 纵观国内测试工程师发展的过程来看,主要有以下几个原因: (1)起步晚:在国内软件行业发展的初期,没有专职测试的人员,所以测试工程师比开发工程师以及其产品等岗位的起步晚,在初期是可以没有的岗位. (2)起点低:发展到一定阶段以后,发现有一部分手工测试可以由单独的人员完成,但是对人员的要求没有开发那么高,所以最开始的测试人员的门槛低. (3)技术发展慢:测试技术的发展相

天津招聘.net软件研发测试工程师

问题描述 .Net软件研发测试工程师(人数:3)职位描述(JobDescriptions):1.完成软件设计.开发.以及单体测试等工作:2.撰写式样文档和测试文档:3.后期维护职位要求(JobRequirements):1.年龄35岁以下,大专以上计算机相关专业学历:2.具有1年以上VB.Net编程经验,兼有asp(包括传统的asp和asp.net)开发经验的优先3.精通.NET框架,熟悉VB.NET开发技术:4.熟悉常见数据库的安装和配置,良好的数据库分析,以及程序设计能力:5.具有良好的沟通

[网络编程]-请教关于Socket.BeginReceive的正确用法!?

问题描述 最近在实现一个简易的网关服务器,首先尝试着用FlyTCP来实现.碰到了一些疑惑.TcpSvr中,accept到客户端之后,调用BeginReceive(buffer,....);他这里用到的buffer是通用的(每个监听并接受的客户端都用这个buffer来receive).但是我当初理解的是,这个是异步多线程的,得每个客户端分配一个buffer.网上看到有些文章确实是一个客户端分配一个buffer.问题来了:1.那FlyTCP这里面意思是不是,某一瞬间只可能收到一玩家的消息?而后面其他

谈谈PHP中substr和substring的正确用法及相关参数的介绍_php实例

大家都知道js中字符串截取字符有函数substr和substring,那php呢,php没有直接可用的substring函数,但是有substr函数. 不信自己可以测试一下. 下面给出一段正确的代码. <? $a="me"; echo(substr($a,,));//输出me ?> 下面又给出一段错误的代码 <? $a="me"; echo(subString($a,,)); ?> substr() 函数返回字符串的一部分. substr(s