Kompania Mozilla shpalli fillimin e testimit të implementimit të versionit të tretë të manifestit të Chrome në Firefox, i cili përcakton mundësitë dhe burimet e disponueshme për shtesa të shkruara duke përdorur API WebExtensions. Për të testuar versionin e tretë të manifestit në versionin beta të Firefox 101, duhet të vendosni parametrin «extensions.manifestV3.enabled» në vlerën true, dhe parametrin «xpinstall.signatures.required» në vlerën false në faqen about:config. Nëpërmjet ndërfaqes about:debugging mund të instaloni shtesa. Aktivizimi i versionit të tretë të manifestit si parazgjedhje është planifikuar për në fund të vitit.
Që nga versioni 57, Firefox kaloi plotësisht në përdorimin e API WebExtensions për zhvillimin e shtesave dhe ndërpreu mbështetje për teknologjinë XUL. Kalimi në WebExtensions lehtësoi standardizimin e zhvillimit të shtesave me platformat Chrome, Opera, Safari dhe Edge, bëri më të lehtë portimin e shtesave midis shfletuesve të ndryshëm dhe dha mundësinë për të përdorur plotësisht modin shumëprocesor të funksionimit (shtesat WebExtensions mund të ekzekutohen në procese të veçanta, të izoluar nga pjesët e tjera të shfletuesit). Për standardizimin e zhvillimit të shtesave me shfletuesit e tjerë, Firefox siguron pothuajse përputhshmëri të plotë me versionin e dytë të manifestit të Chrome.
Aktualisht, në Chrome po kryhen punime për kalimin në versionin e tretë të manifestit, ndërsa mbështetja për versionin e dytë do të ndalet në janar 2023. Duke qenë se versioni i tretë i manifestit ka marrë kritika dhe do të çojë në probleme për shumë shtesa për bllokimin e përmbajtjes së padëshiruar dhe sigurimin e sigurisë, kompania Mozilla vendosi të distancohet nga praktika e ofrimit të përputhshmërisë së plotë me manifestin në Firefox dhe të realizojë disa ndryshime ndryshe.
Critika kryesore mbi versionin e tretë të manifestit është lidhur me kalimin në një mod për vetëm lexim të API webRequest, i cili lejonte lidhjen e trajtuesve të personalizuar, të cilët kishin akses të plotë në kërkesat rrjet dhe ishin në gjendje të modifikonin trafikun në kohë reale. Ky API përdoret në uBlock Origin dhe shumë shtesa të tjera për bllokimin e përmbajtjeve të padëshiruara dhe sigurimin e sigurisë. Në vend të API webRequest, në versionin e tretë të manifestit është propozuar një API i kufizuar në funksionalitetin e tij, i quajtur declarativeNetRequest, që ofron qasje në një motor të integruar për filtrimin, i cili trajton vetë rregullat e bllokimit, pa lejuar përdorimin e algoritmeve të filtrimit të personalizuar dhe pa lejuar përcaktimin e rregullave të komplikuara që mbivendosen me njëra-tjetrën në varësi të kushteve.
Në implementimin e propozuar të versionit të tretë të manifestit në Firefox, është shtuar një API i ri deklarativ për filtrimin e përmbajtjes, por ndryshe nga Chrome, nuk është ndërprerë mbështetje për modin e vjetër të bllokimit të API webRequest. Disa nga karakteristikat e tjera të implementimit të ri të manifestit në Firefox janë:
- Në manifest është përcaktuar zëvendësimi i faqeve të prapme me një variant të Shërbimeve të Punës (Service Workers), të cilat punojnë si procese në sfond (Background Service Workers). Për të siguruar përputhshmërinë, Firefox do të implementojë këtë kërkesë, por për më tepër është propozuar një mekanizëm i ri i quajtur Event Pages, i cili është më i njohur për zhvilluesit web, nuk kërkon një ripunim të plotë të shtesave dhe eliminon kufizimet e lidhura me përdorimin e Shërbimeve të Punës. Event Pages do të lejojë që shtesat ekzistuese me faqe në sfond të përputhen me kërkesat e versionit të tretë të manifestit, duke ruajtur aksesin në të gjitha funksionalitetet e nevojshme për punën me DOM. Në implementimin e disponueshëm për testim në Firefox të manifestit, aktualisht mbështeten vetëm Event Pages, dhe mbështetje për zgjidhjen e bazuar në Shërbimet e Punës pritet të shtohet më vonë. Ky propozim është mbështetur nga kompania Apple dhe ka implementuar Event Pages në lëshimin Safari Technology Preview 136.
- Modeli i ri i kĂ«rkesĂ«s pĂ«r autorizim me granuar â shtesa nuk do tĂ« aktivizohet menjĂ«herĂ« pĂ«r tĂ« gjitha faqet (uli autorizimin «all_urls»), por do tĂ« punojĂ« vetĂ«m nĂ« kontekstin e skedĂ«s aktive, domethĂ«nĂ«, pĂ«rdoruesi do tĂ« duhet tĂ« konfirmojĂ« funksionimin e shtesĂ«s pĂ«r çdo faqe. NĂ« Firefox, tĂ« gjitha kĂ«rkesat pĂ«r qasje nĂ« tĂ« dhĂ«nat e faqes do tĂ« shqyrtohen si tĂ« panevojshme, dhe vendimi pĂ«rfundimtar mbi dhĂ«nien e aksesit do tĂ« merret nga pĂ«rdoruesi, i cili do tĂ« mund tĂ« vendosĂ« nĂ« mĂ«nyrĂ« selektive se cilĂ«s shtesĂ« t'i jepet akses nĂ« tĂ« dhĂ«nat e tij nĂ« kĂ«tĂ« ose atĂ« faqe.
- Ndryshimi i trajtimit tĂ« kĂ«rkesave Cross-origin â sipas manifestit tĂ« ri, pĂ«r skriptet e trajtimit tĂ« pĂ«rmbajtjes do tĂ« aplikohen tĂ« njĂ«jtat kufizime autorizimi si pĂ«r faqen kryesore, nĂ« tĂ« cilĂ«n integrohen kĂ«to skripte (pĂ«r shembull, nĂ«se faqja nuk ka akses nĂ« API-nĂ« pĂ«r pĂ«rcaktimin e vendit, atĂ«herĂ« skripti i shtesĂ«s nuk do ta ketĂ« kĂ«tĂ« akses gjithashtu). Ky ndryshim Ă«shtĂ« realizuar plotĂ«sisht nĂ« Firefox.
- API me bazë Promises. Firefox tashmë e mbështet këtë API dhe për versionin e tretë të manifestit do ta transferojë atë në hapësirën emërore «chrome.*».
- Ndalesa e ekzekutimit të kodit të ngarkuar nga burime të jashtme serverësh (në lidhje me situatat kur shtesa ngarkon dhe ekzekuton kod të jashtëm). Në Firefox tashmë aplikohet bllokimi i kodit të jashtëm dhe zhvilluesit e Mozilla kanë shtuar teknika të tjera për ndjekjen e ngarkimeve të kodit, të propozuara në versionin e tretë të manifestit. Për skriptet e trajtimit të përmbajtjes është paraqitur një politikë e veçantë për kufizimin e aksesit në përmbajtje (CSP, Politika e Sigurisë së Përmbajtjes).
Burimi: opennet.ru
