WebKit引擎介绍

2019-04-02 11:41

WebKit引擎入门介绍

1 WebKit简介 .................................................................................................................................. 2

1.1 简介 ................................................................................................................................... 2 1.2 WebKit主要特点 .............................................................................................................. 3

1.2.1 引擎 ....................................................................................................................... 3 1.2.2 开源 ....................................................................................................................... 3 1.2.3高性能 .................................................................................................................... 3 1.2.4 可移植性 ............................................................................................................... 3 1.2.5 兼容性 ................................................................................................................... 3 1.2.6 遵守标准 ............................................................................................................... 3 1.2.7 安全 ....................................................................................................................... 4 1.3 WebKit主要组成 .............................................................................................................. 4

1.3.1 体系结构 ............................................................................................................... 4

2 WebCore介绍 ................................................................................................................................ 5

2.1 WebCore目录结构 ............................................................................................................ 5 2.2 Http请求在WebCore中的主要流程 .............................................................................. 6

2.2.1 工作流程 ............................................................................................................... 6 2.2.2 处理流程 ............................................................................................................... 8

3 WebKit的DOM分析 .................................................................................................................... 10

3.1 DOM原理 .......................................................................................................................... 10

3.1.1 DocView 模型 ..................................................................................................... 10 3.2 DOM解析基本算法 .......................................................................................................... 11

3.2.1 基本算法思想 ..................................................................................................... 11

4 WebKit的Ports介绍 ................................................................................................................ 15

4.1 Port概述 ........................................................................................................................ 15 4.2 WebKit Port移植实现分析 .......................................................................................... 15

4.2.1 WebCore交互接口 .............................................................................................. 15

4.2.2 连接模块loader ................................................................................................ 16 4.2.3 显示模块WebView和WebFrame ........................................................................ 16 4.2.4 Android中对Port移植方面的实现 ................................................................ 16 4.2.5 小结 ..................................................................................................................... 17

5 WebKit的JavascriptCore介绍 .............................................................................................. 17

5.1 JavaScriptCore实现特点 ............................................................................................ 18 5.2 JavaScriptCore目录的内容 ........................................................................................ 18 5.3 JavaScriptCore与WebCore交互 ................................................................................ 18 6 WebKit For Android ................................................................................................................. 19

6.1 WebKit模块目录结构 .................................................................................................... 19 6.2 Java层框架 .................................................................................................................... 21

6.2.1 主要类描述 ......................................................................................................... 21 6.2.2 数据载入器的设计 ............................................................................................. 23 6.3 C层框架 .......................................................................................................................... 24 6.4 WebView操作分析 .......................................................................................................... 24

6.4.1 WebKit模块初始化 ............................................................................................ 24 6.4.2 数据载入 ............................................................................................................. 27 6.5 刷新绘制 ......................................................................................................................... 28

1 WebKit简介

1.1 简介

WebKit 的前身是 KDE 小组的 KHTML。Apple 将 KHTML 发扬光大,推出了装备 KHTML 改进型的 WebKit 引擎的浏览器Safari,获得了非常好的反响。WebKit 引擎比 Gecko 引擎更受程序员欢迎的原因,除了其引擎的高效稳定,兼容性好外,其源码结构清晰,易于维 护,是一个重要的原因。现在浏览器的内核引擎,基本上是三分天下:

Trident: IE 以Trident 作为内核引擎。 Gecko: Firefox 是基于 Gecko 开发。

WebKit: Safari, Google Chrome 基于 Webkit 开发。 还有一个Presto:Opera,任天堂DS浏览器,发展也良好。

WebKit 内核在手机上的应用十分广泛,例如 Google 的手机Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。

1.2 WebKit主要特点

1.2.1 引擎

该项目的主要重点是内容部署在万维网上的,基于标准的技术,如HTML,CSS , JavaScript和DOM中。并能够嵌入WebKit在其他应用程序中,并用它作为一般用途的显示和交互引擎。

1.2.2 开源

WebKit继续自由使用的两个开源协议LGPL和BSD,在Webkit中,WebCore和JavaScriptCore是LGPL,其余是BSD授权。

1.2.3高性能

维持和改善的速度和内存使用是一个重要的目标。随着网页内容越来越丰富,越来越复杂,作为网络浏览器上运行的更有限的设备,需要提升性能,加快浏览速度。

1.2.4 可移植性

WebKit 移植到各种各样的台式机、移动、嵌入式平台和其他平台。WebKit 提供必要的基础设施,并酌情提供友好嵌入的API。

1.2.5 兼容性

用户浏览网页,兼容现有的网站是必不可少的。WebKit致力于维护和改善兼容现有的网络内容,利用回归测试,以保持WebKit的兼容性。

1.2.6 遵守标准

WebKit的目标是遵守有关的Web标准,并支持新的标准。

1.2.7 安全

保护用户安全的行为是至关重要的。迅速修复安全问题,以保护用户系统和维护他们对WebKit的信任。

1.3 WebKit主要组成

WebKit 主要包括三个部分WebCore、JavascriptCore 及Ports部分。WebKit 专注的核心部分主要是:分析Html,Javascript 的解析和布局渲染技术。分别在由WebCore/html,JavascriptCore 和WebCore/rendering来完成。

1.3.1 体系结构

WebKit的体系结构如下图:

2 WebCore介绍

2.1 WebCore目录结构

根据源代码目录结构,WebCore目录主要包括如下:

bindings:将Dom Binding 给JavascriptCore 方面的代码,同时包含依据idl接口描述文件,自动生成对应于JavascriptCore 的Binding 实现的脚本等内容;

bridge:主要包含NPPlugin 方面的接口访问等内容;

css:主要包括与css 方面相关的内容,如解析不同css 规则的定义与实现、css Binding


WebKit引擎介绍.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:少有人走的路读书笔记

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: