0 目录 发表于 2017-05-04 | 分类于 WebKit 技术内幕 | 1 浏览器和浏览器内核1 浏览器1.1 浏览器简介1.2 浏览器特性1.3 HTML1.4 用户代理和浏览器行为1.5 实践: 浏览器用户代理2 浏览器内核及特性2.1 内核和主流内核2.2 内核特征3 Webkit 内核3.1 Webkit介绍3.2 Chromium 内核: Blink4 本书结构2 HTML 网页和结构1 网页构成1.1 基本元素和树状结构1.2 HTML5 新特性2 网页结构2.1 矿结构2.2 层次结构2.3 实践: 理解网页结构3 Webkit 的网页渲染过程3.1 加载和渲染3.2 Webkit 的渲染过程3.3 实践: 从网页到可视化结果3 Webkit 架构和模块1 WebKit 架构及模块1.1 获取 WebKit1.2 WebKit 架构1.3 WebKit 源代码结构2 基于 Blink 的 Chromium 浏览器结构2.1 Chromium 浏览器的结构及模块2.2 实践: 从 Chromium 代码结构和运行状态理解现代浏览器3 WebKit23.1 WebKit2 架构及模块3.2 WebKit 和 WebKit2 嵌入式结构3.3 比较 WebKit2 和 Chromium 的多进程模型以及接口4 资源加载和网络栈1 WebKit 资源加载机制1.1 资源1.2 资源缓存1.3 资源加载器1.4 过程1.5 资源的生命周期1.6 实践: 资源的缓存2 Chromium 多进程资源加载2.1 多进程2.2 工作方式和资源共享3 网络栈3.1 WebKit 的网络设施3.2 Chrimium 网络栈3.3 磁盘本地缓存3.4 Coolie 机制3.5 安全机制3.6 高性能网络栈3.7 实践: Chromium 网络工具和信息4 实践: 高效的资源使用策略4.1 DNS 和 TCP 连接4.2 资源的数量4.3 资源的数据量5 HTML 解释器和 DOM 模型1 DOM 模型2 HTML 解释器3 DOM 的事件机制4 影子(Shadow) DOM4.1 什么是影子 DOM4.2 WebKit 的支持4.3 实践: 使用影子 DOM6 css 解释器和样式布局1 CSS 基本功能2 CSS 解释器和规则匹配3 WebKit 布局7 渲染基础1 RenderObject 树1.1 RenderObject 基础类1.2 RenderObject 树2 网页层次和 RenderLayer 树2.1 层次和 RenderLayer 对象2.2 构建 RenderLayer 树3 渲染方式3.1 绘图上下文(GraphicsContext)3.2 渲染方式4 WebKit 软件渲染技术4.1 软件渲染过程4.2 Chromium 的多进程软件渲染技术4.3 实践: 软件渲染过程8 硬件加速机制1 硬件加速基础1.1 概念1.2 WebKit 硬件加速设施1.3 硬件渲染过程1.4 3D 图形上下文2 Chromium 的硬件加速机制2.1 GraphicsLayer 的支持2.2 框架2.3 命令缓冲区2.4 Chromium 合成器(Chromium Compositor)2.5 实践: 减少重绘3 其他硬件加速模块3.1 2D 图形的硬件加速机制3.2 WebGL3.3 CSS 3D 变形3.4 其他3.5 实践: Chromium 的支持9 JavaScript 引擎1 概述1.1 JavaScript 语言1.2 JavaScript 引擎1.3 JavaScript 引擎和渲染引擎2 V8 引擎2.1 基础2.2 工作原理2.3 绑定和扩展3 JavaScriptCore 引擎3.1 原理3.2 结构和模块3.4 内存管理3.5 绑定3.6 比较 JavaScriptCore 和 V84 实践-高效的 JavaScript 代码4.1 编程方式4.2 例子4.3 未来10 插件和 JavaScript 扩展10.1 NPAPI 插件10.1.1 NPAPI 简介10.1.2 WebKit 和 Chromium 的实现10.2 Chromium PPAPI 插件10.2.1 原理10.2.2 结构和接口10.2.3 工作过程10.2.4 Native Client10.3 JavaScript 引擎的扩展机制10.3.1 混合编程10.3.2 JavaScript 扩展机制10.4 Chromium 扩展机制10.4.1 原理10.4.2 基础设施10.4.3 消息传递机制11 多媒体11.1 HTML5 的多媒体支持11.2 视频11.2.1 HTML5 视频11.2.2 WebKit 基础设施11.2.3 Chromium 视频机制11.2.4 字幕11.2.5 视频扩展11.3 音频11.3.1 音频元素11.3.2 Web Audio11.3.3 MIDI 和 Web MIDI11.3.4 Web Speech11.4 WebRTC11.4.1 历史11.4.2 原理和规范11.4.3 实践-一个 WebRTC 例子11.4.4 WebKit 和 Chromium 的实现12 安全机制12.1 网页安全模型12.1.1 安全模型基础12.1.2 WebKit 的实现12.2 沙箱模型12.2.1 原理12.2.2 实现机制13 移动WebKit13.1 触控和手势事件13.1.1 HTML5 规范13.1.2 工作原理13.1.3 启示和实践13.2 移动化用户界面13.3 其他机制13.3.1 新渲染机制13.3.2 其他机制14 调试机制14.1 Web Inspector14.1.1 基本原理14.1.2 协议14.1.3 WebKit 内部机制14.1.4 Chromium 开发者工具14.1.5 远程调试14.1.6 Chromium Tracing 机制14.2 实践——基础和性能调试14.2.1 基础调试14.2.2 性能调试15 Web 前端的未来15.1 趋势15.2 嵌入式应用模式15.3 Web 应用和 Web 运行环境15.4 Cordova 项目15.5 Crosswalk 项目15.6 Chromium OS 和 Chrome 的 Web 应用15.6.1 基本原理15.6.2 其他 Web 操作系统