Tvrtka Google objavila je izdanje web preglednika Chrome 126. Istovremeno je dostupan stabilni izdanak slobodnog projekta Chromium, koji je osnova za Chrome. Preglednik Chrome se razlikuje od Chromiuma po korištenju Googleovih logotipa, prisutnosti sustava za slanje obavijesti u slučaju pada, modulima za reprodukciju zaštićenog video sadržaja (DRM), sustavu automatske instalacije ažuriranja, stalnom uključivanju Sandbox izolacije, opskrbi ključevima za Google API i prijenosu RLZ parametara tijekom pretraživanja. Za one koji trebaju više vremena za ažuriranje, posebno se održava grana Extended Stable, koja traje 8 tjedana. Sljedeće izdanje Chrome 127 zakazano je za 23. srpnja.
Glavne promjene u Chrome 126:
- U ugrađeni PDF preglednik integrirana je mogućnost izdvajanja teksta iz dokumenta, koja se poziva putem opcije 'Izdvoj tekst iz PDF-a' u kontekstnom izborniku. Za izdvajanje teksta iz skeniranih dokumenata, gdje je tekst umetnut kao slika, koristi se mehanizam optičkog prepoznavanja znakova (OCR) temeljen na sustavu strojno učenje. Očekuje se da će nova funkcija pojednostaviti rad s PDF dokumentima osobama s problemima vida koje koriste čitače ekrana. U budućnosti se planira implementirati prepoznavanje teksta na slikama prikazanim na stranicama i na snimkama zaslona. OCR motor je uključен po defaultu za 50% korisnika, a ostali ga mogu aktivirati putem postavke 'chrome://flags/#pdf-ocr'.

- Na stranicu konfiguratora s parametrima performansi
('Performanse/Štednja memorije' u odjeljku chrome://settings/performance) dodana je mogućnost podešavanja razine agresivnosti primjene režima štednje memorije (Memory Saver), koji smanjuje potrošnju radne memorije oslobađanjem memorije koju zauzimaju neaktivne kartice. Na primjer, pri odabiru umjerene razine, preglednik će iz memorije isključiti manje kartica nego pri postavljanju maksimalne. Postavku koja je po defaultu dostupna samo dijelu korisnika, moguće je aktivirati putem parametra 'chrome://flags/#memory-saver-aggressiveness'.
- Za neke korisnike u PDF pregledniku po defaultu je aktivirana nova OOPIF arhitektura (out-of-process iframe), pri čemu se sadržaj dokumenta obrađuje u zasebnom procesu. Nova arhitektura se oslobodila složenosti koja je karakteristična za implementaciju na bazi GuestView mehanizma i olakšava dodavanje novih funkcionalnosti u PDF preglednik. Za uključivanje nove arhitekture može se koristiti postavka „chrome://flags/#pdf-oopif“.
- Dodana je opcija reaktivnog prethodnog učitavanja (Reactive prefetch), koja učitava resurse povezane s stranicom tokom navigacije, ne čekajući da budu zapravo zatraženi, što omogućava brže otvaranje novih stranica. Za predviđanje resursa koji bi mogli zatrebati u budućnosti korištena je vanjska usluga Google, koja vraća popis preporuka nakon slanja URL-a stranica koje se pregledavaju.
- Dodana je mogućnost pretraživanja putem usluge Google Lens za bilo koje slike i tekstove vidljive na ekranu. Ova opcija se aktivira kroz kontekstni izbornik, indikator u adresnoj traci ili izbornik „⋮“, nakon čega korisnik može označiti interesantni objekt na ekranu i dobiti informacije o njemu iz Google Lens. Tokom operacije na server Google se šalje
screenshot. Ova funkcija je trenutno aktivirana po defaultu za 1% korisnika. Za uključivanje i isključivanje podrške za Google Lens može se koristiti parametar „chrome://flags/#enable-lens-region-search-static-page“. - Sažeti su rezultati optimizacija za ubrzanje prolaza kroz Speedometer 3 test — u posljednje dvije godine performanse Chrome-a u ovom testu povećane su za 72%. Na primjer, ubrzana je funkcija SpaceSplitString, koja se koristi prilikom parsiranja izraza poput „class=’foo bar'“, optimizirane su funkcije za rad s memorijom, uklonjene su nepotrebne operacije pri radu s elementima web formi i ubrzane najčešće korištene radnje, optimizirana je upotreba innerHTML, ubrzana je renderiranje fontova. Ubrzanja su također postignuta optimizacijom sakupljača smeća u V8 engine-u, čija efikasnost je poboljšana aktivacijom sakupljanja smeća tokom zastoja procesa renderiranja, kako ne bi konkurirao aplikaciji za CPU resurse.

- Značajno je poboljšana učinkovitost rada s kolačićima, što je smanjilo kašnjenja prilikom rada s web stranicama. Ranije je prilikom svakog pristupa kolačićima iz procesa koji obrađuje web stranicu odlazio sinkroni IPC zahtjev u proces koji osigurava mrežnu interakciju. S obzirom na to da se u web aplikacijama aktivno koriste vrijednosti iz kolačića, takvi su zahtjevi između procesa usporavali rad, s obzirom da je 87% zahtjeva prema drugom procesu bilo suvišno.
Za rješavanje problema implementirana je nova arhitektura, pri kojoj svaki proces sadrži svoju kopiju podataka kolačića i izravno joj pristupa, dok se promjene u kolačićima, koje se mogu dogoditi na primjer kada se koriste isti kolačići u drugoj kartici, prate putem mehanizma verzioniranja. Bit ovog mehanizma je da se svakom vrijednosti
document.cookie pridružuje brojač verzije koji se pohranjuje u zajedničkoj memoriji, povećava se pri promjeni vrijednosti i uspoređuje s postojećim primjerkom prilikom čitanja.
- Dodana je mogućnost korištenja API-ja View Transitions za stvaranje prijelaznih animacijskih efekata prelaska s jedne stranice na drugu unutar iste web stranice (iste domene). Ranije se ovaj API mogao koristiti samo za efekte između različitih stanja DOM-a na jednoj stranici (na primjer, glatki prijelaz od jedne slike do druge). Za primjenu efekata prijelaza između različitih dokumenata trebate koristiti svojstvo 'navigation: auto' u @-pravilu 'view-transition'.
- Omogućen je API CloseWatcher koji omogućuje praćenje Close zahtjeva u web aplikacijama i reagiranje na njihovo dolazak (na primjer, možete izraditi handler za pritisak gumba 'nazad' na Android pametnom telefonu).
Close zahtjevi se generiraju prilikom pokušaja zatvaranja modalnih (<dialog>) i iskačućih dijaloga (popover='') pritiskom tipke Esc, korištenjem gumba 'Nazad' ili geste na ekranu na pametnim telefonima. - U API-ju Gamepad, koji omogućuje praćenje i obradu događaja s gamepadova i kontrolera igara, dodana je podrška za mehanizme povratne informacije (trigger-rumble), na primjer, vibracije.
- U sučelja GeolocationCoordinates i GeolocationPosition dodana je metoda .toJSON() za serijalizaciju objekata s koordinatama u JSON formatu.
- U verziji za ChromeOS dodana je podrška za prikaz Tabova (CSS svojstvo „display: tabbed“), što omogućava korištenje tabova unutar jedne web-aplikacije, na primjer, za organiziranje uređivanja više dokumenata.
- Dodana je eksperimentalna mogućnost (origin trial) pregleda sadržaja s kamere ili mikrofona.
- U API-ju WebGPU značajno je ubrzana kompilacija šejdera. U backendu za grafički API Vulkan optimizirano je učitavanje podataka u GPU (omogućeno je direktno zapisivanje u GPU bafer bez međukopiranja).
- Unaprijeđeni su alati za web-razvoj. U odjeljku ‚Application > Storage‘ dodana je mogućnost inspekcije podataka spremljenih korištenjem API-ja Storage Buckets, što omogućava organizaciju pohrane podataka razdvajanjem skladišta u odvojene segmente, povezane s API-jem IndexedDB i CacheStorage. U panelu za procjenu performansi dodana je opcija pomicanja i skrivanja tragova, kao i isključenje informacija o izvođenju skripti iz grafikona performansi te uključivanje načina umjetnog usporavanja performansi sustava za 20 puta.

U panelu za praćenje mrežne aktivnosti dodana je podrška za zamjenu primljenog odgovora s punim nizom HTTP zaglavlja u formatu „ime: vrijednost“. U panel za praćenje potrošnje memorije dodani su filtri za otkrivanje neučinkovitog korištenja memorije, na primjer, prisutnost duplikata nizova ili ostavljanje objekata povezanih s odvojenim DOM čvorovima.

Osim inovacija i ispravki grešaka, nova verzija riješila je 21 ranjivost. Brojne ranjivosti otkrivene su automatiziranim testiranjem alatima AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. 9 problema dobilo je visoku ocjenu opasnosti. Nisu pronađeni kritični problemi koji omogućuju zaobilaženje svih razina zaštite preglednika i izvršavanje koda u sustavu izvan sandbox okruženja. U okviru programa za isplatu nagrada za otkrivanje ranjivosti, kompanija Google isplatila je 11 nagrada u ukupnom iznosu od više od 168 tisuća američkih dolara.
Za ranjivost CVE-2024-5839, vezanu za problem u implementaciji mehanizma za alokaciju memorije, isplaćena je rekordna nagrada u iznosu od 100115 dolara. Ova ranjivost je ocijenjena kao srednji nivo opasnosti, iako potencijalno omogućuje oštećenje memorije u hrpi prilikom obrade specijalno oblikovanog HTML sadržaja. Osim toga, isplaćena je po jedna nagrada od 25000, 7000, 3000, 2000, 1000 i 500 dolara, kao i po dve nagrade od 10000 i 5000 dolara. Iznos 7 nagrada još nije utvrđen.
Izvor: opennet.ru






