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

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

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

Ошибка безопасности: содержимое в moz-nullprincipal:{afde522e-6b29-4359-9959-c46c749687f6} может не загружаться или ссылаться на файл:///E:/xowa_app/ пользователь / анонимный /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), но ошибки остаются теми же.

1 ответ

Решение

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

Другие вопросы по тегам