谷歌浏览器源代码优化(二)续


    在上一篇里提到修改谷歌浏览器的四个地方,其实没有什么难度,只要找对了地方,
有一定C++基础的都能搞定。下面列出修改过的关键代码:
1. 关于窗口
    关于窗口的源代码文件名是AboutChromeView.cc, 初始化函数为void AboutChromeView::Init()
修改此函数可以自己控制版本等信息的显示。
2. 用户配置文件和缓冲文件的路径改变
    此路径原先在操作系统的用户应用程序目录,代码在chrome_pahts.cc,
原先函数是:
  1. bool GetDefaultUserDataDirectory(std::wstring* result) {
  2.     if (!PathService::Get(base::DIR_LOCAL_APP_DATA, result)) 
  3.         return false;
  4.     #if defined(GOOGLE_CHROME_BUILD)
  5.     file_util::AppendToPath(result, L"Google");
  6.     #endif
  7.     file_util::AppendToPath(result, chrome::kBrowserAppName);
  8.     file_util::AppendToPath(result, chrome::kUserDataDirname);
  9.     return true;
  10. }
改为以下代码实现路径转移到执行目录:
  1. bool GetDefaultUserDataDirectory(std::wstring* result) {
  2.     if (!PathService::Get(base::FILE_EXE, result)) 
  3.         return false;
  4.     #if defined(GOOGLE_CHROME_BUILD)
  5.     file_util::AppendToPath(result, L"Google");
  6.     #endif
  7.     std::wstring::size_type index = result->find_last_of(L'//');
  8.     if (index == std::wstring::npos)
  9.         return false;
  10.     *result = result->substr(0, index);
  11.     file_util::AppendToPath(result, chrome::kUserDataDirname);
  12.     return true;
  13. }
3. 网页文字下划线的绘制
    源代码文件是GraphicsContextSkia.cpp,函数static void setrect_for_underline(...)
实现了设置下划线的位置、长度和粗细,若要让下划线下移一个像素,只要Top+1即可。
4. 无法记住最后浏览器最后关闭的状态(最大化或普通窗大小)
    首先在文件window.cc中增加一个函数(头文件相应增加函数声明):
  1. void Window::Show(int command) {
  2. ShowWindow(command);
  3. SetInitialFocus();
  4. }
    修改文件browser_view2.cc中的
  1. void BrowserView2::Show(int command, bool adjust_to_fit) {
  2.     // frame_->GetWindow()->Show();    // 原先的代码
  3.     frame_->GetWindow()->Show(command);// 修改后的代码
  4. }
    以上可以根据自己的需求做相应更多的修改,具体就要看大家的想想力了!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值