2012-02-10 143 views
0

我有一個擴展,它使用XPCOMFirefox工作。現在我想將那一個移到Chrome。由於使用它的唯一方法是使用npapinpruntime,我想我必須重寫至少所有的膠水。移植XPCOM Firefox擴展到Chrome擴展與NPAPI插件

爲了讓儘可能多的源代碼的可能,我想在寫類似header.py一個idl轉換器的Mozilla的。這是否已經完成和/或是否有任何資源從XPCOMNPAPI

+1

XPCOM對插件的支持已經消失了一段時間(http://colonelpanic.net/2010/01/firefox-3-6-has-removed-support-for-xpcom-plugins/) - 你呢有*擴展名*? – 2012-02-10 12:28:51

+0

對不起,這是一個「擴展」。 – abergmeier 2012-02-10 15:20:44

+0

因此,您希望將基於XPCOM的擴展程序移植到Chrome擴展程序,該擴展程序可能需要本機調用的NPAPI插件?或者你認爲你需要NPAPI嗎? – 2012-02-10 15:24:29

回答

1

我知道NPAPI只有一個「膠水」生成器,那就是nixysa。不過,如果是我,我只需繼續並將其移植到FireBreath;可能不會比將其移植到npruntime更難,然後您可以利用活躍社區爲不同瀏覽器找到的所有修改和修復,並可能在其他瀏覽器中使用它。

雖然我已經在插件世界中待過一段時間了,但我從未見過任何將XPCOM .idl轉換爲其他格式之一的東西;我認爲創建這樣的事情不會那麼困難,但我懷疑現在很多人會需要它。

希望有幫助。

+0

我非常不喜歡_FireBreath_,但我接受使用它,因爲它似乎是獲得_NPAPI_工作的唯一方法。 _nixysa_看起來很有希望,我會研究它。如果_nixysa_不夠用,我可能會試圖寫我自己的'typelib.py'。 – abergmeier 2012-02-10 17:55:07

+0

@LCIDFire這顯然不是那個地方,但我會很有興趣聽到你對FireBreath的挫折以及任何改進建議;如果您有興趣,請隨時發送聊天。 – taxilian 2012-02-10 21:31:42

+1

當然不是這是「獲得NPAPI工作的唯一途徑」。有很多直接針對NPAPI編寫的插件,所以如果你真的不喜歡FireBreath比NPAPI更多,那麼就沒有什麼能夠阻止你直接使用NPAPI。 NPAPI是瀏覽器實際支持的插件格式; FireBreath只是一個建立在它上面的抽象層。 – smorgan 2012-02-12 17:24:40