Mozilla vil begynne å godta tillegg basert på den tredje versjonen av Chrome-manifestet

21. november begynner AMO-katalogen (addons.mozilla.org) å godta og digital signere tillegg ved å bruke versjon 109 av Chrome-manifestet. Disse tilleggene kan testes i nattlige versjoner av Firefox. I stabile utgivelser vil støtte for manifestversjon 17 være aktivert i Firefox 2023, planlagt til 2023. januar XNUMX. Støtte for den andre versjonen av manifestet vil opprettholdes i overskuelig fremtid, men ved utgangen av XNUMX, etter å ha vurdert dynamikken ved å overføre tillegg til den tredje versjonen av manifestet, vil muligheten for å avvise støtten til den andre versjonen av manifestet. vil bli vurdert.

Chrome-manifestet definerer mulighetene og ressursene som er tilgjengelige for utvidelser skrevet ved hjelp av WebExtensions API. Fra og med versjon 57 gikk Firefox fullstendig over til å bruke WebExtensions API for å utvikle tillegg og sluttet å støtte XUL-teknologi. Overgangen til WebExtensions gjorde det mulig å forene utviklingen av tillegg med Chrome-, Opera-, Safari- og Edge-plattformene, forenklet portering av tillegg mellom ulike nettlesere og gjorde det mulig å fullt ut bruke multiprosessmodusen til operasjon (WebExtensions-tillegg kan kjøres i separate prosesser, isolert fra resten av nettleseren). For å forene utviklingen av tillegg med andre nettlesere, gir Firefox nesten full kompatibilitet med den andre versjonen av Chrome-manifestet.

Chrome jobber for tiden med å flytte til versjon 2024 av manifestet, og støtte for versjon XNUMX vil bli avviklet i januar XNUMX. Hovedmålet med endringene som er gjort i den nye versjonen er å gjøre det enklere å lage sikre og høyytelses tillegg, og å gjøre det vanskeligere å lage usikre og trege tillegg. Fordi den tredje versjonen av manifestet har kommet under ild og vil bryte mange innholdsblokkeringer og sikkerhetstillegg, har Mozilla besluttet å gå bort fra å være fullstendig kompatibel med manifestet i Firefox og implementere noen endringer annerledes.

Den største misnøyen med den tredje versjonen av manifestet er relatert til oversettelsen til skrivebeskyttet modus av webRequest API, som gjorde det mulig å koble til dine egne behandlere som har full tilgang til nettverksforespørsler og kan endre trafikken i farten. Denne API-en brukes i uBlock Origin og mange andre tillegg for å blokkere upassende innhold og gi sikkerhet. I stedet for webRequest API tilbyr den tredje versjonen av manifestet en deklarativ NetRequest API med begrenset kapasitet, som gir tilgang til en innebygd filtreringsmotor som uavhengig behandler blokkeringsregler, ikke tillater bruk av egne filtreringsalgoritmer og ikke tillate å sette komplekse regler som overlapper hverandre avhengig av forholdene.

Blant funksjonene ved implementering av det nye manifestet i Firefox:

  • En ny deklarativ innholdsfiltrerings-API er lagt til, men i motsetning til Chrome har ikke støtte for den gamle blokkeringsmodusen til webRequest API blitt avviklet.
  • Manifestet definerer erstatning av bakgrunnssider med alternativet Service Workers, som kjører som bakgrunnsprosesser (Background Service Workers). For å sikre kompatibilitet i fremtiden vil Firefox støtte Service Workers, men for tiden er de erstattet av en ny Event Pages-mekanisme, som er mer kjent for webutviklere, som ikke krever en fullstendig omarbeiding av tillegg, og eliminerer begrensningene knyttet til bruken av Service Workers. Event Pages vil tillate eksisterende bakgrunnssidetilføyelser å samsvare med kravene til den tredje versjonen av manifestet, samtidig som de opprettholder tilgang til alle funksjonene som trengs for å jobbe med DOM.
  • Den nye granulære tillatelsesforespørselsmodellen - tillegget vil ikke kunne aktiveres for alle sider på en gang («all_urls»-tillatelsen er fjernet), men vil bare fungere i sammenheng med den aktive fanen, dvs. brukeren må bekrefte at tillegget fungerer for hvert nettsted. I Firefox vil alle forespørsler om å få tilgang til nettstedsdata betraktes som valgfrie, og den endelige avgjørelsen om å gi tilgang vil bli tatt av brukeren, som selektivt vil kunne bestemme hvilket tillegg som skal gi tilgang til dataene deres på et bestemt nettsted.

    For å administrere tillatelser er en ny "Unified Extensions"-knapp lagt til grensesnittet, som allerede kan testes i nattlige versjoner av Firefox. Knappen gir en måte å direkte kontrollere hvilke nettsteder hvert tillegg har tilgang til – brukeren kan gi og tilbakekalle et tilleggs tilgang til et hvilket som helst nettsted. Tillatelsesadministrasjon gjelder bare for tillegg basert på den tredje versjonen av manifestet; for tillegg basert på den andre versjonen av manifestet utføres ikke granulær tilgangskontroll til nettsteder.

    Mozilla vil begynne å godta tillegg basert på den tredje versjonen av Chrome-manifestet
  • Endring i håndtering av kryssopprinnelsesforespørsler – i samsvar med det nye manifestet vil innholdsbehandlingsskript være underlagt de samme tillatelsesbegrensningene som for hovedsiden der disse skriptene er innebygd (for eksempel hvis siden ikke har tilgang til location API, vil heller ikke skripttilleggene motta denne tilgangen). Denne endringen er fullt implementert i Firefox.
  • Løftebasert API. Firefox støtter denne API-en og for den tredje versjonen av manifestet vil den flyttes til «chrome.*»-navneområdet.
  • Forbyr kjøring av kode lastet ned fra eksterne servere (vi snakker om situasjoner når tillegget laster inn og kjører ekstern kode). Firefox bruker ekstern kodeblokkering, og Mozilla-utviklerne har lagt til flere teknikker for nedlasting av kode som tilbys i den tredje versjonen av manifestet. For innholdsbehandlingsskript er det gitt en separat policy for innholdstilgangsbegrensning (CSP, Content Security Policy).

Kilde: opennet.ru

Legg til en kommentar