Veröffentlicht am 5. März 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 135 ist ab dem 5. März 2025 als Betaversion verfügbar. Sie können die aktuelle Version für Desktop unter Google.com oder im Google Play Store auf Android-Geräten herunterladen.
CSS und Benutzeroberfläche
In dieser Version werden 13 neue CSS- und UI-Funktionen eingeführt.
Ankerpositionierung – gespeicherter Scroll-Offset
Unterstützung für das Konzept des gespeicherten Scroll-Offsets hinzugefügt. Wenn ein positioniertes Element einen Standardanker hat und an einer Kante an diesen Anker und an der anderen Kante an den ursprünglichen enthaltenden Block gebunden ist, wird der Scroll-Offset bei der Größenanpassung des Elements berücksichtigt. Das bedeutet, dass Sie den gesamten sichtbaren Bereich (mit position-area) für das verankerte Element verwenden können, wenn das Dokument mit einem bestimmten Scroll-Offset gescrollt wird. Damit das Layout (Größe des Elements anpassen) nicht bei jedem Scrollen des Dokuments erfolgt, verwendet der Browser den gespeicherten Scroll-Offset anstatt immer den aktuellen Scroll-Offset. Der gespeicherte Scroll-Offset wird an einem Anker-Neuberechnungspunkt aktualisiert. Das ist entweder die Position, an der das positionierte Element zuerst angezeigt wird, oder, wenn eine andere Positionsoption (position-try-fallbacks) ausgewählt wird.
Inertheit von Preisvergleichsportalen
Wenn Sie ein Element inaktiv machen, wirkt sich das darauf aus, ob es fokussiert, bearbeitet, ausgewählt und über die Funktion „Auf Seite suchen“ durchsucht werden kann. Außerdem wird dadurch festgelegt, ob das Element im Barrierefreiheitsbaum sichtbar ist. Mit der Eigenschaft interactivity wird angegeben, ob ein Element und seine untergeordneten Elemente im flachen Baum (einschließlich Textläufe) inaktiv sind oder nicht. Die Eigenschaft interactivity akzeptiert einen von zwei Werten: auto oder inert.
Properties für logischen Überlauf
Mit den CSS-Eigenschaften overflow-inline und overflow-block können Sie den Überlauf in Inline- und Blockrichtung relativ zum Schreibmodus festlegen. In einem horizontalen Schreibmodus overflow-inline entspricht overflow-x, in einem vertikalen Schreibmodus entspricht es overflow-y.
Vorzeichenbezogene Funktionen: abs() und sign()
Das Attribut dynamic-range-limit
Ermöglicht es einer Seite, die maximale Helligkeit von HDR-Inhalten zu begrenzen.
Die shape()-Funktion
Mit der Funktion shape() lassen sich responsive Freiformen in der Eigenschaft clip-path erstellen. 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 beliebige CSS-Werte wie benutzerdefinierte Eigenschaften.
Das Pseudoelement ::column
Ein ::column-Pseudoelement, mit dem eine begrenzte Anzahl von Stilen auf die generierten Fragmente angewendet werden kann. Dies ist auf Stile beschränkt, 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 fokussierbar sein und sich wie ein Button verhalten (einschließlich der UA-Stile).
Wenn diese Option aktiviert ist, sollte ein Scrollen in die entsprechende Richtung um einen bestimmten Betrag erfolgen.
Wenn das Scrollen in diese Richtung nicht möglich ist, sollten sie deaktiviert (und mit :disabled formatiert) werden. Andernfalls sind sie aktiviert (und mit :enabled formatiert). Mit dem Selektor 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ügt die ::scroll-marker und ::scroll-marker-group für Scrolling-Container hinzu.
Mit diesen Pseudoelementen können Sie eine Reihe von fokussierbaren Markierungen für alle zugehörigen Elemente im Scrollcontainer erstellen.
Verschachtelte Pseudoelemente gestalten
Ermöglicht das Formatieren 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.
Partitionieren des Verlaufs der :visited-Links
Um Datenlecks beim Browserverlauf von Nutzern zu vermeiden, werden Ankerelemente nur dann als :visited formatiert, wenn sie bereits zuvor von dieser Website und diesem Frame-Ursprung aus angeklickt wurden. Da nur Links formatiert werden, die auf dieser Website und in diesem Frame zuvor angeklickt wurden, sind die vielen Seitenkanalangriffe, die entwickelt wurden, um Informationen zur Formatierung von :visited-Links zu erhalten, jetzt obsolet, da sie Websites keine neuen Informationen über Nutzer mehr liefern.
Eine Ausnahme gilt für Self-Links. Links zu den eigenen Seiten einer Website können als :visited formatiert werden, auch wenn sie auf genau dieser Website und in genau diesem Frame-Ursprung noch nie angeklickt wurden. Diese Ausnahme gilt nur für Frames der obersten Ebene oder Unterframes, die denselben Ursprung wie der Frame der obersten Ebene haben. Die Datenschutzvorteile werden weiterhin erreicht, da für die Websites bereits bekannt ist, welche ihrer Unterseiten ein Nutzer besucht hat. Es werden also keine neuen Informationen offengelegt. Diese Ausnahme wurde von der Community angefragt und verbessert die Nutzerfreundlichkeit.
Funktionsnotation für den Interpolationsfortschritt: CSS-Funktion *progress()
safe-area-max-inset-*-Variablen
Zusätzlich zu den safe-area-inset-Umgebungsvariablen unterstützt Chrome jetzt auch max-area-safe-inset-*-Varianten dieser Variablen. Im Gegensatz zu den dynamischen Insets ändern sich die maximalen Insets nicht. Sie stellen den maximal möglichen Inset für den sicheren Bereich dar.
Diese Werte sind erforderlich, um leistungsstarke Edge-to-Edge-Webanwendungen zu erstellen.
Web APIs
MediaStreamTrack-Unterstützung für die Web Speech API hinzufügen
MediaStreamTrack-Unterstützung für die Web Speech API hinzufügen Die Web Speech API ist eine Webstandard-API, mit der Entwickler Spracherkennung und ‑synthese in ihre Webseiten einbinden können. Derzeit wird für die Web Speech API das Standardmikrofon des Nutzers als Audioeingabe verwendet. Durch die Unterstützung von MediaStreamTrack können Websites die Web Speech API verwenden, um andere Audioquellen zu untertiteln, einschließlich Remote-Audiotracks.
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 für jede Ressource eines bestimmten Typs eine Integritätsprüfung erforderlich ist. Wenn versucht wird, eine Ressource dieses Typs ohne Integritätsmetadaten zu laden, schlägt der Versuch fehl und es wird ein CSP-Verletzungsbericht ausgelöst. Diese Intention deckt den "script"-Wert dieser Direktive 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-Events an erfassten Zeiger senden
Wenn ein Zeiger erfasst wird, während das pointerup-Ereignis gesendet wird, wird das click-Ereignis an das erfasste Ziel gesendet und nicht an den nächsten gemeinsamen Vorfahren von pointerdown- und pointerup-Ereignissen, wie in der UI-Ereignisspezifikation beschrieben. Bei nicht erfassten Zeigern bleibt das click-Ziel unverändert.
Float16Array
Fügt das typisierte Array Float16Array hinzu. Numerische Werte werden beim Schreiben in Float16Array-Instanzen auf IEEE fp16 gerundet.
Navigationsinitiator in den HTTP-Cache-Partitionsschlüssel einbeziehen
Das HTTP-Cache-Schlüsselschema von Chrome wurde aktualisiert und enthält jetzt ein is-cross-site-main-frame-navigation-Boolesches Attribut, um websiteübergreifende Leckangriffe mit Navigationen der obersten Ebene zu verhindern. So werden websiteübergreifende Angriffe verhindert, bei denen ein Angreifer eine Navigation auf oberster Ebene zu einer bestimmten Seite initiieren und dann zu einer Ressource navigieren kann, die bekanntermaßen von der Seite geladen wird, um über das Timing des Ladevorgangs vertrauliche Informationen abzuleiten. Diese Änderung verbessert auch den Datenschutz, da verhindert wird, dass eine schädliche Website anhand von Navigationsvorgängen darauf schließen kann, ob ein Nutzer eine bestimmte Website bereits besucht hat.
HSTS-Tracking-Schutz
Verhindert 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 zu untergeordneten Ressourcen. Dadurch wird es für Drittanbieter-Websites unmöglich, den HSTS-Cache zu verwenden, um Nutzer im Web zu tracken.
Aufrufbefehle: die Attribute command und commandfor
Mit den Attributen command und commandfor für <button>-Elemente können Sie Schaltflächen auf zugänglichere und deklarative Weise Verhalten zuweisen. Gleichzeitig werden Fehler reduziert und die Menge an JavaScript, die für die Interaktivität erforderlich ist, wird vereinfacht. Wenn auf Schaltflächen mit den Attributen commandfor und command geklickt, getippt oder eine Taste gedrückt wird, wird ein CommandEvent für das Element ausgelöst, auf das mit commandfor verwiesen wird. Dabei werden einige Standardverhalten wie das Öffnen von Dialogfeldern und Pop-overs ausgeführt.
rel="facilitated-payment" verknüpfen, um Push-Zahlungen zu unterstützen
Unterstützung für <link rel="facilitated-payment" href="..."> als Hinweis, dass der Browser registrierte Zahlungsclients über eine anstehende Push-Zahlung benachrichtigen soll.
Das Attribut NavigateEvent sourceElement
Wenn eine Navigation durch ein Element ausgelöst wird (z. B. durch einen Linkklick oder das Senden eines Formulars), gibt das Attribut sourceElement für das NavigateEvent das auslösende Element zurück.
Änderung des Grundnamens in der NotRestoredReasons API
In der NotRestoredReasons API werden einige der Begründungstexte geändert, um sie an die standardisierten Namen anzupassen. Entwickler, die diese Gründe im Blick behalten, werden möglicherweise Änderungen an den Begründungstexten feststellen.
On-Device Web Speech API
Service Worker-Client-URL ignoriert history.pushState-Änderungen
Ändert die Client.url-Eigenschaft des Service Workers, um Änderungen der Dokument-URL mit history.pushState() und anderen ähnlichen Verlaufs-APIs zu ignorieren. Die Client.url-Eigenschaft 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 Bearbeitung von <a>-Elementen ähnlich wie bei HTML-Ankerelementen. Die Unterstützung der Attribute rel und relList verbessert die Sicherheit und den Datenschutz für Entwickler. Diese Ausrichtung an HTML-Ankerelementen sorgt für Konsistenz und Benutzerfreundlichkeit bei allen Webtechnologien.
Zeitstempel für RTC-codierte Frames
Bei dieser Funktion werden einige Zeitstempel, die in über RTCPeerConnection übertragenen WebRTC-codierten Frames vorhanden sind, im Web verfügbar gemacht. Die betreffenden Zeitstempel sind:
- Zeitstempel der Aufnahme: Der Zeitstempel, der angibt, wann ein Frame ursprünglich aufgenommen wurde.
- Zeitstempel für den Empfang: Der Zeitstempel für den Empfang eines Frames
Aktualisierung von ProgressEvent, sodass für „loaded“ und „total“ der Typ „double“ verwendet wird
Das ProgressEvent hat die Attribute loaded und total, die den Fortschritt angeben. Ihr Typ ist jetzt unsigned long long. Mit dieser Funktion wird der Typ für diese beiden Attribute stattdessen in double geändert, wodurch Entwickler mehr Kontrolle über den Wert haben. So können sie beispielsweise ein ProgressEvent mit einem total-Wert von 1 erstellen und den Wert loaded schrittweise von 0 auf 1 erhöhen. 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 zum Anfordern eines verzögerten Abrufs. Sie ist besonders nützlich für zuverlässigere Beacons am Ende der Lebensdauer einer Seite.
Sobald eine verzögerte Anfrage in einem Dokument aufgerufen wird, wird sie vom Browser in den Status „PENDING“ (AUSSTEHEND) gestellt und unter 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 wechselt, unabhängig davon, wie viel Zeit noch verbleibt. Der Browser entscheidet, wann es Zeit ist, die Anfrage zu senden.
Die API gibt ein FetchLaterResult zurück, das ein boolesches Feld activated enthält. Dieses kann aktualisiert werden, um anzugeben, ob die verzögerte Anfrage gesendet wurde. Bei erfolgreichem Senden wird die gesamte Antwort vom Browser ignoriert, einschließlich Text und Headern.
Aus Sicht des API-Nutzers ist die genaue Sendezeit unbekannt.
Neue Ursprungstests
In Chrome 135 können Sie die folgenden neuen Ursprungstests aktivieren.
Aufrufer für Interessen
Mit dieser Funktion wird den Elementen <button> und <a> ein interesttarget-Attribut hinzugefügt. Mit dem Attribut interesttarget werden dem Element Verhaltensweisen vom Typ „Interesse“ hinzugefügt. Wenn der Nutzer also „Interesse“ an dem Element zeigt, werden Aktionen für das Zielelement ausgelöst. Aktionen können beispielsweise das Einblenden eines Pop-overs umfassen. Der User-Agent erkennt, wann der Nutzer „Interesse“ an dem Element zeigt. Dazu werden Methoden wie das Bewegen des Mauszeigers auf das Element, das Drücken spezieller Hotkeys auf der Tastatur oder das lange Drücken des Elements auf Touchscreens verwendet.
Wenn Interesse gezeigt oder verloren wird, wird ein InterestEvent für das Ziel ausgelöst. Bei Pop-overs sind Standardaktionen definiert, die das Ein- und Ausblenden des Pop-overs steuern.
Signaturbasierte Integrität
Diese Funktion bietet Webentwicklern einen Mechanismus, um die Herkunft von Ressourcen zu überprüfen, von denen sie abhängig 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 den User-Agent anweisen, die Signatur mit einem bestimmten öffentlichen Schlüssel zu überprüfen. Das ist eine hilfreiche Ergänzung zu den URL-basierten Prüfungen, die von der Content Security Policy angeboten werden, und den inhaltsbasierten Prüfungen von Subresource Integrity.
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.
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. In Chrome 99 wurde eine Implementierung eingeführt. Der Vorschlag wurde jedoch geändert, um mehrere Getter in Funktionen zu verschieben. Wir müssen die verworfenen Getter entfernen und die umbenannten Funktionen neu starten.
In dieser Version von Chrome werden drei Funktionen entfernt.
Veraltete navigator.xr.supportsSession-Methode entfernen
navigator.xr.supportsSession wurde im September 2019 in der WebXR-Spezifikation durch die Methode navigator.xr.isSessionSupported ersetzt, nachdem das TAG Feedback zur API-Form gegeben hatte. Seitdem ist sie in Chrome als verworfen markiert und es wird eine Konsolenwarnung angezeigt, die Entwickler zur aktualisierten API weiterleitet. Die Verwendung des Aufrufs ist sehr gering und alle wichtigen Frameworks, die zum Erstellen von WebXR-Inhalten verwendet werden, wurden nachweislich aktualisiert, um den neueren Aufruf zu verwenden.
NavigateEvent-Property 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 zu diesem Zeitpunkt entfernt. Wir haben jedoch vergessen, die Property canTransition zu entfernen. Stattdessen haben wir sie als Alias für canIntercept beibehalten. In Chrome 135 wird dieses Problem behoben und canTransition entfernt. Alle Verwendungen von canTransitionkönnen durch canInterceptersetzt werden, ohne dass sich das Verhalten ändert.
WebGPU-Limit „maxInterStageShaderComponents“ entfernen
Das maxInterStageShaderComponents-Limit wird aufgrund einer Kombination aus folgenden Faktoren entfernt:
- Redundanz mit
maxInterStageShaderVariables: Dieses Limit erfüllt bereits einen ähnlichen Zweck, indem es die Menge der Daten steuert, die zwischen Shader-Phasen übertragen werden. - Geringfügige Abweichungen: Die beiden Limits werden zwar leicht unterschiedlich berechnet, die Unterschiede sind jedoch gering und können effektiv innerhalb der
maxInterStageShaderVariables limitverwaltet werden. - Vereinfachung: Durch das Entfernen von
maxInterStageShaderComponentswird die Shader-Schnittstelle optimiert und die Komplexität für Entwickler reduziert. Statt zwei separate Limits zu verwalten, die beide gleichzeitig gelten, aber geringfügige Unterschiede aufweisen, können sie sich auf das umfassenderemaxInterStageShaderVariableskonzentrieren, das auch einen passenderen Namen hat.