2012-10-31 61 views
2

我正在開發Chrome的一個進程外插件,在那裏我需要一些可以被多個進程使用的資源管理機制(共享內存)。然後我發現了Pepper插件,它看起來很有希望實現我的目標。將PPAPI插件註冊到Chrome

Here在ppapi示例文件夾中提供的是一個簡單的存根插件。據another document我可以用下面的命令加載它:

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文件,但我不知道如何。有人能給我一個想法嗎?

謝謝!

回答

0

我在開發我的PPAPI插件時遇到了同樣的問題。但打開chrome://插件,有3個PPAPI引導。其他人是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更實用。