Nedávno Vývojáři Mozilly, kteří mají na starosti Firefox, dali znát své plány týkající se podpory manifestu Chrome verze 2 a 3 ve Firefoxu. A přestože Google hodlá ukončit podporu pluginů, které používají druhou verzi manifestu v testovacích verzích Chrome 127, Mozilla se rozhodla v dohledné době nepřestat podporovat druhou verzi manifestu.
Kromě toho Mozilla ujišťuje, že si zachová možnost spouštět doplňky které používají funkce, které nejsou dostupné ve třetí verzi manifestu. Rozhodnutí neučinit Firefox plně kompatibilní s verzí 3 manifestu Chrome zůstává na svém místě. Firefox si zachová plné rozhraní webRequest API, které se v Chrome změní na režim pouze pro čtení.
Navíc, Firefox bude používat mechanismus stránek událostí, aby si zachoval podporu pro spouštění skriptů na pozadí založených na DOM. Zatímco třetí verze manifestu vyžaduje použití Service Workers, skripty na pozadí založené na Service Workers zatím nejsou ve Firefoxu podporovány. Vývojáři však budou mít příležitost definovat v pluginu jak obslužný program založený na stránce události, tak skripty založené na Service Workers, což jim umožní vytvářet pluginy, které vyhovují třetí verzi manifestu a fungují v prohlížečích Chrome a Firefox.
Manifest Chrome definuje možnosti a zdroje dostupné pro rozšíření napsaná pomocí rozhraní WebExtensions API. Od verze 57 Firefox zcela přešel na používání WebExtensions API vyvíjet pluginy, opuštění technologie XUL.
Tento přechod umožnilo sjednotit vývoj pluginů s dalšími platformami jako Chrome, Opera, Safari a Edge, zjednodušil přenos pluginů mezi různými webovými prohlížeči a plně umožnil vícevláknový režim provozu. Firefox poskytuje téměř plnou kompatibilitu s druhou verzí manifestu Chrome, aby sjednotil vývoj pluginů s ostatními prohlížeči.
V rámci iniciativy, která má usnadnit vytváření vysoce výkonných, bezpečných pluginů a ztížit vytváření pomalých a nezabezpečených pluginů, vyvinul Google verzi tři manifestu. Nicméně, Došlo k nespokojenosti hlavně kvůli překladu rozhraní webRequest API ve třetí verzi pouze pro čtení manifestu.
Hlavní starost s třetí verzí manifestu spočívá v překladu rozhraní webRequest API do režimu pouze pro čtení, což vyvolalo mezi vývojáři určitou nespokojenost. Toto rozhraní API vám umožnilo připojit vaše vlastní řadiče, které měly plný přístup k síťovým požadavkům a mohly dynamicky upravovat provoz. Namísto rozhraní webRequest API přidala třetí verze manifestu declarativeNetRequest API, které má omezenější možnosti a poskytuje přístup k vestavěnému filtrovacímu enginu, aniž by umožňovalo použití vlastních filtrovacích algoritmů.
Navzdory těmto rozdílům a výzvám Firefox implementoval důležité funkce přijetím třetí verze manifestu Chrome:
- Nové deklarativní rozhraní API pro filtrování obsahu, které si zachovává podporu pro starý režim blokování rozhraní webRequest API.
- Implementace mechanismu stránek událostí: Tento mechanismus odstraňuje omezení spojená s používáním Service Worker a umožňuje přidání stránek na pozadí, aby vyhovovaly požadavkům třetí verze manifestu.
- Firefox zavedl nový model oprávnění, který vyžaduje souhlas uživatele pro každý web, na kterém chce doplněk pracovat.
- Bylo přidáno tlačítko „Unified Extensions“, které přímo ovládá přístup každého pluginu na stránky.
- Změna na zpracování požadavků mezi zdroji: Na skripty pro zpracování obsahu se vztahují stejná omezení oprávnění jako na hlavní stránku, do které jsou vloženy.
- Firefox zavedl omezení, aby zabránil spouštění kódu staženého z externích zdrojů, čímž zvýšil bezpečnost doplňků.
Nakonec, pokud máte zájem dozvědět se o něm více, můžete si prostudovat podrobnosti Na následujícím odkazu.