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 in der Betaphase. Sie können die aktuelle Version auf der offiziellen Chrome-Website für Desktop oder im Google Play Store für Android herunterladen.

CSS und Benutzeroberfläche

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.

Die scroll-target-group-Property

Die Eigenschaft scroll-target-group gibt an, ob das Element ein Container für die Gruppe von Scrollmarkierungen ist. Es akzeptiert einen der folgenden Werte:

  • „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 enthält, 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, die sich in einem solchen Container befinden, als HTML-Entsprechung von ::scroll-marker-Pseudoelementen verwendet werden. Das Anker-Element, dessen Scrollziel sich gerade in der Ansicht befindet, kann mit der Pseudoklasse :target-current formatiert werden.

Aktivieren Sie counter() und counters() im Alt-Text der content-Property.

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

Pseudoelemente für Übergänge übernehmen 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 ein verschachtelter Pseudo-Elementbaum anstelle eines flachen Baums generiert werden. So kann der Übergang besser an die ursprünglichen Elemente und die visuelle Intention angepasst werden. 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

Durch diese Änderung wird overscroll-behavior aus dem Stamm anstelle des Textkörpers weitergegeben. Die CSS Working Group hat beschlossen, Eigenschaften nicht von <body> in den Viewport zu übertragen. Stattdessen werden Eigenschaften des Viewports vom Stammelement (<html>) übernommen. Daher sollte overscroll-behavior vom Stammelement aus weitergegeben werden. In Chrome gibt es jedoch ein altes Problem: overscroll-behavior wird vom <body> anstelle des Stamms weitergegeben. Dieses Verhalten ist nicht mit anderen Browsern kompatibel. Durch diese Änderung entspricht Chrome der Spezifikation und ist mit anderen Implementierungen kompatibel.

Containeroption ScrollIntoView

Mit der Containeroption ScrollIntoViewOptions können Entwickler einen scrollIntoView-Vorgang ausführen, bei dem nur der nächste übergeordnete Scrollcontainer gescrollt wird. Im folgenden Beispiel wird nur der Scrollcontainer von target gescrollt, um target in den Blickpunkt zu rücken. Es werden aber nicht alle Scrollcontainer in den Viewport gescrollt:

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

CSS-Property caret-animation hinzufügen

Chromium unterstützt die Animation des Attributs caret-color. Wenn der Cursor animiert wird, stört das standardmäßige Blinken die Animation.

Die CSS-Property caret-animation hat zwei mögliche Werte: auto und manual. auto bedeutet Browserstandard (blinkend) und manual bedeutet, 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. Die API bietet eine präzise punktbasierte Erkennung von Highlights und ermöglicht es Entwicklern, dynamische Interaktionen mit benutzerdefinierten Highlights effektiver zu 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 „finished“ ändern

Das aktuelle Timing für abgeschlossene Promises erfolgt innerhalb der Rendering-Lebenszyklusphasen. Das bedeutet, dass Code, der als Ergebnis der Promise-Auflösung ausgeführt wird, nach dem visuellen Frame erfolgt, in dem der Ansichtsübergang entfernt wurde. Dies kann am Ende der Animation zu einem Flackern 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.

ToggleEvent-Quellattribut hinzufügen

Das source-Attribut eines ToggleEvent-Elements enthält das Element, das das Auslösen des ToggleEvent-Elements ausgelöst hat (falls 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 im Pop-over ausgelöste ToggleEvent-Element das Attribut „source“ auf das aufrufende <button>-Element 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 beim Tainting von Canvas-Elementen variiert jedoch je nach Plattform. Alle Browser kennzeichnen das Canvas als manipuliert, wenn die SVG-Quelle ein foreignObject-Tag enthält und mit einem 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 in Chromium (vor dieser Änderung) als auch in WebKit als „tainted“ markiert, in Gecko jedoch nicht. 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-Canvas-Aufrufen verwendet werden, ohne dass die Canvas-Elemente als „tainted“ (verunreinigt) gekennzeichnet werden.

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

Mit CSS können Entwickler die Schriftstä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 immer häufiger verwendet, da sie sowohl die Leistung als auch die typografische Flexibilität verbessern. 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 Hexadezimalzahlen 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 aus Base64-Daten 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 Methode ReadableStreamBYOBReader.read(view) die Option min hinzugefügt. Die Methode akzeptiert bereits ein ArrayBufferView, in das Daten gelesen werden, garantiert aber derzeit nicht, 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 in der Ansicht enthalten sein können.

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 kein Cookie clientseitig über ein Skript gesetzt wird.

Einschränkungen für den Zugriff auf lokales Netzwerk

In Chrome 140 wird die Möglichkeit eingeschränkt, Anfragen an das lokale Netzwerk des Nutzers zu senden. Dazu ist eine Berechtigungsaufforderung erforderlich. 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. einem Intranet) an einen Loopback. Wenn die Möglichkeit für Websites, diese Anfragen auszuführen, durch eine Berechtigung eingeschränkt wird, wird das Risiko von websiteübergreifenden Anfrage-Fälschungsangriffen gegen lokale Netzwerkgeräte wie Router verringert. Außerdem wird dadurch die Möglichkeit von Websites verringert, diese Anfragen zu verwenden, um das lokale Netzwerk des Nutzers zu identifizieren. Diese Berechtigung ist auf sichere Kontexte beschränkt. Wenn die Berechtigung erteilt wird, wird auch die Blockierung von gemischten Inhalten für Anfragen im lokalen Netzwerk 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. Shared-Worker ü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

Dieses Feature fügt Zeitinformationen für die ServiceWorker Static Routing API hinzu, die über die Navigation Timing API und die Resource Timing API für Entwickler verfügbar gemacht werden. 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: Zeitpunkt, zu dem 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 Webauthentifizierung 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 von Drittanbietern, 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 Erklärung zu isolierten Web-Apps.

Neue Ursprungstests

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

clipboardchange-Ereignis hinzufügen

Das Ereignis clipboardchange wird 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 Zwischenablage mit der Systemzwischenablage synchronisieren. Es bietet eine effiziente Alternative zum Abrufen von Änderungen in der Zwischenablage mit JavaScript.

Benachrichtigungen über eingehende Anrufe aktivieren

Mit dieser Funktion wird die Notifications API erweitert, sodass installierte PWAs Benachrichtigungen über eingehende Anrufe senden können. Diese Benachrichtigungen enthalten Schaltflächen im Anrufstil und einen Klingelton. Diese Erweiterung hilft VoIP-Web-Apps, ansprechendere Nutzererlebnisse zu schaffen, indem sie es Nutzern erleichtert, Anrufbenachrichtigungen zu erkennen und zu beantworten. Außerdem trägt diese Funktion 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, die vorläufig window.crashReport heißt und 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 im 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, aktuellen und früheren Entfernungen.

In dieser Version von Chrome wird eine Funktion eingestellt.

Sonderregeln für die Schriftgröße für <h1> in einigen Elementen 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 Barrierefreiheitsproblemen führen. Die Schriftgröße für verschachtelte <h1>-Elemente wird visuell reduziert, sodass sie wie <h2>-Elemente aussehen. Diese visuelle Änderung wird jedoch nicht im Barrierefreiheitsbaum berücksichtigt.