一, webkit架构
webkit的一个显著特点, 支持不同的浏览器, 一部分相同, 一部分不同, 不同的部分称为webkit的移植(ports)。
webkit 嵌入式接口: 是提供给浏览器调用的!
webkit 测试用例: 包括布局测试用例 layout tests 和 性能测试用例 performance tests; 每个浏览器必须保证能够编译出一个可执行程序, 成为dumpRenderTree, 他用来 运行测试用例 并将渲染结果同期望结果对比;
二, webkit 源代码目录结构:
一级目录: LayoutTests, Performance Tests; Source ; Tools;
Source 目录: javascript core; platform(chromium的接口代码目录之一,已经被移除掉了); webcore; webCore; webkit(绑定和嵌入式接口); webkit2; WTF(是一个基础类库, 有点类似c++ stl库, 字符串, 容器,指针, 线程, 算法等);
WebCore: CSS解释器; DOM,HTML解释器; 资源加载; page页面相关的全局对象的实现, 包括window,navigator等dom对象; web Inspector等
webkit2目录: 第一类 是各个进程的代码: web进程, UI进程, 网络进程, 插件进程和他们共享的代码等; 第二类: efl目录, 各个移植的一个简单的主函数入口,拥有构建一个基于webkit2接口的最简单的可执行代码;