Mozilla começará a aceitar complementos baseados na terceira versão do manifesto do Chrome

21 ноября каталог AMO (addons.mozilla.org) начнёт принимать и заверять цифровой подписью дополнения, использующие третью версию манифеста Chrome. Указанные дополнения можно будет протестировать в ночных сборках Firefox. В стабильных выпусках включение поддержки третьей версии манифеста будет произведено в Firefox 109, намеченном на 17 января 2023 года. Поддержка второй версии манифеста в обозримом будущем будет сохранена, но в конце 2023 года, после оценки динамики перевода дополнений на третью версию манифеста, будет рассмотрен вопрос о возможности перевода поддержки второй версии манифеста в разряд устаревших.

Манифест Chrome определяет возможности и ресурсы, доступные для дополнений, написанных с использованием API WebExtensions. Начиная с версии 57 Firefox полностью перешёл на использование API WebExtensions для разработки дополнений и прекратил поддержку технологии XUL. Переход на WebExtensions позволил унифицировать разработку дополнений с платформами Chrome, Opera, Safari и Edge, упростил портирование дополнений между различными web-браузерами и дал возможность полноценно использовать многопроцессный режим работы (дополнения WebExtensions могут выполняться в отдельных процессах, изолированно от остальных частей браузера). Для унификации разработки дополнений с остальными браузерами в Firefox обеспечивается почти полная совместимость со второй версией манифеста Chrome.

В настоящее время в Chrome ведётся работа по переходу на третью версию манифеста, а поддержка второй версии будет прекращена в январе 2024 года. Главной целью внесённых в новую версию изменений является упрощение создания безопасных и высокопроизводительных дополнений, и усложнение возможности создания небезопасных и медленных дополнений. Так как третья версия манифеста стала объектом критики и приведёт к нарушению работы многих дополнений для блокирования нежелательного контента и обеспечения безопасности, компания Mozilla решила отойти от обеспечения полной совместимости с манифестом в Firefox и реализовать иначе некоторые изменения.

A principal insatisfação com a terceira versão do manifesto está relacionada à tradução para modo somente leitura da API webRequest, que possibilitou conectar seus próprios manipuladores que têm acesso total às solicitações de rede e podem modificar o tráfego em tempo real. Esta API é usada no uBlock Origin e em muitos outros complementos para bloquear conteúdo impróprio e fornecer segurança. Em vez da API webRequest, a terceira versão do manifesto oferece uma API NetRequest declarativa de capacidade limitada, que fornece acesso a um mecanismo de filtragem integrado que processa regras de bloqueio de forma independente, não permite o uso de seus próprios algoritmos de filtragem e não permitem definir regras complexas que se sobrepõem dependendo das condições.

Среди особенностей реализации нового манифеста в Firefox:

  • Добавлен новый декларативный API фильтрации контента, но в отличие от Chrome не прекращена поддержка старого блокирующего режима работы API webRequest.
  • В манифесте определена замена фоновых страниц на вариант Service Workers, работающий в виде фоновых процессов (Background Service Workers). Для обеспечения совместимости в будущем в Firefox будет реализована поддержка Service Workers, но в настоящее время вместо них предложен новый механизм Event Pages, который более привычен для web-разработчиков, не требует полной переработки дополнений и устраняет ограничения, связанные с применением Service Workers. Event Pages позволит привести существующие дополнения с фоновыми страницами к требованиям третьей версии манифеста, сохранив при этом доступ ко всем возможностям, необходимым для работы с DOM.
  • O novo modelo granular de solicitação de permissão - o complemento não poderá ser ativado para todas as páginas de uma vez (a permissão “all_urls” foi removida), mas funcionará apenas no contexto da guia ativa, ou seja, o usuário precisará confirmar se o complemento funciona para cada site. No Firefox, todas as solicitações de acesso aos dados do site serão consideradas opcionais, e a decisão final sobre a concessão de acesso será do usuário, que poderá decidir seletivamente qual complemento concederá acesso aos seus dados em um determinado site.

    Для управления полномочиями в интерфейс добавлена новая кнопка «Unified Extensions», которую уже можно протестировать в ночных сборках Firefox. Кнопка предоставляет средства для непосредственного управления тем, к каким сайтам имеет доступ каждое дополнение — пользователь может предоставить и отозвать доступ дополнения к любому сайту. Управление полномочиями применяется только к дополнениям на основе третьей версии манифеста, для дополнений на второй версии манифеста гранулированное управление доступом к сайтам не производится.

    Mozilla começará a aceitar complementos baseados na terceira versão do manifesto do Chrome
  • Mudança no tratamento de solicitações de origem cruzada - de acordo com o novo manifesto, os scripts de processamento de conteúdo estarão sujeitos às mesmas restrições de permissão da página principal na qual esses scripts estão incorporados (por exemplo, se a página não tiver acesso ao API de localização, os complementos de script também não receberão esse acesso). Esta mudança está totalmente implementada no Firefox.
  • API на основе Promise. Firefox поддерживает данный API и для третьей версии манифеста перенесёт его в пространство имён «chrome.*».
  • Запрет выполнения кода, загруженного с внешних серверов (речь про ситуации, когда дополнение подгружает и выполняет внешний код). В Firefox применяется блокировка внешнего кода и разработчики Mozilla добавили дополнительные техники отслеживания загрузок кода, предлагаемые в третьей версии манифеста. Для скриптов обработки контента представлена отдельная политика ограничения доступа к контенту (CSP, Content Security Policy).

Fonte: opennet.ru

Adicionar um comentário