`
a38876399
  • 浏览: 147841 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论
阅读更多

简要的说,WebKit由三个模块组成:JavaScriptCoreWebCore  WebKitWebKit作为了整个项目的名称。

JavaScriptCore:是JavaScript解释器;

WebCore:是整个项目的核心,用来实现render引擎:解析Web页面,生成一个DOM树和一个render树,并最终render it with a backend(后端?),当前已经有很多移植的Backend,如WebKit/GTKWebKitQT等。在上图中,backendWebCore中分离出来了,但实际上它是WebCore的一部分。

WebKit:它隐藏并选择WebCore到当前平台。在WebKit/Gtk中,WebCoreGtk objects的形式出现,并且它们的signalsAPI类似其他的Gtk objects.

WebKit工程组织与管理

平台与工具

当前WebKit支持四种平台:GTKQTMac OS X、和Cygwin

GTKQT使用qmake

Mac OS X使用xcodebuild

Cygwin则使用Visual Studio

下面主要针对Qt版的WebKit作分析介绍:

首先,执行WebKitTools/Scripts下的build-webkit Perl 脚本,可以使用一些参数配置需要的功能模块,主要有SVG的一些功能配置,以及XPATHXSLTVIDEO等。脚本执行过程中会对相应的参数进行解析,确定编译选项、功能模块、平台信息以及相应的工具、输出路径等等参数,最后根据不同的参数,使用qmake工具由webkit.pro生成整个工程的makefile。在make的过程中会进一步调用qmake由各个子模块的.pro项目文件生成各模块的makefile。最后make各个子模块的makefile就可以得到需要的目标文件。

工程结构

这个project可以分成JavaScriptCoreWebCoreWebKit三个子模块,对应到三个子目录,具体的如上面WebKit结构介绍的。

       更进一步,整个project又分成了六个可构建出来的子project,对应到相应的.pro文件。

WebKit\WebCore\WebCore.pro:生成libQtWebKit.solibQtWebKit.a,是整个WebKit引擎库,WebKit应用都是基于这个库。

WebKit\JavaScriptCore\kjs\testkjs.pro:生成testkjs可执行文件,它是一个JavaScript的测试工具,测试JavaScriptCore模块的功能实现。

WebKit\JavaScriptCore\pcre\dftables.pro:生成dftables可执行文件,也是一个工具。

WebKit\WebKit\qt\QtLauncher\QtLauncher.pro:生成QtLauncher可执行文件,它是基于WebKit的一个简单浏览器的应用。

WebKit\WebKit\qt\Plugins\plugins.pro:生成了libqtwebico.soinstall后会放到/usr/lib/qt4/plugins/imageformats/下,这个库的作用还不明了,因为目前运行的QtLauncher应用没有用到它,有待研究。

WebKit\WebKitTools\DumpRenderTree\qt\DumpRenderTree.pro:生成DumpRenderTree工具,也是基于WebKit的一个应用工具。

分享到:
评论
1 楼 天宇孤鹰 2011-05-13  

相关推荐

    WebKit的结构与解构

    Webkit 是一个开源的网页排版引擎,广泛应用于各种浏览器和操作系统中,如 Safari 和旧版的 Google Chrome。它的主要任务是从 HTML、CSS 和 JavaScript 等文本文件中构建并呈现复杂的网页内容。在这个过程中,有两个...

    Webkit 结构简介难点要点和案例源码解析说明

    深入理解Webkit的结构对于开发高效、高性能的浏览器应用至关重要。 Webkit的架构分为多个层次,主要包括以下几个部分: 1. **网络层(Network Layer)**:负责处理HTTP、FTP等网络协议,下载网页资源。它包含URL...

    WebKit源代码结构

    ### WebKit源代码结构解析 #### 一、概述 WebKit是一款开源浏览器引擎,其源代码规模庞大,超过了500万行。尽管如此,WebKit的目录结构却异常清晰,这有助于开发者快速理解其架构和功能模块。本文将详细介绍WebKit...

    webkit介绍与代码结构

    **WebKit 概述** WebKit 是一个开源的网页渲染引擎,...通过深入理解 WebKit 的代码结构和特点,开发者可以更好地定制和优化基于 WebKit 的应用,提高用户体验,同时也可以参与到 WebKit 的开源社区,贡献自己的力量。

    Webkit学习资

    ### Webkit结构简介 Webkit的架构分为多个层次,主要组件包括: 1. **网络层(Network Layer)**:负责网络请求的处理,如HTTP、FTP等协议的实现,以及数据缓存功能。 2. **排版层(Layout/Rendering Layer)**:解析...

    Webkit_webkit浏览器_webkit_android_

    安装和配置Android Studio,创建一个新的Android项目,并设置相应的项目结构。 2. **WebView使用**:了解如何在布局XML文件中添加WebView控件,并在对应的Activity中初始化和设置WebView。这通常涉及到设置...

    WebKit技术内幕朱永盛.pdf

    WebKit通过HTML解析器将HTML文档转化为DOM树,这是一个结构化的数据模型,用于表示网页内容。解析过程中会处理各种HTML标签和属性,确保它们按照规范正确解析。 3. **CSS样式计算** CSS样式引擎负责解析CSS规则,...

    WebKit.Interop_浏览器源码_webkit_

    WebKit 前身是 KDE 小组的 KHTML,WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎来自于 KDE 的 KHTML 和 KJS,当年苹果比较了 Gecko 和 KHTML 后,仍然选择了后者,就因为它拥有清晰的源码结构、极快的渲染速度。...

    PDF: webkit工作原理

    WebKit使用一个叫做RenderTree的结构来保存DOM节点及其对应的样式信息。RenderTree是最终用于页面渲染的数据结构,它将决定每个元素在屏幕上的位置和大小。 渲染树构建完成后,WebKit将开始布局(layout)过程,将...

    nw node webkit 离线安装包

    这个“nw node webkit 离线安装包”包含了运行nw.js应用程序所需的所有组件,无需在线下载,方便开发者在没有网络连接的环境下进行离线开发和部署。 nw.js的核心原理是将Chromium浏览器引擎与Node.js环境集成在一起...

    WebKit加载网页的流程.pdf

    WebKit通过解析HTML标签和相应的DOM(文档对象模型)结构,构建出一个可视化的框架树,这个框架树反映了网页的层级结构。每一个框架树节点都代表了页面上的一个元素,如段落、图片、表格等。WebKit使用这个框架树来...

    侯炯《WebKit 研究报告》.pdf

    一.Webkit 介绍 二.Webkit 编译详解 1.依赖库及介绍 2.X11+Gtk+WebKit 交叉编译详解 3.编译出错 Q&A 三.WebKit 分析 1.体系结构 2.解析流程 3.浏览器系统结构 四.各种浏览器比较分析 1.网页浏览器列表 2...

    WebKit.NET

    它使用了布局引擎和呈现树来处理页面的结构和视觉表示。 2. **JavaScriptCore**:WebKit的JavaScript引擎,负责解释和执行JavaScript代码。它支持ECMAScript标准,提供了高效的运行时环境。 3. **WebKit2**(多进程...

    xcode编译webkit资料

    - WebKit的源码结构复杂,包含许多子模块和组件,理解这些结构对于后续编译和调试有直接帮助。 2. **构建工具与流程**: - Xcode的构建系统基于Apple的Build System,它负责编译、链接和打包应用程序。理解构建...

    WebKit 开源浏览器内核 源代码 完整版

    5. **Web Inspector**:WebKit 内置的调试工具,可以帮助开发者检查和调试网页的结构、样式、脚本以及网络请求,是前端开发中不可或缺的辅助工具。 6. **插件支持**:WebKit 支持 NPAPI 和 Pepper 插件,使得第三方...

    android4.0.1 webkit图

    2. **HTML解析**:收到服务器返回的HTML文档后,WebKit解析器开始构建DOM(文档对象模型)树,这是HTML结构的抽象表示。 3. **CSS应用**:同时,WebKit会下载CSS和其他样式表文件,并应用到DOM树上,形成CSSOM(CSS...

    webkit 学习总结

    DOM(文档对象模型)是 WebCore 把 HTML 或 XML 文件转化为结构化的节点树,使得 JavaScript 可以操作页面元素。渲染树则是基于 DOM 树和 CSS 样式构建的,用于确定每个元素在屏幕上的位置和外观。WebCore 还包含了 ...

    qtwebkit_demo

    3. **DOM API访问**:通过QTWebKit,开发者可以直接访问和操作网页的DOM(Document Object Model)结构,实现对网页内容的动态修改。 4. **多媒体支持**:支持HTML5的音频和视频元素,可以播放多媒体内容。 5. **...

    Webkit,Android Browser的UML分析

    UML是一种标准化的图形表示法,用于软件工程中的系统建模,包括类图、对象图、时序图等多种图表,帮助开发者理解和设计复杂的系统结构。在"Webkit,Android Brower的主要类图和时序图"这个主题中,我们将重点讨论这...

    WebKit内核源代

    1. **解析与解析器**:WebKit如何将HTML和CSS文本转换为内部数据结构,这是理解和优化页面加载速度的基础。文档可能会详细介绍XMLHttpRequest、DOM构建和样式计算的过程。 2. **布局与渲染树**:当HTML和CSS解析...

Global site tag (gtag.js) - Google Analytics