Tvrtka Google objavila je izdanja web preglednika Chrome 147. Istovremeno je dostupno stabilno izdanje slobodnog projekta Chromium, koji čini osnovu Chromea. Preglednik Chrome se razlikuje od Chromiuma korištenjem Googleovih logotipa, sustavom za slanje obavijesti u slučaju pada, modulima za reprodukciju zaštićenog od kopiranja video sadržaja (DRM), sustavom automatskog instaliranja ažuriranja, stalnim uključivanjem Sandbox izolacije, opskrbom ključevima za Google API i prijenosom RLZ parametara tijekom pretraživanja. Za one koji trebaju više vremena za ažuriranje, podržava se zasebna grana Extended Stable, koja traje 8 tjedana. Sljedeće izdanje Chromea 148 planirano je za 5. svibnja.
Glavne promjene u Chromeu 147 (1, 2, 3, 4):
- Dodana je opcija vertikalnog prikaza kartica, koja zamjenjuje gornju horizontalnu traku s gumbima kartica vertikalnom bočnom trakom. Vertikalne kartice mogu se prikazivati u raširenom (ikona + dio opisa) i skraćenom načinu (samo ikone). Kada se kursor miša pomakne na bočnu karticu, prikazuje se sličica njenog sadržaja. Upravljanje grupama kartica je pojednostavljeno. U kontekstni izbornik, koji se pojavljuje kada desnom tipkom miša kliknete na traku s karticama, dodana je opcija „Prikaži kartice vertikalno” („Show Tabs Vertically”). Ako opcija nije automatski dostupna, može se aktivirati putem postavke „chrome://flags/#vertical-tabs”.
- Režim čitanja (reading mode) je redizajniran, pri čemu se prikazuje samo značajan tekst stranice, dok se svi pomoćni upravljački elementi, banneri, izbornici, navigacijske trake i druge dijelove stranice koji nisu povezani s sadržajem skrivaju. U novoj verziji, slično Firefoxu, značajni sadržaj se prikazuje u cijelom vidljivom području, a ne kao ranije u uskom bočnom prozoru pored izvorne stranice. Ako novi način nije primijenjen prema zadanim postavkama, može se aktivirati putem postavke „chrome://flags/#read-anything-immersive-reading-mode”.
- U izbornik „Pomoć” dodana je tipka za slanje pritužbe za dodavanje na popis blokiranja web stranica, koje su stvorene za prijevaru ili phishing. Tipka se prikazuje kada je uključen način „Sigurno pretraživanje”.
- Proširena su sredstva zaštite od pristupa lokalnom sustavu tijekom interakcije s javnim web stranicama. Pristupi s web stranica na IP adrese Povezivanje s lokalnom mrežom (intranet ili unutarnje adrese) ili loopback sučeljem (127.0.0.0/8) zahtijevat će potvrdu akcije od korisnika. Pod zaštitu sada spadaju ne samo pokušaji preuzimanja resursa putem HTTP/HTTPS, fetch() zahtjevi i iframe umetanja, već i uspostava veza putem WebSockets i WebTransporta, kao i fetch zahtjevi inicirani putem metode WindowClient.navigate(). Pristup unutarnjim resursima koriste napadači za neizravnu identifikaciju i provođenje CSRF napada na usmjerivače, pristupne točke, pisače, korporativne web sučelja i druge uređaje i usluge koje primaju zahtjeve isključivo iz lokalne mreže.
- Funkcionalnost za analizu XML-a je prenesena s libxml2 na novu biblioteku napwrittenu u programskom jeziku Rust s naglaskom na sigurnost. Promjena se odnosi samo na XML, kako je ranije objavljeno, podrška za XSLT uskoro će biti ukinuta.
- Implementirana je mogućnost primjene metode startViewTransition() ne samo za cijelu stranicu, već i za pojedine HTML elemente.
- Dodana je CSS funkcija contrast-color(), koja vraća suprotstavljenu verziju za određenu boju (za bijelu će vratiti crnu, a za crnu - bijelu). Funkciju se može koristiti za odabir boje pozadine za određenu boju teksta i obrnuto.
- Dodana je CSS svojstvo „border-shape“, koje omogućuje stvaranje nepravokutnog okvira oko elemenata, na primjer, korištenje okvira u obliku kruga ili mnogouglova. CSS svojstvo „border-shape“ prihvaća iste oblike kao i svojstvo „clip-path“, ali za razliku od potonjeg određuje konturu, dekodira je i odsijeca sadržaj koji izlazi izvan konture.
- Dodano je sučelje CSSPseudoElement, koje omogućava rad s pseudoelementima CSS-a iz JavaScript-a.
- U elementu link implementirana je mogućnost primjene atributa „rel=modulepreload“ za unaprijed preuzimanje ne samo skripti, već i modula s CSS stilovima () i JSON podacima ().
- Promijenjeno je ponašanje prilikom izračuna širine okvira i kontura u CSS svojstvima border-width, outline-width i column-rule-width, koje je usklađeno s Firefox-om i preglednicima na WebKit motoru. Do sada je širina u navedenim svojstvima bila postavljena na nulu, bez obzira na postavljene vrijednosti, ako su svojstva border-style, outline-style ili column-rule-style imala vrijednost „none“ ili „hidden“. Sada vrijednosti order-width, outline-width i column-rule-width uvijek postavljaju vrijednosti koje je odredio programer, bez obzira na sadržaj svojstava „*-style“.
- Dodana je metoda Math.sumPrecise() za izračunavanje zbroja elemenata nizova i drugih enumerabilnih objekata s preciznošću koja premašuje preciznost običnog zbrajanja u petlji (isključeni su gubici preciznosti prilikom privremenog čuvanja rezultata).
- Dodana je atributa Request.isReloadNavigation, koja omogućava da se utvrdi je li stranica ponovno učitana, primjerice nakon pritiska na gumb „Refresh“ ili pozivanja metoda location.reload() i history.go(0).
- Kako bi se smanjila preciznost neizravne identifikacije, promijenjena je logika zaokruživanja veličine memorije, vraćene putem API-ja Device Memory, što omogućava pristup informacijama o veličini radne memorije. Ove informacije mogu biti korisne za izradu laganih varijanti web-aplikacija koje se preuzimaju za uređaje s malim RAM-om ili za aktiviranje proširenih mogućnosti u prisustvu velike količine memorije. U izdanjima za Android platformu, veličina memorije sada se zaokružuje na 1, 2, 4 i 8, dok se za druge platforme zaokružuje na 2, 4, 8, 16 i 32.
- Za izolirane web-aplikacije (IWA - Isolated Web Apps) implementiran je API Web Printing, koji pruža metode za određivanje dostupnosti pisača, slanje dokumenata na ispis i upravljanje redom ispisa. Imena atributa i semantika korišteni u API-ju su u skladu s protokolom IPP (Internet Printing Protocol).
- U režimu „Origin trials“ implementiran je API WebNN, koji omogućava korištenje usluga koje pruža operativni sustav za strojno učenje i povezanih hardverskih mogućnosti.
- Uvedene su poboljšanja alata za web razvoj. U ugrađenom AI asistentu implementirano je automatsko biranje konteksta. Modernizirana je ploča «Device Mode» koja se koristi za testiranje rada web stranice na različitim mobilnim uređajima. Na ploči Network omogućeno je automatsko dekodiranje komprimiranih sadržaja zahtjeva poslanih s naslovom Content-Encoding: gzip ili deflate. Omogućeno je korištenje regularnih izraza za filtriranje CSS stilova.
Osim novih funkcionalnosti i ispravaka grešaka, nova verzija rješava 60 ranjivosti. Mnoge od ranjivosti otkrivene su putem automatiziranog testiranja alatima AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Dvije ranjivosti (prelijevanje bafera i cijelobrojno prelijevanje u WebML) dobile su kritičnu razinu opasnosti, što znači da ranjivosti omogućuju zaobilaženje svih razina zaštite preglednika i izvršavanje koda izvan sandbox okruženja. U okviru programa nagrađivanja za otkrivanje ranjivosti za trenutnu verziju, Google je dodijelio 60 nagrada i isplatio 118 tisuća dolara (dvije nagrade od 43000 dolara, dvije nagrade od 11000 dolara i po jedna nagrada od 4000, 3000, 2000 i 1000 dolara. Iznos 52 nagrade još uvijek nije utvrđen.
Izvor: opennet.ru
