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-të WebExtensions. Për të testuar Versionin Të Tretë të Manifestit në versionin beta të Firefox 101, duhet të vendosni parametrin "extensions.manifestV3.enabled" në vlerën true në faqen about:config dhe parametrin "xpinstall.signatures.required" në vlerën false. Mund të përdorni ndërfaqen about:debugging për të instaluar shtesa. Aktivizimi i Versionit Të Tretë të Manifestit si standard është planifikuar për fund të vitit.
Që nga versioni 57, Firefox u kalua plotësisht në përdorimin e API-ve WebExtensions për zhvillimin e shtesave dhe ndali mbështetje për teknologjinë XUL. Kalimi në WebExtensions mundësoi unifikimin e zhvillimit të shtesave me platformat Chrome, Opera, Safari dhe Edge, e lehtësoi migrimin e shtesave ndërmjet shfletuesve të ndryshëm dhe mundësoi përdorimin e plotë të modit shumë-procesor (shtesat WebExtensions mund të ekzekutohen në procese të veçanta, të izoluar nga pjesët e tjera të shfletuesit). Për të unifikuar zhvillimin e shtesave me shfletuesit e tjerë, Firefox ofron pothuajse përputhje të plotë me Versionin e Dytë të Manifestit të Chrome.
Aktualisht, në Chrome po punojnë për kalimin në Versionin Të Tretë të Manifestit, ndërsa mbështetja për Versionin E Dytë do të ndalet në janar 2023. Duke qenë se Versioni Të Tretë i Manifestit ka marrë kritika dhe do të shkaktojë probleme në funksionimin e shumë shtesave për bllokimin e përmbajtjes së padëshiruar dhe sigurimin, kompania Mozilla vendosi të largohet nga praktika e ofrimit të përputhshmërisë së plotë me manifestin në Firefox dhe të realizojë disa ndryshime ndryshe.
Pakënaqësia kryesore me Versionin Të Tretë të Manifestit lidhet me kalimin në modalitetin vetëm për lexim për API-në webRequest, e cila lejonte lidhjen e procesorëve të vetë, që do të kishin qasje të plotë në kërkesat rrjet dhe do të ishin në gjendje të modifikonin trafikun në kohë reale. API-ja e përmendur përdoret në uBlock Origin dhe shumë shtesa të tjera për bllokimin e përmbajtjes së padëshiruar dhe sigurimin. Në Versionin Të Tretë të Manifestit, API-ja e kufizuar declarativeNetRequest është propozuar si zëvendësim për API-në webRequest, e cila ofron qasje në motorin e ndërtuar për filtrimin, duke përpunuar rregullat e bllokimit në mënyrë autonome, pa lejuar përdorimin e algoritmeve të veta për filtrimin dhe pa lejuar përcaktimin e rregullave të ndërlikuara që mbivendosen 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ë ndalur mbështetja për modalitetin e mëparshëm të bllokimit të API-së webRequest. Disa nga tiparet e tjera të implementimit të ri të manifestit në Firefox përfshijnë:
- Në manifest është përcaktuar zëvendësimi i faqeve të prapme me variantin e Shërbimeve të Punës (Service Workers), i cili funksionon si procese të prapme (Background Service Workers). Për të siguruar përputhshmëri në Firefox, kjo kërkesë do të implementohet, por gjithashtu do të ofrohet një mekanizëm i ri i Faqeve të Ngjarjeve (Event Pages), i cili është më i njohur për zhvilluesit web, nuk kërkon një rikonstruksion të plotë të shtesave dhe eliminon kufizimet e lidhura me përdorimin e Shërbimeve të Punës. Faqet e Ngjarjeve do të lejojnë që shtesat ekzistuese me faqe të prapme të përmbushin kërkesat e Versionit Të Tretë të Manifestit, duke ruajtur gjithashtu qasjen në të gjitha mundësitë e nevojshme për punë me DOM. Në implementimin e disponueshëm për testim në Firefox, për momentin mbështeten vetëm Faqet e Ngjarjeve, dhe mbështetje për zgjidhjen në bazë të Shërbimeve të Punës pritet të shtohet më vonë. Propozimi u mbështet nga kompania Apple dhe u implementua në versionin Safari Technology Preview 136.
- Modeli i ri granulor i kĂ«rkesave pĂ«r autorizim â shtesa nuk do tĂ« mund tĂ« aktivizohet menjĂ«herĂ« pĂ«r tĂ« gjitha faqet (autorizimi "all_urls" Ă«shtĂ« hequr), por do tĂ« funksionojĂ« vetĂ«m nĂ« kontekstin e skedĂ«s aktive, dmth. pĂ«rdoruesi do tĂ« duhet tĂ« konfirmojĂ« operimin e shtesĂ«s pĂ«r çdo faqe. NĂ« Firefox, tĂ« gjitha kĂ«rkesat pĂ«r akses nĂ« tĂ« dhĂ«nat e faqes do tĂ« merren parasysh si tĂ« papara, dhe vendimi pĂ«rfundimtar pĂ«r dhĂ«nien e aksesit do tĂ« merret nga pĂ«rdoruesi, i cili do tĂ« jetĂ« nĂ« gjendje tĂ« vendosĂ« se cilĂ«s shtesĂ« t'i japĂ« akses nĂ« tĂ« dhĂ«nat e tij nĂ« kĂ«tĂ« ose atĂ« ŃаĐčŃ.
- Ndryshimi i pĂ«rpunimit tĂ« kĂ«rkesave Cross-origin â sipas manifestit tĂ« ri, kufizimet e autorizimeve do tĂ« aplikohen pĂ«r skenarĂ«t e pĂ«rpunimit tĂ« pĂ«rmbajtjes ashtu si pĂ«r faqen kryesore nĂ« tĂ« cilĂ«n kĂ«ta skenarĂ« janĂ« injektuar (p.sh., nĂ«se faqja nuk ka qasje nĂ« API-nĂ« e pĂ«rcaktimit tĂ« vendndodhjes, as skenari i shtesĂ«s nuk do tĂ« ketĂ« kĂ«tĂ« qasje). Ky ndryshim Ă«shtĂ« implementuar plotĂ«sisht nĂ« Firefox.
- API në bazë të Promise. Firefox tashmë mbështet këtë API dhe për Versionin Të Tretë të Manifestit do ta transferojë atë në hapësirën e emrave "chrome.*".
- Ndalimi i ekzekutimit të kodit të ngarkuar nga burime të jashtme servera (folur për situatat kur një shtesë ngarkon dhe ekzekuton kod të jashtëm). Në Firefox është duke u zbatuar bllokimi i kodit të jashtëm dhe zhvilluesit e Mozilla kanë shtuar teknika shtesë për të ndjekur ngarkimet e kodit, të propozuara në Versionin Të Tretë të Manifestit. Për skenaret e përpunimit të përmbajtjes, është e disponueshme një politikë e veçantë me kufizime për qasjen në përmbajtje (CSP, Politika e Sigurisë së Përmbajtjes).
Burimi: opennet.ru
