
firefox Manifest V3
Nedavno je Mozilla programeri koji su zaduženi za Firefox su dali da znam tvoje planovi u vezi s podrškom za Chrome manifest verzije 2 i 3 u Firefoxu. I, iako Google namjerava prestati podržavati dodatke koji koriste drugu verziju manifesta u testnim verzijama Chromea 127, Mozilla je odlučila da ne prestane podržavati drugu verziju manifesta u doglednoj budućnosti.
Pored toga Mozilla uvjerava da će zadržati mogućnost pokretanja dodataka koji koriste funkcije koje nisu dostupne u trećoj verziji manifesta. Odluka da se Firefox ne učini potpuno kompatibilnim sa verzijom 3 Chrome manifesta ostaje na snazi. Firefox će zadržati puni webRequest API, koji će biti promijenjen u način rada samo za čitanje u Chromeu.
Takođe, Firefox će koristiti mehanizam stranica događaja da zadrži podršku za pokretanje pozadinskih skripti zasnovanih na DOM-u. Dok treća verzija manifesta zahtijeva korištenje servisnih radnika, pozadinske skripte zasnovane na serviserima još uvijek nisu podržane u Firefoxu. Međutim, programeri će imati priliku definirati i rukovatelj stranica baziran na događaju i skripte zasnovane na serviserima u dodatku, omogućavajući im da kreiraju dodatke koji su u skladu s trećom verzijom manifesta i rade u Chromeu i Firefoxu.
Chrome manifest definira mogućnosti i resurse dostupne ekstenzijama napisanim pomoću WebExtensions API-ja. Od verzije 57, Firefox je u potpunosti prešao na korištenje WebExtensions API-ja za razvoj dodataka, napuštanje XUL tehnologije.
Ova tranzicija dozvoljeno objediniti razvoj dodataka sa drugim platformama kao što su Chrome, Opera, Safari i Edge, pojednostavio prijenos dodataka između različitih web pretraživača i potpuno omogućio višenitni način rada. Firefox pruža gotovo potpunu kompatibilnost s drugom verzijom Chrome manifesta kako bi se objedinio razvoj dodataka s drugim pretraživačima.
Kao dio inicijative da se olakša kreiranje sigurnih dodataka visokih performansi i oteža kreiranje sporih i nesigurnih dodataka, Google je razvio verziju tri manifesta. Kako god, Nezadovoljstvo je bilo uglavnom zbog prijevoda webRequest API-ja samo za čitanje u trećoj verziji manifesta.
Glavna briga sa trećom verzijom manifesta leži u prijevodu webRequest API-ja u način rada samo za čitanje, što je izazvalo određeno nezadovoljstvo među programerima. Ovaj API vam je omogućio povezivanje vlastitih kontrolera koji su imali potpuni pristup mrežnim zahtjevima i koji su mogli dinamički mijenjati promet. Umjesto webRequest API-ja, treća verzija manifesta je dodala declarativeNetRequest API, koji ima ograničenije mogućnosti i pruža pristup ugrađenom mehanizmu za filtriranje bez dopuštanja korištenja vlastitih algoritama za filtriranje.
Uprkos ovim razlikama i izazovima, Firefox je implementirao važne karakteristike usvajanjem treće verzije Chrome manifesta:
- Novi deklarativni API za filtriranje sadržaja koji zadržava podršku za stari način blokiranja webRequest API-ja.
- Implementacija mehanizma stranica događaja: Ovaj mehanizam uklanja ograničenja povezana s korištenjem Service Workers i omogućava dodacima pozadinskih stranica da budu u skladu sa zahtjevima treće verzije manifesta.
- Firefox je predstavio novi model dozvola koji zahtijeva odobrenje korisnika za svaku stranicu na kojoj dodatak želi raditi.
- Dodano je dugme “Ujedinjene ekstenzije” za direktnu kontrolu pristupa svakog dodatka web lokacijama.
- Promjena obrade zahtjeva s više porijekla: Ista ograničenja dozvola primjenjuju se na skripte za obradu sadržaja kao i na glavnu stranicu u koju su ugrađeni.
- Firefox je uveo ograničenja kako bi spriječio izvršavanje koda preuzetog sa vanjskih izvora, čime je povećao sigurnost dodataka.
Konačno, ako ste zainteresirani da saznate više o tome, možete pogledati detalje Na sledećem linku.