#c #firefox #testing #xpcom
#c #firefox #тестирование #xpcom
Вопрос:
В последней версии Firefox я обнаружил, что при попытке использовать следующий код в веб-консоли:
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
[10:33:00.787] Use of enablePrivilege is deprecated.
Please use code that runs with the system principal (e.g. an extension) instead.
Для firefox 3.6 я всегда использую этот способ для простого тестирования некоторых моих компонентов XPCOM, это очень удобно. Но в последней версии firefox я обнаружил, что я больше не могу использоваться.
Итак, если в настоящее время я написал компонент C XPCOM, есть ли простой способ, которым я могу попытаться протестировать его, помимо необходимости писать и регистрировать другой test component
?
Конечно, любое предложение очень ценится.
Ответ №1:
Использование бинарного (C ) XPCOM очень сильно не рекомендуется (или, выражаясь точнее, МЕРТВО МЕРТВО МЕРТВО) в последних сборках Firefox:
- http://adblockplus.org/blog/binary-xpcom-components-are-dead-js-ctypes-is-the-way-to-go
- http://starkravingfinkle.org/blog/2011/07/add-ons-binary-components-and-js-ctypes/
- http://hackademix.net/2011/07/14/killing-binary-xpcom-in-add-ons-is-javascript-fit/
MDN указывает альтернативы для получения двоичных компонентов XPCOM, хотя я не знаю, являются ли какие-либо улучшения для вашего сценария:
Ранее бинарные компоненты теперь должны использовать js-ctypes:
Комментарии:
1. Спасибо за подробное предложение. На самом деле, я хочу использовать log4cplus в своих собственных компонентах, потому что это библиотека c , поэтому ее не очень легко использовать с js-ctypes, потому что экспортируемая таблица символов «искажает имена» компилятором.