2012-02-10 92 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