Zhvilluesit nga kompania Mozilla kanë përditësuar informacionin mbi planet lidhur me mbështetje në Firefox për versionet e dytë dhe të tretë të manifestit të Chrome. Kompania Google në qershor të këtij viti ka për intent të ndalojë mbështetje për shtesat që përdorin versionin e dytë të manifestit, në versionet provuese të Chrome 127 (Dev, Canary dhe Beta). Në degën stabile, mbështetje për versionin e dytë të manifestit do të ndalet jo më herët se në korrik.
Nga ana tjetër, kompania Mozilla nuk do të ndalojë mbështetje në të ardhmen e afërt për versionin e dytë të manifestit, dhe do të ruajë mundësinë për të ekzekutuar shtesa që përdorin funksionalitete, të cilat nuk janë të disponueshme në versionin e tretë të manifestit. Mbetet në fuqi vendimi për të mos siguruar në Firefox përputhje të plotë me versionin e tretë të manifestit të Chrome. Në Firefox do të mbetet një API i plotë webRequest, i cili në Chrome do të kalojë në modalitetin vetëm për lexim.
Në Firefox, gjithashtu me mekanizmin Event Pages do të ruhet mbështetje për ekzekutimin e skripteve në sfond të bazuara në DOM, në vend të të cilave në versionin e tretë të manifesit parashikohet përdorimi i Service Workers. Skriptet në sfond të bazuara në Service Workers në Firefox ende nuk mbështeten, por zhvilluesit do të kenë mundësinë të përcaktojnë në shtesë si një trajtues bazuar në Event Pages, ashtu edhe skripte të bazuara në Service Workers, duke lejuar që të krijojnë shtesa që përmbushin versionin e tretë të manifesit dhe funksionojnë në Chrome dhe Firefox.
Manifesti i Chrome përcakton aftësitë dhe burimet e disponueshme për shtesa të shkruara duke përdorur API WebExtensions. Duke filluar nga versioni 57, Firefox kaloi plotësisht në përdorimin e API WebExtensions për zhvillimin e shtesave dhe ndaloi mbështetje për teknologjinë XUL. Kalimi në WebExtensions lehtësoi unifikimin e zhvillimit të shtesave me platformat Chrome, Opera, Safari dhe Edge, thjeshtoi portimin e shtesave midis shfletuesve të ndryshëm dhe ofroi mundësinë për të përdorur plotësisht modin shumëprocesor (shtesat WebExtensions mund të ekzekutohen në procese të veçanta, në mënyrë të izoluar nga pjesët e tjera të shfletuesit). Për të siguruar unifikimin e zhvillimit të shtesave me shfletuesit e tjerë, Firefox ofron pothuajse plotësisht përputhshmëri me versionin e dytë të manifestit të Chrome.
Në kuadër të iniciativës për të thjeshtuar krijimin e shtesave të sigurta dhe me performancë të lartë, dhe për të komplikuar mundësitë e krijimit të shtesave të pasigurta dhe të ngadalta, kompania Google ka zhvilluar versionin e tretë të manifestit. Ankesa kryesore ndaj versionit të tretë të manifestit është shkaktuar nga kalimi në modalitetin vetëm për lexim të API webRequest, i cili lejonte lidhjen e trajtesave të veta, me qasje të plotë në kërkesat rrjetore dhe në gjendje për të modifikuar trafikun në kohë reale. Në vend të API webRequest, në versionin e tretë të manifestit është shtuar një API me mundësi të kufizuara, declarativeNetRequest, e cila ofron qasje në motorin e integruar për filtrimin, i cili përpunon vetë rregullat e bllokimit, pa lejuar përdorimin e algoritmeve të veta të filtrimit.
Disa nga veçoritë e zbatimit të versionit të tretë të manifestit në Firefox janë:
- Shtohet një API i ri deklarativ për filtrimin e përmbajtjes, por ndryshe nga Chrome, mbështetje për modalitetin e vjetër të bllokimit të API webRequest nuk është ndalur.
- Mekanizmi Event Pages është implementuar, i cili është më i njohur për zhvilluesit e uebit, nuk kërkon një riparim të plotë të shtesave dhe eliminon kufizimet që lidhen me përdorimin e Service Workers. Event Pages do të mundësojë 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 të punuar me DOM.
- 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Ă« ŃаĐčŃ.
PĂ«r tĂ« menaxhuar autorizimet nĂ« ndĂ«rfaqe, Ă«shtĂ« shtuar njĂ« buton "Unified Extensions" pĂ«r menaxhimin e drejtpĂ«rdrejtĂ« tĂ« cilit faqe i kanĂ« qasje çdo shtesĂ« â pĂ«rdoruesi mund tĂ« ofrojĂ« dhe tĂ« tĂ«rheqĂ« qasjen e shtesĂ«s pĂ«r çdo faqe. Menaxhimi i autorizimeve Ă«shtĂ« i aplikueshĂ«m vetĂ«m pĂ«r shtesat me bazĂ« versionin e tretĂ« tĂ« manifestit; pĂ«r shtesat me versionin e dytĂ« tĂ« manifestit, menaxhimi i detajuar i qasjes nĂ« faqe nuk kryhet.

- 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 me bazë Promise. Firefox mbështet këtë API edhe për versionin e tretë të manifestit.
- Ndalimi i ekzekutimit të kodit të ngarkuar nga burime të jashtme servera (flet për situata kur një shtesë ngarkon dhe ekzekuton kode të jashtme). Në Firefox aplikohet bllokimi i kodeve të jashtme dhe zhvilluesit e Mozilla kanë shtuar teknika të tjera për ndjekjen e ngarkesave të kodeve. Për skriptet e përpunimit 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

