Mozilla ще започне да приема добавки въз основа на третата версия на манифеста на Chrome

На 21 ноември директорията AMO (addons.mozilla.org) ще започне да приема и цифрово подписва добавки с помощта на версия 109 на манифеста на Chrome. Тези добавки могат да бъдат тествани в нощни компилации на Firefox. В стабилните издания поддръжката за манифест версия 17 ще бъде активирана във Firefox 2023, планирано за 2023 януари XNUMX г. Поддръжката за втората версия на манифеста ще се запази в обозримо бъдеще, но в края на XNUMX г., след оценка на динамиката на прехвърляне на допълнения към третата версия на манифеста, възможността за отхвърляне на поддръжката за втората версия на манифеста ще бъдат разгледани.

Манифестът на Chrome дефинира възможностите и ресурсите, достъпни за разширения, написани с помощта на API на WebExtensions. Започвайки с версия 57, Firefox напълно премина към използване на API на WebExtensions за разработване на добавки и спря да поддържа XUL технология. Преходът към WebExtensions направи възможно унифицирането на разработването на добавки с платформите Chrome, Opera, Safari и Edge, опрости пренасянето на добавки между различни уеб браузъри и направи възможно пълното използване на многопроцесния режим на операция (добавките WebExtensions могат да се изпълняват в отделни процеси, изолирани от останалата част от браузъра). За да обедини разработването на добавки с други браузъри, Firefox осигурява почти пълна съвместимост с втората версия на манифеста на Chrome.

В момента Chrome работи за преминаване към версия 2024 на манифеста и поддръжката за версия XNUMX ще бъде преустановена през януари XNUMX г. Основната цел на промените, направени в новата версия, е да улеснят създаването на сигурни и високоефективни добавки и да направят по-трудно създаването на опасни и бавни добавки. Тъй като третата версия на манифеста беше обект на критики и ще наруши много добавки за блокиране на съдържание и сигурност, Mozilla реши да се отдалечи от пълната съвместимост с манифеста във Firefox и да внедри някои промени по различен начин.

Основното недоволство от третата версия на манифеста е свързано с превода в режим само за четене на webRequest API, което направи възможно свързването на вашите собствени манипулатори, които имат пълен достъп до мрежовите заявки и могат да променят трафика в движение. Този API се използва в uBlock Origin и много други добавки за блокиране на неподходящо съдържание и осигуряване на сигурност. Вместо webRequest API, третата версия на манифеста предлага declarativeNetRequest API с ограничени възможности, който осигурява достъп до вградена машина за филтриране, която независимо обработва правилата за блокиране, не позволява използването на свои собствени алгоритми за филтриране и не позволяват задаване на сложни правила, които се припокриват едно с друго в зависимост от условията.

Сред характеристиките на внедряването на новия манифест във Firefox:

  • Добавен е нов API за декларативно филтриране на съдържание, но за разлика от Chrome, поддръжката за стария режим на блокиране на webRequest API не е преустановена.
  • Манифестът дефинира замяната на фонови страници с опцията Service Workers, която се изпълнява като фонови процеси (Background Service Workers). За да осигури съвместимост в бъдеще, Firefox ще поддържа Service Workers, но в момента те са заменени от нов механизъм за страници със събития, който е по-познат на уеб разработчиците, не изисква цялостно преработване на добавките и елиминира ограниченията, свързани с използването на Service Workers. Страниците за събития ще позволят на съществуващите добавки към фонови страници да отговарят на изискванията на третата версия на манифеста, като същевременно поддържат достъп до всички възможности, необходими за работа с DOM.
  • Новият модел на гранулирана заявка за разрешение - добавката няма да може да се активира за всички страници наведнъж (разрешението „all_urls“ е премахнато), но ще работи само в контекста на активния раздел, т.е. потребителят ще трябва да потвърди, че добавката работи за всеки сайт. Във Firefox всички заявки за достъп до данни на сайта ще се считат за незадължителни и окончателното решение за предоставяне на достъп ще бъде взето от потребителя, който ще може избирателно да реши на коя добавка да предостави достъп до данните си на конкретен сайт.

    За управление на разрешенията към интерфейса е добавен нов бутон „Unified Extensions“, който вече може да бъде тестван в нощни версии на Firefox. Бутонът предоставя средство за директен контрол до кои сайтове има достъп всяка добавка – потребителят може да предостави и отмени достъпа на добавка до всеки сайт. Управлението на разрешения се прилага само за добавки, базирани на третата версия на манифеста; за добавки, базирани на втората версия на манифеста, не се извършва подробен контрол на достъпа до сайтове.

    Mozilla ще започне да приема добавки въз основа на третата версия на манифеста на Chrome
  • Промяна в обработката на заявки от кръстосан произход - в съответствие с новия манифест, скриптовете за обработка на съдържание ще бъдат предмет на същите ограничения за разрешения, както за главната страница, в която са вградени тези скриптове (например, ако страницата няма достъп до API за местоположение, тогава добавките за скриптове също няма да получат този достъп). Тази промяна е напълно внедрена във Firefox.
  • API, базиран на обещание. Firefox поддържа този API и за третата версия на манифеста ще го премести в пространството на имената „chrome.*“.
  • Забрана за изпълнение на код, изтеглен от външни сървъри (говорим за ситуации, когато добавката зарежда и изпълнява външен код). Firefox използва външно блокиране на код и разработчиците на Mozilla са добавили допълнителни техники за проследяване на изтегляне на код, предлагани в третата версия на манифеста. За скриптове за обработка на съдържание се предоставя отделна политика за ограничаване на достъпа до съдържание (CSP, Content Security Policy).

Източник: opennet.ru

Добавяне на нов коментар