下图是在Visual Studio 2005
中打开
Chrome
解决方案之后看到的大概内容。一共有
215
个工程。
1.
App目录主要与国际化有关。
2.
Base子目录主要记录了一些公用的库
3.
Breakpad是一个辅助库,主要用于
Chrome
在
Crash
的情况下用于上报。
4.
Build包含了
Google
自己编写的
URL
解析库。
5.
Chrome 核心部分,也是需要研究的重点,包含了
Browser
,
Renderer
、
Plugin
等重要的工程。
6.
Courgette 辅助库,主要包含了一个升级包安装时,用于生成二进制包。
7.
Media 媒体库,包含了各种媒体支持。
8.
Net 网络库,包含了各种网络协议。
9.
Print 打印库,包含了网页打印相关功能。
10.
SandBox 沙箱辅助库,主要用于进程保护。
11.
Third_party 第三方库,主要包含了第三方的一些开源库。
12.
Tools 工具库,包含了
memory_watcher
工具,也就是在
Chrome
中按下
Shift + Esc
键出来的内存查看工具。
13.
V8 Javascript引擎库,
Chrome
将
Webkit
中的
Javascript
引擎替换成了
V8
,传说比
Webkit
的
JS
引擎要快上好多倍。
14.
Webkit Webkit核心库了,包含了核心的布局
(Layout)
、渲染
(Render
)、
HTML
、
CSS
等库。
Chrome
并没有直接使用
Webkit
,而是在
Webkit
的基础上封装了一层,体现在里面的
Glue
工程中。
15.
Gears 扩展库,
Gears通过扩展
JavaScript
API
使得浏览器的脚本能够访问本地的缓存数据库。
在Google Gears
的官方网页里,
Google
是这样描述
Google Gears
的:
Google Gears是一个开源的浏览器扩展,它允许网络应用程序使用以下
JavaScript API
提供离线功能:
1.在本地储存及操作应用程序的资源;
2.将数据储存在本地的完全可搜索的关系数据里;
3.运行异步
Javascript
以提高应用程序的响应速度
。
更具体地说,Google Gears
会将数据储存在你的硬盘上的一个
SQLite
数据库里,并且这些数据可以通过
SQL
命令获得。
Google
有很多工具,比如
Google Doc
,
Google Reader
,
Google Mail
等都利用了
Gears
的特性。