【WebKit的QT树状结构】
1)WebProcess:main()函数入口。
2)WebKit2
IPC、PluginProcess、WebEvent
UIProcess:认证UI、下载UI、登陆UI、插件UI、地理UI、CookieProxyUI、WebIcon、WebResourceLoad、WebDatabase
WebProcess:AppCache、认证管理、Cookie、Downloads、全屏、Geolocation、IconDataBase、
MediaCache、Plugins、ResourceCache、WebPage、
WebCoreSupport
3)WebCore……WTF
>>testing、accessibility
>>history、editing……事件、编辑、历史
>>plugins、platform、notifications、inspector
>>bindings、bridge……WebCore 与 JSC之间的绑定关系(实现注册与调度 eg Blob为案例)
>>rendering……渲染模块
>>page……页面容器(管理Frame)
>>css、dom、html、xml、svg、mathml……支持的标准脚本
>>inspector、loader……加载模块(根本)、插件
>>websockets、storage……网络套接字、离线存储
>>workers……var worker = new Worker();//负责后台运行javascript
>>fileappi……var blob = new Blob();//负责存储各类型数据
4)QtWebkit
>>API:对外提供的类接口(QWebPage、QWebView、QWebHistory...)
>>WebCoreSupport:ChromeClient、ContextMenu、DeviceMotion、DragClient、EditCommand、FrameLoaderClient
FullScreenVideo、Gelocation、IconDatabase、Notification、PageClient、PopupMenu、
5)JavascriptCore
>>debugger
>>parser、yarr、profiler(分析器)、interpreter(解释)
>>bytecode、bytecompiler、assembler
>>jit(简单方法jit-优化字节码)
>>dfg(数据流图)
>>runtime
>>heap
6)JS对外API:
JSBase、JSObect、JSString、JSValue、JSContext、JSClass、
JSCallBackObject、JSCallBackFunction、JSCallBackConstructor
7)Webkit的各级目录的功能介绍:
http://blog.youkuaiyun.com/milado_nju/article/details/7300058
8)webCore内目录的分类
#核心处理设备
>>html、editing、history
>>page、rendering
>>svg
>>Modules……html5支持相关模块
>>workers……webworkers支持
>>css、dom、html解析等
>>xml……XML XSLT XPATH
#基础设备
>>loader
>>accessibility……方便入口调用(接口扩展)
>>bridge……与不同语言的桥接(obj-c、C++、java等语言桥接)
>>bindings……js代码绑定.
#对外IO设备
>>platform……平台相关
>>Notifications……web Notifications