这个暑期,有个项目是和chromium内核的安全机制有关,所以必须要认真看下chromium的代码。
我找到官网http://www.chromium.org/Home,按照上面的提示安装VS2010,VS2010 SP1, Windows 8 SDK.,June 2010 DirectX SDK,修改asyncinfo.h,下载depot_tools,安装后设置环境变量,再下载代码的压缩包。由于网速不给力,我解压之后就没有同步,直接在cd到src目录下gclient runhooks生成工程文件chrome.sln。
中间有几个编译问题,主要有3个原因。一是windows 8 sdk 安装目录不对,我只好新建了才c:\program files(x86),再装了一下。二是dxsdk目录没有加到vs2010的引用中,修改Microsoft.Cpp.Win32.user.props”和“Microsoft.Cpp.x64.user.props这两个配置文件即可。三是有些lib不能生成,这个是和vs2010链接时的设置有关系的,对于不成功的那几个工程,将属性中链接器选项改成增量链接,重新生成,都能过。编译的时间比较长,我的电脑跑了将近5个小时吧,生成chrome.exe,正常运行。
接下来,主要是搞清楚chromium的框架,仔细分析它对事件是如何响应,怎么执行javascript。