WebKit結構和流程分析

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出來

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章