Chrome 136 Beta

Veröffentlicht: 3. April 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 136 ist seit dem 3. April 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 sechs neue CSS- und UI-Funktionen.

CSS-Property dynamic-range-limit

Ermöglicht es, auf einer Seite die maximale Helligkeit von HDR-Inhalten zu begrenzen.

Buchstabenabstand bei Schreibschriften ignorieren

Mit dieser Funktion wird die Einstellung für den Buchstabenabstand für Schriftarten mit Kurrentschrift ignoriert, auch wenn sie vom Entwickler gemäß der Spezifikation angegeben wurde. So wird verhindert, dass durch den Buchstabenabstand Wörter getrennt werden.

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 mit einem Stil versehen werden, auf die auf dieser Website und in diesem Frame bereits geklickt wurde, sind viele Side-Channel-Angriffe, die entwickelt wurden, um Informationen zum Stil von :visited-Links zu erhalten, jetzt obsolet. Sie stellen Websites keine neuen Informationen zu Nutzern mehr zur Verfügung.

Weitere Informationen zu diesen Verbesserungen beim Datenschutz von :visited-Links

string attr()-Typ in raw-string umbenennen

Die CSS-Arbeitsgruppe hat beschlossen, den Typ string attr() durch raw-string zu ersetzen.

Daher wurde die attr()-Syntax in Chrome geändert, sodass attr(data-foo string) jetzt attr(data-foo raw-string) ist.

Typunabhängiger var()-Fallback

Der Fallback-Teil einer var()-Funktion wird nicht auf den Typ der benutzerdefinierten Property geprüft, auf die verwiesen wird.

Ohne Präfix print-color-adjust

Mit der Eigenschaft print-color-adjust können Sie Farben auf gedruckten Webseiten anpassen. Dieser entspricht dem bereits in Chrome unterstützten -webkit-print-color-adjust, hat aber einen standardisierten Namen. Die Version mit dem Präfix -webkit wird nicht entfernt.

Web APIs

AudioContext-Unterbrechungsstatus

Fügt AudioContextState den Status "interrupted" hinzu. Mit diesem neuen Status kann die UA die Wiedergabe in diesen Szenarien pausieren und Webanwendungen entsprechend reagieren.

Blob-URL-Partitionierung: Abrufen/Navigation

Als Fortsetzung der Speicherpartitionierung wird hier die Partitionierung des Blob-URL-Zugriffs nach Speicherschlüssel (Website der obersten Ebene, Frame-Ursprung und das boolesche has-cross-site-ancestor-Attribut) implementiert, mit Ausnahme von Navigationen der obersten Ebene, die nur nach Frame-Ursprung partitioniert bleiben. Dieses Verhalten ähnelt dem, was derzeit sowohl in Firefox als auch in Safari implementiert ist, und gleicht die Verwendung von Blob-URLs mit dem Partitionierungsschema ab, das von anderen Speicher-APIs im Rahmen der Speicherpartitionierung verwendet wird.

Außerdem wird noopener jetzt für vom Renderer initiierte Navigationen der obersten Ebene zu Blob-URLs erzwungen, bei denen die entsprechende Website websiteübergreifend zur Website der obersten Ebene ist, auf der die Navigation ausgeführt wird. Damit entspricht Chrome dem Verhalten in Safari. Die entsprechenden Spezifikationen wurden entsprechend aktualisiert.

Aufrufstapel in Absturzberichten von nicht reagierenden Webseiten

Mit dieser Funktion wird der JavaScript-Aufrufstapel erfasst, wenn eine Webseite aufgrund eines JavaScript-Codes, der einen unendlichen Loop oder eine andere sehr lange Berechnung ausführt, nicht mehr reagiert. So können Entwickler die Ursache für die Unzuverlässigkeit ermitteln. Der JavaScript-Aufrufstapel ist in der Absturzmelde-API enthalten, wenn der Grund „Nicht antworten“ ist.

Captured Surface Control API

Mit der Captured Surface Control API können Webanwendungen Raddreh-Ereignisse an einen erfassten Tab weiterleiten und den Zoomfaktor eines erfassten Tabs lesen und ändern.

CapturedSurfaceResolution

Zeigt das Pixelverhältnis der erfassten Oberfläche während des Bildschirmfreigabevorgangs an. Mit dieser Funktion können Anwendungen ihre Systemressourcen schonen oder den Kompromiss zwischen Qualität und Bandbreite an die physische und logische Auflösung der erfassten Oberfläche anpassen.

Klickereignisse 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.

Explizite Kompilierungshinweise mit magischen Kommentaren

Ermöglicht das Anhängen von Informationen dazu, welche Funktionen sofort geparst und in JavaScript-Dateien kompiliert werden sollen. Die Informationen werden als magische Kommentare codiert.

FedCM-Aktualisierungen: Unterstützung mehrerer Identitätsanbieter, Entfernung der Funktion „Weitere Konten hinzufügen“ im passiven Modus

Mit diesem Update können in FedCM mehrere Identitätsanbieter im selben Dialogfeld angezeigt werden. So können Entwickler Nutzern alle unterstützten Identitätsanbieter auf einfache Weise präsentieren. Wir planen, zuerst den einfachen Fall zu behandeln, bei dem alle Anbieter in einem einzigen get()-Anruf sind. Außerdem wird die Unterstützung für die Funktion „Anderes Konto hinzufügen“ im passiven FedCM-Modus entfernt. Mit dieser Funktion kann in der Auswahl neben anderen Konten von Identitätsanbietern die Schaltfläche „Anderes Konto verwenden“ angezeigt werden. Die Funktion wird derzeit nicht verwendet. UX-Gespräche haben uns zu der Annahme veranlasst, dass die Unterstützung dieser Funktion zu einem komplizierteren Ablauf ohne großen Nutzen führt. Diese Funktion funktioniert auch im aktiven FedCM-Modus.

Fluent-Bildlaufleisten

Mit dieser Funktion werden die Chrome-Bildlaufleisten (sowohl Overlay- als auch Nicht-Overlay-Bildlaufleisten) unter Windows und Linux an das Fluent Design von Windows 11 angepasst. Fluent-Bildlaufleisten ohne Overlay sind unter Linux und Windows standardmäßig aktiviert. Diese Änderung gilt auch für Linux, da das Design der Bildlaufleiste von Chrome unter Linux bisher mit der Version unter Windows übereinstimmte.

H265-Codec-Unterstützung (HEVC) in WebRTC

Ab Chrome 136 wird HEVC neben VP8, H.264, VP9 und AV1 als unterstützter Codec in WebRTC eingesetzt. Der Support kann über die MediaCapabilities API abgefragt werden.

Dieser neuere Codec bietet im Vergleich zu Codecs der älteren Generation wie VP8 und H264 eine höhere Komprimierungseffizienz (höhere Qualität pro Bitrate) und eine sehr gute Hardwareunterstützung, die über ein Jahrzehnt zurückreicht. Das führt zu einer längeren Akkulaufzeit und einem geringeren Risiko für Leistungsprobleme. Je nach Leistung des zugrunde liegenden Hardware-Encoders wird die Bildqualität in Fällen, in denen keine Hardware-VP9- oder AV1-Encoder verfügbar sind, oft verbessert.

Aktualisierte H26x-Codec-Unterstützung für MediaRecorder

Die MediaRecorder API unterstützt jetzt die HEVC-Codierung. Dazu wurde der hvc1.*-Codec-String eingeführt und es wurden neue Codecs (hev1.* und avc3.*) hinzugefügt, die Videos mit variabler Auflösung in MP4 unterstützen. In Chrome 130 wurde die Unterstützung für die HEVC-Plattformcodierung in WebCodecs hinzugefügt. Als Nächstes wurde die MediaRecorder API in Chromium unterstützt. Die API unterstützt jetzt sowohl MP4- als auch Matroska-Muxertypen mit verschiedenen HEVC- und H.264-MIME-Typspezifikationen. Die HEVC-Codierung wird nur unterstützt, wenn das Gerät und das Betriebssystem des Nutzers die erforderlichen Funktionen bieten.

IP-Adressprotokollierung und -berichte in Chrome Enterprise

Chrome Enterprise verbessert die Sicherheitsüberwachung und Reaktion auf Vorfälle, indem lokale und Remote-IP-Adressen erfasst und gemeldet und an die Sicherheitsuntersuchungsprotokolle (Security Investigation Logs, SIT) gesendet werden. Außerdem können Administratoren mit Chrome Enterprise die IP-Adressen optional über den Chrome Enterprise-Berichtsconnector an eigene und Drittanbieter-SIEM-Anbieter senden. Diese Funktion ist für Chrome Enterprise Core-Kunden verfügbar.

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

Das HTTP-Cache-Schlüsselschema 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 zu ermitteln. 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.

Sprachunterstützung für CanvasTextDrawingStyles

Das DOM-Element <canvas> akzeptiert wie alle DOM-Elemente ein lang-Attribut, mit dem die sprachspezifische Behandlung der Schriftauswahl definiert wird, wenn Schriftarten sprachspezifische Schriftzeichen haben. Browser berücksichtigen dieses Attribut. Wenn jedoch ein OffscreenCanvas erstellt wird, können keine Informationen zur Sprache festgelegt werden. Dies kann dazu führen, dass ein OffscreenCanvas gerenderte Ergebnisse liefert, die sich vom Canvas unterscheiden, in dem die Ausgabe verwendet wird. Mit dieser Funktion wird CanvasTextDrawingStyles das IDL-Attribut lang hinzugefügt, um die Sprache für die Textdarstellung und die Messwerte direkt zu steuern.

Berichte zur Richtlinie für Berechtigungen für iframes

Es wird ein neuer Verstoßtyp namens „Potenzieller Verstoß gegen die Berechtigungsrichtlinie“ eingeführt. Dabei werden nur die Berechtigungsrichtlinie (einschließlich der Richtlinie, die nur zur Meldung dient) und das allow-Attribut in Iframes berücksichtigt, um den Konflikt zwischen der erzwungenen Berechtigungsrichtlinie und den Berechtigungen zu erkennen, die an Iframes weitergegeben werden.

Voraussichtliches gemeldetes Speicherkontingent

Melden Sie ein vorhersehbares Speicherkontingent über die Estimate API der StorageManager API für Websites, die keine unbegrenzten Speicherberechtigungen haben. Der Browsermodus eines Nutzers kann anhand des gemeldeten Speicherkontingents erkannt werden, da der verfügbare Speicherplatz im Inkognitomodus deutlich kleiner ist als im normalen Modus.

Private Aggregation API: Aggregierte Fehlerberichte

Bei der Verwendung der Private Aggregation API können verschiedene Fehler auftreten. Beispielsweise kann das Datenschutzbudget aufgebraucht sein, sodass keine weiteren Histogramm-Beiträge mehr möglich sind. Mit dieser Funktion können Entwickler Histogrammbeiträge registrieren, die nur gesendet werden sollen, wenn ein bestimmter Fehlertyp auftritt. Mit dieser Funktion können Sie die Häufigkeit der Fehlerbedingungen messen und diese Messungen nach relevanten vom Entwickler angegebenen Dimensionen aufschlüsseln (z. B. Version des bereitgestellten Codes). Da die Fehler selbst websiteübergreifend sein können, können wir sie nicht einfach für Nutzer ohne Drittanbieter-Cookies auf der Seite anzeigen. Stattdessen werden mit dieser Funktion die vorhandenen aggregierten Berichtspipelines mit Rauschen über den Aggregationsdienst wiederverwendet.

RegExp.escape

RegExp.escape ist eine statische Methode, die einen String als Eingabe nimmt und eine rückwärts-maskierte Version zurückgibt, die als Muster in einem regulären Ausdruck verwendet werden kann. Beispiel:

const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.

console.log(ourLongText.replace(re));

Spekulationsregeln: Tag-Feld

Entwickler können Spekulationsregeln das Tag field hinzufügen. Mit diesem optionalen Feld können Sie die Quelle von Spekulationsregeln verfolgen. Beispielsweise können sie auf einem Zwischenserver unterschiedlich behandelt werden. Alle mit einer Spekulation verknüpften Tags werden mit dem Sec-Speculation-Tags-Header gesendet.

Strenge Richtlinie zum gleichen Ursprung für die Storage Access API

Die Semantik der Storage Access API wird so angepasst, dass sie der Richtlinie zum gleichen Ursprung strikt folgt. Wenn Sie document.requestStorageAccess() in einem Frame verwenden, werden standardmäßig nur Cookies an Anfragen an den Ursprung des iFrames (nicht an die Website) angehängt. Hinweis: Die CookiesAllowedForUrls-Richtlinie oder Storage Access Headers können weiterhin verwendet werden, um websiteübergreifende Cookies zu entsperren.

ProgressEvent aktualisieren, um den Doppeltyp für loaded und total zu verwenden

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 einer total von 1 und einer loaded erstellen, die schrittweise von 0 auf 1 ansteigt. Das entspricht dem Standardverhalten des HTML-Elements <progress>, wenn das Attribut „max“ weggelassen wird.

DOMPointInit für getCharNumAtPosition, isPointInFill, isPointInStroke verwenden

Durch diese Änderung entspricht der Chromium-Code der neuesten W3C-Spezifikation für SVGGeometryElement und SVGPathElement, da DOMPointInit anstelle von SVGPoint für getCharNumAtPosition, isPointInFill und isPointInStroke verwendet wird.

Bedingtes Erstellen der Webauthentifizierung (Passkey-Upgrades)

Mit WebAuthn-Anfragen zum bedingten Erstellen können Websites vorhandene Anmeldedaten mit Passwort auf einen Passkey umstellen.

WebGPU: GPUAdapterInfo isFallbackAdapter-Attribut

Das boolesche Attribut GPUAdapterInfo isFallbackAdapter gibt an, ob ein Adapter erhebliche Leistungseinschränkungen hat, die im Gegenzug für eine größere Kompatibilität, ein vorhersehbareres Verhalten oder eine verbesserte Datensicherheit erzielt werden. Hinweis: Ein Fallback-Adapter ist möglicherweise nicht auf allen Systemen vorhanden.

Neue Ursprungstests

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

Audio Output Devices API: setDefaultSinkId()

Mit dieser Funktion wird MediaDevices setDefaultSinkId() hinzugefügt, wodurch der Frame der obersten Ebene das Standardaudioausgabegerät ändern kann, das von seinen Unterframes verwendet wird.

Bimodale Leistungszeiträume für Webanwendungen berücksichtigen

Webanwendungen können aufgrund von Faktoren, die außerhalb der Kontrolle der Webanwendung liegen, eine bimodale Verteilung der Seitenladeleistung aufweisen. Beispiel:

  • Wenn ein User-Agent zum ersten Mal gestartet wird (ein „Kaltstart“-Szenario), muss er viele ressourcenintensive Initialisierungsaufgaben ausführen, die um Ressourcen im System konkurrieren.
  • Browsererweiterungen können sich auf die Leistung einer Website auswirken. Beispielsweise führen einige Erweiterungen auf jeder von Ihnen besuchten Seite zusätzlichen Code aus, was die CPU-Auslastung erhöhen und zu längeren Reaktionszeiten führen kann.
  • Wenn ein Computer mit intensiven Aufgaben beschäftigt ist, kann das zu einem langsameren Laden von Webseiten führen.

In diesen Szenarien konkurrieren die Inhalte, die die Webanwendung laden möchte, mit anderen Aufgaben, die im System ausgeführt werden. Das erschwert es, zu erkennen, ob Leistungsprobleme in den Webanwendungen selbst oder aufgrund externer Faktoren auftreten.

Mit einem neuen confidence-Feld im PerformanceNavigationTiming-Objekt können Entwickler feststellen, ob die Navigationszeiten für ihre Webanwendung repräsentativ sind.

Anmeldedaten für gerätegebundene Sitzung

Eine Möglichkeit für Websites, eine Sitzung sicher an ein einzelnes Gerät zu binden.

So können Server eine Sitzung haben, die sicher an ein Gerät gebunden ist. Der Browser erneuert die Sitzung regelmäßig auf Aufforderung des Servers und weist nach, dass er einen privaten Schlüssel hat.

Aktualisierung der Canvas-Text-Rendering-Implementierung

Die internen Funktionen von CanvasRenderingContext2D und OffscreenCanvasRenderingContext2D für measureText(), fillText() und strokeText() wurden durch eine neue Implementierung ersetzt, die die Unterstützung von RTL-Text und Caching verbessert. Dies kann sich auf die Leistung und die BIDI-Textausgabe auswirken. Mit diesem Ursprungstest können Entwickler von Canvas-Anwendungen mit viel Text die neue Implementierung ausprobieren und auftretende Probleme melden.

Einstellung und Entfernung

In dieser Version von Chrome werden die folgenden Funktionen eingestellt oder entfernt. Auf ChromeStatus.com finden Sie Listen mit geplanten, aktuellen und früheren Einstellungen.

Mit dieser Version von Chrome werden zwei Funktionen 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. Durch diese Änderung werden einige Getter entfernt, die in einer Spezifikationsänderung nach der Veröffentlichung veraltet wurden.

Entfernen Sie HTMLFencedFrameElement.canLoadOpaqueURL().

canLoadOpaqueURL() wurde 2023 durch navigator.canLoadAdAuctionFencedFrame() ersetzt. Seitdem wird beim Aufrufen von canLoadOpaqueURL() eine Konsolenwarnung zur Einstellung angezeigt, die Entwickler auf die neue API verweist. Es ist nicht sinnvoll, die Funktion an HTMLFencedFrameElement anzuhängen. Stattdessen sollte sie an das navigator-Objekt angehängt werden, das andere Methoden für eingezäunte Frames und Anzeigenauktionen enthält.