WebKit结构和流程分析

来源:互联网 发布:java对象数组 编辑:程序博客网 时间:2024/05/10 06:57

1.体系结构

WebKit上层组织应用

WebCore

¨Page与外框相关的内容(Frame,Page,History,Focus,Window)

¨Loader加载资源及Cache

¨HTML-DOM HTML内容及解析

¨DOM- DOM CORE内容

¨XML- XML内容及解析

¨Render-排版功能

¨CSS-DOM CSS内容

¨Binding-DOM与JavascriptCore绑定的功能

¨Editing-所有与编辑相关的功能

JavascriptCore-javascript引擎

¨API-基本javascript功能

¨Binding与其它功能绑定的功能,如:DOM,C,JNI

¨DerviedSource自动产生的代码

¨ForwordHeads头文件,无实际意义

¨PCRE-Perl-Compatible Regular Expressions 

¨KJS-Javascript Kernel

¨WTF-KDE的C++模板库

Unicode unicode 库

Tools tools库

CURL-url 客户端传输库

PlatForm- 与平台相关的功能,如图形图像,字体,Unicode, IO,输入法等.

 

 

 

 

2.解析流程

1.    CURL获得网站的stream

2.    解析划分字符串

3.    通过Dom Builder按合法的html规范生成Dom树

4.    如果有javascript,JSEngine就通过ECMA-262标准完善Dom树

5.    把Dom传给LayoutEngine,进行布局,如果有CSS样式,就通过CSSParser解析。

6.    最后Rendering out出来