![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
chromium
和木匠
这个作者很懒,什么都没留下…
展开
-
下载chrome代码并编译
http://blog.163.com/cp7618@yeah/blog/static/702347772012812115555171转载 2014-06-30 14:30:41 · 1491 阅读 · 0 评论 -
理解WebKit和Chromium: WebKit资源加载机制
## 概述回顾整个渲染过程,本系列介绍了HTML文本到DOM到Render树及RenderLayer树,以及后面的绘图等,这里面还缺了一块重要部分,就是WebKit如何加载各种资源和网络栈。这里资源是指WebKit从网络或者本地文件系统获取的各种信息,例如HTML文本,JavaScript文本等。本章将介绍WebKit如何获取资源以及如何高效的管理资源。 ## 资源及资源相关类转载 2014-06-17 16:32:58 · 725 阅读 · 0 评论 -
理解WebKit和Chromium:Chromium资源磁盘缓存
## 概述想象一下,如果没有磁盘缓存的世界。当用户访问网页的时候,每次浏览器都需要从网站下载网页,图片,JS等资源,这其实费力又不讨好。解决这一问题的方法就是将之前浏览器下载的资源保存下来,存到磁盘中,以备今后使用。当然,资源有时效性,也会变的不再有效,所以有相应的退出机制来解决这一问题。在现代浏览器中,绝大多数浏览器都有磁盘缓存机制,因为它确实能够提高网页的加载速度,能够省去了网络的时间转载 2014-06-17 16:47:34 · 883 阅读 · 0 评论 -
理解WebKit和Chromium: Chromium网络栈
## 概述前面讲到Chromium的资源加载机制,在调用栈上,提到URLRequest之后就戛然而止,在这之下就是Chromium的网络模块部分,它是在Browser进程中工作的,这部分其实包含很多内容,例如调用栈,Cookie,磁盘缓存,域名解析,网络协议,代理,安全机制等。它们的主要作用是使用网络来下载各种类型的资源,当然网络部分的内容远不只这些 ,它还需要支持最新的HTML5功能-W转载 2014-06-17 16:25:26 · 1095 阅读 · 0 评论 -
理解WebKit和Chromium: 网页渲染的基本过程
## 概述前面介绍了一些渲染引擎的功能,包括网络,资源加载,DOM树,RenderObject树等等,但是,给人以零乱的感觉,因为没有一个整体的过程描述它们在这个过程中的位置,它们只是整个渲染引擎工作的一个或者多个步骤而已。渲染引擎的主要目的就是从一个网页的URL开始,经过一系列的复杂处理过程之后,变成一个可视化的结果,这一过程就是这里所说的页面渲染的基本过程。所谓的渲染,转载 2014-06-17 16:13:17 · 832 阅读 · 0 评论 -
理解WebKit和Chromium: 消息循环(Message Loop)
# 消息循环## 概述前面介绍了线程间如何传递chromium自定义任务(task),那么在线程内,消息循环(messageloop)是如何处理这所有的消息和任务呢?本章节重点介绍消息循环的工作原理。在Chromium里,需要处理三种类型的消息:chromium自定义的任务,Socket或者文件等IO操作以及用户界面(UI)的消息。这里面,chromium自定义任务是平台无转载 2014-06-17 16:01:01 · 1279 阅读 · 0 评论 -
理解WebKit和Chromium: Chromium的多线程机制
# Chromium多线程机制## 概述前面我们介绍过Chromium是基于多进程模型的架构设计,那么各个进程内的情况呢?事实是每个进程都有很多的线程,特别是browser进程,因而它也基于多线程模型的。介绍多线程机制之前,先来看一下残酷的现实吧,下面是各个进程的线程信息情况(基于Linux平台,其它平台的可能略有不同),相信保证让你头大。是的,你需要泡杯茶,然后静下心来了解一下它转载 2014-06-17 15:45:27 · 952 阅读 · 0 评论 -
理解WebKit和Chromium: Chromium多进程模型
#Chromium的进程模型##概述相信你一定有这样的经历:打开很多个页面,不幸的是其中某个页面不响应了或者崩溃了,随之而来的是更不幸的事,所有页面都不响应或者都崩溃了。最让人崩溃的是其中一些页面还有未保存或者未发送的信息!这绝对是不堪回首的过去。但是,现在好了,现代浏览器很多都支持多进程模型,这个模型可以很好地避免上面的问题,虽然它很复杂而且也有自身的问题,例如更多的资源转载 2014-06-17 15:35:00 · 734 阅读 · 0 评论 -
理解WebKit和Chromium: WebKit和Chromium组成
在“WebKit,WebKit2,Chromium和Chrome介绍”中,大致了解了WebKit是一个渲染引擎,Chromium是一个浏览器,它们那么分别包含哪些不同的功能模块?它们是如何划分地?本章节来为大家详细解读一下。WebKit:1. HTML解析::负责HTML语言的解析2. CSS解析:负责CSS的解析工作3. 图片解码:支持不同编码格式的图片4转载 2014-06-17 15:29:30 · 591 阅读 · 0 评论 -
Chromium开发--入门C++小例子
开始做Chromium开发的时候,都是从代码去摸索的,现在有几个例子了。希望看到的同学能有帮助,比直接在大量代码里领悟要快很多了。C++ in Chromium 101 - Codelabhttp://www.chromium.org/developers/cpp-in-chromium-101-codelab0) hel转载 2014-06-17 16:48:39 · 1717 阅读 · 0 评论 -
介绍Chromium的多进程架构
为什么引入多进程架构?在Chromium引入多进程架构之前,当前流行的浏览器都采用单进程实现,例如FireFox,IE,Safair等,浏览器所有的标签页都运行在同一个进程中,当某个标签页崩溃时(可能由于渲染引擎的缺陷或者网页的恶意攻击等原因),就会导致整个浏览器崩溃。此时其他运行正常的标签页也随着浏览器的崩溃而被强行关闭,标签页中未保存的数据也就自然丢失了。随着浏览器功能越来越丰富,比如转载 2014-07-04 15:29:08 · 812 阅读 · 0 评论 -
Chromium源代码工程目录分析
总体概览Chromium分为3个大模块(包括第三方库):浏览器,渲染器,WebKit。浏览器负责主进程,UI展现和I/O。渲染器一般是由浏览器调用的标签子进程。它嵌入WebKit中做布局和渲染。你应该熟读多进程架构和Chromium如何显示web页。快速介绍sln文件有2个sln文件,chrome.sln是使用V8引擎的普通版本,chrome_kjs.sln转载 2014-07-04 15:26:29 · 1732 阅读 · 0 评论 -
Chrome多进程调试
Chrome的多进程模型给DEBUG带来了很大的挑战。一、如果你设置代码的断点,默认情况下,VS只会跟踪那些在主进程Browser代码中的那些断点。VS提供了"Attach To Process"的方法。比如当Render Process启动之后,可以用菜单"Debug"=>"Attach To Process"选项,选择那个新产生的进程,然后在你需要跟踪的代码处设置断点,就可以。但是这种转载 2014-06-17 16:55:28 · 1234 阅读 · 0 评论