Firefox on alustanud Chrome'i manifesti kolmanda versiooni testimist

Mozilla teatas, et on alustanud Chrome'i manifesti kolmanda versiooni Firefoxi juurutamise testimist, mis määratleb WebExtensions API abil kirjutatud lisandmoodulitele saadaolevad võimalused ja ressursid. Manifesti kolmanda versiooni testimiseks Firefox 101 beetaversioonis peaksite lehel about:config määrama parameetri "extensions.manifestV3.enabled" väärtuseks Tõene ja parameetri "xpinstall.signatures.required" väärtuseks Väär. Lisandmoodulite installimiseks saate kasutada about:debugging liidest. Manifesti kolmas versioon lubatakse vaikimisi aasta lõpuks.

Alates versioonist 57 läks Firefox lisandmoodulite arendamiseks täielikult üle WebExtensions API kasutamisele ja lõpetas XUL-tehnoloogia toetamise. Üleminek WebExtensionsile võimaldas ühildada lisandmoodulite arendamise Chrome'i, Opera, Safari ja Edge'i platvormidega, lihtsustas lisandmoodulite teisaldamist erinevate veebilehitsejate vahel ja võimaldas täielikult kasutada mitme protsessi režiimi operatsiooni (WebExtensionsi lisandmooduleid saab käivitada eraldi protsessides, eraldatuna ülejäänud brauserist). Lisandmoodulite arendamise ühtlustamiseks teiste brauseritega pakub Firefox peaaegu täielikku ühilduvust Chrome'i manifesti teise versiooniga.

Chrome töötab praegu manifesti 2023. versioonile ülemineku nimel ja versiooni XNUMX tugi lõpetatakse XNUMX. aasta jaanuaris. Kuna manifesti kolmas versioon on sattunud kriitika alla ja rikub paljusid sisu blokeerimise ja turvalisuse lisandmooduleid, on Mozilla otsustanud loobuda tavast tagada Firefoxis manifestiga täielik ühilduvus ja rakendada mõningaid muudatusi teisiti.

Peamine rahulolematus manifesti kolmanda versiooniga on seotud webRequest API tõlkimisega kirjutuskaitstud režiimi, mis võimaldas ühendada oma töötlejad, millel on täielik juurdepääs võrgupäringutele ja mis saavad liiklust käigult muuta. Seda API-t kasutatakse uBlock Originis ja paljudes teistes lisandmoodulites sobimatu sisu blokeerimiseks ja turvalisuse tagamiseks. WebRequest API asemel pakub manifesti kolmas versioon piiratud võimekusega declarativeNetRequest API-t, mis annab juurdepääsu sisseehitatud filtreerimismootorile, mis töötleb iseseisvalt blokeerimisreegleid, ei luba kasutada oma filtreerimisalgoritme ega võimalda võimaldavad seada keerulisi reegleid, mis olenevalt tingimustest kattuvad.

Firefoxis pakutud manifesti kolmanda versiooni juurutamisel lisati uus deklaratiivne API sisu filtreerimiseks, kuid erinevalt Chrome'ist ei lõpetanud nad webRequest API vana blokeerimisrežiimi toetamist. Firefoxi uue manifesti juurutamise muud funktsioonid on järgmised:

  • Manifest määratleb taustalehtede asendamise suvandiga Service Workers, mis töötab taustaprotsessidena (Background Service Workers). Ühilduvuse tagamiseks rakendab Firefox selle nõude, kuid pakub lisaks uut Event Pages mehhanismi, mis on veebiarendajatele tuttavam, ei nõua lisandmoodulite täielikku ümbertöötamist ja välistab Service Workersi kasutamisega kaasnevad piirangud. Sündmuslehed võimaldavad olemasolevatel taustalehtede lisamistel järgida manifesti kolmanda versiooni nõudeid, säilitades samal ajal juurdepääsu kõigile DOM-iga töötamiseks vajalikele võimalustele. Firefoxis testimiseks saadaolevas manifesti juurutuses toetatakse praegu ainult Event Pages ja Service Workersil põhineva lahenduse tugi lubatakse hiljem lisada. Apple toetas ettepanekut ja rakendas Safari Technology Preview 136-s sündmuste lehed.
  • Uus granuleeritud lubade päringu mudel - lisandmoodulit ei saa korraga aktiveerida kõikidele lehtedele (luba “all_urls” on eemaldatud), vaid töötab ainult aktiivse vahelehe kontekstis, s.t. kasutaja peab kinnitama, et lisandmoodul töötab igal saidil. Firefoxis käsitletakse kõiki saidi andmetele juurdepääsu taotlusi valikulistena ja lõpliku otsuse juurdepääsu andmise kohta teeb kasutaja, kes saab valikuliselt otsustada, millisele lisandmoodulile konkreetsel saidil oma andmetele juurdepääs annab.
  • Muudatus ristpäritolu taotluste käsitlemisel – vastavalt uuele manifestile kehtivad sisu töötlemise skriptidele samad loapiirangud kui põhilehe puhul, kuhu need skriptid on manustatud (näiteks kui lehel puudub juurdepääs asukoha API, siis ei saa ka skripti lisandmoodulid seda juurdepääsu). See muudatus on Firefoxis täielikult rakendatud.
  • Lubaduspõhine API. Firefox juba toetab seda API-t ja teisaldab selle manifesti kolmanda versiooni nimeruumi „chrome.*”.
  • Välistest serveritest alla laaditud koodi täitmise keelamine (räägime olukordadest, kui lisandmoodul laadib ja käivitab välist koodi). Firefox kasutab juba välist koodide blokeerimist ja Mozilla arendajad on lisanud manifesti kolmandas versioonis pakutavad täiendavad koodi allalaadimise jälgimise tehnikad. Sisu töötlemise skriptide jaoks on ette nähtud eraldi sisule juurdepääsu piiramise poliitika (CSP, Content Security Policy).

Allikas: opennet.ru

Lisa kommentaar