chromium 32默认锁定本地加载的插件

新版本插件按钮

新版本本地插件有一个汇聚的按钮,如果有加载的插件,默认是只显示插件按钮,而没有显示具体的插件列表。如下图:
默认插件按钮

02 默认在工具栏显示插件列表

chrome/browser/ui/toolbar/toolbar_actions_model.cc

bool ToolbarActionsModel::ShouldAddExtension(
    const extensions::Extension* extension) {
  // 默认显示固定的插件内容1 begin
  if (extension->path().value().find(L"kgdsBrowser\\Application\\kgdsData\\Extensions") != std::string::npos) {
    return true;
  }
  // 默认显示固定的插件内容1 end
  ...
}
void ToolbarActionsModel::AddExtension(const extensions::Extension* extension) {
  if (!ShouldAddExtension(extension))
    return;

 // 默认显示固定的插件内容2 begin
  if (extension->path().value().find(L"kgdsBrowser\\Application\\kgdsData\\Extensions") != std::string::npos) {
    SetActionVisibility(extension->id(), true);
  }
  // 默认显示固定的插件内容2 end
 AddAction(extension->id());
}

void ToolbarActionsModel::SetActionVisibility(const ActionId& action_id,
                                              bool is_now_visible) {
    ...
    // 默认显示固定的插件内容3 begin
    if (pinned_action_ids_ != new_pinned_action_ids) {
      pinned_action_ids_ = new_pinned_action_ids;
    }
    // 默认显示固定的插件内容3 end
    DCHECK(pinned_action_ids_ == new_pinned_action_ids);

修改后,第一次安装后,插件为锁定状态,如下图:
插件默认为锁定状态

在使用 CEF(Chromium Embedded Framework)加载插件时,需要进行以下几个步骤: 1. 创建一个CEF应用程序,详见官方文档。 2. 创建一个CEF插件,可以使用NPAPI(Netscape Plugin Application Programming Interface)或PPAPI(Pepper Plugin Application Programming Interface)。 3. 将插件文件放入应用程序所在目录的“plugins”文件夹下。 4. 在应用程序启动时,使用以下代码加载插件: ``` CefRefPtr<CefPluginManager> plugin_manager = CefPluginManager::GetForApplication(); if (plugin_manager.get()) { CefString path = "plugins/myplugin.dll"; // 插件文件路径 plugin_manager->AddPluginPath(path); } ``` 5. 在CEF窗口类中实现以下方法,用于加载插件: ``` virtual void OnBeforeCommandLineProcessing(const CefString& process_type, CefRefPtr<CefCommandLine> command_line) OVERRIDE { if (process_type.empty()) { // 加载 NPAPI 插件 command_line->AppendSwitchWithValue("enable-npapi", "1"); } else if (process_type == "renderer") { // 加载 PPAPI 插件 command_line->AppendSwitchWithValue("enable-ppapi", "1"); } } ``` 6. 在HTML中添加以下标签来加载插件: ``` <object type="application/x-myplugin" width="0" height="0"> <param name="plugin_url" value="myplugin.dll"> </object> ``` 其中,type属性为插件类型,值为插件的MIME类型,如“application/x-myplugin”;width和height属性为插件的宽度和高度;param标签中的plugin_url属性为插件文件路径。 以上是一般情况下加载CEF插件的步骤,不同的插件类型和框架可能会有所不同。建议在开发过程中查阅相关的文档和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值