Mozilla će početi prihvaćati dodatke na temelju treće verzije Chrome manifesta

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

Chromeov manifest definira mogućnosti i resurse dostupne za proširenja napisana pomoću WebExtensions API-ja. Počevši od verzije 57, Firefox se potpuno prebacio na korištenje WebExtensions API-ja za razvoj dodataka i prestao podržavati XUL tehnologiju. Prijelaz na WebExtensions omogućio je objedinjavanje razvoja dodataka s platformama Chrome, Opera, Safari i Edge, pojednostavio prijenos dodataka između različitih web preglednika i omogućio potpunu upotrebu višeprocesnog načina rada rad (dodaci WebExtensions mogu se izvoditi u zasebnim procesima, izoliranim od ostatka preglednika). Kako bi unificirao razvoj dodataka s drugim preglednicima, Firefox pruža gotovo potpunu kompatibilnost s drugom verzijom Chrome manifesta.

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

Glavno nezadovoljstvo trećom verzijom manifesta odnosi se na prevođenje webRequest API-ja u mod samo za čitanje, što je omogućilo povezivanje vlastitih rukovatelja koji imaju puni pristup mrežnim zahtjevima i mogu modificirati promet u hodu. Ovaj API koristi se u uBlock Origin i mnogim drugim dodacima za blokiranje neprikladnog sadržaja i pružanje sigurnosti. Umjesto webRequest API-ja, treća verzija manifesta nudi deklarativniNetRequest API ograničenih mogućnosti, koji omogućuje pristup ugrađenom mehanizmu za filtriranje koji neovisno obrađuje pravila blokiranja, ne dopušta upotrebu vlastitih algoritama za filtriranje i ne omogućuju postavljanje složenih pravila koja se međusobno preklapaju ovisno o uvjetima.

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

  • Dodan je novi deklarativni API za filtriranje sadržaja, ali za razliku od Chromea, podrška za stari način blokiranja webRequest API-ja nije ukinuta.
  • В манифесте определена замена фоновых страниц на вариант Service Workers, работающий в виде фоновых процессов (Background Service Workers). Для обеспечения совместимости в будущем в Firefox будет реализована поддержка Service Workers, но в настоящее время вместо них предложен новый механизм Event Pages, который более привычен для web-разработчиков, не требует полной переработки дополнений и устраняет ограничения, связанные с применением Service Workers. Event Pages позволит привести существующие дополнения с фоновыми страницами к требованиям третьей версии манифеста, сохранив при этом доступ ко всем возможностям, необходимым для работы с DOM.
  • Novi granularni model zahtjeva za dopuštenje - dodatak se neće moći aktivirati za sve stranice odjednom (dopuštenje “all_urls” je uklonjeno), već će raditi samo u kontekstu aktivne kartice, tj. korisnik će morati potvrditi da dodatak radi za svako mjesto. U Firefoxu će se svi zahtjevi za pristup podacima stranica smatrati opcijskim, a konačnu odluku o odobravanju pristupa donijet će korisnik koji će moći selektivno odlučiti kojem će dodatku odobriti pristup svojim podacima na pojedinoj stranici.

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

    Mozilla će početi prihvaćati dodatke na temelju treće verzije Chrome manifesta
  • Promjena u rukovanju zahtjevima iz drugog izvora - u skladu s novim manifestom, skripte za obradu sadržaja podliježu istim ograničenjima dopuštenja kao i za glavnu stranicu u koju su te skripte ugrađene (na primjer, ako stranica nema pristup location API, tada dodaci skripti također neće dobiti ovaj pristup). Ova je promjena u potpunosti implementirana u Firefoxu.
  • API на основе Promise. Firefox поддерживает данный API и для третьей версии манифеста перенесёт его в пространство имён «chrome.*».
  • Запрет выполнения кода, загруженного с внешних серверов (речь про ситуации, когда дополнение подгружает и выполняет внешний код). В Firefox применяется блокировка внешнего кода и разработчики Mozilla добавили дополнительные техники отслеживания загрузок кода, предлагаемые в третьей версии манифеста. Для скриптов обработки контента представлена отдельная политика ограничения доступа к контенту (CSP, Content Security Policy).

Izvor: opennet.ru

Dodajte komentar