Chromium显示网页

原文链接:http://dev.chromium.org/developers/design-documents/displaying-a-web-page-in-chrome 概念应用层 每个框代表一个概念应用层。没有一层需要知道或者依赖他的上层。 WebKit:渲染引擎。Port是一个集成平台相关的系统服务的部分,比如资源加载和图像。 Glue:转换webkit类型到chromium类型。 Renderer... Read More | Share it now!

Chromium多进程架构

原文链接:http://dev.chromium.org/developers/design-documents/multi-process-architecture 这篇文章是从高层的架构来描述chromium,每个新接触chromium的人最好都能理解这篇文章的概念。 chromium为浏览器标签页使用隔离开的进程,使得浏览器渲染引擎的错误不会导致整个浏览器的错误。也限制每个渲染引擎进程去访问其他进程和系统。在某些方面,独立的多进程架构可以利用操作系统带来的内存保护和访问控制的好处。 我们运行界面、管理标签页和插件的进程称为主进程,或者是浏览器进程,浏览器。而每个标签页所对应的进程称之为渲染进程或者渲染器。渲染器使用webkit来解释排布html。 管理渲染进程 每个渲染进程有个全局的RenderProcess对象来管理跟他的父进程也就是浏览器进程的通信和维护各种全局状态。浏览器进程则是为每个渲染进程维护对应的RenderProcessHost对象,用来管理浏览器状态和跟渲染进程通信。浏览器进程和渲染进程是通过Chromium’s... Read More | Share it now!

Windows下面获取chromium代码

参考: http://dev.chromium.org/developers/how-tos/get-the-code http://dev.chromium.org/developers/how-tos/install-depot-tools chromium是个巨大的开源项目,目前的chromium27包含有700多个工程,2个多G的代码压缩包,解压出来5个G以上。要把这些代码同步到本地,一般要花费很长时间,由于中国的网络原因,同步代码经常被中断。所以不建议直接用svn去同步代码。 如果你只是想查看代码,可以通过这个网址在线的查看,http://src.chromium.org/viewvc/chrome/。 下面有几种方便的方式来获取代码到本地。 安装depot_tools 下面的方法都需要安装depot_tools。 从这里下载depot_tools:https://src.chromium.org/svn/trunk/tools/depot_tools.zip。 然后解压到一个目录,比如c:depot_tools,然后把这个目录加入PATH环境变量里面。 使用压缩包获取代码 去这里下载代码压缩包,http://chromium-browser-source.commondatastorage.googleapis.com/chromium_tarball.html。一般有几个G的大小,用迅雷下载比较方便。 把压缩包的中的代码解压到你本地的目录,目录的路径名不能包含空格。比如你建立一个c:chromium的目录,把解压包的src目录和同级的.gclient、.gclient_entries、README-archive等文件复制到c:chromium目录下。 安装depot_tools cmd里面切换到c:chromium目录,运行gclient... Read More | Share it now!

Mfc实现系统托盘功能

声明一个NOTIFYICONDATA类变量,该句可以放在Dlg类的声明中,作为Dlg类的一个成员;也可以放在Dlg类的实现中,作为全局变量来使用。 声明一个响应函数,用于响应鼠标操作。将这个函数放入Dlg类的声明中,作为Dlg类的一个成员。 定义消息名称以消息号,并注册消息,该步很重要!我就是因为没有注册消息,导致调试了很久都找不到问题所在。该步都是在Dlg.cpp(Dlg的实现中)中操作。定义消息名称和消息号:,1001只是用于指定一个消息号,可以随便指定。 注册则是在BEGIN_MESSAGE_MAP(Dlg,CDialog)和END_MESSAGE_MAP()之间添加 初始化系统托盘: 有了上面的代码,当程序运行到含有如上代码的函数时就会在系统托盘处添加一个图标,想隐藏主对话框,就再添加一句ShowWindow(SW_HIDE);这样就实现了将MFC最小化到系统托盘。但还要添加点击托盘图标时响应鼠标的函数,也就是第二步中的函数OnNotifyIcon。OnNotifyIcon函数,如下: 退出时删除托盘 ... Read More | Share it now!

auto_ptr 智能指针

auto_ptr是一种智能指针,帮助程序员防止”被异常抛出时发生资源泄露“。auto_prt只是针对某个特定问题而设计,对于其他问题无能为力。 设计动机 当你在某个局部new出一些对象的时候,还没有正常的delete,中间抛出了异常,导致无法执行delete,从而导致了资源泄露。而auto_prt保证只要自己被销毁,就一定连带释放其所指向的资源。如: ... Read More | Share it now!