Tvrtka Google objavila je izdanja web preglednika Chrome 124. Istovremeno je dostupan stabilni izlaz slobodnog projekta Chromium, koji čini osnovu Chromea. Preglednik Chrome razlikuje se od Chromiuma po korištenju Googleovih logotipa, sustavu slanja obavijesti u slučaju rušenja, modulima za reprodukciju zaštićenog video sadržaja (DRM), sustavu automatske instalacije ažuriranja, stalnom uključivanju Sandbox izolacije, isporuci ključeva za Google API i prijenosu RLZ parametara tijekom pretraživanja. Za one kojima je potrebno više vremena za ažuriranje, posebno se podržava grana Extended Stable, koja se prati 8 tjedana. Sljedeće izdanje Chrome 125 planirano je za 14. svibnja.
Glavne promjene u Chrome 124:
- U verziji za Android platformu, u upravitelju oznaka uvedena je podrška za spremanje oznaka i popisa za odlaganje na poslužiteljima Google vezano uz korisnički račun.
- U Chromeu za Android implementirana je nova metoda pohrane lokalnih lozinki koje se ne sinkroniziraju s drugim uređajima. Ranije su lokalne lozinke bile pohranjene u profilu Chromea, a sada će se nalaziti u spremištu lozinki koje pružaju usluge Google Playa, a koje se već koristi za pohranu lozinke za Google račun.
- U izdanjima za Windows, macOS i Linux, TLS po defaultu uključuje podršku za mehanizam inkapsulacije ključeva (KEM, Key Encapsulation Mechanism), koji koristi hibridni algoritam X25519Kyber768, otporan na napade kvantnih računala. X25519Kyber768 predstavlja kombinaciju mehanizma razmjene ključeva X25519, temeljenog na eliptičnim krivuljama i sada se koristi u TLS-u, s algoritmom Kyber-768, koji koristi metode kriptografije temeljen na rješavanju problema teorije rešetki, čije vrijeme rješavanja se ne razlikuje na običnim i kvantnim računalima.
- Prilikom ispisivanja teksta bibliotekom Skia uzeti su u obzir postavke kontrasta i boje u sustavu Windows za tehnologiju za glađenje teksta ClearType, koja značajno poboljšava kvalitetu prikaza fontova na tekućim kristalnim monitorima. U izdanjima za Linux drastično su se promijenili fontovi koji se koriste u sučelju.

- Omogućena je instalacija bilo koje web stranice kao samostalne PWA aplikacije (Progressive Web Apps), čak i ako ta stranica ne ispunjava PWA kriterije.
- Prema zahtjevima europskog zakona DMA (Digital Markets Act), omogućeno je prikazivanje dijaloga za odabir tražilice koja će se koristiti kao zadana. Na izbor su dostupne tražilice koje se nalaze u odjeljku postavki «chrome://settings/search». Tražilice na popisu se prikazuju nasumičnim redoslijedom. U Chromeu 120 ovaj dijalog je testiran na 1% korisnika, a sada je aktiviran za sve.

- Implementirano je prikazivanje korisničkog zahtjeva za davanje dozvola kada web-aplikacija pristupa API-ju Web MIDI, koji omogućuje interakciju s glazbenim uređajima povezanima s računalom putem MIDI sučelja. Ranije su se zahtjevi za dozvolama prikazivali samo prilikom slanja ili primanja SysEx poruka, a sada će se prikazivati pri svakom pristupu API-ju Web MIDI. Kao razlog promjene navode se situacije kada slučajne web-stranice preuzimaju ekskluzivnu kontrolu nad MIDI kontrolerom, onemogućavajući rad s njim drugim aplikacijama. Također se spominju sigurnosni problemi, budući da API Web MIDI omogućuje potpunu kontrolu nad MIDI uređajem, uključujući instalaciju vlastitih firmvera.
- Potpuno je obustavljena podrška za API Web SQL, koji nije standardiziran, gotovo se ne koristi i zahtijeva preradu kako bi se uskladio s modernim sigurnosnim zahtjevima. Web SQL je bio onemogućen prema zadanim postavkama počevši od Chromea 119, ali je bila dostupna opcija za njegovo vraćanje. Sada je ta opcija uklonjena. Za programere kojima je potrebna slična funkcionalnost, preporučuje se korištenje verzije biblioteke SQLite, kompajlirane u WebAssembly prikaz.
- Dodana je mogućnost upravljanja smjerom pisanja teksta, koji se prikazuje vertikalno u elementima web-formi (select, meter, progress, button, textarea i input) kada se odabere vertikalna orijentacija putem CSS svojstva writing-mode. Za ispis teksta od vrha prema dnu sada se može koristiti svojstvo elementa form «ltr», a od dna prema vrhu — «rtl».
- U API User-Agent Client Hints, razvijenom kao zamjena za zaglavlje User-Agent, dodana je podrška za parametar Sec-CH-UA-Form-Factors, putem kojeg klijent može obavijestiti server o formatu uređaja korisnika (Desktop, Automotive, Mobile, XR, EInk i Watch). User-Agent Client Hints omogućava selektivno pružanje podataka o specifičnim parametrima preglednika i sustava (verzija, platforma itd.) tek nakon zahtjeva. serverom. Korisnik, s druge strane, može odrediti koje informacije može pružiti vlasnicima web stranica. Kada se koristi User-Agent Client Hints, identifikator preglednika ne prenosi se bez eksplicitnog zahtjeva, a prema zadanim postavkama navode se samo osnovni parametri, što otežava pasivnu identifikaciju.
- Dodana je mogućnost upravljanja kloniranjem pojedinačnih korijena u Shadow DOM-u, provedenim putem komandi poput cloneNode(). Mogućnost kloniranja korijenskih grana DOM-a uključuje se pomoću parametra clonable („attachShadow({clonable:true})”) ili atributa „shadowrootclonable” (<template shadowrootmode=open shadowrootclonable>).

- Dodane su nove metode setHTMLUnsafe() i parseHTMLUnsafe() za korištenje sintakse Shadow DOM-a iz JavaScripta. Metode setHTMLUnsafe() i parseHTMLUnsafe() po analogiji s innerHTML i DOMParser.parseFromString() omogućavaju umetanje u element ili razdvajanje sadržaja u HTML formatu, ali se razlikuju po podršci za obradu template elemenata s atributom shadowrootmode.
- Dodana je podrška za API WebSocket Stream, koji omogućava prijenos podataka između preglednika i servera u stream režimu bez korištenja polling-a, što je optimalno za prijenos i prijem kontinuiranih podataka, na primjer, u implementaciji chata. const wss = new WebSocketStream(WSS_URL); const {readable, writable} = await wss.opened; const reader = readable.getReader(); const writer = writable.getWriter(); while (true) { const {value, done} = await reader.read(); if (done) { break; } const result = await process(value); await writer.write(result); }
- Proširene su mogućnosti API-a View Transitions, koji pojednostavljuje kreiranje animacijskih efekata prijelaza između različitih stanja DOM-a (na primjer, glatki prijelaz s jednog slike na drugu). U novoj verziji dodana je podrška za događaj „pageswap”, koji se generira za objekt „window” kada se prilikom navigacije povezani objekt „document” zamijeni novim. Također je dodano svojstvo „render-blocking”, koje omogućava blokiranje prikazivanja dokumenta do završetka obrade važnog sadržaja.
- Dodana je opcija disallowReturnToOpener koja se prenosi prilikom pozivanja metode requestWindow, a koja omogućuje uklanjanje dugmeta "nazad" u prozoru otvorenom u režimu "slika u slici", onemogućujući povratak na karticu iz koje je prozor otvoren.
- Dodana je mogućnost dodjeljivanja CSSImportRule.styleSheet atributu vrijednosti NULL kako bi se označilo da nema povezanih stilskih tabela. Dodan je atribut CSSKeyframesRule.length koji označava broj indeksiranih svojstava.
- Za uređivane prozore implementiran je atribut "writingsuggestions" za upravljanje prikazom preporuka tijekom unosa.
- U API WebGPU dodana je podrška za ServiceWorker i SharedWorker.
- Dodana je podrška za HTTP zaglavlje 'Priority', putem kojeg se mogu prenijeti informacije o prioritetu obrade zahtjeva (RFC 9218) u fazi prvog pristupa resursu.
- Unaprijeđeni su alati za web programere. Dodana je nova kartica Autofill za inspekciju informacija korištenih prilikom automatskog popunjavanja obrazaca.

U inspekcijskoj kartici CSS stilova poboljšana je podrška za ugniježdene stilove. U kartici za mjerenje performansi dodana je mogućnost skrivenja suvišnih funkcija i povezanih podpoziva radi smanjenja nivoa šuma na grafu. U kartici za debugiranje animacija dodana je podrška za animaciju vezanu uz pomicanje sadržaja (Scroll-driven Animation). U inspekcijskoj kartici mreže implementirana je mogućnost postavljanja parametara gubitka paketa i veličine mrežne prepreke za testiranje rada WebRTC aplikacija u uvjetima mrežnih problema.

Osim novih značajki i ispravaka grešaka, nova verzija ispravlja 22 ranjivosti. Mnoge od ranjivosti otkrivene su automatiziranim testiranjem alatima AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nisu otkrivene kritične probleme koje bi omogućile zaobilaženje svih nivoa zaštite preglednika i izvršavanje koda izvan sandbox okruženja. U okviru programa za isplatu novčanih nagrada za otkrivanje ranjivosti, kompanija Google je isplatila 13 nagrada u iznosu od 65 tisuća američkih dolara (jedna nagrada od 20000, 10000, 7000 i 2000 dolara, tri nagrade od 5000 i 3000 dolara, te dvije nagrade od 1000 dolara). Iznos jedne nagrade još nije određen.
Izvor: opennet.ru





