为chromium增加底部工具栏

有些浏览器会有一些底部工具条,如360的浏览器,它的底部工具条样例如下:模仿360,本文介绍如何修改chromium代码,在chromium的底部也加上一个工具条。首先浏览器的整个窗口的实现类是BrowserView,先在browser_view中加入相应的代码src\chrome\browser\ui\views\frame\browser_view.hscoped_p
摘要由CSDN通过智能技术生成

有些浏览器会有一些底部工具条,如360的浏览器,它的底部工具条样例如下:


模仿360,本文介绍如何修改chromium代码,在chromium的底部也加上一个工具条。

首先浏览器的整个窗口的实现类是BrowserView,先在browser_view中加入相应的代码

src\chrome\browser\ui\views\frame\browser_view.h
scoped_ptr<BottomBarView> bottombar_;

src\chrome\browser\ui\views\frame\browser_view.cc
void BrowserView::InitViews() {
  ……
  bottombar_.reset(new BottomBarView(browser_.get()));
  AddChildView(bottombar_.get());
  bottombar_->Init();
  ……
}

在往BrowserView中增加bottombar_后,需要为bottombar_设置它的布局,也就是bottombar_的显示位置。BrowserView的布局由BrowserViewLayout负责,需要修改这个类。

src\chrome\browser\ui\views\frame\browser_view_layout.h
class BrowserViewLayout : public views::LayoutManager {
  ……
  BottomBarView *bottombar_;
  ……
}
src\chrome\browser\ui\views\frame\ browser_view_layout.cc
void BrowserViewLayout::Layout(views::View* browser_view) {
  ……
  int bottom = LayoutBottombar(browser_view->height());
  bottom = LayoutDownloadShelf(bottom);
  //int bottom = LayoutDownloadShelf(browser_view->height());
  ……
}

bottombar_会在视图的最底端显示,而这个位置原来是下载栏的位置,修改一下这段代码,把下载栏放在底部工具栏之上。实现LayoutBottombar函数:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在 Chromium增加 JavaScript 方法,你需要进行以下步骤: 1. 下载 Chromium 源代码并进行编译。你可以从 https://www.chromium.org/developers/how-tos/get-the-code 下载 Chromium 源代码。 2. 打开 Chromium 源代码中的 "content" 目录,然后找到 "renderer" 子目录。 3. 在 "renderer" 目录中,你可以找到一个名为 "blink_platform_impl.cc" 的文件。该文件包含了 Chromium 的 JavaScript 引擎 Blink 的实现代码。 4. 在 "blink_platform_impl.cc" 文件中,你可以找到一个名为 "WebCore::ScriptController::registerExtensionMethods()" 的函数。该函数用于注册扩展的 JavaScript 方法。 5. 在该函数中,你可以添加你自己的 JavaScript 方法。例如,你可以添加以下代码: ``` static const char* const kMyExtensionMethods[] = { "function myMethod() { return 'Hello, world!'; }", nullptr }; void ScriptController::registerExtensionMethods() { // Register the extension methods for (const char* const* method = kMyExtensionMethods; *method; ++method) { v8::Isolate::GetCurrent()->RunMicrotasks(); ScriptState::scopeForMainWorld()->getScriptState()->context()->Global()->Eval( String(*method, strlen(*method)), v8::Undefined(Isolate::GetCurrent())); } } ``` 6. 保存 "blink_platform_impl.cc" 文件并重新编译 Chromium。 完成上述步骤后,你就可以在 Chromium 中使用你添加的 JavaScript 方法了。例如,在 JavaScript 代码中调用 myMethod() 方法将返回 "Hello, world!" 字符串。注意,对 Chromium 进行修改需要小心谨慎,不当的操作可能会导致浏览器出现故障或不稳定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值