Перенос расширения XPCOM Firefox на расширение Chrome с помощью плагина NPAPI

У меня есть расширение, которое для работы использует XPCOM в Firefox. Теперь я хотел бы перенести его на Chrome. Поскольку единственный способ использовать это - использовать npapi и npruntime, я думаю, мне нужно переписать хотя бы весь клей.

Чтобы сохранить как можно больше исходного кода, я подумывал написать idl конвертер, аналогичный header.py в Mozilla. Это уже сделано и / или есть ли какие-либо ресурсы для перехода с XPCOM на NPAPI?


person abergmeier    schedule 10.02.2012    source источник
comment
Поддержка XPCOM для подключаемых модулей прекращена на время - есть ли у вас расширение?   -  person Georg Fritzsche    schedule 10.02.2012
comment
Извините за путаницу, да, это расширение.   -  person abergmeier    schedule 10.02.2012
comment
Итак, вы хотите перенести расширение на основе XPCOM в расширение Chrome, которому может потребоваться плагин NPAPI для собственных вызовов? Или как вы думаете, для чего вам нужен NPAPI?   -  person Georg Fritzsche    schedule 10.02.2012
comment
@GeorgFritzsche Я знаю, что мне нужны нативные вызовы;)   -  person abergmeier    schedule 10.02.2012


Ответы (1)


Я знаю только один генератор «клея» для NPAPI, и это nixysa. Но если бы это был я, я бы просто перенес его на FireBreath; скорее всего, это будет не сложнее, чем портировать его на прямой npruntime, и тогда вы сможете воспользоваться всеми настройками и исправлениями, которые активное сообщество нашло для разных браузеров, а также потенциально использовать его в других браузерах.

Тем не менее, я какое-то время был в мире плагинов и никогда не видел ничего, что конвертировало бы XPCOM .idl в один из других форматов; Я не думаю, что было бы так уж сложно создать такую ​​вещь, но я сомневаюсь, что многим это понадобится на данном этапе.

Надеюсь, что-то там поможет.

person taxilian    schedule 10.02.2012
comment
Мне очень не нравится FireBreath, но я принимаю его использование, так как это, кажется, единственный способ заставить NPAPI работать. nixysa выглядит очень многообещающе, я займусь этим. Если nixysa будет недостаточно, у меня может возникнуть соблазн написать свой собственный typelib.py. - person abergmeier; 10.02.2012
comment
@LCIDFire Это явно не то место, но мне было бы очень интересно услышать ваше разочарование по поводу FireBreath, а также любые предложения по улучшению; отправь мне чат как-нибудь, если тебе интересно. - person taxilian; 11.02.2012
comment
Конечно, это не единственный способ заставить NPAPI работать. Существует множество плагинов, написанных непосредственно против NPAPI, поэтому, если вам действительно не нравится FireBreath больше, чем NPAPI, ничто не мешает вам просто использовать NPAPI напрямую. NPAPI - это формат плагина, который фактически поддерживает браузер; FireBreath - это всего лишь один слой абстракции, построенный поверх него. - person smorgan; 12.02.2012