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