Planer om støtte for den anden og tredje version af Chrome-manifestet i Firefox

Udviklerne hos Mozilla har opdateret informationen om planerne vedrørende understøttelsen af anden og tredje version af Chrome-manifestet i Firefox. Google agter at ophæve understøttelsen af udvidelser, der bruger anden version af manifestet, i de testede versioner af Chrome 127 (Dev, Canary og Beta) i juni i år. I den stabile version vil understøttelsen af anden version af manifestet tidligst blive ophævet i juli.

På sin side vil Mozilla ikke ophæve understøttelsen af anden version af manifestet i den nærmeste fremtid og vil bevare muligheden for at køre udvidelser, der bruger funktionaliteter, der ikke er tilgængelige i tredje version af manifestet. Beslutningen om ikke at sikre fuld kompatibilitet med tredje version af Chrome-manifestet i Firefox forbliver i kraft. Firefox vil have et fuldt webRequest API, som i Chrome vil blive overført til skrivebeskyttet tilstand.

I Firefox vil understøttelsen af at udføre baggrundsscripts baseret på DOM også blive bevaret ved hjælp af Event Pages-mekanismen, i stedet for at tredje version af manifestet kræver brug af Service Workers. Baggrundsscripts baseret på Service Workers understøttes ikke endnu i Firefox, men udviklere vil have mulighed for at definere både Event Pages-baserede håndtagere og Service Workers-baserede scripts i deres udvidelser, hvilket muliggør oprettelse af udvidelser, der overholder tredje version af manifestet og fungerer i både Chrome og Firefox.

Chrome-manifestet definerer de funktioner og ressourcer, der er tilgængelige for tilføjelser skrevet med API WebExtensions. Fra version 57 overgik Firefox helt til brug af API WebExtensions til udvikling af tilføjelser og stoppede med at understøtte teknologien XUL. Overgangen til WebExtensions har gjort det muligt at ensrette udviklingen af tilføjelser med platforme som Chrome, Opera, Safari og Edge, forenklet porteringen af tilføjelser mellem forskellige webbrowsere og givet mulighed for fuld anvendelse af multiprocessormodus (WebExtensions-tilføjelser kan køre i separate processer, isoleret fra andre dele af browseren). For at ensrette udviklingen af tilføjelser med andre browsere sikrer Firefox næsten fuld kompatibilitet med den anden version af Chrome-manifestet.

Som en del af initiativet til at forenkle oprettelsen af sikre og højtydende udvidelser og gøre det vanskeligere at lave usikre og langsomme udvidelser, har Google udviklet tredje version af manifestet. Den største utilfredshed med den tredje version af manifestet skyldes overførslen af webRequest API til skrivebeskyttet tilstand, som tidligere gjorde det muligt at tilslutte egne håndtagere med fuld adgang til netværksanmodninger og i stand til at ændre trafik on-the-fly. I stedet for webRequest API i den tredje version af manifestet er der tilføjet et begrænset declarativeNetRequest API, som giver adgang til en indbygget motor til filtrering, der selv behandler blokkeringsregler og ikke tillader anvendelse af egne filtreringsalgoritmer.

Blandt funktionerne ved implementeringen af tredje version af manifestet i Firefox:

  • Der er tilføjet et nyt deklarativt API til filtrering af indhold, men i modsætning til Chrome er understøttelsen af den gamle blokkeringsmodus af API webRequest ikke stoppet.
  • Der er implementeret en Event Pages-mekanisme, som er mere velkendt for webudviklere, ikke kræver en fuldstændig omarbejdning af udvidelser og fjerner begrænsningerne forbundet med brugen af Service Workers. Event Pages vil gøre det muligt at bringe eksisterende udvidelser med baggrundssider i overensstemmelse med kravene i den tredje version af manifestet, samtidig med at adgangen til alle nødvendige funktioner til interaktion med DOM opretholdes.
  • Den nye granulære model for tilladelsesforespørgsler - udvidelsen kan ikke aktiveres med det samme for alle sider (tilladelsen «all_urls» er fjernet) og vil kun fungere i konteksten af den aktive fane, dvs. brugeren skal bekræfte udvidelsens arbejde for hver hjemmeside. I Firefox vil alle forespørgsler om adgang til webdata blive betragtet som ikke-bindende, og den endelige beslutning om at give adgang vil blive truffet af brugeren, der kan vælge at bestemme, hvilken udvidelse der skal have adgang til deres data på en given hjemmeside.

    For at administrere tilladelser er der tilføjet en knap "Unified Extensions" i grænsefladen, der giver direkte kontrol over, hvilke websteder hver udvidelse har adgang til - brugeren kan give eller tilbagekalde adgangen for enhver udvidelse til et hvilket som helst websted. Tilladelsesstyring gælder kun for udvidelser baseret på den tredje version af manifestet; for udvidelser baseret på den anden version af manifestet tilbydes der ikke granulær kontrol over adgangen til websteder.

    Planer om støtte for den anden og tredje version af Chrome-manifestet i Firefox
  • Ændring af behandling af Cross-origin-forespørgsler - i overensstemmelse med det nye manifest for scripts vil de samme begrænsninger for rettigheder gælde for indholdsscripts som for den hovedside, hvori disse scripts indlejres (for eksempel, hvis siden ikke har adgang til API'et til bestemmelse af placering, så vil udvidelsesscriptet heller ikke få denne adgang). Denne ændring er fuldt implementeret i Firefox.
  • Promise-baseret API. Firefox understøtter denne API i den tredje version af manifestet.
  • Forbud mod udførelse af kode indlæst fra eksterne kilder servere (det handler om situationer, hvor en udvidelse indlæser og udfører ekstern kode). Firefox anvender blokering af ekstern kode, og Mozilla-udviklerne har tilføjet yderligere metoder til at spore indlæsningen af kode. For scripts til indholdsbehandling er der indført en separat politik for begrænsning af adgang til indhold (CSP, Content Security Policy).

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster