Kompania Mozilla publikoi planin për implementimin në Firefox të versionit të tretë të manifestit të Chrome, i cili përcakton mundësitë dhe burimet që ofrohen për shtesat. Versioni i tretë i manifestit është kritikuar për shkak të ndikimit në funksionimin e shumë shtesave për bllokimin e përmbajtjeve të padëshiruara dhe sigurimin e sigurisë.
Në Firefox, pritet të realizohen pothuajse të gjitha mundësitë dhe kufizimet e manifestit të ri, përfshirë API-në deklarative për filtrimin e përmbajtjes (declarativeNetRequest), por ndryshe nga Chrome, në Firefox nuk do të ndërpritet mbështetja për modin e vjetër të bllokimit të API-t webRequest, të paktën deri sa API-i i ri të plotësojë nevojat e plota të zhvilluesve të shtesave që përdorin API-n webRequest. Ky qasje do të mundësojë përputhshmëri me shtesat e Chrome pa shkaktuar probleme me shtesat që janë të dizajnuara për API-n webRequest.
Kujtojmë se shqetësimi kryesor për manifestin e ri lidhet me kalimin në një mod të vetëm për lexim API-n webRequest, i cili lejonte lidhjen e trajtuesve të vet që kishin qasje të plotë në kërkesat rrjet dhe ishin në gjendje të modifikonin trafikun në fluks. 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-t webRequest, ofrohet një API i kufizuar në mundësitë e tij, deklarativeNetRequest, që ofron qasje në një motor të brendshëm për filtrimin, që trajton vetë rregullat e bllokimit, pa lejuar përdorimin e algoritmeve të veta për filtrimin dhe pa mundësuar përkufizimin e rregullave komplekse që mbivendosen në varësi të kushteve.
Në Firefox, mbështetje për versionin e tretë të manifestit të Chrome planifikohet të ofrohet për testim në fund të vitit 2021, ndërsa implementimi i manifestit të ri pritet të fillojë në fillim të vitit 2022. Disa veçori të implementimit të manifestit të ri në Firefox përfshijnë:
- Ofrimi i API-së deklarativeNetRequest, por me mbajtjen e mundësisë për përdorimin e API-t më të vjetër webRequest.
- Ndryshimi i trajtimit të kërkesave Cross-origin - për arsye të re manifesti, skriptet e përpunimit të përmbajtjes do të kenë të njëjtat kufizime të autorizimeve siç kanë edhe faqet kryesore, ku këto skripte përfshihen (për shembull, nëse faqja nuk ka qasje në API-n e definimit të vendndodhjes, atëherë dhe skripti i shtesës nuk do ta ketë këtë qasje). Disa nga ndryshimet e lidhura me kufizimet e kërkesave Cross-origin janë tashmë të disponueshme për testim në ndërtimet përdorimi të Firefox-it (po zhvillohet si pjesë e projektit Fission, i cili mund të aktivizohet në about:preferences#experimental) dhe planifikohet të implementohet në të gjitha rastet në tremujorin e tretë të vitit 2021.
- Faqet e prapme do të zëvendësohen me Punëtorët e Shërbimit, që veprojnë në formën e proceseve të prapme. Ky ndryshim ende nuk është gati për testim.
- API i bazuar në Promise. Firefox tashmë mbështet këtë lloj API-je në hapësirën emërtuese 'browser.*' dhe për versionin e tretë të manifestit do ta transferojë në hapësirën emërtuese 'chrome.*'.
- Një model i ri i granuluar të kërkesave të autorizimeve - shtesa nuk do të mund të aktivizohet menjëherë për të gjitha faqet (kufizimi 'all_urls' është hequr), por do të punojë vetëm në kontekstin e tab-it aktiv, domethënë përdoruesit do t'u duhen të konfirmojnë funksionimin e shtesës për çdo faqe. Kompania Mozilla po punon për rritjen e kontrollit të aksesit, por ka për qëllim të ofrojë përdoruesve mundësinë për të marrë vetë vendime, nëse të lejojnë që shtesat të funksionojnë me tab-e të ndryshme.
- Ndalimi i ekzekutimit të kodit të ngarkuar nga burime të jashtme servera (që lidhet me situatat kur një shtesë ngarkon dhe ekzekuton kod të jashtëm). Në Firefox tashmë aplikohet bllokimi i kodit të jashtëm dhe zhvilluesit e Mozilla janë të gatshëm të shtojnë teknika të tjera për gjurmimin e ngarkimeve të kodit që propozojnë versionin e tretë të manifestit. Për skriptet e trajtimit të përmbajtjes do të ofrohet një politikë e veçantë për kufizimin e aksesit në përmbajtje (CSP, Politika e Sigurisë së Përmbajtjes), dhe API-t ekzistuese userScripts dhe contentScripts do të ripërpunohen për mbështetje për zgjerimet e bazuara në Punëtorët e Shërbimeve.
Burimi: opennet.ru
