Vydání Chrome 105

Společnost Google představila verzi webového prohlížeče Chrome 105. Současně je k dispozici stabilní vydání volného projektu Chromium, který tvoří základ Chrome. Prohlížeč Chrome se od Chromia liší použitím logotypů Google, systémem zasílání upozornění v případě pádu, moduly pro přehrávání chráněného obsahu (DRM), systémem automatické instalace aktualizací, neustálým zapnutím izolace Sandbox a dodávkou klíčů k Google API, jakož i předáváním parametrů RLZ při vyhledávání. Pro ty, kteří potřebují více času na aktualizaci, je zvlášť podporována větev Extended Stable, která je doprovázena 8 týdny. Další verze Chrome 106 je naplánována na 27. září.

Hlavní změny v Chrome 105:

  • Podpora specializovaných webových aplikací Chrome Apps byla ukončena, jejichž místo nyní zaujímají oddělené webové aplikace založené na technologii Progressive Web Apps (PWA) a standardních Web API. Původně Google oznámil záměr ukončit podporu Chrome Apps již v roce 2016 a plánoval jejich ukončení do roku 2018, ale později tento plán odložil. V Chrome 105 při pokusu o instalaci aplikací Chrome Apps se zobrazí upozornění na ukončení jejich podpory, ale samy aplikace budou pokračovat v běhu. V Chrome 109 bude možnost spouštění Chrome Apps zakázána.
  • Byla zajištěna další izolace procesu „renderer“, který odpovídá za vykreslování. Tento proces nyní běží v samostatném kontejneru (App Container), zrealizovaném nad existujícím systémem sandboxové izolace. V případě zneužití zranitelnosti v kódu vykreslování přidaná omezení zabrání útočníkovi získat přístup k síti, díky zákazu volání systémových funkcí souvisejících se síťovými možnostmi.
  • Bylo implementováno vlastní unifikované úložiště kořenových certifikátů certifikačních autorit (Chrome Root Store). Nové úložiště zatím není ve výchozím nastavení aktivováno a do dokončení zavádění budou certifikáty i nadále ověřovány s použitím specifického úložiště pro jednotlivé operační systémy. Testované řešení připomíná přístup společnosti Mozilla, která podporuje samostatné nezávislé úložiště kořenových certifikátů pro Firefox, používané jako první článek k ověření důvěryhodného řetězce certifikátů při otevírání webů přes HTTPS.
  • Byla zahájena příprava na ukončení podpory API Web SQL, které není standardizováno, téměř se nepoužívá a vyžaduje přepracování, aby odpovídalo moderním bezpečnostním požadavkům. V Chrome 105 je zakázán přístup k Web SQL z kódu načteného bez použití HTTPS a také se přidalo varování o zastaralosti technologie do DevTools. V roce 2023 plánují API Web SQL odstranit. Pro vývojáře, kteří potřebují podobnou funkčnost, bude připravena náhrada na bázi WebAssembly.
  • V Chrome sync byla ukončena podpora synchronizace s Chrome 73 a dřívějšími verzemi.
  • Pro platformy macOS a Windows byl aktivován integrovaný prohlížeč certifikátů, který nahradil volání rozhraní poskytovaného operačním systémem. Dříve byl integrovaný prohlížeč použit pouze ve verzích pro Linux a ChromeOS.
  • Do verze pro platformu Android byly přidány možnosti pro správu API "Topics & Interest Group", propagovaného v rámci iniciativy Privacy Sandbox, které umožňuje určovat kategorie zájmů uživatelů a používat je místo sledovacích cookies k vyčlenění skupin uživatelů se podobnými zájmy bez identifikace jednotlivých uživatelů. V předchozí verzi byly takové možnosti přidány do verzí pro Linux, ChromeOS, macOS a Windows.
  • Při zapnutí vylepšené ochrany prohlížeče (Safe Browsing > Enhanced protection) byla implementována sběr telemetrie o nainstalovaných rozšířeních, přístupu k API a připojení na externí weby. Uvedená data jsou používána na serverech Google k odhalení škodlivé aktivity a porušování pravidel prohlížečových rozšíření.
  • Byla převedena do kategorie zastaralých a bude blokována v verzi Chrome 106 možnost použití ne-ASCII znaků v doménách specifikovaných v hlavičce Cookie (pro IDN domény by měly být domény specifikovány ve formátu punycode). Změna přivede prohlížeč do souladu s požadavky RFC 6265bis a chováním, které je realizováno ve Firefoxu.
  • Byl navržen API Custom Highlight, který umožňuje libovolnou změnu stylu zdůrazněných oblastí textu a neomezuje se na pevné styly pro zdůraznění poskytnuté prohlížečem (::selection, ::inactive-selection) a pro zvýraznění syntaktických chyb (::spelling-error, ::grammar-error). V první verzi API je podpora změny barvy textu a pozadí pomocí pseudoelementů color a background-color, ale do budoucna budou přidány i další možnosti přizpůsobení stylu.

    Jako příklad úloh, které lze vyřešit pomocí nového API, je uvedeno přidání do webových rámců, které poskytují nástroje pro úpravy textu, vlastních mechanismů pro výběr textu, různého zvýraznění během současného společného editování více uživateli, vyhledávání v virtualizovaných dokumentech a označování chyb při kontrole pravopisu. Zatímco dříve si pro vytvoření nestandardního zvýraznění vyžadovaly složité manipulace s DOM stromem, API Custom Highlight poskytuje hotové operace pro přidání a odstranění zvýraznění, které neovlivňují strukturu DOM a aplikují styly vázané na objekty Range.

  • Do CSS byl přidán dotaz „@container“, který umožňuje utvářet styl prvků v závislosti na velikosti rodičovského prvku. „@container“ připomíná dotazy „@media“, ale vztahuje se nikoli na velikost celé viditelné oblasti, ale na velikost bloku (kontejneru), do kterého je prvek umístěn, což umožňuje stanovit pro podřízené prvky vlastní logiku volby stylu, nezávislou na tom, kde přesně na stránce je prvek umístěn.
    Vydání Chrome 105
  • Byl přidán CSS pseudo-třída „:has()“ pro ověřování existence podřízeného prvku v rodičovském. Například „p:has(span)“ pokrývá prvky <p>, uvnitř kterých se nachází prvek <span>.
  • Byl přidán API HTML Sanitizer, který umožňuje vystřihnout z obsahu prvky, které ovlivňují zobrazení a vykonávání při výstupu pomocí metody setHTML(). API může být užitečné pro čištění příchozích dat z hlediska výřezů HTML tagů, které by mohly být použity k provedení XSS útoků.
  • Byla poskytnuta možnost použití API Streams (ReadableStream) pro odesílání fetch požadavků, než se načte tělo odpovědi, tj. můžete začít odesílání dat, aniž byste museli čekat na dokončení generování stránky.
  • Pro rozdělené webové aplikace (PWA, Progressive Web App) je k dispozici možnost změny vzhledu oblasti záhlaví okna pomocí komponenty Window Controls Overlay, která rozšiřuje zobrazovací plochu webové aplikace na celé okno a umožňuje jí vypadat jako běžná desktopová aplikace. Webová aplikace může řídit vykreslování a zpracování vstupu v celém okně, s výjimkou překrývajícího bloku se standardními ovládacími tlačítky okna (uzavření, minimalizace, maximalizace).
    Vydání Chrome 105
  • Byla stabilizována možnost přístupu k Media Source Extensions z dedikovaných workerů (v kontextu DedicatedWorker), což lze využít například ke zlepšení výkonu bufferovaného přehrávání multimediálních dat díky vytvoření objektu MediaSource v samostatném workeru a přenosu výsledků jeho práce do HTMLMediaElement v hlavním vlákně.
  • V API Client Hints, které se vyvíjí na nahrazení hlavičky User-Agent a umožňuje selektivně poskytovat data o konkrétních parametrech prohlížeče a systému (verze, platforma atd.) pouze na základě požadavku, serverem, byla přidána podpora vlastnosti Sec-CH-Viewport-Heigh, která umožňuje získat informace o výšce viditelné oblasti. Formát zápisu pro zadání parametrů Client Hints pro externí zdroje v tagu „meta“ byl změněn: Před: Po:
  • Byla přidána možnost vytvářet globální zpracovatele událostí onbeforeinput (document.documentElement.onbeforeinput), pomocí kterých mohou webové aplikace přepsat chování při úpravě textu v blocích ,