Xpoint
   [напомнить пароль]

динамические XUL деревья для Firefox 2.0.*

Метки: [без меток]
2007-11-20 16:03:23 [обр] Григорий[досье]
Во втором ффоксе 2.х скрипты из статьи Динамические деревья на XUL указанные в примере не выполняются.
Дело, ясное дело, в безопасности.
Можно как-нибудь это победить? Принимаются варианты, включая "ковыряние" chrome:// и прочих исходников браузера.
спустя 2 дня 3 часа [обр] Владимир Палант(434/4445)[досье]

Вам нужно право UniversalBrowserWrite. Иначе вы можете только убрать вот эти две строки из nsTreeBoxObject.cpp:

  if (!CanTrustView(aView))
    return NS_ERROR_DOM_SECURITY_ERR;

Ну и скомпилировать заново браузер.

спустя 3 минуты [обр] Владимир Палант(434/4445)[досье]
Кстати, первопричина тут: bug 326501.
спустя 3 дня [обр] Григорий[досье]

Владимир, после установки прав UniversalBrowserWrite дерево построилось, но дальше - реакция на раскрытие и прочее - вызывает в консоли кучу ошибок вида:

Ошибка: [Exception... "'Permission denied to call method UnnamedClass.AppendElement' when calling method: [nsITreeView::getColumnProperties]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no]

Ошибка: [Exception... "'Permission denied to call method UnnamedClass.AppendElement' when calling method: [nsITreeView::getCellProperties]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no]

Есть пути победить этот момент?

спустя 1 день 21 час [обр] Владимир Палант(434/4445)[досье]
Это вы nsISupportsArray.AppendElement() вызываете? А что вы туда добавляете, создать nsIAtom вы ведь все равно без права UniversalXPConnect не можете.
спустя 1 день 3 часа [обр] Григорий[досье]

право UniversalXPConnect дается

а это вызывается AppendElement из ForumsTreeView.prototype.getRowProperties и ForumsTreeView.prototype.getColumnProperties

и вообще, какие права нужно будет выдать этому скрипту, чтобы он заработал?

спустя 5 часов [обр] Владимир Палант(434/4445)[досье]
Да у меня там, вообще-то, getRowProperties и getColumnProperties в варианте с ограниченными правами ничего не делают... Но если вы в этих функциях запрашиваете привилегии UniversalXPConnect, то все должно работать.
Powered by POEM™ Engine Copyright © 2002-2005