Фајерфокс је почео да тестира трећу верзију Цхроме манифеста

Компания Mozilla объявила о начале тестирования реализации в Firefox третьей версии манифеста Chrome, определяющей возможности и ресурсы, доступные для дополнений, написанных с использованием API WebExtensions. Для тестирования третьей версии манифеста в бета-версии Firefox 101 на странице about:config следует установить параметр «extensions.manifestV3.enabled» в значение true, а параметр «xpinstall.signatures.required» в значение false. Для установки дополнений можно использовать интерфейс about:debugging. Включение третьей версии манифеста по умолчанию запланировано на конец года.

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

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

Главно незадовољство трећом верзијом манифеста односи се на превођење вебРекуест АПИ-ја у режим само за читање, који је омогућио повезивање сопствених руковалаца који имају пун приступ мрежним захтевима и могу да мењају саобраћај у ходу. Овај АПИ се користи у уБлоцк Оригин-у и многим другим додацима за блокирање неприкладног садржаја и обезбеђење. Уместо вебРекуест АПИ-ја, трећа верзија манифеста нуди декларативниНетРекуест АПИ ограничене могућности, који обезбеђује приступ уграђеном механизму за филтрирање који независно обрађује правила блокирања, не дозвољава употребу сопствених алгоритама за филтрирање и не дозвољава омогућавају постављање сложених правила која се међусобно преклапају у зависности од услова.

В предложенной в Firefox реализации третьей версии манифеста добавили новый декларативный API фильтрации контента, но в отличие от Chrome не стали прекращать поддержку старого блокирующего режима работы API webRequest. Среди других особенностей реализации нового манифеста в Firefox:

  • В манифесте определена замена фоновых страниц на вариант Service Workers, работающий в виде фоновых процессов (Background Service Workers). Для обеспечения совместимости в Firefox будет реализовано данное требование, но дополнительно предложен новый механизм Event Pages, который более привычен для web-разработчиков, не требует полной переработки дополнений и устраняет ограничения, связанные с применением Service Workers. Event Pages позволит привести существующие дополнения с фоновыми страницами к требованиям третьей версии манифеста, сохранив при этом доступ ко всем возможностям, необходимым для работы с DOM. В доступной для тестирования в Firefox реализации манифеста пока поддерживаются только Event Pages, а поддержку решения на базе Service Workers обещают добавить позднее. Предложение поддержала компания Apple и реализовала Event Pages в выпуске Safari Technology Preview 136.
  • Нови модел детаљног захтева за дозволу – додатак неће моћи да се активира за све странице одједном (дозвола „алл_урлс“ је уклоњена), већ ће радити само у контексту активне картице, тј. корисник ће морати да потврди да додатак ради за сваку локацију. У Фајерфоксу ће се сви захтеви за приступ подацима сајта сматрати опционим, а коначну одлуку о одобравању приступа донеће корисник, који ће моћи селективно да одлучи који додатак ће одобрити приступ својим подацима на одређеном сајту.
  • Промена у руковању захтевима са више порекла – у складу са новим манифестом, скрипте за обраду садржаја подлежу истим ограничењима дозвола као за главну страницу у коју су ове скрипте уграђене (на пример, ако страница нема приступ АПИ локације, тада додаци скрипте такође неће добити овај приступ). Ова промена је у потпуности имплементирана у Фирефок-у.
  • API на основе Promise. Firefox уже поддерживает данный API и для третьей версии манифеста перенесёт его в пространство имён «chrome.*».
  • Запрет выполнения кода, загруженного с внешних серверов (речь про ситуации, когда дополнение подгружает и выполняет внешний код). В Firefox уже применяется блокировка внешнего кода и разработчики Mozilla добавили дополнительные техники отслеживания загрузок кода, предлагаемые в третьей версии манифеста. Для скриптов обработки контента представлена отдельная политика ограничения доступа к контенту (CSP, Content Security Policy).

Извор: опеннет.ру

Додај коментар