Firefox har börjat testa den tredje versionen av Chrome-manifestet

Mozilla har meddelat att de har börjat testa Firefoxs implementering av den tredje versionen av Chrome-manifestet, som definierar de möjligheter och resurser som är tillgängliga för tillägg skrivna med WebExtensions API. För att testa den tredje versionen av manifestet i Firefox 101 beta bör du ställa in parametern "extensions.manifestV3.enabled" till true och parametern "xpinstall.signatures.required" till false på sidan about:config. För att installera tillägg kan du använda about:debugging-gränssnittet. Den tredje versionen av manifestet är planerad att aktiveras som standard i slutet av året.

Från och med version 57 gick Firefox helt över till att använda WebExtensions API för att utveckla tillägg och slutade stödja XUL-teknik. Övergången till WebExtensions gjorde det möjligt att förena utvecklingen av tillägg med plattformarna Chrome, Opera, Safari och Edge, förenklade porteringen av tillägg mellan olika webbläsare och gjorde det möjligt att fullt ut använda multiprocessläget för operation (WebExtensions-tillägg kan köras i separata processer, isolerade från resten av webbläsaren). För att förena utvecklingen av tillägg med andra webbläsare ger Firefox nästan full kompatibilitet med den andra versionen av Chrome-manifestet.

Chrome arbetar för närvarande med att flytta till version 2023 av manifestet, och stödet för version XNUMX kommer att upphöra i januari XNUMX. Eftersom den tredje versionen av manifestet har hamnat i brand och kommer att bryta många innehållsblockering och säkerhetstillägg, har Mozilla beslutat att gå bort från praxis att säkerställa full kompatibilitet med manifestet i Firefox och implementera vissa förändringar annorlunda.

Det största missnöjet med den tredje versionen av manifestet är relaterat till översättningen till skrivskyddat läge av webRequest API, som gjorde det möjligt att ansluta dina egna hanterare som har full tillgång till nätverksförfrågningar och kan ändra trafik i farten. Detta API används i uBlock Origin och många andra tillägg för att blockera olämpligt innehåll och ge säkerhet. Istället för webRequest API erbjuder den tredje versionen av manifestet ett deklarativt NetRequest API med begränsad kapacitet, som ger tillgång till en inbyggd filtreringsmotor som oberoende behandlar blockeringsregler, inte tillåter användning av sina egna filtreringsalgoritmer och inte tillåter att sätta komplexa regler som överlappar varandra beroende på förhållandena.

I implementeringen av den tredje versionen av manifestet som föreslagits i Firefox lades ett nytt deklarativt API för innehållsfiltrering till, men till skillnad från Chrome slutade de inte stödja det gamla blockeringsläget för webRequest API. Andra funktioner i den nya manifestimplementeringen i Firefox inkluderar:

  • Manifestet definierar ersättandet av bakgrundssidor med alternativet Service Workers, som körs som bakgrundsprocesser (Background Service Workers). För att säkerställa kompatibilitet kommer Firefox att implementera detta krav, men kommer dessutom att erbjuda en ny Event Pages-mekanism, som är mer bekant för webbutvecklare, inte kräver en fullständig omarbetning av tillägg och eliminerar begränsningarna förknippade med användningen av Service Workers. Event Pages kommer att tillåta befintliga bakgrundssidestillägg att överensstämma med kraven i den tredje versionen av manifestet, samtidigt som tillgången till alla funktioner som behövs för att arbeta med DOM bibehålls. I manifestimplementeringen som är tillgänglig för testning i Firefox stöds för närvarande endast Event Pages, och stöd för en lösning baserad på Service Workers utlovas att läggas till senare. Apple stödde förslaget och implementerade Event Pages i Safari Technology Preview 136.
  • Den nya granulära tillståndsbegäransmodellen - tillägget kommer inte att kunna aktiveras för alla sidor samtidigt (behörigheten "all_urls" har tagits bort), utan kommer bara att fungera i sammanhanget med den aktiva fliken, dvs. användaren måste bekräfta att tillägget fungerar för varje webbplats. I Firefox kommer alla förfrågningar om åtkomst till webbplatsdata att betraktas som valfria, och det slutliga beslutet om att bevilja åtkomst kommer att tas av användaren, som selektivt kommer att kunna bestämma vilket tillägg som ska ge åtkomst till deras data på en viss webbplats.
  • Ändring i hanteringen av förfrågningar med kors ursprung - i enlighet med det nya manifestet kommer innehållsbearbetningsskript att omfattas av samma behörighetsbegränsningar som för huvudsidan där dessa skript är inbäddade (till exempel om sidan inte har tillgång till plats-API, då kommer skripttilläggen inte heller att få denna åtkomst). Denna förändring är helt implementerad i Firefox.
  • Löftesbaserat API. Firefox stöder redan detta API och kommer att flytta det till namnområdet "chrome.*" för den tredje versionen av manifestet.
  • Förbud mot exekvering av kod som laddas ner från externa servrar (vi talar om situationer när tillägget laddar och exekverar extern kod). Firefox använder redan extern kodblockering, och Mozilla-utvecklare har lagt till ytterligare kodnedladdningsspårningstekniker som erbjuds i den tredje versionen av manifestet. För innehållsbehandlingsskript tillhandahålls en separat policy för innehållsåtkomstbegränsning (CSP, Content Security Policy).

Källa: opennet.ru

Lägg en kommentar