Запуск кода "хром" в SpiderMonkey

Я встраиваю SpiderMonkey от Mozilla в свое приложение и хотел бы использовать его новый API отладчика, представленный в v1.8.6. Из документации я понимаю, что этот API не доступен для "кода контента", а только для доверенного так называемого "хромового кода". Теперь я прошел через ряд ресурсов, пытаясь понять, как выполнить "хромовый код", но без особого успеха. Я предполагаю, что доверенный скрипт должен выполняться с JS_EvaluateScriptForPrincipals, но тогда я не могу понять, как использовать JSPrincipals...

Любая помощь приветствуется, спасибо!

1 ответ

Решение

Для встраивания движка SpiderMonkey таких понятий нет. Идея "chrome" и "content" легитимна только в браузере, где "chrome" является привилегированным (как пользовательский интерфейс / надстройки Firefox), а "content" не заслуживает доверия (как веб-страница).

Когда вы встраиваете движок JS, вы просто получаете доступ к JavaScript, языку с его типичными встроенными классами и языковыми функциями. Когда вы создаете оболочку и запускаете ее, вы можете просто набрать "Отладчик", и вы увидите, что объект отладчика присутствует. Это происходит всякий раз, когда вы создаете новый глобал в движке SpiderMonkey.

$ ./js
js> Debugger
function Debugger() {[native code]}
Другие вопросы по тегам