Mozilla kommer att börja acceptera tillägg baserat på den tredje versionen av Chrome-manifestet

Den 21 november kommer AMO-katalogen (addons.mozilla.org) att börja acceptera och digitalt signera tillägg med version 109 av Chrome-manifestet. Dessa tillägg kan testas i nattliga versioner av Firefox. I stabila utgåvor kommer stöd för manifestversion 17 att aktiveras i Firefox 2023, planerad till 2023 januari XNUMX. Stödet för den andra versionen av manifestet kommer att bibehållas under överskådlig framtid, men i slutet av XNUMX, efter att ha bedömt dynamiken i att överföra tillägg till den tredje versionen av manifestet, möjligheten att avskaffa stödet för den andra versionen av manifestet tas med i beräkningarna.

Chrome-manifestet definierar de möjligheter och resurser som är tillgängliga för tillägg skrivna med WebExtensions API. 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 2024 av manifestet, och stödet för version XNUMX kommer att upphöra i januari XNUMX. Huvudmålet med ändringarna som görs i den nya versionen är att göra det lättare att skapa säkra och högpresterande tillägg, och att göra det svårare att skapa osäkra och långsamma tillägg. Eftersom den tredje versionen av manifestet har hamnat i brand och kommer att bryta många innehållsblockeringar och säkerhetstillägg, har Mozilla beslutat att gå bort från att vara helt kompatibel 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.

Bland funktionerna för att implementera det nya manifestet i Firefox:

  • Ett nytt API för deklarativ innehållsfiltrering har lagts till, men till skillnad från Chrome har stödet för det gamla blockeringsläget för webRequest API inte avbrutits.
  • 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 i framtiden kommer Firefox att stödja Service Workers, men för närvarande ersätts de av en ny Event Pages-mekanism, som är mer bekant för webbutvecklare, som 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.
  • 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.

    För att hantera behörigheter har en ny "Unified Extensions"-knapp lagts till i gränssnittet, som redan kan testas i nattliga versioner av Firefox. Knappen ger ett sätt att direkt styra vilka webbplatser varje tillägg har åtkomst till – användaren kan bevilja och återkalla ett tilläggs åtkomst till vilken webbplats som helst. Behörighetshantering gäller endast för tillägg baserade på den tredje versionen av manifestet; för tillägg baserade på den andra versionen av manifestet utförs inte granulär åtkomstkontroll till webbplatser.

    Mozilla kommer att börja acceptera tillägg baserat på den tredje versionen av Chrome-manifestet
  • Ä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 detta API och för den tredje versionen av manifestet kommer det att flyttas till namnområdet "chrome.*".
  • 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 extern kodblockering och Mozilla-utvecklarna har lagt till ytterligare tekniker för kodnedladdning 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