转载请注明出处:http://blog.csdn.net/yunchao_he/article/details/41697489
本节简单介绍下Chromium/Blink绘制页面的基本工作流程。用户点击链接或输入网址,到最终显示网页内容,经历了以下几个重要步骤:
1. Chromium的启动和资源加载
用户输入URL(如www.163,com)并回车,Chrome会立即调用资源加载器,加载网页本身(比如index.html)。解析HTML时,如果发现某个节点还指向的其它的HTML文件,以及JS文件,CSS文件,图片,音视频文件等其它资源,也会加载这些资源。解析新加载的HTML,JS文件,CSS文件时,如果还指向其它需要加载的资源,则继续加载。整个过程类似于深度优先算法,伴随着HTML, CSS和JS的解析与执行而不断发现新的资源需要加载,如此往复,直到所有的资源全部加载完成。
2. 解析HTML, CSS, 执行Javascript
从网络接收到的HTML文件(实际上是字符流),会被解析成一个个Token,并构建Dom tree。同时还会解析CSS并构建RenderObject Tree,解析并执行JS。它和资源加载过程有重叠,因为解析HTML/CSS/JS过程