Ilmus Firefox 148 veebibrauser ja on loodud uuendused varasemate pikaajaliste toetuse harude jaoks â 140.8.0 ja 115.33.0 (viimane seerias 115.x). JĂ€rgmise tunni jooksul suunatakse beetatestimise etappi Firefox 149 haru, mille vĂ€ljalase on planeeritud 24. mĂ€rtsiks.
Firefox 148 peamised uuendused (1, 2, 3):
- Seadetesse on lisatud varem lubatud sektsioon âAI Controlâ AI kasutamise haldamiseks. Kasutaja saab kĂ”ik AI-funktsioonid ĂŒhe klikiga vĂ€lja lĂŒlitada vĂ”i valida ainult vajalikud funktsioonid. Valikuliste vĂ€ljalĂŒlitamiste hulka kuuluvad AI-ga seotud vĂ”imalused nagu tĂ”lge teisele keelele, piltide ja skannitud PDF-dokumentide teksti tuvastamine, soovitused ja sildid vahelehtede grupeerimise ajal, lehekĂŒlje sisu genereerimine linkide eelvaates ja liides vestlusrobotitega suhtlemiseks. Iga funktsioon saab olla aktiveeritud, deaktiveeritud vĂ”i blokeeritud. Blokeerimise korral eemaldatakse kohapeal installitud AI-mudelid ja liidese elemendid peidetakse.

- Seadetesse on lisatud eraldi valik tarnimata kaugemal rakenduste ja muudatuste rakendamiseks vahepeal, kui vÀljalased toimuvad. Varasemalt viidati sellele vÔimalusele telemeetriat kÀsitlevate seadevalikute aktiveerimisele ja katsetamise katsetele (Privaatsus ja turvalisus > Firefoxi andmekogumine > Uuringute installimine ja kÀivitamine), kuid alates Firefox 148-st saab seda vÔimalust aktiveerida iseseisvalt.

- Uue vahekaartide avamiseks valitud taustpildid rakendatakse nĂŒĂŒd nii vaikimisi uutele vahelehtedele kui ka konteinerite uutele vahelehtedele.
- Windows 10 ja 11 kasutajatele on lisatud Firefoxi varunduse funktsioon, mis vĂ”imaldab luua varukoopiaid brauseris hoitavatest andmetest, nagu jĂ€rjehoidjad, sĂ€tted ja paroolid. Varukoopiasse ei kuulu andmed, mille kasutaja on valinud brauseri sulgemisel kustutamiseks. Loobitud varukoopiaid saab kasutada sĂŒsteemi uuesti installimise vĂ”i teisel arvutil taastamise jaoks.
- Tagatakse veebikooskĂ”la algse dokumendi «about:blank» jaoks, mis nĂŒĂŒd genereeritakse sĂŒnkroonselt ja ei asendata navigeerimise alguses asĂŒnkroonselt teise tĂŒhja dokumendiga, mis genereeritakse parseri poolt (sellise asendamise tĂ”ttu tekkis rassiolukord, mis mĂ”nikord viis JavaScriptis kohe pĂ€rast window.open() kutsumist salvestatud muudatuste kadumiseni).
- Service worker'i mehhanismi on lisatud API WebGPU tugi, mis vĂ”imaldab kĂ€ivitada WebGPU operatsioone taustal, nĂ€iteks pluginates vĂ”i erinevate veebilehtede vahekaartide ĂŒhiste ĂŒlesannete tĂ€itmisel.
- JavaScripti on lisatud meetodid Iterator.zip() ja Iterator.zipKeyed(), et ĂŒhendada mitmeid massiive. Need meetodid vĂ”imaldavad mitmete iteratorite alusel luua uue iteratori, mille iga element on massiiv vĂ”i objekt koos iteratoride vÀÀrtustega samas positsioonis. const str1 = «abc»; const str2 = «1234»; const it = Iterator.zip([Iterator.from(str1), Iterator.from(str2)]); for (const [char1, char2] of it) { console.log(`${char1} â ${char2}`); } // Tulem: // a â 1 // b â 2 // c â 3 const table = { name: [«Caroline», «Danielle», «Evelyn»], age: [30, 25, 35], city: [«New York», «London», «Hong Kong»], }; for (const { name, age, city } of Iterator.zipKeyed(table)) { console.log(`${name}, aged ${age}, lives in ${city}.`); } // Tulem: // Caroline, aged 30, lives in New York. // Danielle, aged 25, lives in London. // Evelyn, aged 35, lives in Hong Kong.
- Tehtud on API Trusted Types, mida arendatakse DOM-i manipuleerimise kaitseks, mis viib krahhiskripteerimise (DOM XSS) tekkeni. NÀiteks vale kasutaja poolt saadud andmete töötlemine eval() plokkides vÔi «.innerHTML» sisestustes vÔib pÔhjustada JavaScripti koodi tÀitmise teatud lehe kontekstis. Trusted Types nÔuab eriklasside TrustedHTML kasutuselevÔttu paljaste stringide asemel ohtlikes kutsudes, nagu element.innerHTML, document.write() ja setTimeout(). Omakorda luuakse TrustedHTML objektid arendaja kirjutatud funktsioonide abil, mis teostavad andmete kontrollimise ja puhastamise.
- Lisatud on API Sanitizer, mis pakub meetodeid HTML-i manipuleerimiseks ja HTML-elementide eemaldamiseks sisust, mis mĂ”jutavad kuvamist ja tĂ€itmist. HTML-i sisu ohutuks sisestamiseks on ette nĂ€htud meetod element.setHTML(), mis sarnaneb element.innerHTML-iga, kuid kaitseb ristsaitide skriptimise (XSS) eest. HTML-i ohutuks analĂŒĂŒsimiseks on rakendatud meetod document.parseHTML(). API vĂ”ib olla kasulik sisse tulevate andmete puhastamiseks ning HTML-mĂ€rgistuse eemaldamiseks, mida vĂ”iks kasutada XSS-rĂŒnnakute lĂ€biviimiseks. const unsanitizedString = «abc def»; const sanitizer1 = new Sanitizer({ elements: [«div», «p», «button», «script»], }); const target = document.getElementById(«target»); target.setHTML(unsanitizedString, { sanitizer: sanitizer1 });
- Lisatud on toetust omadusele «location.ancestorOrigins», mis sisaldab nimekirja (origins) kÔigist dokumenti seondunud vanemate elementidest, mis on seotud antud Location objekti. Praktikas vÔib seda omadust kasutada nÀiteks selleks, et mÀÀrata, kas dokument laaditi iframe kaudu teiselt veebisaidilt.
- API Navigation on lisatud objekt NavigationPrecommitController koos meetodiga addHandler(), mis vÔimaldab lisada töötlijat, mis aktiveerub navigeerimise ajal "post-commit" faasis, kui uus URL on juba aadressiribal nÀidatud.
- Lisatud on CSS omadus position-try-order, mis mÀÀrab varupositsioonide valimise prioriteedi, kui ankru positsioneerimisega element ei mahu ekraanile. Omadus kuulub CSS Anchor Positioning komplekti, mis vÔimaldab hallata elementide kuvamist, mis on seotud teiste elementide asukohaga, ilma JavaScripti kasutamata, nÀiteks pop-up akende (popover) kinnitamine, mis ilmuvad nagu konteksti vihjed.
- CSS-i on lisatud funktsioon shape(), mis vĂ”imaldab kujundeid luua, kasutades CSS-i atribuute clip-path ja offset-path. Funktsioon shape() toetab kujundite loomise kĂ€ske, mis on ekvivalentse funktsioonile path(), kuid vĂ”imaldab kasutada nende jaoks standardset CSS-sĂŒntaksit.
- Firefoxi versioonis Androidile on muudetud tööriistariba kujundust, parendatud tööriistariba sisu kohandamist ja lisatud vÔimalus kiiresti kopeerida nÀhtava lingi teksti, ilma et oleks vaja lehte avada.
Firefox 148 versioonis on lisaks uuendustele ja bugifiksidele kĂ”rvaldatud 60 haavatavust (6 korda rohkem kui eelmisel vĂ€ljaandel). 48 haavatavust on pĂ”hjustatud mĂ€lu kĂ€sitlemise probleemidest, nagu nĂ€iteks puhverĂŒlesed ja juurdepÀÀs juba vabastatud mĂ€lupiirkondadele. Need probleemid vĂ”ivad potentsiaalselt vĂ”imaldada rĂŒndajal koguda koodi, avades spetsiaalselt kujundatud lehti. 5 haavatavust vĂ”imaldab mööda minna sandbox-isolatsioonist, mis tuleneb vale piirikontrollist ja tĂ€isarvude ĂŒlevoolust graafikakomponendis.
Allikas: opennet.ru


