《WebKit技术内幕》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:朱永盛著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121229640
  • 页数:441 页
图书介绍:本书先高层面描述了WebKit总体架构和组成,而后涵盖了WebKit所有重要的模块,包括网络,资源加载,HTML和CSS解析,渲染树,布局,硬件加速,JavaScript引擎,多媒体,移动支持,多媒体,安全机制,调试和最新的Web平台。每一个模块都会介绍工作框架,技术原理和由此带来的开发启示。

第1章 浏览器和浏览器内核 1

1.1 浏览器 1

1.1.1 浏览器简介 1

1.1.2 浏览器特性 4

1.1.3 HTML 5

1.1.4 用户代理和浏览器行为 8

1.1.5 实践:浏览器用户代理 9

1.2 浏览器内核及特性 11

1.2.1 内核和主流内核 11

1.2.2 内核特征 12

1.3 WebKit内核 15

1.3.1 WebKit介绍 15

1.3.2 WebKit和WebKit2 16

1.3.3 Chromium内核:Blink 18

1.4 本书结构 18

第2章 HTML网页和结构 21

2.1 网页构成 21

2.1.1 基本元素和树状结构 21

2.1.2 HTML5新特性 23

2.2 网页结构 25

2.2.1 框结构 25

2.2.2 层次结构 27

2.2.3 实践:理解网页结构 29

2.3 WebKit的网页渲染过程 31

2.3.1 加载和渲染 31

2.3.2 WebKit的渲染过程 32

2.3.3 实践:从网页到可视化结果 35

第3章 WebKit架构和模块 39

3.1 WebKit架构及模块 39

3.1.1 获取WebKit 39

3.1.2 WebKit架构 40

3.1.3 WebKit源代码结构 43

3.2 基于Blink的Chromium浏览器结构 45

3.2.1 Chromium浏览器的架构及模块 45

3.2.2 实践:从Chromium代码结构和运行状态理解现代浏览器 56

3.3 WebKit2 61

3.3.1 WebKit2架构及模块 61

3.3.2 WebKit和WebKit2嵌入式接口 62

3.3.3 比较WebKit2和Chromium的多进程模型以及接口 63

第4章 资源加载和网络栈 65

4.1 WebKit资源加载机制 65

4.1.1 资源 65

4.1.2 资源缓存 67

4.1.3 资源加载器 68

4.1.4 过程 69

4.1.5 资源的生命周期 70

4.1.6 实践:资源的缓存 71

4.2 Chromium多进程资源加载 74

4.2.1 多进程 74

4.2.2 工作方式和资源共享 76

4.3 网络栈 78

4.3.1 WebKit的网络设施 78

4.3.2 Chromium网络栈 78

4.3.3 磁盘本地缓存 84

4.3.4 Cookie机制 88

4.3.5 安全机制 90

4.3.6 高性能网络栈 90

4.3.7 实践:Chromium网络工具和信息 97

4.4 实践:高效的资源使用策略 99

4.4.1 DNS和TCP 连接 99

4.4.2 资源的数量 99

4.4.3 资源的数据量 100

第5章 HTML解释器和DOM模型 101

5.1 DOM模型 101

5.1.1 DOM标准 101

5.1.2 DOM树 104

5.2 HTML解释器 107

5.2.1 解释过程 107

5.2.2 词法分析 110

5.2.3 XSSAuditor验证词语 111

5.2.4 词语到节点 111

5.2.5 节点到DOM树 113

5.2.6 网页基础设施 114

5.2.7 线程化的解释器 117

5.2.8 JavaScript的执行 119

5.2.9 实践:理解DOM树 120

5.3 DOM的事件机制 121

5.3.1 事件的工作过程 122

5.3.2 WebKit的事件处理机制 123

5.3.3 实践:事件的传递机制 125

5.4 影子(Shadow)DOM 127

5.4.1 什么是影子DOM 127

5.4.2 WebKit的支持 128

5.4.3 实践:使用影子DOM 129

第6章 CSS解释器和样式布局 131

6.1 CSS基本功能 131

6.1.1 简介 131

6.1.2 样式规则 134

6.1.3 选择器 135

6.1.4 框模型 136

6.1.5 包含块(Containing Block)模型 139

6.1.6 CSS样式属性 139

6.1.7 CSSOM(CSS Object Model) 140

6.1.8 实践:理解CSSOM和选择器 141

6.2 CSS解释器和规则匹配 143

6.2.1 样式的WebKit表示类 143

6.2.2 解释过程 146

6.2.3 样式规则匹配 148

6.2.4 实践:样式匹配 149

6.2.5 JavaScript设置样式 151

6.3 WebKit布局 152

6.3.1 基础 152

6.3.2 布局计算 153

6.3.3 布局测试 155

第7章 渲染基础 157

7.1 RenderObject树 157

7.1.1 RenderObject基础类 157

7.1.2 RenderObject树 162

7.2 网页层次和RenderLayer树 163

7.2.1 层次和RenderLayer对象 163

7.2.2 构建RenderLayer树 165

7.3 渲染方式 167

7.3.1 绘图上下文(GraphicsContext) 167

7.3.2 渲染方式 169

7.4 WebKit软件渲染技术 172

7.4.1 软件渲染过程 172

7.4.2 Chromium的多进程软件渲染技术 177

7.4.3 实践:软件渲染过程 180

第8章 硬件加速机制 183

8.1 硬件加速基础 183

8.1.1 概念 183

8.1.2 WebKit硬件加速设施 185

8.1.3 硬件渲染过程 189

8.1.4 3D图形上下文 193

8.2 Chromium的硬件加速机制 194

8.2.1 GraphicsLayer的支持 194

8.2.2 框架 196

8.2.3 命令缓冲区 200

8.2.4 Chromium合成器(Chromium Compositor) 202

8.2.5 实践:减少重绘 213

8.3 其他硬件加速模块 216

8.3.1 2D图形的硬件加速机制 216

8.3.2 WebGL 223

8.3.3 CSS 3D变形 228

8.3.4 其他 229

8.3.5 实践:Chromium的支持 229

第9章 JavaScript引擎 231

9.1 概述 231

9.1.1 JavaScript语言 231

9.1.2 JavaScript引擎 238

9.1.3 JavaScript引擎和渲染引擎 241

9.2 V8引擎 242

9.2.1 基础 242

9.2.2 工作原理 246

9.2.3 绑定和扩展 258

9.3 JavaScriptCore引擎 259

9.3.1 原理 259

9.3.2 架构和模块 259

9.3.4 内存管理 265

9.3.5 绑定 266

9.3.6 比较JavaScriptCore和V8 266

9.4 实践——高效的JavaScript代码 266

9.4.1 编程方式 266

9.4.2 例子 268

9.4.3 未来 271

第10章 插件和JavaScript扩展 273

10.1 NPAPI插件 274

10.1.1 NPAPI简介 274

10.1.2 WebKit和Chromium的实现 275

10.2 Chromium PPAPI插件 284

10.2.1 原理 284

10.2.2 结构和接口 285

10.2.3 工作过程 288

10.2.4 Native Client 294

10.3 JavaScript引擎的扩展机制 297

10.3.1 混合编程 297

10.3.2 JavaScript扩展机制 299

10.4 Chromium扩展机制 303

10.4.1 原理 303

10.4.2 基本设施 306

10.4.3 消息传递机制 309

第11章 多媒体 311

11.1 HTML5的多媒体支持 311

11.2 视频 313

11.2.1 HTML5视频 313

11.2.2 WebKit基础设施 315

11.2.3 Chromium视频机制 317

11.2.4 字幕 328

11.2.5 视频扩展 330

11.3 音频 331

11.3.1 音频元素 331

11.3.2 Web Audio 334

11.3.3 MIDI和Web MIDI 336

11.3.4 Web Speech 337

11.4 WebRTC 339

11.4.1 历史 339

11.4.2 原理和规范 341

11.4.3 实践——一个WebRTC例子 342

11.4.4 WebKit和Chromium的实现 345

第12章 安全机制 353

12.1 网页安全模型 353

12.1.1 安全模型基础 353

12.1.2 WebKit的实现 363

12.2 沙箱模型 366

12.2.1 原理 366

12.2.2 实现机制 367

第13章 移动WebKit 373

13.1 触控和手势事件 373

13.1.1 HTML5规范 373

13.1.2 工作原理 377

13.1.3 启示和实践 381

13.2 移动化用户界面 382

13.3 其他机制 384

13.3.1 新渲染机制 384

13.3.2 其他机制 387

第14章 调试机制 389

14.1 Web Inspector 389

14.1.1 基本原理 389

14.1.2 协议 391

14.1.3 WebKit内部机制 395

14.1.4 Chromium开发者工具 398

14.1.5 远程调试 400

14.1.6 Chromium Tracing机制 402

14.2 实践——基础和性能调试 404

14.2.1 基础调试 404

14.2.2 性能调试 408

第15章 Web前端的未来 411

15.1 趋势 411

15.2 嵌入式应用模式 414

15.2.1 嵌入式模式 414

15.2.2 CEF 414

15.2.3 Android WebView 417

15.3 Web应用和Web运行环境 419

15.3.1 Web应用 419

15.3.2 Web运行环境 421

15.4 Cordova项目 423

15.5 Crosswalk项目 425

15.6 Chromium OS和Chrome的Web应用 429

15.6.1 基本原理 429

15.6.2 其他Web操作系统 431

参考资料 435