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

时间: 2024-07-29 01:30:18

0. chromium源代码分析 - 序的相关文章

Android5.0 Recovery源代码分析与定制(一)【转】

本文转载自:http://blog.csdn.net/morixinguan/article/details/72858346 版权声明:本文为博主原创文章,如有需要,请注明转载地址:http://blog.csdn.net/morixinguan.若是侵权用于商业用途,请联系博主,否则将追究责任 在Tiny4412的Android5.0源代码中: bootable/recovery/recovery.cpp是recovery程序的主文件. 仔细一看,对比了其它平台的recovery源代码,除了

1.4. chromium源代码分析 - chromiumframe - 消息系列

Message framework 是对消息循环的封装和扩展,Chromium在消息循环中增加处理内部任务的工作.将内部工作处理寄生在Windows的消息循环中,会有一个问题,就是没有Windows自身消息,而有Chromium内部工作,此时内部动作就无法及时处理.Chromium这里定义了一个自定义消息kMsgHaveWork,用来在Chromium内部有工作的时候,驱动Windows的消息一直会运行. 从代码级别来说,Chromium内部工作队列被塞入工作时Post一条kMsgHaveWor

1.1. chromium源代码分析 - chromiumframe - 介绍

本人能力有效,面对chromium庞大的代码就头大.还是先由前辈的chromiumFrame入手. 1. chromeFrame概貌 chromiumFrame是前辈的心血之作,以最小化的方式抽出chromium界面部分的代码,并以demo的方式展现给我.让我可以不用直接面对chromium这样的庞然大物. 先看看chromiumFrame目录结构, animation,静态库,动画类. base,基础静态库,一些logging,只能指针等基础的东东. gfx,画图的基础库,对windows上的

1.2. chromium源代码分析 - chromiumframe - 入口函数

ChromiumFrame的入口函数在main.cpp中,打开main.cpp.中包含3个类和_tWinMain函数._tWinMain就是我们要找的入口函数.我做了部分注释: 1 int APIENTRY _tWinMain(HINSTANCE hInstance, 2 HINSTANCE hPrevInstance, 3 LPTSTR lpCmdLine, 4 int nCmdShow) 5 { 6 // 1. 支持OLE,退出管理机制,GDIPlus 初始化,本地资源管理(new) 7 H

SDL2源代码分析2:窗口(SDL_Window)

上一篇文章分析了SDL的初始化函数SDL_Init().这篇文章继续分析SDL的源代码.本文分析SDL的窗口(Window). SDL播放视频的代码流程如下所示. 初始化:  SDL_Init(): 初始化SDL. SDL_CreateWindow(): 创建窗口(Window). SDL_CreateRenderer(): 基于窗口创建渲染器(Render). SDL_CreateTexture(): 创建纹理(Texture). 循环渲染数据:  SDL_UpdateTexture(): 设

Android HandlerThread 源代码分析

HandlerThread 简单介绍: 我们知道Thread线程是一次性消费品,当Thread线程运行完一个耗时的任务之后.线程就会被自己主动销毁了.假设此时我又有一 个耗时任务须要运行,我们不得不又一次创建线程去运行该耗时任务.然而.这样就存在一个性能问题:多次创建和销毁线程是非常耗 系统资源的.为了解这样的问题,我们能够自己构建一个循环线程Looper Thread.当有耗时任务投放到该循环线程中时.线程运行耗 时任务,运行完之后循环线程处于等待状态,直到下一个新的耗时任务被投放进来.这样一

Cocos2d-X3.0 刨根问底(九)----- 场景切换(TransitionScene)源代码分析

上一章我们分析了Scene与Layer相关类的源代码,对Cocos2d-x的场景有了初步了解,这章我们来分析一下场景变换TransitionScene源代码. 直接看TransitionScene的定义 class CC_DLL TransitionScene : public Scene { public: /** Orientation Type used by some transitions */ enum class Orientation { /// An horizontal or

FreeBSD 5.0中强制访问控制机制的使用与源代码分析【转】

本文主要讲述FreeBSD 5.0操作系统中新增的重要安全机制,即强制访问控制机制(MAC)的使用与源代码分析,主要包括强制访问控制框架及多级安全(MLS)策略两部分内容.这一部分讲述要将MAC框架与MLS策略用起来,应该做的一些工作,以及如何有效使用它们的问题. ? 强制访问控制(英文缩写MAC)是实现操作系统安全的一个重要的方法,现在几乎所有的安全操作系统都采用强制访问控制作为其核心安全机制之一.强制访问控制是对操作系统的各种客体(如文件.socket.系统FIFO.SCD.IPC等)进行细

Nutch 1.0 源代码分析[8] CrawlDb

Nutch 1.0 源代码分析[8] CrawlDb 24MAR 2010 18:44:08 +0800 ---------------------------------------------------------------------------- 再接下来Crawl类中的重要的一行就是: http://c.tieba.baidu.com/p/3312872854 http://c.tieba.baidu.com/p/3312894881 http://c.tieba.baidu.co