Společnost Google vydala verzi webového prohlížeče Chrome 122. Současně je k dispozici stabilní verze otevřeného projektu Chromium, který je základem Chrome. Prohlížeč Chrome se od Chromia liší použitím logotypů Google, systémem pro zasílání upozornění v případě pádu, moduly pro přehrávání chráněného videa (DRM), systémem automatických aktualizací, trvalým zapnutím izolace Sandbox, dodáváním klíčů k Google API a předáváním RLZ parametrů při vyhledávání. Pro ty, kteří potřebují více času na aktualizaci, je k dispozici oddělená větev Extended Stable, která je podporována po dobu 8 týdnů. Další vydání Chrome 123 je plánováno na 19. března.
Hlavní změny v Chrome 122:
- V souladu s požadavky evropského zákona DMA (Zákon o digitálních trzích) byla do prohlížeče přidána obrazovka pro výběr vyhledávače, který bude výchozí. Jsou k dispozici vyhledávače, které lze najít v sekci nastavení „chrome://settings/search“. Vyhledávače v seznamu se zobrazují v náhodném pořadí.

- Na stránku „chrome://settings/security“ byla přidána nastavení, které umožňuje vypnout JIT optimalizátory v JavaScript motoru V8. Vypnutí JIT může být užitečné pro zvýšení bezpečnosti při práci s potenciálně nebezpečnými webovými aplikacemi snížením možných vektorů pro útok.

- Ve verzi pro Android byla přidána funkce pro čtení textu na webové stránce nahlas. Režim čtení lze aktivovat v rozbalovací nabídce a ovládat jej pomocí standardních ovládacích tlačítek pro přehrávání. Funkce využívá externí službu a posílá odkaz na servery Google, který provádí syntézu řeči.
- Pokračuje testování experimentálních funkcí využívajících strojové učení – režimu chytré skupinování karet, generátoru motivů a interaktivního asistenta, o nichž bylo zmíněno v oznámení o vydání Chrome 121.
- V režimu ochrany prohlížeče (Safe Browsing) byla zavedená podpora asynchronně prováděných externích kontrol, které neblokují načtení kontrolované stránky. Kontroly podle lokálních seznamů se však i nadále provádějí synchronně a stránka se nezobrazí, dokud nedojde k jejich dokončení, aby se ochránil uživatel před používáním stránek s exploity. Co se týče phishingu, je málo pravděpodobné, že by uživatel stačil reagovat na stránku před dokončením externí kontroly a zobrazením výstrahy.
- Byl přepracován text upozornění, která se zobrazují při pokusu o stažení škodlivých souborů a pro již stažené soubory v správci stahování.

- Začal postupný přechod k ignorování obslužných funkcí události „unload”, které neumožňují efektivně využívat mezipaměť přechodu (BFCache — Back-forward cache), zajišťující okamžitý přechod při používání tlačítek „Zpět” a „Dopředu” nebo při navigaci na dříve prohlížené stránky současného webu. Chování stacionárního Chrome se bude blížit mobilním prohlížečům, které ve většině případů nevytvářejí událost „unload”, dávající přednost ukládání do mezipaměti. V Chrome 122 je zpracování události „unload” deaktivováno pro 1% uživatelů.
- Do systému automatického vyplňování platebních údajů byla přidána možnost ukládání kódů ověřování pravosti (CVV/CVC) pro lokální a serverové karty. Kódy se ukládají po zobrazení výstrahy a výslovném souhlasu uživatele.
- Bylo přidáno API Storage Buckets, které poskytuje dodatečné možnosti pro správu trvalého ukládání dat na lokálním systému uživatele. Nové API umožňuje organizaci ukládání dat rozdělením úložiště na jednotlivé segmenty, které jsou spojené s API IndexedDB a CacheStorage. Segmenty jsou prohlížečem odstraňovány nezávisle na sobě, a uživateli je poskytnuta možnost určovat priority, které řídí, které segmenty by měly být odstraněny jako první. Tato organizace umožňuje ukládat důležitá data v segmentech s vysokou prioritou, zatímco sekundární, jejichž ztráta není kritická, jsou ukládána s nízkou prioritou. Takto se řeší problém ztráty důležitých dat v případě vyčerpání dostupných limitů velikosti úložiště, které je poskytováno prostřednictvím API IndexedDB a localStorage.
- V API Async Clipboard byla do metody read() přidána volba „unsanitized“, která se používá při kopírování z clipboardu a vkládání do něj. Pokud je tato volba nastavena, aplikaci se poskytne nezměněný obsah HTML pro data z clipboardu, aniž by došlo k čištění, normalizaci a nahrazování nebezpečných konstrukcí (například obsah bloku „“ nebude převeden).
- CSS dotazy „@container“ nyní nebudou fungovat při uvedení nepodporovaných schopností, například dotaz „@container (width > 0px) or (unknown) {}“ nebude fungovat kvůli výrazu „unknown“.
- V CSS je povoleno definovat podmínky v pravidlech importu „@import … supports(…)“. Pokud podmínka není splněna, import se neprovádí. Například pro načtení stylů, když je „animation-timeline“ nastaven na hodnotu „auto“, lze uvést ‘scroll-driven-animations.css ‘@import "scroll-driven-animations.css" supports(animation-timeline: auto);.
- V CSS byla změněna a upravena logika zpracování pseudo-elementu „::backdrop“ v souladu s požadavky aktualizované specifikace, takže nyní zdědí vlastnosti z původního elementu (dříve „::backdrop“ nezdědil hodnoty jiných elementů, což znemožnilo přístup k vlastnostem definovaným v kořenovém elementu).
- Účinek metody dataTransfer.clearData() je omezen pouze na textové objekty, takže tuto metodu již nelze použít na objekty File.
- Ve WebGL byla přidána funkce drawingBufferStorage, která umožňuje nastavit formát pixelů pro vykreslovací buffer, což dává možnost přímo zobrazit obsah s více než 8 bity na barevný kanál a vyhnout se zbytečným operacím kopírování, které byly nutné pro převod na výchozí formát pixelu.
- Byly provedeny vylepšení nástrojů pro webové vývojáře. Byla přidána podpora pro změnu barevného schématu a dodržování stylu, jak je určeno v zvoleném tématu prohlížeče.

Funkce panelu pro analýzu výkonnosti byly rozšířeny, na časové ose se objevila podpora pro ukládání rozsahů trvání (úseků na časové ose) a přepínání mezi nimi.
Do hlavního sledování (Performance > Main) bylo přidáno zobrazení iniciátorů událostí a jejich vizuální vazby na události, které vyvolávají.

V panelu analýzy síťové aktivity je ve sloupci se stavem vykonávání požadavků zajištěno zobrazení příčin selhání. Bylo přepracováno kontextové menu pro kopírování odkazu nebo obsahu požadavku.

Kromě novinek a oprav chyb v nové verzi bylo odstraněno 12 zranitelností. Mnoho zranitelností bylo odhaleno v důsledku automatizovaného testování nástroji AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. Nebyly zjištěny žádné kritické problémy, které by umožnily obejít všechny úrovně ochrany prohlížeče a vykonat kód v systému mimo sandboxové prostředí. V rámci programu na vyplácení finančních odměn za nalezené zranitelnosti Google vyplatil 8 odměn v celkové výši 28 tisíc dolarů (jedna odměna ve výši 8000, 7000, 5000, 3000 a 2000 dolarů a tři odměny ve výši 1000 dolarů). Nejvyšší odměny byly uděleny za chybu v implementaci izolace webových stránek, odhalení přetečení vyrovnávací paměti v enginu Blink a manipulaci s již uvolněnou pamětí (Use-after-free) v knihovně Mojo.
Zdroj: opennet.ru






