Mozilla va începe să accepte suplimente bazate pe cea de-a treia versiune a manifestului Chrome

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

Manifestul Chrome definește capacitățile și resursele disponibile pentru extensiile scrise folosind API-ul WebExtensions. Începând cu versiunea 57, Firefox a trecut complet la utilizarea API-ului WebExtensions pentru dezvoltarea suplimentelor și a încetat să mai suporte tehnologia XUL. Tranziția la WebExtensions a făcut posibilă unificarea dezvoltării suplimentelor cu platformele Chrome, Opera, Safari și Edge, a simplificat portarea suplimentelor între diferite browsere web și a făcut posibilă utilizarea completă a modului multi-proces al funcționare (suplimentele WebExtensions pot fi executate în procese separate, izolate de restul browserului). Pentru a unifica dezvoltarea suplimentelor cu alte browsere, Firefox oferă compatibilitate aproape deplină cu cea de-a doua versiune a manifestului Chrome.

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

Principala nemulțumire față de cea de-a treia versiune a manifestului este legată de traducerea în modul read-only a API-ului webRequest, care a făcut posibilă conectarea propriilor handlere care au acces deplin la solicitările de rețea și pot modifica traficul din mers. Acest API este folosit în uBlock Origin și în multe alte suplimente pentru a bloca conținutul neadecvat și pentru a oferi securitate. În locul API-ului webRequest, a treia versiune a manifestului oferă un API declarativ NetRequest cu capacitate limitată, care oferă acces la un motor de filtrare încorporat care procesează independent regulile de blocare, nu permite utilizarea propriilor algoritmi de filtrare și nu permite permit stabilirea unor reguli complexe care se suprapun între ele în funcție de condiții.

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

  • A fost adăugat un nou API declarativ de filtrare a conținutului, dar, spre deosebire de Chrome, suportul pentru vechiul mod de blocare al API-ului webRequest nu a fost întrerupt.
  • В манифесте определена замена фоновых страниц на вариант Service Workers, работающий в виде фоновых процессов (Background Service Workers). Для обеспечения совместимости в будущем в Firefox будет реализована поддержка Service Workers, но в настоящее время вместо них предложен новый механизм Event Pages, который более привычен для web-разработчиков, не требует полной переработки дополнений и устраняет ограничения, связанные с применением Service Workers. Event Pages позволит привести существующие дополнения с фоновыми страницами к требованиям третьей версии манифеста, сохранив при этом доступ ко всем возможностям, необходимым для работы с DOM.
  • Noul model granular de solicitare a permisiunii - suplimentul nu va putea fi activat pentru toate paginile simultan (permisiunea „all_urls” a fost eliminată), dar va funcționa numai în contextul filei active, de exemplu. utilizatorul va trebui să confirme că suplimentul funcționează pentru fiecare site. În Firefox, toate solicitările de acces la datele site-ului vor fi considerate opționale, iar decizia finală privind acordarea accesului va fi luată de utilizator, care va putea decide selectiv ce supliment să acorde acces la datele sale pe un anumit site.

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

    Mozilla va începe să accepte suplimente bazate pe cea de-a treia versiune a manifestului Chrome
  • Modificare în gestionarea solicitărilor de origine încrucișată - în conformitate cu noul manifest, scripturile de procesare a conținutului vor fi supuse acelorași restricții de permisiuni ca și pentru pagina principală în care sunt încorporate aceste scripturi (de exemplu, dacă pagina nu are acces la locație API, atunci și suplimentele de script nu vor primi acest acces). Această modificare este implementată complet în Firefox.
  • API на основе Promise. Firefox поддерживает данный API и для третьей версии манифеста перенесёт его в пространство имён «chrome.*».
  • Запрет выполнения кода, загруженного с внешних серверов (речь про ситуации, когда дополнение подгружает и выполняет внешний код). В Firefox применяется блокировка внешнего кода и разработчики Mozilla добавили дополнительные техники отслеживания загрузок кода, предлагаемые в третьей версии манифеста. Для скриптов обработки контента представлена отдельная политика ограничения доступа к контенту (CSP, Content Security Policy).

Sursa: opennet.ru

Adauga un comentariu