淺談關(guān)于QT中QWebKit目錄介紹
關(guān)于QT中QWebKit目錄介紹是本文要介紹的內(nèi)容,主要介紹了QWebkit下webkit和Webcore目錄結(jié)構(gòu)的內(nèi),JavaScriptCore 下面的了解的比較少,寫的也比較少。
Webkit\WebKit\qt該目錄是實(shí)現(xiàn)webkit在qt平臺(tái)上的porting部分,這里的類是直接提供給使用qwebkit模塊的程序調(diào)用的。主要內(nèi)容都在文件夾Api 和WebCoreSupport里,
Webkit\WebKit\qt\Api目錄包含了webkit 在Qt平臺(tái)大部分應(yīng)用的API接口,如QWebView QWebPage QWebFrame等。
Webkit\WebKit\qt\WebCoreSupport目錄里包含了Qt平臺(tái)下外部程序提供給Webkit內(nèi)部使用的接口,大部分都是重寫了WebCore里的相關(guān)函數(shù)的功能。如ChromeClientQt EditCommandQt ContextMenuClientQt等:
Webkit\WebCore 該目錄是HTML engine的所在地,也是webkit的核心部分。
WebCore\bindings 這里javascript bindings 功能實(shí)現(xiàn)所在地,具體功能是把webcore中的JavaScript接口提供出來(lái),供外界使用。
WebCore\bindings\js
WebCore\bindings\objc
WebCore\bindings\scripts 存放的腳本文件通過(guò)IDL文件生成JavaScript bindings class
WebCore\bindings\V8
\WebCore\bridge 這部分代碼主要實(shí)現(xiàn):1 把自定義的C++ 對(duì)象添加到JavaScript的環(huán)境中, QWebFrame::addToJavaScriptWindowObject();2 Scriptable Netscape Plugins 是通過(guò)這里的bridge實(shí)現(xiàn)的。
\WebCore\css CSS Style Parser 及與其相關(guān)的解析操作
\WebCore\dom DOM Event 處理操作
\WebCore\editing 與文字相關(guān)的編輯操作和格式,如剪貼板
\WebCore\ForwardingHeaders 這里的頭文件指向JavaScriptCore 庫(kù)里的文件
\WebCore\generated 通過(guò)IDL文件生成的 JavaScript binding class 例如:XMLHttpRequest 它的IDL 文件 在 \webkit\WebCore\xml\ XMLHttpRequest.idl,生成后的文件 \webkit\WebCore\generated\JSXMLHttpRequest.cpp,主要的邏輯代碼在 \webkit\WebCore\xml\XMLHttpRequest.cpp
\WebCore\history 主要是網(wǎng)頁(yè)的前進(jìn) 后退及緩存的頁(yè)面。
\WebCore\html HTML parser,HTML 各種element 及HTML DOM Tree 相關(guān)的類
\WebCore\loader – 主要是從網(wǎng)絡(luò)加載資源的相關(guān)內(nèi)容, frame loader, resource loader 等
\WebCore\page WebCore里顯示一個(gè)頁(yè)面要用的相關(guān)的類都在這里了。Page, Frame, FrameTree, FrameView, EventHandler, History, Screen, Settings, Chrome等。
\WebCore\page\qt Focus, mouse, wheel events(EventHandlerQt FrameQt)
\WebCore\platform Platform 相關(guān)特性
\WebCore\platform\network\qt qt 平臺(tái)下Networking 部分
\WebCore\platform\graphics\qt qt 平臺(tái)下Graphics 部分
\WebCore\platform\text\qt qt 平臺(tái)下文本的編解碼 換行等
\WebCore\plugins netscape plugins
\WebCore\rendering Render Tree 相關(guān)的類,主要用來(lái)布局和渲染整個(gè)頁(yè)面。http://trac.webkit.org/wiki/WebCoreRendering
\WebCore\rendering\style 這里包含render tress上已經(jīng)計(jì)算好的style。
\WebCore\resources 存放光標(biāo),按鈕等圖標(biāo)
\WebCore\xml 與XML相關(guān)的操作。如XML 解析器等。
目錄Webkit\JavaScriptCore JavaScript engine所在地。JIT 做了大部分的工作。
JavaScriptCore\API 包含JavaScript Core的C API
- JavaScriptCore\assembler
- JavaScriptCore\interpreter
- JavaScriptCore\jit
- JavaScriptCore\parser JavaScript 解析器
- JavaScriptCore\runtime
- JavaScriptCore\wtf
- JavaScriptCore\yarr
小結(jié):淺談關(guān)于QT中QWebKit目錄介紹的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!