Мой фон: несколько лет назад я работал над кроссплатформенным кросс-браузерным плагином NPAPI, который использовал OpenGL для рендеринга изображений. С тех пор я уделял некоторое внимание пространству, но сейчас это не то, что я делаю. Я написал расширения без плагинов для Firefox, но не Safari или Chrome.
Многое зависит от того, что вы хотите от своего расширения, и какого рода пользовательский интерфейс вы хотите представить. У разных браузеров разные представления о том, какие расширения могут и не могут делать.
Если вам просто нужно отображать изображения или видео в произвольном формате, NPAPI, вероятно, лучший выбор. NPAPI является в основном тонкой оболочкой вокруг API-интерфейсов на собственной платформе. Таким образом, кросс-платформенный код NPAPI должен иметь дело с индивидуальными причудами платформы, а также с различными уровнями поддержки NPAPI от браузеров. У Google есть проект под названием Pepper для исправления некоторых проблем NPAPI, но у Pepper пока нет поддержки ни от какого браузера, кроме Chrome.
Проект корпоративного клиента Google предоставляет альтернативу NPAPI для запуска собственного кода, но он налагает ограничения на собственный код. Например, pthreads разрешены, но доступ к сети - нет. Существует подпроект NaCL под названием c_salt, который, как представляется, относится к типу встроенной интеграции кода HTML/JS UI +, которую вы ищете. К сожалению, он все еще находится в стадии разработки и, следовательно, не очень полезен для написания расширений сегодня.
Мое понимание заключается в том, что на данный момент расширение между браузерами, которое интегрируется с пользовательским интерфейсом браузера, а также интегрируется с собственным кодом, не представляется возможным. Safari и Chrome ограничивают расширения гораздо больше, чем Firefox, и позволяют только расширения, написанные на JavaScript. Я не знаю, возможно ли расширение в Safari или Chrome взаимодействовать с плагином браузера, написанным в NPAPI. Я предполагаю, что это либо невозможно, либо невероятно болезненно.
В целом вы найдете жизнь намного проще, если вы тщательно ограничите, какие браузеры и платформы нацелены. Именно то, какие браузеры и платформы выбрать - это то, что только вы можете решить.
Правый форум. Хороший вопрос. – sje397
Но ответа пока нет! – user220201