CEF的branch 都是发布的正式分支(开发自己的app时使用branch的代码) Master是平时的开发分支
官方已编译好的dll,因为涉及到版权问题,不能播放很多音视频,需要自己手动修改配置并重新编译chromium。
官方资料:https://bitbucket.org/chromiumembedded/cef/wiki/Home
建议先看完资料再看官方demo,不然代码逻辑理解起来很困难。其中重要的几个文档是:
BranchesAndBuilding 获取和编译已发布的cef版本
GeneralUsage 使用手册(内容很丰富 包括cef的多进程架构和常用的基础概念)
JavaScriptIntegration JS和C++的交互
基于CEF的程序在运行时,会启动多个进程(browser process,render process,other process)
其中后面两种进程都是由CEF底层启动,这种exe称为宿主程序,根据你browser process中的配置,宿主程序既可以和你的browser process共用一个exe,也可以另外写一个exe(具体可以参考官方提供demo或前面提到的文档)
如上,因为render process和other process是不同的进程,所以在你调试官方提供的cefclient工程时,发现很多代码你的断点都无法命中,那并不代表这段代码没有被执行,很可能是因为这段代码并不是执行在browser process中。为了调试这种代码,可以安装vs插件,修改vs配置,使其可以调试主进程启动的子进程。具体参考我另一个转载的博文:
https://blog.youkuaiyun.com/felicityWSH/article/details/80651847
======================== 各种通信机制 ==========================
JaveScript和Render-C++通信 (Window binding & Extensions):
https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration.md