Podjetje Google je objavilo izdajo spletnega brskalnika Chrome 124. Hkrati je na voljo stabilna različica prostega projekta Chromium, ki služi kot osnova za Chrome. Brskalnik Chrome se od Chromi uma razlikuje po uporabi logotipov Google, prisotnosti sistema za pošiljanje obvestil v primeru zrušitve, modulih za predvajanje zaščitenih videovsebnikov (DRM), sistemu samodejne namestitve posodobitev, neprekinjenem vključevanju Sandbox-izolacije, dostavi ključev do Google API in prenosu RLZ-parametrov pri iskanju. Za tiste, ki potrebujejo več časa za posodobitev, je posebej podprta različica Extended Stable, ki traja 8 tednov. Naslednja izdaja Chrome 125 je načrtovana za 14. maj.
Glavne spremembe v Chrome 124:
- V različici za platformo Android je v upravitelju zaznamkov dodana podpora za shranjevanje zaznamkov in seznamov za branje na serverima Google, povezana z uporabniškim računom.
- V Chrome za Android je bil uporabljen nov način shranjevanja lokalnih gesel, ki niso sinhronizirana z drugimi napravami. Prej so bila lokalna gesla shranjena v profilu Chrome, zdaj pa bodo shranjena v skladišču gesel, ki ga zagotavljajo storitve Google Play, in se že uporablja za shranjevanje gesla do uporabniškega računa Google.
- V gradnjah za Windows, macOS in Linux je privzeto v TLS omogočena podpora mehanizmu kapsulacije ključev (KEM, Key Encapsulation Mechanism), ki uporablja hibridni algoritem X25519Kyber768, odporen na dešifriranje s kvantnimi računalniki. X25519Kyber768 je kombinacija mehanizma izmenjave ključev X25519, ki temelji na elliptic curves in se trenutno uporablja v TLS, z algoritmom Kyber-768, ki uporablja metode kriptografije, katerih rešitev temelji na težavah teorije mrež, čas reševanja katerih se ne razlikuje na običajnih in kvantnih računalnikih.
- Pri risanju besedila z knjižnico Skia so upoštevane nastavitve kontrasta in barve, določene v Windows, za tehnologijo antialiasinga ClearType, ki omogoča opazno izboljšanje kakovosti prikaza pisav na tekočih kristalnih monitorjih. V gradnjah za Linux so se bistveno spremenile pisave, uporabljene v vmesniku.

- Na voljo je možnost namestitve katere koli spletne strani kot samostojne PWA-aplikacije (Progressive Web Apps), tudi če ta stran ne izpolnjuje meril PWA.
- V skladu z zahtevami evropskega zakona DMA (Digital Markets Act) je omogočen prikaz pogovornega okna za izbiro iskalnika, ki bo uporabljen privzeto. Na voljo so iskalniki, ki jih najdete v razdelku nastavitve 'chrome://settings/search'. Iskalniki v seznamu so predstavljeni v naključnem vrstnem redu. V Chromu 120 je bil ta dialog testiran pri 1% uporabnikov, zdaj pa je aktiviran za vse.

- Uveden je bil prikaz zahteve uporabnikov za podelitev pooblastil, ko se spletna aplikacija poveže z API-jem Web MIDI, ki omogoča interakcijo s povezanimi MIDI glasbenimi napravami. Prej so bile zahteve za pooblastila prikazane le pri pošiljanju ali prejemanju SysEx sporočil, zdaj pa se bodo prikazovale ob vsakem pozivu API-ju Web MIDI. Kot razlog za spremembo so omenjene situacije, ko naključne spletne strani prevzamejo izključno nadzor nad MIDI krmilnikom, kar onemogoča njegovo uporabo v drugih aplikacijah. Omenjene so tudi težave z varnostjo, saj API Web MIDI omogoča polno upravljanje z MIDI napravo, vključno z namestitvijo lastnih programske opreme.
- Podpora za API Web SQL je bila popolnoma ukinjena, saj ta ni standardiziran, skorajda ni uporabljen in zahteva predelavo za skladnost z modernimi varnostnimi zahtevami. Web SQL je bil privzeto onemogočen od Chrom 119 naprej, vendar je bila omogočena nastavitev za njegovo ponovno aktivacijo. Zdaj je bila ta nastavitev odstranjena. Razvijalcem, ki potrebujejo tovrstno funkcionalnost, se priporoča uporaba različice knjižnice SQLite, skompilirane v WebAssembly.
- Dodana je možnost nadzora smeri pisanja besedila, ki se prikazuje navpično v elementih spletnih obrazcev (select, meter, progress, button, textarea in input) ob izbiri navpične usmeritve prek CSS lastnosti writing-mode. Za prikaz besedila od zgoraj navzdol je zdaj mogoče uporabiti lastnost elementov obrazca 'ltr', od spodaj navzgor pa 'rtl'.
- V API User-Agent Client Hints, ki se razvija kot zamenjava za glavo User-Agent, je bila dodana podpora za parameter Sec-CH-UA-Form-Factors, preko katerega lahko stranka obvesti strežnik o obliki naprave uporabnika (Namizje, Avtomobilski, Mobilni, XR, EInk in Ura). User-Agent Client Hints omogoča selektivno posredovanje podatkov o specifičnih lastnostih brskalnika in sistema (različica, platforma itd.) le po zahtevi. serveromUporabnik lahko določi, katere informacije lahko posreduje lastnikom spletnih mest. Ko se uporablja User-Agent Client Hints, se identifikator brskalnika ne prenese brez izrecnega zahtevka, privzeto pa so navedeni le osnovni parametri, kar otežuje pasivno identifikacijo.
- Dodana je možnost upravljanja s kloniranjem posameznih korenin v Shadow DOM, ki jih izvaja ukaz cloneNode(). Možnost kloniranja korenskih veji DOM se omogoči s parameterjem clonable („attachShadow({clonable:true})“) ali atributom „shadowrootclonable“ (<template shadowrootmode=open shadowrootclonable>).

- Dodane so nove metode setHTMLUnsafe() in parseHTMLUnsafe() za uporabo sintakse Shadow DOM iz JavaScripta. Metodi setHTMLUnsafe() in parseHTMLUnsafe() podobno kot innerHTML in DOMParser.parseFromString() omogočata vstavitev v element ali razstavljanje vsebine v HTML formatu, vendar se razlikujeta po podpori obdelave elementov template z atributom shadowrootmode.
- Dodana je podpora za API WebSocket Stream, ki omogoča prenos podatkov med brskalnikom in strežnikom v tekočem načinu brez uporabe polinga (polling), kar je optimalno za organizacijo prenosa in sprejema stalno prihajajočih podatkov, na primer pri izvedbi klepeta. 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); }
- Razširjene so možnosti API View Transitions, ki poenostavi ustvarjanje prehodnih animacijskih učinkov med različnimi stanji DOM (na primer, gladek prehod od ene slike do druge). V novi različici je bila dodana podpora za dogodek „pageswap“, ki se generira za objekt „window“, ko se ob navigaciji povezan objekt „document“ zamenja z novim. Prav tako je dodano lastnost „render-blocking“, ki omogoča blokiranje upodabljanja dokumenta do konca razčlenitve pomembne vsebine.
- Dodana je parameter disallowReturnToOpener, ki se posreduje pri klicu metode requestWindow, ki omogoča odstranitev gumba „nazaj“ v oknu, odprtem v načinu „slika v sliki“, za preprečevanje vračanja na zavihek, iz katerega je bilo okno odprto.
- Dodana je možnost dodeljevanja atributu CSSImportRule.styleSheet vrednosti NULL za označevanje odsotnosti povezanega sloga. Dodan je atribut CSSKeyframesRule.length, ki označuje število indeksom dostopnih lastnosti.
- Za urejevalna polja je bil uveden atribut 'writingsuggestions' za upravljanje prikaza priporočil med vnosom.
- API WebGPU je dobil podporo za ServiceWorker in SharedWorker.
- Dodana je podpora za HTTP-zagovor 'Priority', preko katerega je mogoče posredovati informacije o prioriteti obdelave zahtevka (RFC 9218) v prvem dostopu do vira.
- Izboljšave so bile narejene v orodjih za spletne razvijalce. Dodana je nova plošča Autofill za preučevanje informacij, uporabljenih pri samodejnem izpolnjevanju obrazcev.

V plošči za preučevanje CSS stilov je bila izboljšana podpora za gnezdene stile. V plošči za merjenje zmogljivosti je bila uvedena možnost skrivanje odvečnih funkcij in povezanih podklicev za zmanjšanje šuma na grafikonu. V ploščo za odpravljanje napak animacij je bila dodana podpora animacijam, povezanim s pomikanjem vsebine (Scroll-driven Animation). V plošči za preučevanje omrežja je bila dodana možnost določanja parametrov izgube paketov in velikosti omrežne vrste za testiranje delovanja WebRTC aplikacij v pogojih omrežnih težav.

Poleg novosti in odprave napak nova različica odpravi 22 varnostnih ranljivosti. Veliko ranljivosti je bilo ugotovljenih z avtomatiziranim testiranjem s pomočjo orodij AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer in AFL. Kritične težave, ki bi omogočile obhod vseh zaščitnih ravni brskalnika in izvedbo kode v sistemu zunaj peskovnika, niso bile odkrite. V okviru programa za nagrajevanje za odkrivanje varnostnih ranljivosti je podjetje Google v tej izdaji izplačalo 13 nagrad v skupni vrednosti 65 tisoč ameriških dolarjev (eno nagrado v 20.000, 10.000, 7.000 in 2.000 dolarjev, tri nagrade v 5.000 in 3.000 dolarjev, dve nagradi po 1.000 dolarjev). Velikost ene nagrade še ni določena.
Izvor: opennet.ru





