Планове за поддръжка на Firefox за версии 2 и 3 на манифеста на Chrome

Разработчиците от Mozilla актуализираха информация за плановете, свързани с поддръжката на версии 127 и XNUMX на манифеста на Chrome във Firefox. Google възнамерява да спре да поддържа добавки, които използват втората версия на манифеста в тестовите версии на Chrome XNUMX (Dev, Canary и Beta) този юни. В стабилния клон поддръжката за втората версия на манифеста ще бъде спряна не по-рано от юли.

От своя страна Mozilla няма да спре да поддържа втората версия на манифеста в обозримо бъдеще и ще запази възможността да стартира добавки, които използват функции, недостъпни в третата версия на манифеста. Решението Firefox да не бъде напълно съвместим с версия 3 на манифеста на Chrome остава в сила. Firefox ще запази пълноценния API на webRequest, който ще бъде превключен в режим само за четене в Chrome.

Firefox също така ще използва механизма на страниците със събития, за да запази поддръжката за изпълнение на фонови скриптове, базирани на DOM, вместо което третата версия на манифеста изисква използването на Service Workers. Фоновите скриптове, базирани на Service Workers, все още не се поддържат във Firefox, но на разработчиците ще бъде дадена възможност да дефинират както манипулатор, базиран на страници със събития, така и скриптове, базирани на Service Workers в добавката, което ще им позволи да създават добавки които отговарят на третата версия на манифеста и работят в Chrome и Firefox.

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

Като част от инициатива за улесняване на създаването на сигурни, високоефективни добавки и за по-трудно създаване на несигурни и бавни добавки, Google разработи версия три на манифеста. Основното недоволство от третата версия на манифеста е причинено от превода на webRequest API в режим само за четене, което ви позволява да свържете свои собствени манипулатори, които имат пълен достъп до мрежовите заявки и могат да променят трафика в движение. Вместо webRequest API, третата версия на манифеста добави declarativeNetRequest API, който е ограничен във възможностите си, предоставяйки достъп до вградената машина за филтриране, която независимо обработва правилата за блокиране и не позволява използването на собствени алгоритми за филтриране .

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

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

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

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

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

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