首页 > 技术文章 > WebCore所包含的主要内容

facenano 2021-02-10 10:42 原文

1、从源代码目录结构来看 
WebCore目录主要包括如下目录: 
bindings 包含将Dom Binding给JavascriptCore方面的代码,同时包含依据idl接口描述文件,自动生成对应于JavascriptCore的Binding实现的脚本等内容; 

bridge 主要包含NPPlugin方面的接口访问等内容; 

css 主要包括与css方面相关的内容如解析、不同css规则的定义与实现、css Binding给JS的接口定义等内容; 

dom 主要包括dom方面相关的内容如不同dom元素的定义与实现、dom Binding给JS的接口定义等内容; 

html 主要包括html方面相关的内容如不同html元素的定义与实现、HTMLTokenizer及HTMLParser等内容; 

loader 主要包括装载资源如html页面、css、js及image等方面内容; 

page 主要包括描述一个Web页面所涉及的内容如page、frame、frameview、frametree、setting、history、chrome、chromeclient等内容; 

rendering 主要包括如何使用样式,组织布局、显示html元素等方面内容; 

plugins 主要包括浏览端如何实现NPPlugin方面的内容; 

svg 主要包括与svg方面相关的内容; 

xml 主要包括与xml方面相关的内容如xml parser、XPath、XSLT等; 

 

2、主要数据结构 
为了更加简单有效的描述浏览网页的内容及过程,WebKit为了明显区分不同方面的内容,采取了不同的namespace如webcore、javascriptcore、webkit等,webcore方面的主要数据结构有: 
webcore::page、webcore::frame、webcore::FrameLoader、webcore::FrameView、Document、DOMWindow、KJSProxy、DocumentLoader、ResourceHandle、ResourceRequest、ResouceResponse、MainResourceLoader、RenderObject、RenderView等;

platform 主要包括与不同平台或外部库相关的内容如graphics(图形输出方面)、network(网络处理方面)、image-decoders(解析不同图片格式方面)等; 

推荐阅读