Webkit总体结构与流程

来源:互联网 发布:佩斯大学知乎 编辑:程序博客网 时间:2024/05/15 06:11

1,体系结构

Webkit主要包括WebCoreJavascriptCore两部分,其中最重要的部分是WebCore,包含了一个客户请求到加载、再到解析、再到渲染的整体过程。JavascriptCore主要负责对Javascript的支持。


      图1:Webkit体系结构图

从该图中我们可以看出WebCore主要包含了pagehtmleditingloaderdombindingsxmlrenderingcssplatform等模块。

其中page主要是给客户端提供PageFrame等浏览器抽象概念的模块。htmldomxml是与解析相关的模块,dom则是解析模块的核心模块。Loader是负责加载的模块。editing是与编辑功能相关的模块。binding是与其他功能绑定的模块,包括CJNIJavascriptCore等。rendering是渲染相关的模块。而platform则是平台相关的东西,如具体的联网实现、绘制等,主要是提供一些接口供具体的平台去实现。

这个与QtWebkit源代码中目录结构相对应:


 图2:Webkit代码目录结构图

2,主要流程

Webkit中从用户发起一个联网请求到把获得的页面展示给用户的主题流程如下:客户类发起命令(page)——联网获得网页内容(loader)——解析内容(html)——生成DOM树(dom)——(调用Nodeattach())生成Render树(rendering)——(调用FramViewlayout())排版(css)——渲染(platform)

流程图如下:


图3:流程图
0 0
原创粉丝点击