Společnost Google vydala webový prohlížeč Chrome 147. Zároveň je k dispozici stabilní verze bezplatného projektu Chromium, který je základem Chromu. Prohlížeč Chrome se od Chromia liší tím, že používá loga Google, má systém pro odesílání oznámení v případě pádu, má moduly pro přehrávání video obsahu chráněného proti kopírování (DRM), má systém automatické instalace aktualizací, vždy povoluje izolaci Sandboxu, dodává klíče k Google API a při vyhledávání přenáší parametry RLZ. Pro ty, kteří potřebují více času na aktualizaci, je k dispozici samostatná větev Extended Stable, která je podporována po dobu 8 týdnů. Další verze, Chrome 148, je naplánována na 5. května.
Klíčové změny v Chromu 147 (1, 2, 3, 4):
- Byl přidán režim zobrazení vertikálních karet, který nahrazuje horní vodorovný panel s tlačítky karet postranním panelem se vertikálními kartami. Vertikální karty lze zobrazit v rozbaleném (ikona + částečný popis) nebo sbaleném (pouze ikona) režimu. Po najetí myší na boční kartu se zobrazí miniatura jejího obsahu. Správa skupin karet byla zjednodušena. Do kontextové nabídky, která se zobrazí po kliknutí pravým tlačítkem myši na řádek karet, byla přidána možnost „Zobrazit karty vertikálně“. Pokud se tato možnost ve výchozím nastavení nezobrazuje, lze ji povolit pomocí nastavení „chrome://flags/#vertical-tabs“.
- Režim čtení byl přepracován tak, aby zobrazoval pouze relevantní text na stránce a skrýval všechny související ovládací prvky, bannery, nabídky, navigační panely a další části stránky, které nesouvisejí s obsahem. V nové verzi, podobně jako ve Firefoxu, se relevantní obsah zobrazuje v celé viditelné oblasti, nikoli v úzkém postranním panelu vedle původní stránky. Pokud nový režim není ve výchozím nastavení povolen, lze jej povolit pomocí nastavení „chrome://flags/#read-anything-immersive-reading-mode“.
- Do nabídky „Nápověda“ bylo přidáno tlačítko pro podání stížnosti na blokování webových stránek vytvořených za účelem podvodu nebo phishingu. Toto tlačítko se zobrazí, když je zapnutý režim „Bezpečné prohlížení“.
- Rozšířená ochrana proti přístupu k lokálnímu systému při interakci s veřejnými webovými stránkami. Přístup z webových stránek k IP adresy Lokální síť (intranet nebo interní adresy) nebo rozhraní zpětné smyčky (127.0.0.0/8) bude vyžadovat potvrzení uživatele. Ochrana nyní zahrnuje nejen pokusy o načtení zdrojů prostřednictvím HTTP/HTTPS, požadavků fetch() a vkládání iframe, ale také připojení prostřednictvím WebSockets a WebTransport, stejně jako požadavky na načtení iniciované metodou WindowClient.navigate(). Útočníci zneužívají přístup k interním zdrojům k nepřímé identifikaci a k provádění CSRF útoků na routery, přístupové body, tiskárny, firemní webová rozhraní a další zařízení a služby, které přijímají pouze požadavky z lokální sítě.
- Funkce parsování XML byla migrována z knihovny libxml2 do nové knihovny napsané v Rustu s ohledem na bezpečnost. Tato změna se týká pouze XML; jak již bylo oznámeno, podpora XSLT bude brzy ukončena.
- Metodu startViewTransition() je nyní možné použít nejen pro celou stránku, ale i pro jednotlivé HTML prvky.
- Byla přidána CSS funkce contrast-color(). Vrací opak zadané barvy (pro bílou vrací černou a pro černou vrací bílou). Tuto funkci lze použít k porovnání barvy pozadí s konkrétní barvou textu a naopak.
- Byla přidána vlastnost CSS „border-shape“, která umožňuje vytvářet neobdélníkové ohraničení kolem prvků, například pomocí kruhových nebo polygonálních ohraničení. Vlastnost CSS „border-shape“ akceptuje stejné typy tvarů jako vlastnost „clip-path“, ale na rozdíl od ní detekuje konturu, dekóduje ji a ořízne veškerý obsah, který přesahuje konturu.
- Přidáno rozhraní CSSPseudoElement, které umožňuje práci s CSS pseudoelementy z JavaScriptu.
- Element link nyní podporuje použití atributu „rel=modulepreload“ pro předběžné načtení nejen skriptů, ale také modulů se styly CSS ( ) a data JSON ( ).
- Chování výpočtu šířky ohraničení a obrysů ve vlastnostech CSS border-width, outline-width a column-rule-width bylo změněno a sjednoceno s prohlížeči Firefox a WebKit. Dříve se šířka v těchto vlastnostech resetovala na nulu bez ohledu na jejich hodnoty, pokud byly vlastnosti border-style, outline-style nebo column-rule-style nastaveny na „none“ nebo „hidden“. Nyní hodnoty order-width, outline-width a column-rule-width vždy odpovídají hodnotám definovaným vývojářem bez ohledu na obsah vlastností „*-style“.
- Přidána metoda Math.sumPrecise() pro výpočet součtu prvků pole a dalších spočítatelných objektů s přesností větší, než je přesnost normálního sčítání ve smyčce (eliminace ztrát přesnosti při ukládání výsledků mezi nimi).
- Přidán atribut Request.isReloadNavigation pro detekci opětovného načtení stránky, například po kliknutí na tlačítko „Obnovit“ nebo po volání metod location.reload() a history.go(0).
- Aby se snížila přesnost nepřímé identifikace, byla změněna logika pro zaokrouhlování velikosti paměti vrácené prostřednictvím rozhraní Device Memory API, které poskytuje informace o velikosti paměti RAM. Tyto informace mohou být užitečné pro vytváření odlehčených verzí webových aplikací, které se načítají na zařízeních s omezenou pamětí RAM, nebo pro aktivaci pokročilých funkcí, když je k dispozici velké množství paměti. V sestaveních pro danou platformu Android Velikost paměti se nyní zaokrouhluje na 1, 2, 4 a 8 a pro ostatní platformy na 2, 4, 8, 16 a 32.
- Pro izolované webové aplikace (IWA) je implementováno rozhraní Web Printing API, které poskytuje metody pro určování dostupnosti tiskáren, odesílání dokumentů k tisku a správu tiskové fronty. Názvy atributů a sémantika použité v rozhraní API odpovídají protokolu IPP (Internet Printing Protocol).
- Režim „Origin trials“ implementuje rozhraní WebNN API, které umožňuje využívat služby strojového učení poskytované operačním systémem a související hardwarové funkce.
- Vylepšeny byly nástroje pro webové vývojáře. Vestavěný asistent s umělou inteligencí nyní automaticky vybírá kontexty. Panel „Režim zařízení“, který se používá pro testování výkonu webových stránek na různých mobilních zařízeních, byl modernizován. Panel Síť nyní automaticky dekóduje komprimovaný obsah pro požadavky odeslané s hlavičkou Content-Encoding: gzip nebo deflate. K filtrování stylů CSS lze nyní použít regulární výrazy.
Kromě nových funkcí a oprav chyb nová verze řeší 60 zranitelností. Mnoho z těchto zranitelností bylo identifikováno automatizovaným testováním s využitím nástrojů AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. Dvěma problémům (přetečení vyrovnávací paměti a přetečení celého čísla ve WebML) byla přiřazena kritická úroveň závažnosti, což znamená, že mohly obejít všechny vrstvy ochrany prohlížeče a spustit kód mimo prostředí sandbox. V rámci svého programu odměn za zranitelnosti pro aktuální verzi společnost Google zavedla 60 odměn a udělila jim 118 000 dolarů (dvě odměny po 43 000 dolarůch, dvě odměny po 11 000 dolarůch a po jedné odměně v hodnotě 4 000 dolarů, 3 000 dolarů, 2 000 dolarů a 1 000 dolarů). Výše 52 odměn dosud nebyla stanovena.
Zdroj: opennet.ru
