Как назначить объект представления виджету дерева XUL без enablePrivilege - PullRequest
1 голос
/ 13 октября 2011

Я вижу, что enablePrivilege устарела в Firefox. Я пытаюсь адаптировать свою базу кода интрасети к этому.

Самым важным местом является назначение «вида» элемента «дерево». Это требует повышенных привилегий, хотя я действительно не понимаю, почему. Есть ли другой способ сделать это, который не требует повышенных привилегий? Будет ли предоставлен способ сделать это до того, как enablePrivilege уйдет?

Приложение не является расширением, а представляет собой подписанный JAR-файл, который выполняется как содержимое.

1 Ответ

2 голосов
/ 13 октября 2011

Просматривая ошибку 546848 , Mozilla больше не планирует разрешать веб-сайты с повышенными привилегиями.Эта функциональность создает риски безопасности, которые просто не стоят этого (аналогично удаленному XUL в целом).Предлагаемое решение будет использовать расширение Firefox для выполнения любых специальных действий, которые могут потребоваться.В идеале вы должны переместить весь пользовательский интерфейс веб-приложения в расширение и оставить сервер только в качестве бэкэнда.Но я думаю, что это решение потребует слишком больших усилий с вашей стороны.Более простым решением было бы одноцелевое расширение, которое получает сообщение от вашего веб-сайта и устанавливает древовидное представление.

Взаимодействие между привилегированными и непривилегированными страницами описывает, как это взаимодействие может быть реализовано,Ваш сайт установит свойство _myTreeView для элемента <tree> и отправит на него событие.Расширение получит событие, убедитесь, что event.target.ownerDocument.defaultView.location.host - это ваш веб-сайт в интрасети (важно, чтобы любой веб-сайт активировал ваше расширение, будет дырой в безопасности), а затем установите event.target.view = event.target.wrappedJSObject._myTreeView.См. документация XPCNativeWrapper , почему wrappedJSObject здесь необходим.

...