将PPAPI插件注册到Chrome

时间:2012-10-31 04:04:26

标签: google-chrome ppapi

我正在为Chrome开发一个进程外插件,我需要一些可供多个进程使用的资源管理机制(共享内存)。然后我发现了Pepper插件,看起来很有希望实现我的目标。

ppapi示例文件夹中提供的

Here是一个简单的存根插件。根据{{​​3}},我可以通过以下命令加载它:

chrome.exe --ppapi-out-of-process --register-pepper-plugins="[chromium_path]\src\build\Debug\ppapi_example_cc_stub.dll;application/x-ppapi-example-stub"

问题是我没有找到一种干净的方法来加载它而没有指定dll路径和MIME类型,因此可以通过启动Chrome可执行文件简单地加载插件。

我想我需要向Windows注册表添加新项目或定义manifest.json文件,但我不知道如何操作。有人可以给我一个想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我在开发PPAPI插件时遇到了同样的问题。但打开chrome://插件,有3个PPAPI plguins。其他是NPAPI插件。我修改了PPAPI插件dll(pdf.dll)的文件名。重启chrome。我发现chrome internel pdf插件不起作用。

我相信PPAPI插件的注册信息是固定在chrome浏览器的可执行二进制文件中的。搜索铬的来源,我找到了this

// File name of the internal PDF plugin on different platforms.
const FilePath::CharType kInternalPDFPluginFileName[] =
#if defined(OS_WIN)
    FILE_PATH_LITERAL("pdf.dll");
#elif defined(OS_MACOSX)
    FILE_PATH_LITERAL("PDF.plugin");
#else  // Linux and Chrome OS
    FILE_PATH_LITERAL("libpdf.so");
#endif

所以也许npapi更实用。