摘要: 简介CEF的C API是由libcef DLL暴露的基于C的接口,cef_capi.h 头文件中定义的接口是由CEF translator tool自动生成的C++ API镜像。引用计数理解引用计数可能是使用CEF C API最困难的部分了,CEF使用引用计数概念类似于COM的概念,这里有一些基本的规则可以帮助你减少使用引用计数时的困难。1. 当将一个结构传给它自己的成员函数时,不要进行引用计数的加、减操作:struct->call_func(struct,...); // no reference counting change on 'struct'2. 在将结构作为 阅读全文
posted @ 2011-10-06 00:08 Think 阅读(6254) 评论(0) 推荐(0) 编辑
摘要: 简介Visual Studio支持不同的运行时库,不同的库通过标记 /MD, /MT 和 /LD来区分,默认情况下,CEF使用/MT标记,Chromium也是如此,不过有时可能有些应用需要不同的运行时库。详情有两种将CEF link到你的应用程序的方式。静态链接(不使用 CEF DLL)如果你期望使用静态链接方式,那么所有的Chromium和CEF项目都必须使用相同的运行时标记,如果你的应用已使用/MT标记,那么可通过以下步骤静态编译CEF:按项目页上的描述设置Chromium和CEF所需的环境,并编译之。将你的应用链接到libcef_static.lib文件。如果你的应用程序没有使用/MT标 阅读全文
posted @ 2011-10-06 00:07 Think 阅读(5522) 评论(1) 推荐(1) 编辑
摘要: Subversion properties在CEF开发中,应当如下将Subversion配置文件配置成自动设置新文件的属性,不要使用svn:eol-style=native因为它会使得不同平台间的文件比较变得十分痛苦# CEF-specific config file to put at ~/.subversion/config or %USERPROFILE%\AppData\Roaming\Subversion\config# Originally copied from http://src.chromium.org/viewvc/chrome/trunk/tools/buildbot/ 阅读全文
posted @ 2011-10-06 00:05 Think 阅读(3738) 评论(0) 推荐(0) 编辑
摘要: Chromium的开发者非常用功地把新功能新特性尽可能快的引入新版本,因此,造成像CEF这样的依赖于它的项目也必须经常更新版本,更新可能会很复杂,必须非常小心的处理,以避免导入新的bug和破坏。以下是将CEF使用的Chromium版本更新到新版的处理步骤。1. 更新到最新版的“绿”Chromium版本,查看Chromium build waterfall,选择最新的所有windows编译与测试都是绿色的版本.2. 创建一个新老Chromium版本的对比svn diff -r oldrev:newrev > diff_oldrev-newrev.txt以下文件的变化需要被评估:chrome 阅读全文
posted @ 2011-10-06 00:03 Think 阅读(6600) 评论(1) 推荐(0) 编辑
摘要: 一般用法使用CEF便捷的创建一个全功能的内建浏览器如下所示:// Define an instance of our CefHandler implementation. Various methods in the MyHandler // instance will be called to customize browser behavior. CefRefPtr<CefHandler> handler(new MyHandler()); // Provide information about the parent window, client rectangle, etc 阅读全文
posted @ 2011-10-06 00:02 Think 阅读(14007) 评论(1) 推荐(1) 编辑
摘要: 简介Chromium Embedded Framework (CEF)是由 Marshall Greenblatt 在2008年创办的开源项目,致力于基于Google Chromium项目开发一个Web控件。 CEF目前已支持多种编程语言和操作系统,能方便地集成到现有或者新的应用程序中,设计上,它追求高性能的同时,也追求易于使用,它的基本框架通过原生库提供C和C++的编程接口,这些接口将宿主程序与Chromium与WebKit的实现细节隔离,能让浏览器与应用程序无缝集成,并支持自定义插件、协议、Javascript对象与扩展。宿主程序还能根据需要控制资源加载、页面跳转、上下文菜单、打印等等。这 阅读全文
posted @ 2011-10-06 00:00 Think 阅读(48347) 评论(4) 推荐(3) 编辑