0. chromium源代码分析 - 序
本打算在CSDN写完这系列文字,却因为在CSDN中误删了一篇blog,该篇blog被移到了回收站。然而CSDN居然没有从回收站撤销删除的操作方法。联想到之前CSDN泄密的问题,其可靠性值得怀疑。随转向CNBlog来写这些文字。
偷得浮生半日闲。忙中偷闲看看chromium代码。看过一段,不禁感慨,不亏是一流的公司,写出的架构也是不一般。不看代码,就凭chrome在windows上运行的效率也能感受到chromium代码上的高效。
本人能有幸看到chromium的源代码,还要感谢google为开源事业做的支持。本人学疏才浅,能有chromium代码学习的机会,真是有幸。希望能借chromium之力,提升自我。
能写这系列文档,首先感谢google的开源,在我的印象中开源的东西要么就是功能简陋,要么就是bug满天飞,抑或是满篇代码没有半点注释。但chromium却很不一样,速度快,界面清爽,bug少。看其代码,注释也是满满的。
再次要感谢的是早期将chromium的UI抽取出来的前辈(很早期的前辈,现在baidu、google都无法找到了,未能记录前辈姓名十分惭愧。),前辈将chromium的UI部分抽取并公开出来--chromiumFrame。前辈已经将chromium的UI框架抽出,消息处理,基础类库等等都有分装。前人栽树后人乘凉,感谢前辈分析后能公开出来,我也是在前辈的chromiumFrame基础上再做深入的分析学习。
CSDN上研究Chromium的大神很多,我写这系列文章,只为自己记录点滴,不能与大神们做类比。且本人不善写作,很多文字只有自己能看明白,写在blog上,又不免会有看客看过。如有写不明道不白的地方还希望看客不要深究。若有错误之处,请回复指出,本人不胜感激。
言归正传。准备工具和代码,一览chromium风采。先要下载前辈的chromiumFrame,链接就请去前辈的blog查找。其次是工具sourceinsight,vs2008必备。
我这不编译Chromium。3年前i5+8G的机器,chromium我编译了整整4个小时,vs调试起来也非常的慢。这种方式导致我一直没有深入的的学习chromium。3年后的今天我决定用2012年的代码开始学习框架。我相信chromium这4年来在框架上变化应该不会太大。
以下是大神文章的参考,记录不全,如有参考定不敢遗漏,日后增补。
上文提到的前辈暂时无法找到,日后定要寻到并记录:
http://blog.csdn.net/caimouse/archive/2008/09/07/2893806.aspx
http://www.2cto.com/kf/201312/261130.html
http://blog.csdn.net/makefish/article/details/5700279
0. chromium源代码分析 - 序的更多相关文章
- 《LINUX3.0内核源代码分析》第二章:中断和异常 【转】
转自:http://blog.chinaunix.net/uid-25845340-id-2982887.html 摘要:第二章主要讲述linux如何处理ARM cortex A9多核处理器的中断.异 ...
- Android5.0 Recovery源代码分析与定制(一)【转】
本文转载自:http://blog.csdn.net/morixinguan/article/details/72858346 版权声明:本文为博主原创文章,如有需要,请注明转载地址:http://b ...
- 1.4. chromium源代码分析 - chromiumframe - 消息系列
Message framework 是对消息循环的封装和扩展,Chromium在消息循环中增加处理内部任务的工作.将内部工作处理寄生在Windows的消息循环中,会有一个问题,就是没有Windows自 ...
- 1.3. chromium源代码分析 - chromiumframe - 窗口系列
在_tWinMain中有这样两条语句: MainWindowDelegate delegate; view::Window::CreateNativeWindow(NULL, gfx::Rect(), ...
- 1.2. chromium源代码分析 - chromiumframe - 入口函数
ChromiumFrame的入口函数在main.cpp中,打开main.cpp.中包含3个类和_tWinMain函数._tWinMain就是我们要找的入口函数.我做了部分注释: int APIENTR ...
- 1.1. chromium源代码分析 - chromiumframe - 介绍
本人能力有效,面对chromium庞大的代码就头大.还是先由前辈的chromiumFrame入手. 1. chromeFrame概貌 chromiumFrame是前辈的心血之作,以最小化的方式抽出ch ...
- Android HandlerThread 源代码分析
HandlerThread 简单介绍: 我们知道Thread线程是一次性消费品,当Thread线程运行完一个耗时的任务之后.线程就会被自己主动销毁了.假设此时我又有一 个耗时任务须要运行,我们不得不又 ...
- Spark SQL Catalyst源代码分析之UDF
/** Spark SQL源代码分析系列文章*/ 在SQL的世界里,除了官方提供的经常使用的处理函数之外.一般都会提供可扩展的对外自己定义函数接口,这已经成为一种事实的标准. 在前面Spark SQL ...
- chromium源代码下载(Win7x64+VS2013sp2, 39.0.2132.2)
chromium源代码下载(Win7x64+VS2013sp2, 39.0.2132.2) http://www.aichengxu.com/diannao/1000251.htm 前后折腾了四天,当 ...
随机推荐
- 对浏览器css兼容性的学习理解及问题解决汇总
一.从浏览器内核的角度 来看,浏览器兼容性问题可分为以下三类: 1. 渲染相关:和样式相关的问题,即体现在布局效果上的问题. 2. 脚本相关:和脚本相关的问题,包括JavaScript和DOM.BOM ...
- C#根据汉字生成拼音首字母全称
static void Main(string[] args) { string s = GetChineseSpell("周杰伦"); Console.WriteLine(s.T ...
- PSP个人软件开发工具
(您的阅读是我的荣幸,如有不满之处请留言指正!) 尚未完善.....工作中 为开发人员提供一个PSP工具,简化时间记录工作:同时提供数据使用的工具,帮助开发人提高估算能力. PSP个人软件开发工具 ...
- JVM学习之类的卸载机制
类的生命周期 当Sample类被加载.连接和初始化后,它的生命周期就开始了,当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,Sample类在方法区内的数据 ...
- Python封装的访问MySQL数据库的类及DEMO
# Filename:mysql_class.py # Author:Rain.Zen; Date: 2014-04-15 import MySQLdb class MyDb: '''初始化[类似于构 ...
- virtualbox 虚拟机网络设置
1.宿主机网卡设置 virtualbox 第一块网卡设置 virtualbox第二块网卡设置 2.虚拟机网络设置 找到以上设置中MAC地址对应的那个网卡: 配置网络: 重启网络,ok.
- codeforces 552 E. Vanya and Brackets 表达式求值
题目链接 讲道理距离上一次写这种求值的题已经不知道多久了. 括号肯定是左括号在乘号的右边, 右括号在左边. 否则没有意义. 题目说乘号只有15个, 所以我们枚举就好了. #include <io ...
- warning: control reaches end of non-void function
用gcc编译一个程序的时候出现这样的警告: warning: control reaches end of non-void function 它的意思是:控制到达非void函数的结尾.就是说你的一些 ...
- s3c6410学习笔记-烧写uboot+构建文件系统
一.进入目录 #cd u-boot-1.1.6_sndk6410 二.SD卡 make clean make distclean vim Makefile ...
- 2016 Multi-University Training Contest 4 总结
第四场多校队伍的发挥还是相当不错的. 我倒着看题,发觉最后一题树状数组可过,于是跟队友说,便开始写,十分钟AC. 欣君翻译01题给磊哥,发现是KMP裸题,但是发现模板太旧,改改后过了. 11题是一道毒 ...