Chrome 146

Datum der stabilen Version:10. März 2026

Sofern nicht anders angegeben, gelten die folgenden Änderungen für die stabile Version von Chrome 146 für Android, ChromeOS, Linux, macOS und Windows.

CSS und Benutzeroberfläche

Durch Scrollen ausgelöste Animationen

Mit diesem Feature können Animationen anhand der Scrollposition gesteuert werden, z. B. durch Abspielen, Pausieren und Zurücksetzen.

Ein häufiges Muster auf Webseiten ist, eine Animation zu starten, wenn eine bestimmte Scrollposition erreicht wird. Entwickler verwenden dazu häufig JavaScript, um manuell zu erkennen, ob sich ein Element im Viewport des zugehörigen Scroll-Containers befindet, und um eine entsprechende Animation zu starten (z. B. das Einblenden des Elements). Viele dieser Anwendungsfälle basieren auf deklarativ bereitgestellten Informationen. Mit dieser Funktion können Sie solche Interaktionen deklarativ mit CSS erstellen. Der User-Agent kann diese Interaktion dann an einen Worker-Thread auslagern. Die API enthält auch JavaScript-Schnittstellen, mit denen Sie die Funktion zusätzlich zu CSS-Animationen auf Webanimationen ausweiten können.

Tracking bug #390314945 | ChromeStatus.com entry | Spec

Das Attribut trigger-scope

Mit dem Attribut trigger-scope können Sie die Namen von animation triggers einschränken, die von trigger-instantiating properties deklariert werden.

Trigger-instantiating properties, z. B. timeline-trigger, deklarieren Namen, auf die die Eigenschaft animation-trigger verweisen kann, um Animationen an Trigger anzuhängen. Diese Namen sind jedoch standardmäßig global (ähnlich wie anchor-name). Es ist oft sinnvoll, die Sichtbarkeit der Namen einzuschränken, um Interaktionen zwischen Animation und Trigger zu isolieren.

Tracking-Fehler 466134208 | ChromeStatus.com-Eintrag | Spezifikation

meta name="text-scale"

Die Standardschriftgröße von root element wird proportional zur Textskalierung des Betriebssystems und des Browsers skaliert. So können Seiten, die Best Practices für font-relative units folgen (d. h. rem und em für Schriftgrößen und Seitenelemente verwenden, die sich an die Einstellungen für die Textgröße des Nutzers anpassen), die Einstellung für die Textskalierung des Betriebssystems des Nutzers berücksichtigen. Dadurch werden auch vorhandene browserbasierte Mechanismen (z. B. Vollseitenzoom unter Windows) und Heuristiken (z. B. automatische Textanpassung auf Mobilgeräten) deaktiviert. Sie können dem Browser signalisieren, dass die Seite so aufgebaut ist (mit rem und em), dass sie sich gut an verschiedene vom Nutzer ausgewählte Schriftgrößen anpasst. Ähnlich wie bei env(preferred-text-scale), das den Zugriff auf die Textskalierung ermöglicht, wird diese API erweitert, indem die Skalierung mit der Standardschriftgröße von root element ermöglicht und die automatische Textskalierung deaktiviert wird.

Tracking-Fehler 430566925 | ChromeStatus.com-Eintrag | Spezifikation

Registrierung benutzerdefinierter Elemente mit Bereich

Mit dieser Funktion können mehrere benutzerdefinierte Elementdefinitionen für einen einzelnen Tag-Namen auf einer Seite vorhanden sein. So werden Konflikte bei benutzerdefinierten Elementnamen verhindert, wenn eine Web-App Bibliotheken aus mehreren Quellen verwendet. Dies wird erreicht, indem Nutzercode mehrere benutzerdefinierte Elementregistrierungen erstellen und sie mit Baumstrukturen und Elementen verknüpfen kann, die als Bereichsobjekte fungieren.

Tracking-Fehler 40826514 | ChromeStatus.com-Eintrag | Spezifikation

Leistungsspektrum

targetURL während der Dateiverarbeitung ausfüllen

Die Implementierung des Launch-Handlers sorgt jetzt dafür, dass LaunchParams.targetURL ausgefüllt wird, wenn eine PWA mit der Dateiverarbeitung gestartet wird. Vor dieser Änderung war die Eigenschaft „null“, wenn ein Dateistart an ein vorhandenes Fenster weitergeleitet wurde. Durch diese Änderung wird sichergestellt, dass die URL aus dem Feld action des Manifests (dieselbe URL, die das Dokument derzeit laden muss) für den launchQueue-Nutzer verfügbar ist.

Tracking-Fehler #464314997 | ChromeStatus.com-Eintrag | Spezifikation

Wiederholung der Warteschlange für LaunchParams beim Neuladen beenden

Verhindern Sie, dass launchQueue die letzte LaunchParams (einschließlich Dateihandles) noch einmal sendet, wenn ein Nutzer die Seite neu lädt. Bisher wurde bei einer Seitenaktualisierung der Consumer noch einmal mit den Daten aus dem ursprünglichen Start aufgerufen. Durch diese Änderung wird sichergestellt, dass ein Neuladen als Standardnavigation und nicht als „Neustart“ behandelt wird. launchQueue wird nicht mit doppelten Dateien gefüllt, es sei denn, es tritt ein neues Dateistart-Ereignis auf.

Tracking bug #40204185 | ChromeStatus.com entry

DOM

Navigation API: post-commit handler aus precommit hinzufügen

Wenn Sie Navigationsvorgänge mit dem navigate-Ereignis abfangen, werden precommitHandlers und normale Handler nach dem Commit separat übergeben.

Das funktioniert gut, wenn es nur das eine oder das andere gibt, kann aber umständlich sein, wenn der Ablauf ein precommitHandler enthält, das zu einem post-commit handler führt.

Diese Ergänzung ist eine kleine ergonomische Verbesserung, mit der Sie einen Post-Commit-Handler registrieren können, während Sie einen Pre-Commit-Handler aufrufen.

Tracking-Fehler 465487215 | ChromeStatus.com-Eintrag | Spezifikation

Grafik

WebGPU: Texture- und Sampler-Lets

Fügen Sie WGSL ein Sprachfeature texture_and_sampler_let hinzu, mit dem Sie texture- und sampler-Objekte in einer let-Deklaration in WGSL speichern können.

Tracking-Fehler 459500757 | ChromeStatus.com-Eintrag | Spezifikation

WebGPU: Vorübergehende Anhänge

Diese Funktion erweitert die WebGPU-Spezifikation nach der ersten Auslieferung in einem Browser.

Mit dem neuen TRANSIENT_ATTACHMENT GPUTextureUsage können Sie Anhänge erstellen, mit denen Renderpass-Vorgänge im Kachelspeicher bleiben. So wird VRAM-Traffic vermieden und möglicherweise auch die VRAM-Zuweisung für die Texturen.

Tracking bug #462620664 | ChromeStatus.com entry | Spec

WebGPU-Kompatibilitätsmodus

In diesem Modus wird ein optionales, leicht eingeschränktes Subset der WebGPU API hinzugefügt, mit dem ältere Grafik-APIs wie OpenGL und Direct3D11 ausgeführt werden können. Wenn Sie diesen Modus aktivieren und die Einschränkungen beachten, können Sie die Reichweite Ihrer WebGPU-Anwendungen auf viele ältere Geräte ausweiten, die nicht über die modernen, expliziten Grafik-APIs verfügen, die für WebGPU erforderlich sind. Bei einfachen Anwendungen besteht die einzige erforderliche Änderung darin, die compatibility featureLevel beim Aufrufen von requestAdapter anzugeben. Bei komplexeren Anwendungen sind möglicherweise einige Änderungen erforderlich, um die Einschränkungen des Modus zu berücksichtigen. Da der Kompatibilitätsmodus eine Teilmenge ist, sind die resultierenden Anwendungen auch gültige WebGPU Core-Anwendungen und können auch in User-Agents ausgeführt werden, die den Kompatibilitätsmodus nicht unterstützen.

Tracking bug #442618060 | ChromeStatus.com entry | Spec

JavaScript

Iterator-Sequenzierung

Ein TC39-Vorschlag zum Erstellen von iterators durch Sequenzieren vorhandener iterators. Dazu wird Iterator.concat (...items) eingeführt.

Tracking-Fehler #434977727 | ChromeStatus.com-Eintrag | Spezifikation

Selektive Berechtigungsmaßnahmen

Wenn Sie einer Website die Berechtigung zum Zugriff auf eine leistungsstarke API (z. B. Bluetooth, Camera, Clipboard, DisplayCapture, Geolocation, Microphone, Serial und USB) erteilen, gilt Ihre Einwilligung für die Website und nicht unbedingt für jedes Drittanbieter-Script, das auf der Seite ausgeführt wird. Insbesondere können eingebettete Anzeigen-Scripts, die im Hauptframe oder in Iframes mit demselben Ursprung ausgeführt werden, die Berechtigung der Seite nutzen, um opportunistisch auf diese sensiblen Daten zuzugreifen. Sie wissen möglicherweise nicht, dass eine Anzeige auf Ihre Daten zugreift.

Mit dieser Maßnahme soll eine erteilte Berechtigung besser an Ihre Absicht angepasst werden. Dazu wird verhindert, dass ein Anzeigen-Script in einem Kontext mit API-Berechtigung diese verwendet. So wird Ihr Vertrauen in Ihre Daten und Ihre Kontrolle über Ihre Daten gestärkt.

Tracking-Fehler 435214052 | ChromeStatus.com-Eintrag | Spezifikation

dropEffect-Werte aus dragover- bis drop-Ereignissen beibehalten

Mit der HTML5 Drag and Drop API können Webanwendungen Drag-and-Drop-Vorgänge über eine Reihe von Ereignissen verarbeiten: dragstart, dragenter, dragover, dragleave, drop und dragend. Bei diesen Ereignissen gibt die Property dataTransfer.dropEffect an, welcher Vorgang (copy, move, link oder none) ausgeführt werden soll.

Gemäß HTML5 specification sollte der von Webanwendungen während des letzten dragover-Ereignisses festgelegte dropEffect-Wert beibehalten und im nachfolgenden drop-Ereignis verfügbar sein.

Chromium-basierte Browser haben jedoch den dropEffect-Wert der Webanwendung mit dem eigenen ausgehandelten Vorgang des Browsers überschrieben, bevor das drop-Ereignis ausgelöst wurde. Dadurch wurde die Spezifikationskonformität beeinträchtigt und Ihre Kontrolle über das Drag-and-drop-Verhalten eingeschränkt. Dieses Verhalten wurde geändert.

Tracking-Fehler 40068941 | ChromeStatus.com-Eintrag | Spezifikation

Multimedia

Playback Statistics API für WebAudio

Mit dieser Funktion wird ein AudioContext.playbackStats-Attribut hinzugefügt, das ein AudioPlaybackStats-Objekt zurückgibt. Dieses Objekt enthält Statistiken zur Audiowiedergabe, z. B. average latency, minimum/maximum latency, underrun duration und underrun count. Mit dieser API können Webanwendungen die Qualität der Audiowiedergabe überwachen und Fehler erkennen.

Tracking-Fehler #475838360 | ChromeStatus.com-Eintrag | Spezifikation

Netzwerk

Beibehaltung von MIME-Typparametern in Daten-URLs

Behalten Sie MIME type parameters (z. B. charset, boundary) in den Content-Type-Headern der Daten-URL bei, wie in der Fetch Standard angegeben.

Tracking-Fehler #40487194 | ChromeStatus.com-Eintrag | Spezifikation

Leistung

LCP: Verhalten beim Ausgeben von Kandidaten an die Spezifikation anpassen

Der LCP-Algorithmus gibt jetzt Kandidaten basierend auf dem größten gerenderten Bild aus, nicht auf dem größten Bild, das noch nicht gerendert wurde. Dadurch werden möglicherweise mehr Zwischenkandidaten in der Leistungszeitachse ausgegeben.

In jedem Animationsframe wird nach der Darstellung ein neuer Kandidat (maximal einer) an die Performance-Zeitachse gesendet, wenn in diesem Frame ein neuer größter Text oder ein neues größtes Bild gerendert wurde. Der Algorithmus verfolgt auch das „größte ausstehende Bild“, also das größte Bild, das noch geladen wird, und verwendet die Größe dieses Bilds, um zu bestimmen, ob der neue Kandidat das größte ist. Das bedeutet, dass ein langsam ladendes großes Bild die Ausgabe von Zwischen-LCP-Kandidaten verhindern kann. Diese Kandidaten liefern oft nützliche Informationen, um den Ladevorgang nachzuvollziehen.

Dieses Verhalten trat während Interop 2025 als Unterschied zu anderen Engines auf. Das Team hat sich darauf geeinigt, maximal einen Kandidaten pro Frame basierend auf den gemalten Bild- und Textelementen für diesen Frame auszugeben.

Tracking-Fehler 482261053 | ChromeStatus.com-Eintrag | Spezifikation

Sicherheit

Sanitizer API

Mit der Sanitizer API können Sie Inhalte entfernen, die möglicherweise Skript aus beliebigem, vom Nutzer bereitgestellten HTML-Inhalt ausführen. Ziel ist es, die Entwicklung von XSS-kostenlosen Webanwendungen zu vereinfachen.

Tracking-Fehler #40138584 | ChromeStatus.com-Eintrag | Spezifikation

Ursprungstests

WebNN

WebNN ermöglicht es Webanwendungen und Frameworks, native Betriebssystemdienste für maschinelles Lernen und die zugrunde liegenden Hardwarefunktionen auf Ihrem Computer zu nutzen, um konsistente, effiziente und zuverlässige ML-Funktionen im Web zu implementieren.

Origin Trial | Tracking bug #40206287 | ChromeStatus.com-Eintrag | Spezifikation

CPU Performance API

Diese API stellt Informationen zur Stromversorgung Ihres Geräts bereit. Diese API ist für Webanwendungen vorgesehen, die diese Informationen nutzen, um die Nutzerfreundlichkeit zu verbessern, möglicherweise in Kombination mit der Compute Pressure API, die Informationen zur CPU-Auslastung des Geräts liefert und es Anwendungen ermöglicht, auf Änderungen der CPU-Auslastung zu reagieren.

Tracking bug #449760252 | ChromeStatus.com entry | Spec

Spekulationsregeln: Feld form_submission

Dadurch wird die speculation rules-Syntax erweitert, sodass Sie das Feld form_submission für prerender angeben können.

Mit diesem Feld wird der Browser angewiesen, die prerender als Formularübermittlung vorzubereiten, damit sie durch echte Formularübermittlungsnavigationen aktiviert werden kann. Ein einfaches Suchformular führt beispielsweise zu einer /search?q=XXX-GET-Anfrage-Navigation. Webentwickler haben Unterstützung dafür angefordert.

Tracking-Fehler 346555939 | ChromeStatus.com-Eintrag | Spezifikation

Fokusgruppe

Die Focusgroup-Funktion erleichtert die Navigation mit dem Tastaturfokus zwischen einer Reihe von fokussierbaren Elementen mithilfe der Pfeiltasten.

Weitere Informationen zu „focusgroup“ finden Sie unter Request for developer feedback: focusgroup.

Origin Trial | Tracking bug #1286127 | ChromeStatus.com-Eintrag | Spezifikation