WebKit内核学习之二
2016-02-01 11:44
183 查看
自上次成功编译WebKit源码之后,已过去一些时日,为什么没有继续学习的原因就是,个人比较喜欢捣鼓计算机,编译完WebKit源码之后,我就借助工具清除了一下电脑的一些缓存文件,结果产生的后果就是,Ubuntu直接起不来了,实验了各种方法,依然桌面依然没有起来,没办法,只得重新安装系统,来来回回四五次,过程中也出现了各种的问题,也都通过请教和查阅资料,最终解决了,虽然过程崎岖,但是带来的最大的好处就是,我对于搭建工作编译环境,有了进一步的了解,知道该怎样去搭建工作环境了,终于将这个“技术活”转变为“体力活”了。
在学习WebKit初期,个人认为要大致了解源码的框架结构,知道大的框架目录大致什么作用。
Webkit源代码由三大模块组成:
1). WebCore,
2). WebKit,
3). JavaScriptCore。
WebCore:排版引擎核心,WebCore包含主要以下模块:Loader,Parser(DOM,Render),
Layout,Paint。
WebKit:移植层,主要包含:GUI,FileSystem,
Thread,Text,图片编解码等与平台相关的函数。
JavaScriptCore:JS虚拟机,相对独立,主要用于操作DOM,DOM是W3C定义的规范,主要用于定义外部可以操作的浏览器内核的接口,而webcore必须实现DOM规范。(具体的DOM规范可以查w3c.)
WebKit分模块介绍(这里简单列出因为能力有限也是初学者)
Webkit平台相关
CURL网络库
libPng,LibJpeg图形处理相关
sqlite小型关系数据库
WebCore核心
Loader加载资源及Cache实现(Curl)
DOM :HTML词法分析与语法分析
DOM :DOM节点与Render节点创建,形成DOM树
Render:Render树介绍,RenderBox
Layout:排版介绍
Css Parser模块
Binding-DOM与JavascriptCore绑定的功能
JavascriptCore-javascript引擎
API-基本javascript功能
Binding与其它功能绑定的功能,如:DOM,C,JNI
DerviedSource自动产生的代码
PCRE-Perl-CompatibleRegular Expressions
KJS-JavascriptKernel
3.页面的整个处理流程—(简单介绍,详细流程在后面笔记中)
1).用户输入网址后,FrameLoader::load函数会接收到URL。
2).把URL请求传给CURL库。
3)CURL发出http请求,得到数据后,传给Loader,开始解析。
4).通过DomBuilder按W3C的html规范生成Dom树
5).如果有javascript,JSEngine就通过ECMA-262标准完善Dom树
6).在生成DOM树的同时,同步生成Render树。
7).解析完后,调用Layout排版
8).Paint出来
今天学习总结就先到这里,后续继续学习更新。
在学习WebKit初期,个人认为要大致了解源码的框架结构,知道大的框架目录大致什么作用。
Webkit源代码由三大模块组成:
1). WebCore,
2). WebKit,
3). JavaScriptCore。
WebCore:排版引擎核心,WebCore包含主要以下模块:Loader,Parser(DOM,Render),
Layout,Paint。
WebKit:移植层,主要包含:GUI,FileSystem,
Thread,Text,图片编解码等与平台相关的函数。
JavaScriptCore:JS虚拟机,相对独立,主要用于操作DOM,DOM是W3C定义的规范,主要用于定义外部可以操作的浏览器内核的接口,而webcore必须实现DOM规范。(具体的DOM规范可以查w3c.)
WebKit分模块介绍(这里简单列出因为能力有限也是初学者)
Webkit平台相关
CURL网络库
libPng,LibJpeg图形处理相关
sqlite小型关系数据库
WebCore核心
Loader加载资源及Cache实现(Curl)
DOM :HTML词法分析与语法分析
DOM :DOM节点与Render节点创建,形成DOM树
Render:Render树介绍,RenderBox
Layout:排版介绍
Css Parser模块
Binding-DOM与JavascriptCore绑定的功能
JavascriptCore-javascript引擎
API-基本javascript功能
Binding与其它功能绑定的功能,如:DOM,C,JNI
DerviedSource自动产生的代码
PCRE-Perl-CompatibleRegular Expressions
KJS-JavascriptKernel
3.页面的整个处理流程—(简单介绍,详细流程在后面笔记中)
1).用户输入网址后,FrameLoader::load函数会接收到URL。
2).把URL请求传给CURL库。
3)CURL发出http请求,得到数据后,传给Loader,开始解析。
4).通过DomBuilder按W3C的html规范生成Dom树
5).如果有javascript,JSEngine就通过ECMA-262标准完善Dom树
6).在生成DOM树的同时,同步生成Render树。
7).解析完后,调用Layout排版
8).Paint出来
今天学习总结就先到这里,后续继续学习更新。
相关文章推荐
- java.util.vector中的vector的详细用法
- 【算法】打靶问题求解
- 【原创】纯干货,Spring-data-jpa详解,全方位介绍。
- git使用中经常出现的错误(1)
- git使用中经常出现的错误(1)
- 更新日期2017年2月3日 - Citrix XA/XD LTSR专用更新页面
- 基于MYCAT的MYSQL主从与读写分离配置
- 搭建dubbo测试环境
- .net 动态代理的泛型方法支持问题
- SWIFT学习笔记 2016/02/01
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- iis 重启命令
- fseek、ftell和rewind函数详解
- Unity3D命令行Build
- Tmux -- linux终端复用器
- iOS线程
- iOS 核心动画 代码详解
- hdu3018 Ant Trip
- ant 如何实现流程控制,遍历等操作
- 微信登录授权开发