Společnost Google vydala verzi webového prohlížeče Chrome 124. Současně je k dispozici stabilní vydání otevřeného projektu Chromium, který tvoří základ Chrome. Prohlížeč Chrome se liší od Chromia používáním logotypů Google, systémem odesílání upozornění v případě pádu, moduly pro přehrávání chráněného videa (DRM), systémem automatické aktualizace, trvalým zapnutím izolace Sandbox, dodáváním klíčů k Google API a odesíláním RLZ parametrů při vyhledávání. Pro ty, kdo potřebují více času na aktualizaci, se samostatně udržuje větev Extended Stable, která je podporována po dobu 8 týdnů. Další vydání Chrome 125 je naplánováno na 14. května.
Hlavní změny v Chrome 124:
- Ve verzi pro platformu Android se v správci záložek objevila podpora pro ukládání záložek a seznamů k přečtení na serverech Google v rámci uživatelského účtu.
- V Chrome pro Android byl zaveden nový způsob ukládání místních hesel, která se nesynchronizují s jinými zařízeními. Dříve se místní hesla ukládala v profilu Chrome, nyní budou umístěna ve správě hesel poskytované službami Google Play, která se již používá pro ukládání hesla k uživatelskému účtu Google.
- V buildích pro Windows, macOS a Linux je v TLS výchozím způsobem aktivována podpora mechanizmu inkapsulace klíčů (KEM, Key Encapsulation Mechanism), který využívá hybridní algoritmus X25519Kyber768, odolný vůči útokům na kvantových počítačích. X25519Kyber768 je kombinací mechanismu výměny klíčů X25519, založeného na eliptických křivkách a dnes používaného v TLS, s algoritmem Kyber-768, který používá metody kryptografie na základě řešení problémů teorie mřížek, jejichž doba řešení se neliší na běžných a kvantových počítačích.
- Při vykreslování textu knihovnou Skia byly zohledněny nastavení kontrastu a barvy z Windows pro technologii vyhlazování textu ClearType, což výrazně zvyšuje kvalitu zobrazení písma na LCD monitorech. V buildích pro Linux došlo k výrazným změnám písem používaných v rozhraní.

- Byla poskytnuta možnost instalovat jakoukoli webovou stránku jako samostatnou PWA aplikaci (Progressive Web Apps), i když tato stránka nesplňuje kritéria PWA.
- V souladu s požadavky evropského zákona DMA (Digital Markets Act) byl zajištěn výstup dialogu pro výběr vyhledávače, který bude používat jako výchozí. Na výběr jsou vyhledávače dostupné v sekci nastavení „chrome://settings/search“. Vyhledávače v seznamu se zobrazují v náhodném pořadí. V Chrome 120 byl tento dialog testován na 1 % uživatelů a nyní je aktivován pro všechny.

- Byla realizována výzva uživateli k poskytnutí oprávnění při přístupu webové aplikace k API Web MIDI, které umožňuje interakci s připojenými hudebními zařízeními s rozhraním MIDI. Dříve se výzvy k oprávněním zobrazovaly pouze při odeslání nebo přijetí SysEx zpráv, a nyní se budou zobrazovat při jakémkoliv přístupu k API Web MIDI. Jako důvod změny se uvádějí situace, kdy náhodné webové stránky zabírají výlučnou kontrolu nad MIDI kontrolérem, blokující možnost práce s ním pro jiné aplikace. Také se upozorňuje na problémy související s bezpečností, protože API Web MIDI umožňuje plnou kontrolu nad MIDI zařízením, včetně instalace vlastního firmwaru.
- Byla zcela ukončena podpora API Web SQL, které není standardizováno, téměř se nepoužívá a vyžaduje přepracování, aby splnilo moderní požadavky na bezpečnost. Web SQL byl ve výchozím nastavení deaktivován od Chrome 119, ale byla k dispozici možnost jeho opětovného zapnutí. Nyní byla tato možnost odstraněna. Pro vývojáře, kteří potřebují podobnou funkčnost, je doporučeno použít variantu knihovny SQLite, zkompilovanou do WebAssembly.
- Byla přidána možnost řízení směru psaní textu zobrazeného vertikálně v prvcích webových formulářů (select, meter, progress, button, textarea a input) při výběru vertikální orientace prostřednictvím CSS vlastnosti writing-mode. Pro zobrazení textu shora dolů lze nyní použít vlastnost formového prvku „ltr“, a pro zobrazení zdola nahoru „rtl“.
- V API User-Agent Client Hints, vyvíjeném jako náhrada za hlavičku User-Agent, byla přidána podpora parametru Sec-CH-UA-Form-Factors, díky němuž může klient informovat server o formátu zařízení uživatele (Desktop, Automotive, Mobile, XR, EInk a Watch). User-Agent Client Hints umožňuje selektivní poskytování údajů o konkrétních parametrech prohlížeče a systému (verze, platforma atd.) pouze po požadavku. serverem. Uživatel může zároveň určit, jaké informace mohou být poskytnuty majitelům webových stránek. Při použití User-Agent Client Hints se identifikátor prohlížeče nepředává bez výslovného požadavku a ve výchozím nastavení se uvádějí pouze základní parametry, což ztěžuje pasivní identifikaci.
- Byla přidána možnost řídit klonování jednotlivých kořenů ve Shadow DOM pomocí takových příkazů, jako je cloneNode(). Možnost klonování kořenových větví DOM se aktivuje pomocí parametru clonable („attachShadow({clonable:true})“) nebo atributu „shadowrootclonable“ (<template shadowrootmode=open shadowrootclonable>).

- Byly přidány nové metody setHTMLUnsafe() a parseHTMLUnsafe() pro použití syntaxe Shadow DOM v JavaScriptu. Metody setHTMLUnsafe() a parseHTMLUnsafe() podobně jako innerHTML a DOMParser.parseFromString() umožňují vložení do prvku nebo analýzu obsahu ve formátu HTML, ale liší se podporou zpracování prvků template s atributem shadowrootmode.
- Byla přidána podpora API WebSocket Stream, které umožňuje přenášet data mezi prohlížečem a serverem v proudovém režimu bez použití polling, což je optimální pro organizaci přenosu a příjmu neustále přicházejících dat, například v realizaci chatu. 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); }
- Byly rozšířeny možnosti API View Transitions, které usnadňuje vytváření přechodových animačních efektů mezi různými stavy DOM (například plynulý přechod z jednoho obrázku na druhý). V nové verzi byla přidána podpora události „pageswap“, která se generuje pro objekt „window“, když je při navigaci související objekt „document“ nahrazen novým. Také byla přidána vlastnost „render-blocking“, která umožňuje zablokovat vykreslení dokumentu, dokud není dokončeno zpracování důležitého obsahu.
- Byl přidán parametr disallowReturnToOpener, který se předává při volání metody requestWindow. Tento parametr umožňuje odstranit tlačítko „zpět“ v okně otevřeném v režimu „obrázek v obrázku“, aby se zabránilo návratu na kartu, ze které bylo okno otevřeno.
- Byla přidána možnost přiřadit atributu CSSImportRule.styleSheet hodnotu NULL, která indikuje, že neexistuje žádná připojená tabulka stylů. Byl přidán atribut CSSKeyframesRule.length, který udává počet indexovaných vlastností.
- Pro editovatelné pole byl zaveden atribut „writingsuggestions“ pro správu zobrazení doporučení během zadávání.
- Do API WebGPU byla přidána podpora pro ServiceWorker a SharedWorker.
- Byla přidána podpora HTTP hlavičky 'Priority', prostřednictvím které lze předat informace o prioritě zpracování požadavku (RFC 9218) během prvního kontaktu s prostředkem.
- Byla provedena vylepšení nástrojů pro webové vývojáře. Byla přidána nová panel Autofill pro inspekci informací používaných při automatickém vyplňování formulářů.

V panelu inspekce CSS stylů byla vylepšena podpora pro vnořené styly. V panelu měření výkonu byla zavedena možnost skrýt nadbytečné funkce a související podřízené volání pro snížení šumu na grafu. Do panelu pro debuggování animací byla přidána podpora pro animaci vázanou na posouvání obsahu (Scroll-driven Animation). V panelu inspekce sítě byla implementována možnost nastavení parametrů ztráty paketů a velikosti síťové fronty pro testování aplikací WebRTC v podmínkách vzniku síťových problémů.

Kromě novinek a oprav chyb byla v nové verzi odstraněna 22 zranitelností. Mnoho zranitelností bylo odhaleno pomocí automatizovaného testování nástroji AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. Nebyly identifikovány žádné kritické problémy, které by umožnily obejít všechny úrovně ochrany prohlížeče a provést kód v systému mimo sandboxové prostředí. V rámci programu na vyplácení finančních odměn za nalezení zranitelností byla společnosti Google vyplacena 13 odměn v celkové výši 65 tisíc dolarů (jedna odměna $20000, $10000, $7000 a $2000, tři odměny $5000 a $3000, dvě odměny $1000). Výše jedné odměny zatím nebyla určena.
Zdroj: opennet.ru





