Chrome 140 Beta

Veröffentlicht: 6. August 2025

Sofern nicht anders angegeben, gelten die folgenden Änderungen für die neueste Chrome-Betaversion für Android, ChromeOS, Linux, macOS und Windows. Weitere Informationen zu den hier aufgeführten Funktionen finden Sie über die bereitgestellten Links oder in der Liste auf ChromeStatus.com. Chrome 140 ist ab dem 6. August 2025 als Betaversion verfügbar. Sie können die aktuelle Version für den Desktop auf der offiziellen Chrome-Website oder für Android im Google Play Store herunterladen.

CSS und UI

Typisierte Arithmetik in CSS

Mit der typisierten Arithmetik können Sie Ausdrücke in CSS schreiben, z. B. calc(10em / 1px) oder calc(20% / 0.5em * 1px). Das ist beispielsweise in der Typografie nützlich, da Sie damit einen typisierten Wert in einen untypisierten Wert umwandeln und für Eigenschaften wiederverwenden können, die Zahlen akzeptieren. Ein weiterer Anwendungsfall ist die Multiplikation des einheitenlosen Werts mit einem anderen Typ. Sie können beispielsweise von Pixeln in Grad umrechnen.

Das Attribut scroll-target-group

Die Eigenschaft scroll-target-group gibt an, ob das Element ein Container für Scrollmarkierungsgruppen ist. Das Attribut kann einen der folgenden Werte annehmen:

  • „none“: Das Element ist kein Container für eine Scrollmarkierungsgruppe.
  • „auto“: Das Element richtet einen Container für die Scrollmarkierungsgruppe ein, der eine Scrollmarkierungsgruppe mit allen Scrollmarkierungselementen bildet, für die dies der nächstgelegene Container für die Scrollmarkierungsgruppe ist.

Wenn Sie einen Container für die Scrollmarkierungsgruppe einrichten, können alle Anker-HTML-Elemente mit einer Fragment-ID in diesem Container als HTML-Entsprechung von ::scroll-marker-Pseudoelementen verwendet werden. Das Anker-Element, dessen Scrollziel sich gerade im Blickfeld befindet, kann mit der Pseudoklasse :target-current formatiert werden.

counter() und counters() im Alt-Text der content-Property aktivieren

Mit dieser Funktion können Sie counter() und counters() im Alt-Text der Property content verwenden. So erhalten Sie aussagekräftigere Informationen zur Verbesserung der Barrierefreiheit.

Übergangspseudoelemente erben mehr Animationseigenschaften

Der Pseudo-Baum für Ansichtsübergänge erbt jetzt eine Reihe von Animationseigenschaften:

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

Verschachtelte Ansichtsübergänge aktivieren

Mit dieser Funktion kann für Ansichtsübergänge ein verschachtelter Pseudo-Elementbaum anstelle eines flachen Baums generiert werden. So wirkt der Übergang eher wie die ursprünglichen Elemente und die ursprüngliche visuelle Intention. Es ermöglicht das Zuschneiden, verschachtelte 3D-Transformationen und die korrekte Anwendung von Effekten wie Deckkraft, Maskierung und Filtern.

Darstellungsbereich overscroll-behavior aus dem Stamm weitergeben

Mit dieser Änderung wird overscroll-behavior vom root-Element anstelle des body-Elements übernommen. Die CSS-Arbeitsgruppe hat beschlossen, Eigenschaften nicht vom <body>-Element zum Viewport zu übertragen. Stattdessen werden Eigenschaften des Viewports vom root-Element (<html>) weitergegeben. Daher sollte overscroll-behavior vom Stammelement aus weitergegeben werden. In Chrome gibt es jedoch schon seit Langem das Problem, dass overscroll-behavior vom <body> anstelle des Root-Elements weitergegeben wird. Dieses Verhalten ist nicht mit anderen Browsern kompatibel. Durch diese Änderung entspricht Chrome der Spezifikation und ist mit anderen Implementierungen kompatibel.

ScrollIntoView-Containeroption

Mit der Containeroption ScrollIntoViewOptions können Entwickler einen scrollIntoView-Vorgang ausführen, bei dem nur der nächste Scrollcontainer des übergeordneten Elements gescrollt wird. Im folgenden Beispiel wird nur der Scrollcontainer von target gescrollt, um target in den Darstellungsbereich zu bringen. Es werden jedoch nicht alle Scrollcontainer in den Darstellungsbereich gescrollt:

target.scrollIntoView({container: 'nearest'});

CSS-Property caret-animation hinzufügen

Chromium unterstützt die Animation der caret-color-Eigenschaft. Bei Animationen stört das standardmäßige Blinken des Cursors jedoch die Animation.

Die CSS-Property caret-animation hat zwei mögliche Werte: auto und manual. auto bedeutet die Standardeinstellung des Browsers (blinkend) und manual, dass der Entwickler die Cursoranimation steuert. Außerdem können Nutzer, die durch blinkende oder flackernde Bilder gestört werden oder darauf mit unerwünschten Reaktionen reagieren, das Blinken mit einem Nutzer-Stylesheet deaktivieren.

Mit der highlightsFromPoint API

Mit der highlightsFromPoint API können Entwickler mit benutzerdefinierten Highlights interagieren. Es erkennt, welche Markierungen an einem bestimmten Punkt in einem Dokument vorhanden sind. Diese Interaktivität ist für komplexe Webfunktionen nützlich, bei denen sich mehrere Hervorhebungen überschneiden oder im Shadow-DOM vorhanden sein können. Durch die präzise punktbasierte Erkennung von Highlights können Entwickler dynamische Interaktionen mit benutzerdefinierten Highlights effektiver verwalten. Entwickler können beispielsweise auf Nutzerklicks oder Hover-Ereignisse in hervorgehobenen Bereichen reagieren, um benutzerdefinierte Tooltips, Kontextmenüs oder andere interaktive Funktionen auszulösen.

Timing des View Transition-Promise ändern

Das aktuelle Timing für abgeschlossene Promises erfolgt innerhalb der Schritte des Rendering-Lebenszyklus. Das bedeutet, dass Code, der als Ergebnis der Promise-Auflösung ausgeführt wird, nach dem visuellen Frame ausgeführt wird, in dem der Ansichtsübergang entfernt wurde. Dies kann zu einem Flackern am Ende der Animation führen, wenn im Skript Stile verschoben werden, um einen visuell ähnlichen Zustand beizubehalten. Durch diese Änderung wird das Problem behoben, da die Bereinigungsschritte für ViewTransition asynchron nach Abschluss des Lebenszyklus ausgeführt werden.

Quellattribut ToggleEvent hinzufügen

Das Attribut source eines ToggleEvent enthält das Element, das das Auslösen des ToggleEvent ausgelöst hat, sofern zutreffend. Wenn ein Nutzer beispielsweise auf ein <button>-Element klickt, bei dem das Attribut popovertarget oder commandfor festgelegt ist, um ein Pop-over zu öffnen, wird für das ToggleEvent, das für das Pop-over ausgelöst wird, das Attribut „source“ auf das aufrufende <button> festgelegt.

Verhindern, dass SVG foreignObject das Canvas für Blob-URLs verunreinigt

Alle Browser unterstützen schon lange die Verwendung eines <img>-Elements mit einer SVG-Quelle in einem HTML-Canvas-drawImage-Vorgang. Das Verhalten von Canvas-Tainting variiert jedoch je nach Plattform. Alle Browser kennzeichnen das Canvas als manipuliert, wenn die SVG-Quelle ein foreignObject-Tag enthält und mit einer HTTP-URI referenziert wird. Wenn auf dasselbe SVG über einen Daten-URI verwiesen wird, wird das Canvas in allen Browsern nicht als „tainted“ markiert. Wenn jedoch ein Blob-URI verwendet wird, wird das Canvas sowohl von Chromium (vor dieser Änderung) als auch von WebKit als „tainted“ markiert, nicht aber von Gecko. Wenn diese Funktion eingeführt wird, entspricht das Verhalten von Chromium dem von Gecko. So kann eine größere Bandbreite an SVG-Inhalten in drawImage-Aufrufen für Canvas verwendet werden, ohne dass sie als „tainted“ (verunreinigt) gekennzeichnet werden.

Unterstützung des Deskriptors font-variation-settings in @font-face rule

Mit CSS können Entwickler die Stärke, Breite, Neigung und andere Achsen einer Schriftart mithilfe der font-variation-settings-Eigenschaft für einzelne Elemente anpassen. Chromium-basierte Browser unterstützen diese Eigenschaft jedoch nicht in @font-face-Deklarationen. Diese Funktion unterstützt die stringbasierte Syntax für font-variation-settings, wie in CSS Fonts Level 4 definiert. Ungültige oder nicht erkannte Feature-Tags werden gemäß Spezifikation ignoriert. Binäre oder nicht standardmäßige Formulare werden nicht unterstützt. Variable Schriftarten werden sowohl aus Leistungsgründen als auch wegen ihrer typografischen Flexibilität immer häufiger verwendet. Durch die Unterstützung dieses Deskriptors in Chromium wird die Kontrolle verbessert, Wiederholungen werden reduziert und ein skalierbarer, moderner Ansatz für die Webtypografie wird unterstützt.

Web APIs

Uint8Array in Base64 und Hexadezimal konvertieren und umgekehrt

Base64 ist eine gängige Methode, um beliebige Binärdaten als ASCII darzustellen. JavaScript hat Uint8Arrays für Binärdaten. Es fehlt jedoch ein integrierter Mechanismus, um diese Daten als Base64 zu codieren oder Base64-Daten zu verwenden, um ein entsprechendes Uint8Array zu erstellen. Mit dieser Funktion werden die Möglichkeit und die Methoden zum Konvertieren zwischen Hexadezimal-Strings und Uint8Arrays hinzugefügt.

Option ReadableStreamBYOBReader min verwenden

Mit dieser Funktion wird der vorhandenen ReadableStreamBYOBReader.read(view)-Methode die Option min hinzugefügt. Die Methode akzeptiert bereits ein ArrayBufferView, in das Daten gelesen werden. Derzeit wird jedoch nicht garantiert, wie viele Elemente geschrieben werden, bevor der Lesevorgang abgeschlossen ist. Wenn Sie einen min-Wert angeben, können Sie festlegen, dass der Stream warten muss, bis mindestens so viele Elemente verfügbar sind, bevor der Lesevorgang abgeschlossen wird. Das ist eine Verbesserung gegenüber dem aktuellen Verhalten, bei dem Lesevorgänge möglicherweise mit weniger Elementen aufgelöst werden, als die Ansicht enthalten kann.

In einigen Fällen ist es wichtig, serverseitig zwischen Cookies zu unterscheiden, die vom Server und vom Client gesetzt werden. Ein solcher Fall betrifft Cookies, die normalerweise immer vom Server gesetzt werden. Unerwarteter Code (z. B. ein XSS-Exploit, eine schädliche Erweiterung oder ein Commit von einem verwirrten Entwickler) kann sie jedoch auf dem Client festlegen. Mit diesem Vorschlag wird ein Signal hinzugefügt, mit dem Server eine solche Unterscheidung treffen können. Genauer gesagt werden die Präfixe __Http und __HostHttp definiert, die dafür sorgen, dass ein Cookie nicht clientseitig über ein Skript gesetzt wird.

Einschränkungen für den Zugriff auf das lokale Netzwerk

In Chrome 140 wurde die Möglichkeit, Anfragen an das lokale Netzwerk der Nutzer zu senden, eingeschränkt und an eine Berechtigungsanfrage geknüpft. Eine lokale Netzwerkanfrage ist eine Anfrage von einer öffentlichen Website an eine lokale IP-Adresse oder einen Loopback oder von einer lokalen Website (z. B. im Intranet) an einen Loopback. Wenn Websites diese Anfragen nur mit einer Berechtigung ausführen können, wird das Risiko von Fälschungsangriffen bei websiteübergreifenden Anfragen gegen lokale Netzwerkgeräte wie Router verringert. Außerdem wird die Möglichkeit von Websites eingeschränkt, diese Anfragen zu verwenden, um das lokale Netzwerk der Nutzer zu identifizieren. Diese Berechtigung ist auf sichere Kontexte beschränkt. Wenn die Berechtigung gewährt wird, wird zusätzlich die Blockierung von gemischten Inhalten für lokale Netzwerkanfragen gelockert, da viele lokale Geräte aus verschiedenen Gründen keine öffentlich vertrauenswürdigen TLS-Zertifikate erhalten können.

Weitere Informationen

SharedWorker-Scripts können Controller für Blob-Script-URLs übernehmen

In der Spezifikation wird angegeben, dass Worker Controller für die Blob-URL übernehmen sollten. Basierend auf dem vorhandenen Code kann der Controller aber nur von DedicatedWorker übernommen werden. SharedWorker übernehmen den Controller nicht. Dadurch wird das Verhalten von Chrome an die Spezifikation angepasst. Diese Funktion wird über die Unternehmensrichtlinie SharedWorkerBlobURLFixEnabled gesteuert.

ServiceWorkerStaticRouterTimingInfo hinzufügen

Mit dieser Funktion werden Zeitinformationen für die ServiceWorker Static Routing API hinzugefügt, die über die Navigation Timing API und die Resource Timing API für Entwickler verfügbar sind. ServiceWorker stellt Timing-Informationen zum Markieren bestimmter Zeitpunkte bereit.

Mit dieser Funktion werden zwei für die Static Routing API relevante Zeitinformationen hinzugefügt:

  • RouterEvaluationStart: Die Zeit, zu der eine Anfrage mit registrierten Routerregeln abgeglichen wird.
  • CacheLookupStart: Zeitpunkt, zu dem mit der Suche im Cache-Speicher begonnen werden soll, wenn die Quelle "cache" ist.

Außerdem werden mit dieser Funktion zwei Informationen zur Routerquelle hinzugefügt: die abgeglichene Routerquelle und die endgültige Routerquelle.

Bedingtes Erstellen von Web Authentication auf Android-Geräten aktivieren (wird nicht ausgeliefert)

Isolierte Web-Apps

Einführung der Controlled Frame API

Mit dieser Funktion wird eine Controlled Frame API hinzugefügt, die nur für isolierte Web-Apps (IWAs) verfügbar ist. Wie ähnlich benannte APIs auf anderen Plattformen ermöglicht Controlled Frame das Einbetten aller Inhalte, auch Inhalte von Dritten, die nicht in <iframe> eingebettet werden können. Mit Controlled Frame können eingebettete Inhalte auch mit einer Sammlung von API-Methoden und ‑Ereignissen gesteuert werden. Weitere Informationen zu isolierten Web-Apps finden Sie in der Dokumentation zu isolierten Web-Apps.

Neue Ursprungstests

In Chrome 140 können Sie die folgenden neuen Ursprungstests aktivieren.

clipboardchange-Ereignis hinzufügen

Das clipboardchange-Ereignis wird immer dann ausgelöst, wenn eine Web-App oder eine andere Systemanwendung den Inhalt der Systemzwischenablage ändert. Dadurch können Web-Apps wie Remote-Desktop-Clients ihre Zwischenablagen mit der Systemzwischenablage synchronisieren. Sie bietet eine effiziente Alternative zum Abrufen von Änderungen in der Zwischenablage mit JavaScript.

Benachrichtigungen über eingehende Anrufe aktivieren

Diese Funktion erweitert die Notifications API, sodass installierte PWAs Benachrichtigungen über eingehende Anrufe senden können. Diese Benachrichtigungen enthalten Anrufschaltflächen und einen Klingelton. Diese Erweiterung trägt dazu bei, dass VoIP-Web-Apps ansprechender sind, da Nutzer Anrufbenachrichtigungen leichter erkennen und beantworten können. Außerdem trägt sie dazu bei, die Lücke zwischen nativen und Web-Implementierungen von Apps zu schließen, die beide haben.

Einführung der Schlüssel/Wert-API für Absturzberichte

Mit dieser Funktion wird eine neue Schlüssel/Wert-API eingeführt, vorläufig window.crashReport, die auf einer Karte pro Dokument basiert, in der Daten gespeichert werden, die an Absturzberichte angehängt werden.

Die Daten, die in der zugrunde liegenden Karte dieser API platziert werden, werden in CrashReportBody gesendet, wenn auf der Website Renderer-Prozesse abstürzen. So können Entwickler herausfinden, welcher bestimmte Zustand in ihrer Anwendung einen bestimmten Absturz verursacht.

Einstellung und Entfernung

In dieser Version von Chrome werden die unten aufgeführten Einstellungen und Entfernungen eingeführt. Auf ChromeStatus.com finden Sie Listen mit geplanten Einstellungen, aktuellen Einstellungen und früheren Entfernungen.

In dieser Version von Chrome wird eine Funktion eingestellt.

Regeln für die besondere Schriftgröße von <h1> innerhalb bestimmter Elemente werden eingestellt

Die HTML-Spezifikation enthält eine Liste mit Sonderregeln für <h1>-Tags, die in <article>-, <aside>-, <nav>- oder <section>-Elemente eingebettet sind.

Diese speziellen Regeln sind veraltet, da sie zu Problemen mit der Barrierefreiheit führen. Die Schriftgröße für verschachtelte <h1>-Elemente wird visuell verkleinert, sodass sie wie <h2>-Elemente aussehen. Diese visuelle Änderung wird jedoch nicht im Barrierefreiheitsbaum berücksichtigt.