如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Webkit主要组成WebKit主要包括三个部分WebCore、JavascriptCore及Ports部分。WebKit专注的核心部分主要是:分析Html,Javascript的解析,布局渲染技术。分别在WebCore/html,JavascriptCore和WebCore/rendering里面1WebCore内容目录结构bindings将DomBinding给JavascriptCore方面的代码,同时包含依据idl接口描述文件,自动生成对应于JavascriptCore的Binding实现的脚本等内容bridge主要包含NPPlugin方面的接口访问等内容css主要包括与css方面相关的内容如解析、不同css规则的定义与实现、cssBinding给JS的接口定义等内容;dom主要包括dom方面相关的内容如不同dom元素的定义与实现、domBinding给JS的接口定义等内容html关于html方面相关的内容,如不同html元素的定义与实现、HTMLTokenizer及HTMLParser等内容load主要包括装载资源如html页面、css、js及image等方面内容;page主要包括描述一个Web页面所涉及的内容如page、frame、frameview、frametree、setting、history、chrome、chromeclient等内容;rendering主要包括如何使用样式,组织布局、显示html元素等方面内plugins主要包括浏览端如何实现NPPlugin方面的内容svg主要包括与svg方面相关的内xml主要包括与xml方面相关的内容如xmlparser、XPath、XSLT等platform主要包括与不同平台或外部库相关的内容如graphics(图形输出方面)、network(网络处理方面)、image-decoders(解析不同图片格式方面)等主要数据结构为了更加简单有效的描述浏览网页的内容及过程,WebKit为了明显区分不同方面的内容,采取了不同的namespace如webcore、javascriptcore、webkit等,webcore方面的主要数据结构有:webcore::page、webcore::frame、webcore::FrameLoader、webcore::FrameView、Document、DOMWindow、KJSProxy、DocumentLoader、ResourceHandle、ResourceRequest、ResouceResponse、MainResourceLoader、RenderObject、RenderView等总的说来,WebCore包含了浏览器引擎的核心部分如处理html、dom、css、svg、获取资源、渲染页面过程控制、回调/通知外壳程序以及与Javascript实现的Binding等等2port的内容Port方面的主要内容在于提供不同的Port接口供外部程序使用以及如何与外部程序交互,因为WebKit中的其它两部分WebCore、Javascript实现,从逻辑上讲是不直接提供接口给外部程序使用的。同时为了完成浏览器的核心功能,WebKit也需要从外部程序中通过Port接口的方式获取一些支持。1WebCore交互接口在WebKit源代码目录结构中WebKit目录下分别包含gtk、mac、qt、win、wx目录,其分别对应不同的Port移植方式,在每一个目录下面都包括WebCoreSupport目录,而在不同的WebCoreSupport目录下分别包含有对类接口WebCore::ChromeClient、WebCore::ContextMenuClient、WebCore::DragClient、WebCore::EditorClient、WebCore::FrameLoaderClient、WebCore::InspectorClient等的实现,它们代表外部程序提供给WebKit内部使用的接口实现,其中WebCore::ChromeClient、WebCore::FrameLoaderClient非常重要。2连接模块loader对WebCore中的page/loader等方面的类提供对应Port的实现支持如EventHandlerWin.cpp、FrameLoaderWin.cpp、DocumentLoaderWin.cpp、DocumentLoaderWin.cpp、WidgetWin.cpp、KeyEventWin.cpp等.Loader是在WebKit里面一个很重要的连接器,通过loader发起IO下载网页,再通过loader发起解