谷歌浏览器的源码分析(3)

原创 2008年09月10日 22:23:00

前面修改了chrome关于对话框,并且编译显示出来了,那么它是在那里调用显示的呢?现在就带你去了解它。由于它是界面显示,那么不用想,直接到界面的工程里查找它,也就是到目录src/chrome/browser/views里查看到文件about_chrome_view.cc

 

这个文件里声明了一个类AboutChromeView,它就是主要负责初始化对话框、布局、显示字符串等等,比如显示“关于可乐米”的字符串,就是这样实现的,先调用函数:

#001  std::wstring AboutChromeView::GetWindowTitle() const {

  return l10n_util::GetString(IDS_ABOUT_CHROME_TITLE);

}

 

获取资源里的对话框标题,接着:

 

在上面的断点里就是响应菜单,然后创建关于对话框,主要调用函数CreateChromeWindow来创建窗口,把AboutChromeView窗口绑定到这个窗口类型里。由于可多米都是统一的窗口样式,那么它是通过创建一样的窗口类CustomFrameWindow来实现的。

 

为了显示窗口的标题,是通过下面的函数关系调用:

1.  Browser::ExecuteCommand  浏览器执行菜单命令。

2.  ChromeViews::Window::CreateChromeWindow  创建窗口。

3.  ChromeViews::CustomFrameWindow::Init 初始化窗口。

4.  ChromeViews::Window::Init  初始化窗口标题。

5.  AboutChromeView::GetWindowTitle  从关于对话框获取标题。

 

理解上面的函数关系调用就知道怎么样显示标题了,因此也知道关于对话框所有内容是由类AboutChromeView来管理的,但窗口的样式是由CustomFrameWindow类来管理的。

 

通过上面的分析,了解了关于对话框的标题显示过程,你想修改成什么样的内容,就要看你的需要了。下一次再仔细地分析有关于对话框怎么样组织其它信息,比如重要的升级功能。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Google Chrome源码剖析【一】:多线程模型

【一】 Chrome的多线程模型 0. Chrome的并发模型 如果你仔细看了前面的图,对Chrome的线程和进程框架应该有了个基本的了解。Chrome有一个主进程,称为Browser进程...

谷歌浏览器的源码分析(作者:蔡军生)&&Chrome源码剖析(作者:duguguiyu)

谷歌浏览器的源码分析(1) 谷歌浏览器的源码分析(2) 谷歌浏览器的源码分析(3) 谷歌浏览器的源码分析(4) 谷歌浏览器的源码分析(5) 谷歌浏览器的源码分析(6) ...

Google Chrome源码剖析【二】:进程通信

【二】Chrome的进程间通信 1. Chrome进程通信的基本模式 进程间通信,叫做IPC(Inter-Process Communication),在Chrome不多的文档中,有一篇就...

Introduce My Work

我在LinkedIn上面的个人简介是: Roger at UC Mobile Ltd. (www.uc.cn), focus on graphics stack (rendering archi...

Chromium 代码研究的一些感想

自己研究 Chromium 的代码(主要是 Android WebView 这个平台的代码),也有相当长的一段时间了,在这里把自己的一些感想记录下来,如果对他人有所帮助,也算是有些益处。 在研究过程...

谷歌浏览器的源码分析(2)

这么大的工程,我从哪里开始呢?我认为从界面开始,这样才可以快速地深入研究。下面就可以先尝试修改一个chrome的关于对话框,上一次看到它是英语的,那么我就来把它改成中文的吧,这样有目标了。从chrom...

理解 Embedder,理解 Chromium 的系统层次结构

理解 Embedder,理解 Chromium 的系统层次结构标签: Chromium作者:易旭昕在 Chromium 官方的文档里面,我们经常会看到 blink’s embedder 或者 cont...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)