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

系统 1843 0

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

 

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

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

  return l10n_util::GetString(IDS_ABOUT_CHROME_TITLE);

}

 

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

 

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

 

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

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

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

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

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

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

 

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

 

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

 

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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论