Запуск кода «хром» в SpiderMonkey - PullRequest
1 голос
/ 27 февраля 2012

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

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

1 Ответ

0 голосов
/ 28 февраля 2012

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

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

$ ./js
js> Debugger
function Debugger() {[native code]}
...