没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
第
1
页
Webkit 分析报告 II
侯
侯侯
侯
炯
炯炯
炯
二零零九年二月十日
二零零九年二月十日二零零九年二月十日
二零零九年二月十日
第
2
页
导言
导言导言
导言
相信大家读完《WebKit 分析报告》对浏览器的现状和发展有了
一定的了解,并对 WebKit 有了初步印象,更能编译运行 webkit。这
里为了更好的对 webkit 进行进行深入的了解,我们将对 WebKit 的框
架和流程进一步分析,并对 WebKit 部分代码进行分析。
WebKit 框架比较简单,但内容很复杂,而其在不断的修改完善。
并且很多技术有待讨论,新的技术也在不断引进。希望该文章对你的
有用。欢迎来信讨论(hou_jiong@163.com)。
第
3
页
目
目目
目
录
录录
录
I.WebKit 介绍...............................................................................................................5
一.WebKit 是什么?..............................................................................................5
二.WebKit 主要特点和目标..................................................................................5
三.WebKit 主要组成..............................................................................................7
II.WebKit 之 WebCore 介绍.........................................................................................7
一.WebCore 所包含的主要内容............................................................................7
1.目录结构......................................................................................................7
2.主要数据结构..............................................................................................9
二.一个 Http 请求在 WebCore 中的主要流程...................................................13
1.WebKit 工作流程.......................................................................................13
2.处理流程....................................................................................................15
3.代码流程....................................................................................................18
三.网络库、图形库、Javascript 实现与 WebCore 的集成............................22
III.WebKit 之 Port 介绍...........................................................................................23
一.有关 Port 方面的概述...................................................................................23
二.WebKit Port 移植实现分析..........................................................................24
1.WebCore 交互接口.....................................................................................24
2.连接模块 loader.......................................................................................26
3.显示模块 WebView 和 WebFrame...............................................................26
4.Chrome 中对 Port 移植方面的实现.........................................................27
5.Android 中对 Port 移植方面的实现.......................................................28
6.结论............................................................................................................28
三.如何利用 WebKit?..........................................................................................30
1.利用 WebKit 实现搜索引擎......................................................................30
2.利用 WebKit 实现平台功能......................................................................31
3.高性能的渲染工具....................................................................................31
IV.WebKit 之图形库介绍...........................................................................................32
一.WebKit 与图形库............................................................................................32
二.图形库概述及其主要功能.............................................................................32
三.WebKit 与 Cario.............................................................................................34
四.WebKit 如何支持不同图形库的实现............................................................35
五.WebKit 3D Port 实现....................................................................................39
六.总结.................................................................................................................40
V.WebKit 之网络库介绍.............................................................................................40
一.网络原理.........................................................................................................40
1.超文本传输协议........................................................................................40
2.URL 类.........................................................................................................41
3.Page 类......................................................................................................42
4.与服务器的连接........................................................................................45
二.WebKit 与 CURL 网络库..................................................................................46
第
4
页
VI.WebKit 之 DOM 分析...............................................................................................47
一.DOM 原理..........................................................................................................47
1.DocView 模型............................................................................................47
2.抽象网页表示............................................................................................49
3.DOM 解析基本算法.....................................................................................52
二.WebKit DOM 代码解析流程............................................................................57
VII.WebKit 之布局分析.............................................................................................57
一.基本概念.........................................................................................................57
1.CSS 布局相关标准介绍.............................................................................58
2.布局页面的基本概念................................................................................58
3.如何确定页面元素显示位置....................................................................60
4.如何确定页面元素大小............................................................................61
5.如何理解 z-index 的使用........................................................................61
6.总结............................................................................................................62
二.WebKit 主要布局框架....................................................................................62
1.基类 RenderObject...................................................................................63
2.子类 RenderBox.........................................................................................66
3.子类 RenderContainer.............................................................................67
4.子类 RenderFlow.......................................................................................68
5.子类 RenderBlock.....................................................................................68
6.子类 RenderInline...................................................................................69
7.子类 RenderText.......................................................................................70
8.子类 RenderImage.....................................................................................71
9.子类 RenderView.......................................................................................71
10.子类 RenderButton.................................................................................72
11.子类 RenderTextControl.......................................................................74
12.子类 RenderListBox...............................................................................77
13.子类 RenderTheme...................................................................................78
14. 子 类 RenderTable 、 RenderTableRow 、 RenderTableCol 、
RenderTableCell..........................................................................................81
15.子类 RenderFrame...................................................................................83
三.CSS 属性的描述..............................................................................................84
1.RenderStyle 类.........................................................................................84
2.RenderStyle 类主要方法.........................................................................84
四.RenderObject 及子类对象的生成................................................................84
1.CSSParser..................................................................................................84
2.CSSStyleSelector 类...............................................................................86
3.构建 Render 树..........................................................................................86
五.Render 树与 RenderLayer 树........................................................................88
1.构建 Render 树的基本实现流程..............................................................88
2.RenderLayer 类分析.................................................................................92
3.构建 RenderLayer 树................................................................................94
4.RenderLayer 树与 Render 树的关系.......................................................96
5.RenderLayer 树的作用
........................................................................................98
第
5
页
I
II
I.
..
.WebKit
WebKitWebKit
WebKit 介绍
介绍介绍
介绍
一
一一
一.
..
.WebKit
WebKitWebKit
WebKit 是什么
是什么是什么
是什么?
??
?
WebKit 的前身是 KDE 小组的 KHTML。Apple 将 KHTML 发扬光
大,推出了装备 KHTML 改进型的 WebKit 引擎的浏览器 Safari,获
得了非常好的反响。WebKit 引擎比 Gecko 引擎更受程序员欢迎的原
因,除了其引擎的高效稳定,兼容性好外,其源码结构清晰,易于维
护,是一个重要的原因。
现在浏览器的内核引擎,基本上是三分天下:
Trident: IE 以 Trident 作为内核引擎。
Gecko: Firefox 是基于 Gecko 开发。
WebKit: Safari, Google Chrome 基于 Webkit 开发。
WebKit 内核在手机上的应用十分广泛,例如 Google 的手机
Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使
用的 Browser 内核引擎,都是基于 WebKit。
二
二二
二.WebKit
.WebKit.WebKit
.WebKit 主要特点和目标
主要特点和目标主要特点和目标
主要特点和目标
引擎
引擎引擎
引擎
该项目的主要重点是内容部署在万维网上的,基于标准的技术,
如 HTML ,CSS , JavaScript 和 DOM 中。并能够嵌入 WebKit 在其他
应用程序中,并用它作为一般用途的显示和交互引擎。
开源
开源开源
开源
剩余97页未读,继续阅读
资源评论
- scuhh123okbb2013-05-24还不错,写的很全面,虽然有点老了
lewen1113
- 粉丝: 10
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功