Ошибка безопасности при загрузке локальных файлов в собственный обработчик протокола

Я создаю надстройку Firefox, которая регистрирует новый протокол, который должен предоставить HTML для Firefox из файла, хранящегося на диске (сгенерированного двоичным exe).

У меня проблема с изображениями в тегах и (возможно) стилями css, которые относятся к локальному файлу. Они не загружаются должным образом, и я получаю сообщение в консоли ошибок, подобное этому:

Ошибка безопасности: контент в moz-nullprincipal:{afde522e-6b29-4359-9959-c46c749687f6} не может загружаться или ссылаться на файл:///E:/xowa_app/user/anonymous/app/img/file/magnify-clip. png.

Мои флаги протокола: nsIProtocolHandler.URI_IS_LOCAL_FILE | nsIProtocolHandler.URI_IS_LOCAL_RESOURCE | nsIProtocolHandler.URI_STD | nsIProtocolHandler.URI_INHERITS_SECURITY_CONTEXT. (Я не знаю, правильно ли я понимаю справку по MDN)

Спецификации интерфейса nsIProtocolHandler нужны мне, чтобы я реализовал функцию для создания нового канала (MDN) при открытии URI по протоколу. Я создаю канал из URI, расположенного на диске (html сгенерирован программой). У канала есть свойство владельца, которое «предоставляет или запрещает привилегии», и я установил даже владельца на системного участника, который «проходит все проверки безопасности» (MDN), но ошибки те же.


person Greck    schedule 01.07.2013    source источник


Ответы (1)


Кажется, что простое удаление флага URI_INHERITS_SECURITY_CONTEXT (и оставление смены владельца системному участнику) решает мою проблему, хотя я не знаю, когда нужно использовать этот флаг.

person Greck    schedule 01.07.2013