转载请注明原文地址:http://blog.csdn.net/yunchao_he
Google Chrome是当今最流行的浏览器之一,它实现并推动了最新的HTML5标准和Web开发技术。Chrome背后的开源项目是Chromium,其绘制引擎(render engine)从Webkit中克隆出来,名为Blink。而WebKit是苹果公司主导的网页渲染引擎,用于Safari, WKWebView等众多浏览器或相关组件中。作为开源项目,Chromium和WebKit也是当今IT界最有影响力、最活跃的几个开源项目之一。
本人从事Chromium/Blink/Webkit相关工作多年,因此对Chrome内核有一定了解,特别是对绘制有关的内容有深入研究。本人打算根据自己所学所知,撰写《Chrome内核解析》系列文章,作为自己的学习笔记,也一并分享出来和同行探讨。内容如有谬误,欢迎指正。
首先将从我最熟悉的绘制部分写起。作为浏览器内核的重要组成部分,绘制引擎的内容非常复杂。特别是对于Chromium这样的现代浏览器,在它的多进程构架下,网页的绘制分散在众多进程、线程和模块中,看起来更加纷繁复杂。在深入介绍绘制部分之前,也有必要大致介绍下和绘制相关的背景。所以先由背景篇开始,然后介绍Chrome内核的绘制部分。如有可能,后续将介绍Chrome的2D图形库Skia, Chrome for Android, Chromium WebView, Chrome的JS引擎V8, 以及一些知名的Web开发框架或游戏引擎,比如Three.js, Unity3D-HTML, Cocos2D-HTML, Box2D, JQuery等等。
Chrome Internal 将分为以下章节:
第一部分:背景篇
第一