人形作战兵器吧 关注:19贴子:103
  • 0回复贴,共1

webkit 学习 2 (Webkit模块介绍)

只看楼主收藏回复

2. Webkit 源代码由三大模块组成:
1). WebCore,
2). WebKit,
3). JavaScriptCore。
WebCore:排版引擎核心,WebCore包含主要以下模块:Loader, Parser(DOM,Render), Layout,Paint。
WebKit:移植层,主要包含: GUI,File System, Thread,Text,图片编解码等与平台相关的函数。
JavaScriptCore:JS虚拟机,相对独立,主要用于操作DOM, DOM是W3C定义的规范,主要用于定义外部可以操作的浏览器内核的接口,而webcore必须实现DOM规范。
(具体的DOM规范可以查w3c.)
3. WebKit分模块介绍(这里简单列出,后面再具体介绍)
Webkit平台相关
1) CURL网络库
2) libPng, LibJpeg图形处理相关
3) sqlite小型关系数据库
WebCore核心
1) Loader加载资源及Cache 实现(Curl)
2) DOM : HTML词法分析与语法分析
3) DOM : DOM节点与Render节点创建,形成DOM树
4) Render:Render树介绍,RenderBox
5) Layout:排版介绍
6) Css Parser模块
7) Binding-DOM与JavascriptCore绑定的功能
JavascriptCore-javascript引擎
1) API-基本javascript功能
2) Binding与其它功能绑定的功能,如:DOM,C,JNI
3) DerviedSource自动产生的代码
4) PCRE-Perl-Compatible Regular Expressions
5) KJS-Javascript Kernel
4. 页面的整个处理流程—(简单介绍,详细流程在后面笔记中)
   1). 用户输入网址后,FrameLoader::load函数会接收到URL。
   2). 把URL 请求传给CURL库。
   3). CURL发出http请求,得到数据后,传给Loader,开始解析。
   4). 通过Dom Builder按W3C的html规范生成Dom树
   5). 如果有javascript,JSEngine就通过ECMA-262标准完善Dom树
   6). 在生成DOM树的同时, 同步生成Render树。
   7). 解析完后, 调用Layout排版
   8). Paint出来



1楼2011-11-06 23:22回复