Tvrtka Mozilla , da unatoč korištenju skupa proširenja temeljenog na API-ju WebExtensions u Firefoxu, programeri ne namjeravaju potpuno slijediti buduće treće izdanje manifestnog dokumenta za proširenja Chrome. Konkretno, u Firefoxu će se nastaviti podržavati blokirajući način rada API-ja , koji omogućava promjenu primljenog sadržaja u hodu i veoma je tražen u blokatorima oglasa i sustavima filtriranja sadržaja.
Glavna ideja prelaska na API WebExtensions bila je unifikacija tehnologije razvoja proširenja za Firefox i Chrome, pa je u sadašnjem obliku u Firefoxu gotovo 100% osigurana kompatibilnost s aktualnom drugom verzijom manifestnog dokumenta Chrome. Manifest definira popis mogućnosti i resursa dostupnih proširenjima. Zbog uvođenja ograničenja u treću verziju manifesta, koja su negativno percipirana od strane programera proširenja, Mozilla će se udaljiti od prakse potpune usklađenosti s manifestom i neće prenositi u Firefox promjene koje ometaju kompatibilnost s proširenjima.
Podsjećamo, da , tvrtka Google namjerava prekinuti podršku u Chromeu za blokirajući način rada API-ja webRequest, ograničavajući ga samo na način rada za čitanje i nudeći novi deklarativni API za filtriranje sadržaja . Dok je API webRequest omogućavao povezivanje vlastitih handlera s punim pristupom mrežnim zahtjevima i sposobnošću da u hodu modificira promet, novi API declarativeNetRequest pruža pristup spremnom univerzalnom ugrađenom motoru za filtriranje, koji samostalno obrađuje pravila blokiranja, ne dopuštajući korištenje vlastitih algoritama filtriranja i ne omogućujući postavljanje složenih pravila koja se međusobno preklapaju ovisno o uvjetima.
Mozilla također razmatra isplativost prijenosa podrške za neka druga promjena iz treće verzije manifesta Chrome u Firefox, koja ometaju kompatibilnost s proširenjima:
- Prelazak na izvršavanje usluga radnika u obliku pozadinskih procesa, što će od programera zahtijevati promjenu koda nekih proširenja. Unatoč tome, što je nova metoda optimalnija s aspekta performansi, Mozilla razmatra mogućnost zadržavanja podrške za izvršavanje pozadinskih stranica.
- Nova granulatna varijanta zahtjeva za ovlaštenje — dodatak se neće moći aktivirati odmah za sve stranice (uklonjena je dozvola „all_urls”), već će raditi samo u kontekstu aktivne kartice, tj. korisnik će morati potvrditi rad dodatka za svaku stranicu. Mozilla istražuje načine jačanja kontrole pristupa, a da pritom ne odvlači pažnju korisniku.
- Izmjena obrade Cross-origin zahtjeva — prema novom manifestu, na skripte za obradu sadržaja primjenjivat će se ista ograničenja ovlaštenja kao i za glavnu stranicu u koju se te skripte integriraju (primjerice, ako stranica nema pristup API-u za određivanje lokacije, tada skripta dodatka također neće dobiti taj pristup). Izmjena se planira implementirati u Firefoxu.
- Zabrana izvršavanja koda preuzetog s vanjskih poslužitelja (riječ je o situacijama kada dodatak preuzima i izvršava vanjski kod). U Firefoxu se već primjenjuje blokada vanjskog koda i programeri Mozille nisu protiv jačanja takve zaštite primjenom dodatnih tehnika praćenja preuzimanja koda, predloženih u trećoj verziji manifesta.
Izvor: opennet.ru
