Chrome 135 Beta

Veröffentlicht: 5. März 2025

Sofern nicht anders angegeben, gelten die folgenden Änderungen für die neueste Version des Chrome-Betakanals 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 135 ist seit dem 5. März 2025 als Betaversion verfügbar. Sie können die neueste Version auf Google.com für Computer oder im Google Play Store für Android herunterladen.

CSS und Benutzeroberfläche

Diese Version enthält dreizehn neue CSS- und UI-Funktionen.

Gespeicherter Scroll-Offset für die Ankerpositionierung

Unterstützung für das Konzept des gespeicherten Scroll-Offsets hinzufügen. Wenn ein positioniertes Element einen Standardanker hat und an einem Ende an diesem Anker und am anderen Ende am ursprünglichen enthaltenden Block befestigt ist, wird der Scroll-Offset bei der Größenänderung des Elements berücksichtigt. Das bedeutet, dass Sie den gesamten sichtbaren Bereich (mit position-area) für das angedockte Element verwenden können, wenn das Dokument mit einem bestimmten Bildlaufoffset gescrollt wird. Um zu vermeiden, dass das Layout (Größenänderung des Elements) jedes Mal neu erstellt wird, wenn im Dokument gescrollt wird, verwendet der Browser den gespeicherten Scroll-Versatz anstelle des aktuellen Scroll-Versatzes. Der gespeicherte Scroll-Offset wird an einem Rechenpunkt für den Anker aktualisiert. Das ist entweder die Position, an der das positionierte Element ursprünglich angezeigt wird, oder die Position, die durch eine andere Positionsoption (position-try-fallbacks) festgelegt wird.

Inertie des Preisvergleichsportals

Wenn Sie ein Element inaktiv machen, kann es nicht mehr fokussiert, bearbeitet, ausgewählt und über die Funktion „Auf der Seite suchen“ gefunden werden. Außerdem wirkt sich das darauf aus, ob es im Baum für Barrierefreiheit sichtbar ist. Mit der Eigenschaft interactivity wird angegeben, ob ein Element und seine flachen untergeordneten Elemente (einschließlich Textabläufe) inaktiv sind oder nicht. Für die Eigenschaft interactivity kann einer der beiden Werte festgelegt werden: auto oder inert.

Logische Überlaufeigenschaften

Mit den CSS-Eigenschaften overflow-inline und overflow-block können Sie den Überlauf in der Inline- und Blockrichtung relativ zum Schreibmodus festlegen. Im horizontalen Schreibmodus entspricht overflow-inline overflow-x, im vertikalen Schreibmodus overflow-y.

Mit den zeichenbezogenen Funktionen ​abs() und sign() können Sie verschiedene Funktionen berechnen, die sich auf das Vorzeichen des Arguments beziehen.

Die dynamic-range-limit-Property

Damit kann auf einer Seite die maximale Helligkeit von HDR-Inhalten begrenzt werden.

Die shape()-Funktion

Mit der Funktion shape() können responsive, freiformige Formen in der Eigenschaft clip-path verwendet werden. Damit können Sie eine Reihe von Befehlen definieren, die den Befehlen in path() entsprechen. Die Befehle akzeptieren jedoch responsive Einheiten (z. B. % oder vw) sowie alle CSS-Werte wie benutzerdefinierte Eigenschaften.

Das ::column-Pseudoelement

Ein ::column-Pseudoelement, mit dem auf die generierten Fragmente eine begrenzte Anzahl von Stilen angewendet werden kann. Dies gilt insbesondere für Stile, die sich nicht auf das Layout auswirken und daher nach dem Layout angewendet werden können.

::scroll-button() Pseudoelemente

Ermöglicht das Erstellen interaktiver Scrollschaltflächen als Pseudoelemente. Beispiel:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

Sie sollten ein Fokusobjekt sein und sich wie eine Schaltfläche verhalten (einschließlich ihrer UA-Stile). Wenn die Funktion aktiviert ist, sollte der Inhalt in die entsprechende Richtung ein Stück scrollen. Wenn es nicht möglich ist, in diese Richtung zu scrollen, sollten sie deaktiviert (und mit :disabled formatiert) sein. Andernfalls sind sie aktiviert (und mit :enabled formatiert). Mit dem Auswahltool können Sie Schaltflächen in vier logischen Richtungen definieren: block-start, block-end, inline-start, inline-end sowie in vier physischen Richtungen: up, down, left, right.

::scroll-marker und ::scroll-marker-group

Fügen Sie die ::scroll-marker und ::scroll-marker-group für scrollende Container hinzu. Mit diesen Pseudoelementen können Sie eine Reihe von Fokussierpunkten für alle zugehörigen Elemente im scrollbaren Container erstellen.

Stil für verschachtelte Pseudoelemente

Ermöglicht das Stylen von Pseudoelementen, die in anderen Pseudoelementen verschachtelt sind. Bisher wird die Unterstützung für ::before::marker und ::after::marker definiert. ::column::scroll-marker wird in Zukunft unterstützt.

Um Datenlecks im Browserverlauf von Nutzern zu vermeiden, werden Ankerelemente nur dann als :visited formatiert, wenn sie zuvor von dieser Website und diesem Frame-Ursprung aus angeklickt wurden. Da nur Links, auf die auf dieser Website und in diesem Frame bereits geklickt wurde, einen Stil erhalten, sind die vielen Side-Channel-Angriffe, die entwickelt wurden, um Informationen zum Stil von :visited-Links zu erhalten, jetzt obsolet, da sie Websites keine neuen Informationen über Nutzer mehr liefern.

Eine Ausnahme gilt für interne Links. Links zu den eigenen Seiten einer Website können als :visited formatiert werden, auch wenn sie auf dieser Website und in diesem Frame-Ursprung noch nie angeklickt wurden. Diese Ausnahme gilt nur für Frames oder Unterframes der obersten Ebene, die mit dem Frame der obersten Ebene denselben Ursprung haben. Die Datenschutzvorteile bleiben erhalten, da Websites bereits wissen, welche Unterseiten ein Nutzer besucht hat. Es werden also keine neuen Informationen offengelegt. Diese Ausnahme wurde von der Community angefragt und soll die Nutzerfreundlichkeit verbessern.

Funktionsnotationen für den Interpolationsfortschritt: CSS-*progress()-Funktionen

Die Funktionsnotationen progress(), media-progress() und container-progress() geben den proportionalen Abstand eines bestimmten Werts (Fortschrittswert) von einem Wert (Startwert des Fortschritts) zu einem anderen Wert (Endwert des Fortschritts) an. Sie ermöglichen es, einen Fortschrittsprozentsatz aus mathematischen Funktionen, Medienfunktionen und Containerfunktionen abzuleiten.

safe-area-max-inset-*-Variablen

Neben den safe-area-inset-Umgebungsvariablen unterstützt Chrome jetzt auch max-area-safe-inset-*-Varianten dieser Variablen. Im Gegensatz zu den dynamischen Einblendungen ändern sich die maximalen Einblendungen nicht und stellen den maximal möglichen Safe-Area-Einschnitt dar.

Diese Werte sind erforderlich, wenn Sie leistungsstarke Edge-to-Edge-Webanwendungen entwickeln.

Web APIs

MediaStreamTrack-Unterstützung zur Web Speech API hinzufügen

Unterstützung für MediaStreamTrack für die Web Speech API hinzufügen Die Web Speech API ist eine Web-Standard-API, mit der Entwickler Spracherkennung und ‑synthese in ihre Webseiten einbinden können. Derzeit verwendet die Web Speech API das Standardmikrofon des Nutzers als Audioeingabe. Durch die Unterstützung von MediaStreamTrack können Websites die Web Speech API verwenden, um Untertitel für andere Audioquellen wie Remote-Audiotracks zu erstellen.

Blob-URL-Partitionierung: Abrufen und Navigation

Als Fortsetzung der Speicherpartitionierung implementiert diese Funktion die Partitionierung des Blob-URL-Zugriffs nach Speicherschlüssel (Website der obersten Ebene, Frame-Ursprung und das boolesche has-cross-site-ancestor-Attribut), mit Ausnahme von Navigationen der obersten Ebene, die nur nach Frame-Ursprung partitioniert bleiben.

CSP require-sri-for für Scripts

Mit der Direktive require-sri-for können Sie festlegen, dass jede Ressource eines bestimmten Typs auf Integrität geprüft werden muss. Wenn versucht wird, eine Ressource dieses Typs ohne Integritätsmetadaten zu laden, schlägt der Versuch fehl und es wird ein Bericht zur CSP-Verletzung ausgelöst. Dieser Intent deckt den "script"-Wert dieser Anweisung ab.

Service Worker-Client erstellen und Service Worker-Controller für srcdoc-iFrame übernehmen

Srcdoc-Kontextdokumente sind derzeit keine Service Worker-Clients und werden nicht vom Service Worker der übergeordneten Seite abgedeckt. Dies führt zu einigen Abweichungen. Beispielsweise werden in den Berichten zu den Ressourcenzeitangaben die URLs aufgeführt, die diese Dokumente laden, aber nicht vom Service Worker abgefangen werden. Wir möchten die Abweichungen beheben, indem wir Service Worker-Clients für srcdoc-iFrames erstellen und sie den Service Worker-Controller der übergeordneten Seite übernehmen lassen.

Click-Ereignisse an den erfassten Zeiger senden

Wenn ein Zeiger erfasst wird, während das pointerup-Ereignis gesendet wird, wird das click-Ereignis an das erfasste Ziel gesendet, anstatt an den nächsten gemeinsamen Vorfahren der pointerdown- und pointerup-Ereignisse gemäß der UI-Ereignisspezifikation. Bei nicht erfassten Zeigern bleibt das click-Ziel unverändert.

Float16Array

Fügt das Array vom Typ Float16Array hinzu. Beim Schreiben in Float16Array-Instanzen werden numerische Werte auf IEEE fp16 gerundet.

Navigationsauslöser in den HTTP-Cache-Partitionsschlüssel einbinden

Das HTTP-Cache-Schlüsselsystem von Chrome wurde um ein boolesches is-cross-site-main-frame-navigation-Attribut erweitert, um websiteübergreifende Leak-Angriffe bei Navigationen der obersten Ebene zu minimieren. Insbesondere werden so websiteübergreifende Angriffe verhindert, bei denen ein Angreifer eine Navigation auf oberster Ebene zu einer bestimmten Seite initiieren und dann zu einer Ressource wechseln kann, die von der Seite geladen wird, um anhand des Ladezeitpunkts sensible Informationen abzuleiten. Außerdem wird durch diese Änderung der Datenschutz verbessert, da verhindert wird, dass eine schädliche Website anhand von Navigationen ableiten kann, ob ein Nutzer eine bestimmte Website bereits besucht hat.

HSTS-Tracking-Prävention

Erschwert das Tracking von Nutzern durch Dritte über den HSTS-Cache.

Diese Funktion erlaubt nur HSTS-Upgrades für Navigationen auf oberster Ebene und blockiert HSTS-Upgrades für Anfragen von untergeordneten Ressourcen. Dadurch ist es für Drittanbieterwebsites nicht mehr möglich, den HSTS-Cache zu verwenden, um Nutzer im Web zu tracken.

Aufrufbefehle: die Attribute command und commandfor

Mit den Attributen command und commandfor von <button>-Elementen können Sie Schaltflächen auf zugänglichere und deklarative Weise ein Verhalten zuweisen, Fehler reduzieren und die für die Interaktivität erforderliche Menge an JavaScript vereinfachen. Schaltflächen mit den Attributen commandfor und command senden beim Klicken, Berühren oder Ausführen durch Drücken einer Taste eine CommandEvent an das Element, auf das commandfor verweist. Dabei werden einige Standardverhaltensweisen wie das Öffnen von Dialogfeldern und Pop-ups ausgeführt.

Unterstützung für <link rel="facilitated-payment" href="..."> hinzugefügt, um anzuzeigen, dass der Browser registrierte Zahlungsclients über eine ausstehende Push-Zahlung benachrichtigen soll.

Die NavigateEvent-sourceElement-Property

Wenn eine Navigation durch ein Element initiiert wird (z. B. durch einen Linkklick oder das Senden eines Formulars), gibt das sourceElement-Attribut auf der NavigateEvent das auslösende Element zurück.

Änderung des Namens des API-Grunds für „NotRestoredReasons“

In der NotRestoredReasons API werden einige der Begründungstexte an die standardisierten Namen angepasst. Entwickler, die diese Gründe im Blick behalten, stellen möglicherweise eine Änderung der Begründungstexte fest.

On-Device Web Speech API

Mit dieser Funktion wird der Web Speech API die Unterstützung der sprachbasierten Erkennung auf dem Gerät hinzugefügt. So können Websites dafür sorgen, dass weder Audio noch transkribierte Sprache zur Verarbeitung an einen Drittanbieterdienst gesendet werden. Websites können die Verfügbarkeit der Spracherkennung auf dem Gerät für bestimmte Sprachen abfragen, Nutzer auffordern, die erforderlichen Ressourcen für die Spracherkennung auf dem Gerät zu installieren, und nach Bedarf zwischen der Spracherkennung auf dem Gerät oder der cloudbasierten Spracherkennung wählen.

Änderungen an history.pushState werden von der Service Worker-Client-URL ignoriert

Ändert die Service Worker-Eigenschaft Client.url so, dass Änderungen an der Dokument-URL mithilfe von history.pushState() und anderen ähnlichen Verlaufs-APIs ignoriert werden. Die Property Client.url soll die Erstellungs-URL des HTML-Dokuments sein, bei der solche Änderungen ignoriert werden.

Unterstützung der Attribute rel und relList für SVGAElement

Die SVGAElement-Schnittstelle in SVG 2.0 ermöglicht die Manipulation von <a>-Elementen ähnlich wie bei HTML-Anchor-Elementen. Durch die Unterstützung der Attribute rel und relList wird die Sicherheit und der Datenschutz für Entwickler verbessert. Diese Ausrichtung mit HTML-Anchorelementen sorgt für Einheitlichkeit und Nutzerfreundlichkeit bei allen Webtechnologien.

Zeitstempel für mit RTC codierte Frames

Bei dieser Funktion werden einige Zeitstempel im Web veröffentlicht, die in WebRTC-codierten Frames vorhanden sind, die über RTCPeerConnection übertragen werden. Die betreffenden Zeitstempel sind:

  • Aufnahmezeitstempel: Der Zeitstempel, zu dem ein Frame ursprünglich aufgenommen wurde.
  • Zeitstempel für Erhalt: Der Zeitstempel, zu dem ein Frame empfangen wurde.

ProgressEvent so aktualisieren, dass für „geladen“ und „insgesamt“ der Typ „double“ verwendet wird

Die ProgressEvent hat die Attribute loaded und total, die den Fortschritt anzeigen, und ihr Typ ist jetzt unsigned long long. Bei dieser Funktion wird der Typ dieser beiden Attribute stattdessen in double geändert, wodurch der Entwickler mehr Kontrolle über den Wert hat. Beispielsweise können die Entwickler jetzt ein ProgressEvent mit total = 1 und loaded = 0 erstellen, das sich schrittweise von 0 auf 1 erhöht. Das entspricht dem Standardverhalten des HTML-Elements <progress>, wenn das Attribut „max“ weggelassen wird.

Mit der fetchLater API

Die fetchLater() API ist eine JavaScript API, mit der ein verzögerter Abruf angefordert werden kann. Sie eignet sich besonders für zuverlässigeres Beaconing am Ende der Lebensdauer einer Seite. Wenn eine verzögerte Anfrage in einem Dokument aufgerufen wird, wird sie vom Browser im Status „AUSSTEHEND“ in die Warteschlange gestellt und bei einer der folgenden Bedingungen aufgerufen:

Das Dokument wird vernichtet. Nach einer vom Nutzer angegebenen Zeit. Aus Datenschutzgründen werden alle ausstehenden Anfragen gelöscht, wenn das Dokument in den bfcache aufgenommen wird, unabhängig davon, wie viel Zeit noch verbleibt. Der Browser entscheidet, dass es an der Zeit ist, sie zu senden.

Die API gibt eine FetchLaterResult zurück, die ein boolesches Feld activated enthält, das aktualisiert werden kann, um anzugeben, ob die verzögerte Anfrage gesendet wurde oder nicht. Nach dem erfolgreichen Senden wird die gesamte Antwort vom Browser ignoriert, einschließlich Textkörper und Headern.

Die genaue Sendezeit ist für den API-Nutzer nicht bekannt.

Neue Ursprungstests

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

Aufrufer von Interessen

Mit dieser Funktion wird den Elementen <button> und <a> ein interesttarget-Attribut hinzugefügt. Mit dem interesttarget-Attribut werden dem Element Verhaltensweisen für „Interesse“ hinzugefügt. Wenn der Nutzer „Interesse“ am Element zeigt, werden Aktionen auf dem Zielelement ausgelöst. Aktionen können beispielsweise das Einblenden eines Pop-ups umfassen. Der User-Agent erkennt, ob der Nutzer „Interesse“ am Element zeigt, z. B. wenn er den Mauszeiger auf das Element bewegt, spezielle Hotkeys auf der Tastatur drückt oder auf Touchscreens lange auf das Element drückt. Wenn Interesse gezeigt oder verloren wird, wird ein InterestEvent für das Ziel ausgelöst. Für Pop-ups sind standardmäßig die Aktionen „Pop-up anzeigen“ und „Pop-up ausblenden“ festgelegt.

Signaturbasierte Integrität

Diese Funktion bietet Webentwicklern einen Mechanismus, mit dem sie die Herkunft der Ressourcen prüfen können, auf die sie angewiesen sind. So wird eine technische Grundlage für das Vertrauen in die Abhängigkeiten einer Website geschaffen. Kurz gesagt: Server können Antworten mit einem Ed25519-Schlüsselpaar signieren und Webentwickler können vom User-Agent verlangen, die Signatur mit einem bestimmten öffentlichen Schlüssel zu überprüfen. Dies ist eine hilfreiche Ergänzung zu den URL-basierten Prüfungen der Content Security Policy und den inhaltsbasierten Prüfungen der Subressourcenintegrität.

Einstellung und Entfernung

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

Mit dieser Version von Chrome wird eine Funktion eingestellt.

Getters von Intl Locale Info werden eingestellt

Die Intl Locale Info API ist ein ECMAScript-TC39-Vorschlag der 3. Phase, mit dem das Intl.Locale-Objekt durch die Bereitstellung von Informationen zur Sprache und Region erweitert wird. Dazu gehören Wochendaten (erster Tag in der Woche, Wochenendstarttag, Wochenendendtag, Mindesttag in der ersten Woche) und der in der Sprache und Region verwendete Stundenzyklus für die Textrichtung. Chrome hat eine Implementierung in Chrome 99 veröffentlicht, aber der Vorschlag wurde geändert, um mehrere Getter in Funktionen zu verschieben. Wir müssen die veralteten Getter entfernen und die umbenannten Funktionen neu starten.

In dieser Version von Chrome wurden drei Funktionen entfernt.

Eingestellte navigator.xr.supportsSession-Methode entfernen

navigator.xr.supportsSession wurde in der WebXR-Spezifikation im September 2019 durch die Methode navigator.xr.isSessionSupported ersetzt, nachdem wir Feedback zur API-Form vom TAG erhalten hatten. Seitdem wird sie in Chrome als eingestellt gekennzeichnet. In der Konsole wird eine Warnung angezeigt, die Entwickler zur aktualisierten API weiterleitet. Die Nutzung des Aufrufs ist sehr gering und alle wichtigen Frameworks, die zum Erstellen von WebXR-Inhalten verwendet werden, wurden auf den neuen Aufruf aktualisiert.

Property „NavigateEvent canTransition“ entfernen

In Chrome 108 wurden die Methode transitionWhile() und die Property canTransition von NavigateEvent durch die neue Methode intercept() und die Property canIntercept ersetzt. Die Methode transitionWhile() wurde damals entfernt. Wir haben jedoch vergessen, die Property canTransition zu entfernen. Stattdessen haben wir sie als Alias für canIntercept beibehalten. In Chrome 135 beheben wir dieses Problem und entfernen canTransition. Alle Verwendungen von canTransition können durch canIntercept ersetzt werden, ohne dass sich das Verhalten ändert.

WebGPU-Limit „maxInterStageShaderComponents“ entfernen

Das Limit von maxInterStageShaderComponents wird aufgrund einer Kombination verschiedener Faktoren aufgehoben:

  • Redundanz mit maxInterStageShaderVariables: Diese Grenze dient bereits einem ähnlichen Zweck, nämlich der Kontrolle der Datenmenge, die zwischen den Shader-Phasen übergeben wird.
  • Geringfügige Abweichungen: Es gibt zwar geringfügige Unterschiede bei der Berechnung der beiden Limits, diese Unterschiede sind jedoch gering und können innerhalb der maxInterStageShaderVariables limit effektiv verwaltet werden.
  • Vereinfachung: Durch das Entfernen von maxInterStageShaderComponents wird die Shader-Oberfläche optimiert und die Komplexität für Entwickler reduziert. Anstatt zwei separate Limits zu verwalten, die gleichzeitig gelten, aber kleine Unterschiede aufweisen, können sie sich auf das passendere und umfassendere maxInterStageShaderVariables konzentrieren.