Utvecklarna frÄn Mozilla har uppdaterat informationen om planerna för att stödja andra och tredje versionen av Chrome-manifestet i Firefox. Google planerar att avsluta stödet för tillÀgg som anvÀnder den andra versionen av manifestet i testversionerna av Chrome 127 (Dev, Canary och Beta) i juni i Är. I den stabila versionen kommer stödet för den andra versionen av manifestet att upphöra tidigast i juli.
I sin tur kommer Mozilla inte att avsluta stödet för den andra versionen av manifestet i den nÀrmaste framtiden, och kommer att behÄlla möjligheten att köra tillÀgg som anvÀnder funktioner som inte Àr tillgÀngliga i den tredje versionen av manifestet. Beslutet att inte sÀkerstÀlla fullstÀndig kompatibilitet med den tredje versionen av Chrome-manifestet i Firefox kvarstÄr. Firefox kommer att behÄlla ett fullstÀndigt webRequest-API, som i Chrome kommer att överföras till skrivskyddat lÀge.
I Firefox kommer ocksÄ mekanismen Event Pages att behÄlla stödet för att köra bakgrundsskript baserade pÄ DOM, istÀllet för vilket den tredje versionen av manifestet krÀver att man anvÀnder Service Workers. Bakgrundsskript baserade pÄ Service Workers stöds för nÀrvarande inte i Firefox, men utvecklare kommer att fÄ möjlighet att specificera i tillÀgget bÄde en hanterare baserad pÄ Event Pages och skript baserade pÄ Service Workers, vilket möjliggör skapandet av tillÀgg som Àr kompatibla med den tredje versionen av manifestet och fungerar i bÄde Chrome och Firefox.
Manifestet för Chrome definierar möjligheterna och resurserna som Ă€r tillgĂ€ngliga för tillĂ€gg skrivna med hjĂ€lp av API WebExtensions. FrĂ„n och med version 57 har Firefox helt övergĂ„tt till att anvĂ€nda API WebExtensions för utveckling av tillĂ€gg och slutat stödja teknologin XUL. ĂvergĂ„ngen till WebExtensions har möjliggjort en enhetlig utveckling av tillĂ€gg med plattformarna Chrome, Opera, Safari och Edge, förenklat porteringen av tillĂ€gg mellan olika webblĂ€sare och möjliggjort en fullstĂ€ndig anvĂ€ndning av systemets flerprocesslĂ€ge (WebExtensions-tillĂ€gg kan köras i separata processer, isolerade frĂ„n andra delar av webblĂ€saren). För att göra utvecklingen av tillĂ€gg enhetlig med andra webblĂ€sare erbjuder Firefox nĂ€stan full kompatibilitet med den andra versionen av manifestet för Chrome.
Som en del av initiativet för att förenkla skapandet av sÀkra och högpresterande tillÀgg, och att komplicera möjligheten att skapa osÀkra och lÄngsamma tillÀgg, har Google utvecklat den tredje versionen av manifestet. Den största missnöjet med den tredje versionen av manifestet beror pÄ att api:webRequest överförs till skrivskyddat lÀge, vilket tillÀt att ansluta egna hanterare med full tillgÄng till nÀtverksförfrÄgningar och möjligheten att modifiera trafik i realtid. IstÀllet för api:webRequest har den tredje versionen av manifestet en begrÀnsad api:declarativeNetRequest, som ger Ätkomst till en inbyggd motor för filtrering som sjÀlvstÀndigt hanterar blockeringsregler och inte tillÄter anvÀndning av egna filtreringsalgoritmer.
Bland funktionerna i implementeringen av den tredje versionen av manifestet i Firefox:
- En ny deklarativ API för filtrering av innehÄll har lagts till, men till skillnad frÄn Chrome har stödet för det gamla blockeringslÀget i API webRequest inte upphört.
- En mekanism för Event Pages har implementerats, vilken Àr mer bekant för webbutvecklare, krÀver ingen fullstÀndig omarbetning av tillÀgg och eliminerar begrÀnsningarna kopplade till anvÀndning av Service Workers. Event Pages gör det möjligt att anpassa befintliga tillÀgg med bakgrundssidor till kraven i den tredje versionen av manifestet, samtidigt som all nödvÀndig funktionalitet för att arbeta med DOM bevaras.
- Den nya granulerade modellen för begÀran om behörighet - tillÀgget kan inte aktiveras omedelbart för alla sidor (behörigheten "all_urls" har tagits bort) och kommer endast att fungera i kontexten av den aktiva fliken, vilket innebÀr att anvÀndaren mÄste bekrÀfta tillÀggets funktion för varje webbplats. I Firefox kommer alla begÀrningar om Ätkomst till webbplatsdata att betraktas som frivilliga, och det slutliga beslutet om att ge Ätkomst kommer att fattas av anvÀndaren, som kan vÀlja vilket tillÀgg som ska ges Ätkomst till sina data pÄ en viss webbplats.
För att hantera behörigheter har en knapp för "Unified Extensions" lagts till i grĂ€nssnittet för direkt hantering av vilka webbplatser varje tillĂ€gg har tillgĂ„ng till â anvĂ€ndaren kan ge och Ă„terkalla tillgĂ„ngen för ett tillĂ€gg till valfri webbplats. Behörighetskontroll tillĂ€mpas endast pĂ„ tillĂ€gg baserade pĂ„ den tredje versionen av manifestet, för tillĂ€gg med den andra versionen av manifestet tillĂ€mpas ingen detaljerad Ă„tkomsthantering till webbplatser.

- Ăndringen av hanteringen av Cross-origin-begĂ€rningar - enligt den nya manifestet kommer samma begrĂ€nsningar av behörigheter att tillĂ€mpas pĂ„ skripten för innehĂ„llshantering som pĂ„ huvudsidan som dessa skript implementeras i (till exempel, om sidan inte har Ă„tkomst till API:et för platsbestĂ€mning, kommer skriptet för tillĂ€gget inte heller att fĂ„ denna Ă„tkomst). Denna Ă€ndring Ă€r helt genomförd i Firefox.
- API baserat pÄ Promise. Firefox stöder detta API och för den tredje versionen av manifestet.
- Förbud mot att exekvera kod som laddas frÄn externa servrar (det handlar om situationer dÀr ett tillÀgg laddar och kör extern kod). I Firefox tillÀmpas blockering av extern kod och utvecklarna pÄ Mozilla har lagt till ytterligare tekniker för att spÄra nedladdningar av kod. För skript för innehÄllshantering presenteras en separat policy för begrÀnsad Ätkomst till innehÄll (CSP, Content Security Policy).
KĂ€lla: opennet.ru

