2015-08-26 2 views
1

В настоящее время у меня есть компилятор расширения/плагинов Firefox, который был написан с комбинацией кода NPAPI (Firebreath) C++ и Javascript. Расширение работает, определяя оверлей браузера (overlay.xul/overlay.js), который загружается на каждую веб-страницу с помощью тега сценария src = "overlay.js".Написание Firefox Extension с кодом C++

Мне нужно адаптировать его для предстоящих изменений для веб-расширений Firefox и устаревания XPCOM/XUL.

Из того, что я понимаю, Webextensions будет в основном основан на Javascript. Как я смогу продолжить использование части C++ моего расширения? Обратите внимание, что перенос библиотеки CAPI NPAPI на Javascript будет не стартером по разным причинам.

+0

Я не уверен Webextensions но вы можете перейти к JS-ctypes https://developer.mozilla.org/en- США/Docs/Mozilla/JS-ctypes – Noitidart

ответ

0

Вы должны использовать Native messaging, чтобы сохранить часть кода на C++.

Помните, что только фоновый скрипт может напрямую связываться с вашим родным/C++ кодом. Но эти сообщения позже могут быть отправлены на ваши скрипты содержимого.

Связь между вашим кодом на C++ и фоновым скриптом осуществляется через stdin/stdout.

Существует хороший пример между питон скрипт и веб-расширения на GitHub: https://github.com/mdn/webextensions-examples/tree/master/native-messaging