Firefox har påbegyndt test af den tredje version af Chrome-manifestet

Mozilla har annonceret, at de er begyndt at teste implementeringen af version tre af Chrome-manifestet i Firefox, som definerer de funktioner og ressourcer, der er tilgængelige for udvidelser skrevet med WebExtensions API. For at teste den tredje version af manifestet i beta-versionen af Firefox 101, skal du indstille parameteren "extensions.manifestV3.enabled" til true og "xpinstall.signatures.required" til false på siden about:config. Du kan bruge grænsefladen about:debugging til at installere udvidelser. Aktivering af den tredje version af manifestet som standard er planlagt til slutningen af året.

Fra version 57 skiftede Firefox helt til at bruge WebExtensions API til udvikling af udvidelser og stoppede med at understøtte XUL-teknologi. Overgangen til WebExtensions har gjort det muligt at standardisere udviklingen af udvidelser med platforme som Chrome, Opera, Safari og Edge, forenklet porteringen af udvidelser mellem forskellige webbrowsere og givet mulighed for fuld udnyttelse af multithreading (WebExtensions-udvidelser kan køre i separate processer, isoleret fra andre dele af browseren). For at standardisere udviklingen af udvidelser med andre browsere giver Firefox næsten fuld kompatibilitet med den anden version af Chrome-manifestet.

I øjeblikket arbejder Google Chrome på overgangen til den tredje version af manifestet, og understøttelsen af den anden version vil blive afsluttet i januar 2023. Da den tredje version af manifestet er blevet genstand for kritik og vil føre til funktionsproblemer for mange udvidelser til blokering af uønsket indhold og sikring af sikkerhed, har Mozilla besluttet at afstand tage fra praksis med at sikre fuld kompatibilitet med manifestet i Firefox og implementere nogle ændringer anderledes.

Den primære utilfredshed med den tredje version af manifestet er relateret til overgangen til en kun-læse-tilstand for API'et webRequest, som tidligere gjorde det muligt at tilkoble egne behandlere med fuld adgang til netværksanmodninger og som kunne ændre trafik on-the-fly. Dette API anvendes i uBlock Origin og mange andre extensions til at blokere uønsket indhold og sikre brugeren. I stedet for API'et webRequest tilbydes der i den tredje version af manifestet et begrænset API kaldet declarativeNetRequest, som giver adgang til en indbygget motor til filtrering, der selv håndterer blokkeringsregler, uden mulighed for at bruge egne filtreringsalgoritmer eller oprette komplekse overlappende regler afhængigt af betingelserne.

I den foreslåede implementering af den tredje version af manifestet i Firefox er der tilføjet et nyt deklarativt API til indholdsfiltrering, men i modsætning til Chrome er de ikke stoppet med at understøtte den gamle blokeringstilstand via API'et webRequest. Blandt de andre funktioner i implementeringen af det nye manifest i Firefox er:

  • I manifestet er baggrundssider blevet erstattet med en variant af Service Workers, der fungerer som baggrundsprocesser (Background Service Workers). For at sikre kompatibilitet vil Firefox implementere dette krav, men der er også foreslået en ny mekanisme kaldet Event Pages, som er mere velkendt for webudviklere, ikke kræver en komplet overarbejdning af extensions og eliminerer begrænsningerne forbundet med brugen af Service Workers. Event Pages vil muliggøre, at eksisterende extensions med baggrundssider kan bringes i overensstemmelse med kravene i den tredje version af manifestet, samtidig med at adgangen til alle nødvendige funktioner til at arbejde med DOM bevares. I den aktuelt testbare implementering af manifestet i Firefox understøttes kun Event Pages, og der loves senere at tilføje understøttelse af løsningen baseret på Service Workers. Dette forslag er blevet støttet af Apple, som har implementeret Event Pages i udgivelsen af Safari Technology Preview 136.
  • 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.
  • Æ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.
  • API baseret på Promise. Firefox understøtter allerede dette API, og for tredje version af manifestet vil det blive flyttet til navnerummet «chrome.*».
  • Forbud mod udførelse af kode indlæst fra eksterne kilder servere (henvisning til situationer, hvor udvidelsen henter og udfører ekstern kode). I Firefox anvendes der allerede en blokering af ekstern kode, og Mozilla-udviklerne har tilføjet yderligere metoder til at spore indlæsninger af kode, som foreslået i tredje version af manifestet. Der er indført en særskilt politik for begrænsning af adgang til indhold (CSP, Content Security Policy) for indholdsscripts.

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