Společnost Google vydala verzi webového prohlížeče Chrome 126. Současně je k dispozici stabilní verze otevřeného projektu Chromium, který slouží jako základ pro Chrome. Prohlížeč Chrome se od Chromia liší použitím logotypů Google, systémem zasílání oznámení v případě pádu, moduly pro přehrávání chráněného videa (DRM), automatickou aktualizační službou, trvalým zapnutím Sandbox izolace, dodáváním klíčů k Google API a přenosem RLZ parametrů při vyhledávání. Pro ty, kteří potřebují více času na aktualizaci, je podporována samostatná větev Extended Stable, která přichází s 8týdenní podporou. Další verze Chrome 127 je naplánována na 23. července.
Hlavní změny v Chrome 126:
- Do integrovaného prohlížeče PDF byla přidána funkce pro extrakci textu z dokumentu, aktivovaná přes volbu „Extrahovat text z PDF“ v kontextovém menu. Pro extrakci textu ze skenovaných dokumentů, ve kterých je text uveden jako obrázek, se používá mechanismus optického rozpoznávání znaků (OCR) na bázi strojového učení. Očekává se, že nová funkce usnadní práci s PDF dokumenty lidem se zrakovými problémy a uživatelům obrazovkových čteček. V budoucnu se plánuje implementace rozpoznávání textu na obrázcích zobrazených na stránkách a na screenschotech. OCR engine je ve výchozím nastavení zapnutý pro 50 % uživatelů, zatímco ostatní jej mohou aktivovat prostřednictvím nastavení „chrome://flags/#pdf-ocr“.

- Na stránku konfigurátoru s parametry výkonu
(„Výkon/Paměťová úspora“ v části chrome://settings/performance) byla přidána možnost nastavení úrovně agresivity režimu paměťové úspory (Memory Saver), který snižuje spotřebu paměti tím, že uvolňuje paměť zabranou neaktivními kartami. Například při výběru střední úrovně prohlížeč uvolní méně karet než při maximálním nastavení. Nastavení, které je ve výchozím nastavení dostupné pouze části uživatelů, lze aktivovat pomocí parametru „chrome://flags/#memory-saver-aggressiveness“.
- Pro některé uživatele je ve prohlížeči PDF výchozí nová architektura OOPIF (out-of-process iframe), při které se obsah dokumentu zpracovává v samostatném procesu. Nová architektura odstraňuje komplikace spojené s implementací na bázi mechanizmu GuestView a usnadňuje přidávání nových funkcí do PDF prohlížeče. Pro aktivaci nové architektury lze použít nastavení „chrome://flags/#pdf-oopif“.
- Byl přidán režim reaktivního přednačítání (Reactive prefetch), který načítá související zdroje stránky během navigace, aniž by čekal na jejich skutečné požadavky, což urychluje otevírání nových stránek. Pro předpovídání zdrojů, které by mohly být potřeba v budoucnu, je využívána externí služba Google, která vrací seznam doporučení po odeslání URL stránek, které se navigují.
- Byla přidána možnost vyhledávání ve službě Google Lens podle jakýchkoli obrázků a textu viditelných na obrazovce. Tato možnost se aktivuje prostřednictvím kontextového menu, indikátoru v adresním řádku nebo menu „⋮“, po čemž může uživatel vybrat zajímavý objekt na obrazovce a získat o něm informace z Google Lens. Při provádění operace se server odešle
snímek obrazovky. Tato funkce je zatím aktivována ve výchozím nastavení pro 1 % uživatelů. Pro zapnutí a vypnutí podpory Google Lens může být použit parametr „chrome://flags/#enable-lens-region-search-static-page“. - Byly shrnuty výsledky optimalizací pro zrychlení testu Speedometer 3 — za dva roky se výkon Chromu v tomto testu zvýšil o 72 %. Například byla zrychlena práce funkce SpaceSplitString, používané při analýze výrazu typu „class='foo bar'“, optimalizovány funkce práce s pamětí, odstraněny nadbytečné operace při práci s prvky webových formulářů a urychleny nejčastěji používané akce, optimalizováno využití innerHTML, urychlena kresba písem. Urychlení se také podařilo dosáhnout díky optimalizaci garbage collectoru v engine V8, jehož účinnost se zvýšila aktivací garbage collectoru během nečinnosti vykreslovacího procesu, aby nebyl v konkurenci s aplikací o CPU.

- Bylo výrazně zvýšeno výkonnostní fungování s cookies, což umožnilo snížit latenci při práci se stránkami. Dříve byla při každém přístupu k cookies odesílána synchronní IPC žádost z procesu zpracovávajícího stránku do procesu zajišťujícího síťovou interakci. Vzhledem k tomu, že webové aplikace aktivně využívají hodnoty z cookies, zpomalovaly tyto žádosti mezi procesy práci, přičemž 87 % žádostí o jiný proces byly nadbytečné.
Pro řešení tohoto problému byla nasazena nová architektura, kde každý proces obsahuje svou vlastní kopii dat cookies a přistupuje k ní přímo, přičemž změny v cookies, které například mohou nastat při práci se stejnými cookies na jiné kartě, jsou sledovány prostřednictvím mechanismu verzování. Podstatou tohoto mechanismu je to, že k každé hodnotě
document.cookie je připočtena čítač s číslem verze, který se uchovává v sdílené paměti, zvyšuje se při změně hodnoty a porovnává se s existující instancí při čtení.
- Byla přidána možnost využití API View Transitions pro vytváření přechodových animací mezi stránkami v rámci jednoho webu (same-origin). Dříve bylo toto API možné uplatnit pouze na efekty mezi různými stavy DOM na jedné stránce (například hladký přechod mezi jedním obrázkem a druhým). Pro aplikaci přechodových efektů mezi různými dokumenty by mělo být použito vlastnost "navigation: auto" v @-pravidle "view-transition".
- Byl zahrnut API CloseWatcher, který umožňuje sledovat v webových aplikacích Close žádosti a reagovat na jejich přijetí (například je možné vytvořit obsluhu stisknutí tlačítka "zpět" na smartphonech Android).
Close žádosti se vytvářejí při pokusu o uzavření modálních (<dialog>) a pop-up dialogů (popover="") stisknutím klávesy Esc, použitím tlačítka "Zpět" nebo dotykovým gestem na smartphonech. - Do API Gamepad, které umožňuje sledovat a zpracovávat události z herních ovladačů a joysticků, byla přidána podpora mechanismů zajišťujících zpětnou vazbu (trigger-rumble), například vibraci.
- Do rozhraní GeolocationCoordinates a GeolocationPosition byl přidán metod .toJSON() pro serializaci objektů s koordináty do formátu JSON.
- Ve verzi pro ChromeOS byla přidána podpora režimu zobrazení karet (CSS vlastnost „display: tabbed“), která umožňuje používat karty v jedné webové aplikaci, například pro organizaci úprav několika dokumentů.
- Byla přidána experimentální funkce (origin trial) pro náhled obsahu přijímaného z kamery nebo mikrofonu.
- V API WebGPU byla výrazně zrychlena kompilace shaderů. Na backendu pro grafické API Vulkan byla optimalizována načítání dat do GPU (zajistěno přímé zapisování do GPU bufferu bez mezipaměťového kopírování).
- Byla provedena vylepšení v nástrojích pro webové vývojáře. V sekci ‘Application > Storage’ byla přidána možnost inspekce dat uložených pomocí API Storage Buckets, které umožňují organizaci ukládání dat s rozdělením úložiště na jednotlivé segmenty spojené s API IndexedDB a CacheStorage. V panelu hodnocení výkonu byla přidána možnost přesunu a skrytí stop, stejně jako vyloučení informací o provádění skriptů z grafu výkonu a zapnutí režimu umělého zpomalení výkonu systému 20krát.

V panelu sledování síťové aktivity byla přidána podpora substituce pro celou řádku v přijaté odpovědi s HTTP hlavičkou ve formátu „název: hodnota“. Do panelu sledování spotřeby paměti byly přidány filtry pro odhalení neefektivního hospodaření s pamětí, například existence duplicitních řetězců nebo ponechání objektů spojených s odpojenými DOM uzly.

Kromě novinek a oprav chyb v nové verzi bylo odstraněno 21 zranitelností. Mnoho z těchto zranitelností bylo odhaleno v průběhu automatizovaného testování pomocí nástrojů AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. 9 pro problémů byla přidělena vysoká úroveň nebezpečnosti. Nebyly odhaleny kritické problémy, které by umožnily obcházení všech úrovní ochrany prohlížeče a spuštění kódu v systému mimo sandboxové prostředí. V rámci programu vyplácení finančních odměn za nalezení zranitelností za aktuální vydání společnost Google vyplatila 11 odměn v celkové výši přes 168 tisíc amerických dolarů.
Za zranitelnost CVE-2024-5839, spojenou s problémem v implementaci mechanismu alokace paměti, byla vyplacena rekordní odměna ve výši 100115 dolarů. Tato zranitelnost byla klasifikována jako střední úroveň nebezpečí, neboť potenciálně umožňuje způsobit poškození paměti v haldě při zpracování speciálně vytvořeného HTML obsahu. Dále byly vyplaceny odměny ve výši 25000, 7000, 3000, 2000, 1000 a 500 dolarů, a také byly vyplaceny dvě odměny ve výši 10000 a 5000 dolarů. Velikost 7 odměn zatím nebyla určena.
Zdroj: opennet.ru






