Podjetje Google je objavilo izdajo spletnega brskalnika Chrome 147. Hkrati je na voljo stabilna različica prostega projekta Chromium, ki je osnova za Chrome. Brskalnik Chrome se razlikuje od Chromiumm z uporabo logotipov Google, sistemom za pošiljanje obvestil v primeru zrušitve, moduli za predvajanje zaščitenega videoposnetka (DRM), sistemom samodejne namestitve posodobitev, trajnim vključevanjem Sandbox izolacije, dostavo ključev za Google API in prenosom RLZ-parametrov pri iskanju. Za tiste, ki potrebujejo več časa za posodobitev, je posebej podprta veja Extended Stable, ki traja 8 tednov. Naslednja izdaja Chrome 148 je načrtovana za 5. maj.
Glavne spremembe v Chrome 147 (1, 2, 3, 4):
- Dodana je bila možnost vertikalnega prikaza zavihkov, ki zamenja zgornjo horizontalno vrstico z gumbi zavihkov z stransko vrstico z vertikalnimi zavihki. Vertikalni zavihki se lahko prikazujejo v razširjenem (ikona + del opisa) in stisnjenem načinu (samo ikone). Ob premikanju miške nad stranskim zavihkom se prikaže sličica njegove vsebine. Poenostavljeno je upravljanje skupin zavihkov. V kontekstni meni, ki se prikaže ob desnem kliku na vrstico zavihkov, je dodana možnost "Pokaži zavihke vertikalno" ("Show Tabs Vertically"). Če možnost ni privzeto na voljo, jo je mogoče aktivirati preko nastavitve "chrome://flags/#vertical-tabs".
- Preurejen je bil način branja (reading mode), v katerem se prikazuje samo pomemben besedilo strani, medtem ko se skrijejo vsi spremljajoči upravljalni elementi, bannere, meniji, navigacijske vrstice in druge nenavadne dele strani. V novi različici se pomembna vsebina prikazuje v celotnem vidnem prostoru, ne kot prej v ozkem stranskem oknu poleg izvorne strani, podobno kot pri Firefoxu. Če se nov način ne uporablja privzeto, ga je mogoče aktivirati preko nastavitve "chrome://flags/#read-anything-immersive-reading-mode".
- V meniju "Pomoč" je dodan gumb za pošiljanje pritožbe za dodajanje na seznam blokiranih spletnih strani, ki so bile zasnovane za goljufije ali phishing. Gumb se prikaže pri vklopljenem načinu "Varno brskanje".
- Razširjena so sredstva zaščite pred dostopom do lokalnega sistema pri interakciji z javnimi spletnimi stranmi. Dostopi s strani spletnih strani do IP-naslovov Delo v lokalni mreži (intranet ali notranje naslove) ali na loopback vmesniku (127.0.0.0/8) bo zahtevalo potrditev operacije s strani uporabnika. Pod zaščito zakona sedaj spadajo ne le poskusi nalaganja virov preko HTTP/HTTPS, poizvedbe fetch() in iframe-vstavki, temveč tudi vzpostavitve povezav preko WebSockets in WebTransport, pa tudi fetch-poizvedbe, ki jih sproži metoda WindowClient.navigate(). Dostop do notranjih virov se uporablja zlonamernimi uporabniki za posredno identifikacijo in izvajanje CSRF napadov na usmerjevalnike, dostopne točke, tiskalnike, korporativne spletne vmesnike in druge naprave in storitve, ki sprejemajo poizvedbe le iz lokalne mreže.
- Funkcionalnost za obdelavo XML je bila prenesena iz libxml2 na novo knjižnico, napisano v jeziku Rust, s poudarkom na zagotavljanju varnosti. Ta sprememba se nanaša le na XML, kot je bilo prej napovedano, podpora za XSLT bo kmalu prenehala.
- Omogočena je uporaba metode startViewTransition() ne le za celotno stran, temveč tudi za posamezne HTML-elemente.
- Dodana je CSS-funkcija contrast-color(), ki vrne nasprotno različico za navedeno barvo (za belo vrne črno, za črno pa belo). Funkcijo je mogoče uporabiti za izbiro barve ozadja za določeno barvo besedila in obratno.
- Dodana je CSS lastnost 'border-shape', ki omogoča ustvarjanje nepravilne obrobe elementov, na primer, za uporabo okvirjev okrogle ali mnogokotne oblike. CSS lastnost 'border-shape' sprejema iste vrste oblik kot lastnost 'clip-path', vendar za razliko od slednje določa obris, ga dekodira in odreže vsebino, ki presega obris.
- Dodano je vmesnik CSSPseudoElement, ki omogoča delo s psevdoelementi CSS iz JavaScript-a.
- V elementu link je bila omogočena uporaba atributa 'rel=modulepreload' za predobremenitev ne le skript, temveč tudi modulov s CSS slogi () in podatki JSON (<link rel="modulepreload" as="json" href="...").
- Spremenjeno je obnašanje pri izračunu širine okvirjev in obrob v CSS-lastnostih border-width, outline-width in column-rule-width, ki je poenoteno z brskalnikom Firefox in brskalniki na osnovi WebKit. Širina v navedenih lastnostih se je doslej ničelila, ne glede na dodeljene vrednosti, če so imele lastnosti border-style, outline-style ali column-rule-style vrednost „none“ ali „hidden“. Zdaj vrednosti order-width, outline-width in column-rule-width vedno nastavijo vrednosti, ki jih določi razvijalec, ne glede na vsebino lastnosti „*-style“.
- Dodana je bila metoda Math.sumPrecise() za izračun vsote elementov seznamov in drugih naštevanih objektov z natančnostjo, ki presega natančnost običajnega seštevanja v zanki (izključuje izgubo natančnosti pri vmesnem shranjevanju rezultatov).
- Dodana je bila lastnost Request.isReloadNavigation, ki omogoča določitev, ali je bila stran ponovno naložena, na primer po pritisku na gumb „Osveži“ ali klicu metod location.reload() in history.go(0).
- Za zmanjšanje natančnosti posredne identifikacije je bila spremenjena logika za zaokroževanje velikosti pomnilnika, ki jo vrne API Device Memory in omogoča pridobitev informacij o velikosti RAM-a. Te informacije so lahko koristne za ustvarjanje lahkih različic web-aplikacij, ki se naložijo na naprave z malo RAM-a, ali za aktiviranje razširjenih funkcij, ko je na voljo velika količina pomnilnika. V različicah za platformo Android se zdaj velikost pomnilnika zaokroži na 1, 2, 4 in 8, za druge platforme pa na 2, 4, 8, 16 in 32.
- Za izolirane spletne aplikacije (IWA — Isolated Web Apps) je bil uveden API Web Printing, ki zagotavlja metode za določanje prisotnosti tiskalnikov, pošiljanje dokumentov v tisk in upravljanje s tiskalno čakalno vrsto. Imena atributov in semantika, ki se uporabljata v API-ju, ustrezata protokolu IPP (Internet Printing Protocol).
- V načinu „Origin trials“ je bil uveden API WebNN, ki omogoča uporabo storitev, ki jih zagotavlja operacijski sistem za strojno učenje, in povezane strojne zmožnosti.
- Vgrajeni so bili izboljšani pripomočki za spletne razvijalce. V vgrajenem AI-asistentu je implementirano samodejno izbiro konteksta. Posodobljena je bila plošča „Device Mode“, ki se uporablja za testiranje delovanja spletne strani na različnih mobilnih napravah. V plošči Network je omogočeno samodejno dekodiranje stisnjenega vsebine zahtevkov, poslanih z naslovom Content-Encoding: gzip ali deflate. Na voljo je možnost uporabe regularnih izrazov za filtriranje CSS-slogov.
Poleg novosti in popravkov napak nove različice je bilo odpravljeno 60 ranljivosti. Mnoge od ranljivosti so bile odkrite kot rezultat avtomatiziranega testiranja z orodji AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer in AFL. Dvema težavam (prelivanje pomnilnika in celoštevilsko prelivanje v WebML) je bila dodeljena kritična raven nevarnosti, kar pomeni, da ranljivosti omogočajo obhod vseh ravni zaščite brskalnika in izvajanje kode v sistemu izven sandbox okolja. V okviru programa nagrad za odkrivanje ranljivosti je podjetje Google za trenutno različico dodelilo 60 nagrad in izplačalo 118 tisoč USD (dve nagradi po 43000 USD, dve nagradi po 11000 USD in po ena nagrada v višini 4000, 3000, 2000 in 1000 USD. Višina 52 nagrad še ni določena.
Izvor: opennet.ru
