Mozilla začne přijímat doplňky na základě třetí verze manifestu Chrome

21. listopadu začne adresář AMO (addons.mozilla.org) přijímat a digitálně podepisovat doplňky pomocí verze 109 manifestu Chrome. Tyto doplňky lze testovat v nočních sestavách Firefoxu. Ve stabilních verzích bude podpora manifestu verze 17 povolena ve Firefoxu 2023, naplánováno na 2023. ledna XNUMX. Podpora pro druhou verzi manifestu bude v dohledné době zachována, ale na konci roku XNUMX, po posouzení dynamiky převodu dodatků do třetí verze manifestu, bude možné odmítnout podporu pro druhou verzi manifestu. bude zváženo.

Manifest Chrome definuje možnosti a zdroje dostupné pro rozšíření napsaná pomocí rozhraní WebExtensions API. Počínaje verzí 57 Firefox zcela přešel na používání WebExtensions API pro vývoj doplňků a přestal podporovat technologii XUL. Přechod na WebExtensions umožnil sjednotit vývoj doplňků s platformami Chrome, Opera, Safari a Edge, zjednodušil portování doplňků mezi různými webovými prohlížeči a umožnil plně využít multiprocesní režim operace (doplňky WebExtensions lze spouštět v samostatných procesech, izolovaných od zbytku prohlížeče). Pro sjednocení vývoje doplňků s ostatními prohlížeči poskytuje Firefox téměř plnou kompatibilitu s druhou verzí manifestu Chrome.

Chrome aktuálně pracuje na přechodu na verzi 2024 manifestu a podpora verze XNUMX bude ukončena v lednu XNUMX. Hlavním cílem změn provedených v nové verzi je usnadnit vytváření bezpečných a vysoce výkonných doplňků a ztížit vytváření nebezpečných a pomalých doplňků. Protože se třetí verze manifestu dostala pod palbu a prolomí mnoho doplňků pro blokování obsahu a zabezpečení, rozhodla se Mozilla ustoupit od plné kompatibility s manifestem ve Firefoxu a implementovat některé změny jinak.

Hlavní nespokojenost s třetí verzí manifestu souvisí s překladem rozhraní webRequest API do režimu pouze pro čtení, což umožnilo připojit vaše vlastní handlery, které mají plný přístup k síťovým požadavkům a mohou za běhu upravovat provoz. Toto API se používá v uBlock Origin a mnoha dalších doplňcích k blokování nevhodného obsahu a zajištění bezpečnosti. Namísto rozhraní webRequest API nabízí třetí verze manifestu deklarativní NetRequest API s omezenými schopnostmi, které poskytuje přístup k vestavěnému filtrovacímu enginu, který nezávisle zpracovává pravidla blokování, neumožňuje použití vlastních filtrovacích algoritmů a neumožňuje umožňují nastavení složitých pravidel, která se vzájemně překrývají v závislosti na podmínkách.

Mezi funkce implementace nového manifestu ve Firefoxu:

  • Bylo přidáno nové deklarativní rozhraní API pro filtrování obsahu, ale na rozdíl od Chrome nebyla podpora starého režimu blokování rozhraní webRequest API ukončena.
  • Manifest definuje nahrazení stránek na pozadí možností Service Workers, která běží jako procesy na pozadí (Background Service Workers). Aby byla zajištěna kompatibilita v budoucnu, bude Firefox podporovat Service Workers, ale v současné době jsou nahrazeni novým mechanismem Event Pages, který je pro webové vývojáře známější, nevyžaduje kompletní přepracování doplňků a odstraňuje omezení spojená s využití servisních pracovníků. Stránky událostí umožní stávajícím přidáním stránek na pozadí vyhovět požadavkům třetí verze manifestu a zároveň zachovat přístup ke všem funkcím potřebným pro práci s DOM.
  • Nový model žádosti o granulární oprávnění - doplněk nebude možné aktivovat pro všechny stránky najednou (oprávnění „all_urls“ bylo odebráno), ale bude fungovat pouze v kontextu aktivní karty, tzn. uživatel bude muset potvrdit, že doplněk funguje pro každý web. Ve Firefoxu budou všechny požadavky na přístup k datům webu považovány za volitelné a konečné rozhodnutí o udělení přístupu bude na uživateli, který se bude moci selektivně rozhodnout, kterému doplňku udělí přístup ke svým datům na konkrétním webu.

    Pro správu oprávnění bylo do rozhraní přidáno nové tlačítko „Unified Extensions“, které již lze testovat v nočních sestaveních Firefoxu. Tlačítko umožňuje přímo ovládat, ke kterým stránkám má každý doplněk přístup – uživatel může udělit a zrušit přístup doplňku k libovolnému webu. Správa oprávnění se vztahuje pouze na doplňky založené na třetí verzi manifestu, u doplňků založených na druhé verzi manifestu se podrobné řízení přístupu k webům neprovádí.

    Mozilla začne přijímat doplňky na základě třetí verze manifestu Chrome
  • Změna ve zpracování požadavků Cross-origin – v souladu s novým manifestem budou skripty pro zpracování obsahu podléhat stejným omezením oprávnění jako pro hlavní stránku, do které jsou tyto skripty vloženy (například pokud stránka nemá přístup k Location API, pak tento přístup neobdrží ani doplňky skriptu). Tato změna je plně implementována ve Firefoxu.
  • API založené na slibech. Firefox toto API podporuje a pro třetí verzi manifestu jej přesune do jmenného prostoru „chrome.*“.
  • Zákaz spuštění kódu staženého z externích serverů (hovoříme o situacích, kdy se doplněk načte a spustí externí kód). Firefox používá externí blokování kódu a vývojáři Mozilly přidali další techniky sledování stahování kódu nabízené ve třetí verzi manifestu. Pro skripty pro zpracování obsahu je k dispozici samostatná zásada omezení přístupu k obsahu (CSP, Content Security Policy).

Zdroj: opennet.ru

Přidat komentář