Mozilla не станет переносить все ограничения API WebExtensions из нового манифеста Chrome
4 сентября 2019 года
Компания Mozilla объявила, что несмотря на использование в Firefox системы дополнений на основе API WebExtensions, разработчики не намерены полностью следовать будущей третьей редакции манифеста на дополнения Chrome. В частности, в Firefox будет продолжена поддержка блокирующего режима работы API webRequest, позволяющего менять принимаемый контент на лету и востребованного в блокировщиках рекламы и системах фильтрации контента.
Основной идеей перехода на API WebExtensions была унификация технологии разработки дополнений для Firefox и Chrome, поэтому в текущем виде в Firefox почти на 100% обеспечена совместимость с актуальной второй версией манифеста Chrome. Манифест определяет перечень возможностей и ресурсов, предоставляемых дополнениям. Из-за внесения в третью версию манифеста ограничительных мер, негативно воспринимаемых разработчикам дополнений, Mozilla отойдёт от практики полного следования манифесту и не будет переносить в Firefox изменения, нарушающие совместимость с дополнениями.
Напомним, что несмотря на все возражения, компания Google намерена прекратить поддержку в Chrome блокирующего режима работы API webRequest, ограничив его режимом только для чтения и предложив для фильтрации контента новый декларативный API declarativeNetRequest. Если API webRequest позволял подключать собственные обработчики, имеющие полный доступ к сетевым запросам и способные на лету модифицировать трафик, новый API declarativeNetRequest предоставляет доступ к готовому универсальному встроенному движку для фильтрации, самостоятельно обрабатывающему правила блокировки, не разрешающему использовать собственные алгоритмы фильтрации и не позволяющему задавать сложные правила, перекрывающие друг друга в зависимости от условий.
Mozilla также оценивает целесообразность переноса в Firеfox поддержки некоторые других изменений из третьей версии манифеста Chrome, нарушающих совместимость с дополнениями:
- Переход к выполнению Service workers в форме фоновых процессов, что потребует от разработчиков изменения кода некоторых дополнений. Несмотря на то, что новый метод более оптимален с точки зрения производительности, Mozilla рассматривает возможность сохранения поддержки выполнения фоновых страниц.
- Новая гранулированная модель запроса полномочий - дополнение не сможет активироваться сразу для всех страниц (убрано полномочие "all_urls"), а будет работать только в контексте активной вкладки, т.е. пользователю потребуется подтверждать работу дополнения для каждого сайта. Mozilla исследует пути усиления контроля доступа, не отвлекающие постоянно пользователя.
- Изменение обработки Cross-origin запросов - в соответствии с новым манифестом на скрипты обработки контента будут распространяться те же ограничения полномочий, что и для основной страницы, в которую эти скрипты внедряются (например, если страница не имеет доступа к API определению местоположения, то и скрипт дополнения также не получит этот доступ). Изменение планируется реализовать в Firefox.
- Запрет выполнения кода, загруженного с внешних серверов (речь про ситуации, когда дополнение подгружает и выполняет внешний код). В Firefox уже применяется блокировка внешнего кода и разработчики Mozilla не против усилить подобную защиту, применяя дополнительные техники отслеживания загрузок кода, предлагаемые в третьей версии манифеста.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.