Chrome 136

Datum der stabilen Version: 29. April 2025

Sofern nicht anders angegeben, gelten die folgenden Änderungen für die stabile Version 136 von Chrome für Android, ChromeOS, Linux, macOS und Windows.

HTML und DOM

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. Beim Erstellen einer OffscreenCanvas können jedoch keine Informationen zur Sprache festgelegt werden. Dies kann dazu führen, dass ein Offscreen-Canvas gerenderte Ergebnisse liefert, die sich von denen des Canvas unterscheiden, in dem die Ausgabe verwendet wird. Mit dieser Funktion wird CanvasTextDrawingStyles das IDL-Attribut lang hinzugefügt, damit Entwickler die Sprache für die Textdarstellung und die Messwerte direkt steuern können.

Fehler-Tracking-ID 385006131 | Eintrag in ChromeStatus.com | Spezifikation

CSS und Benutzeroberfläche

Die dynamic-range-limit-Property

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

Bug-Tracking-ID 1470298 | ChromeStatus.com-Eintrag | Spezifikation

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.

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

Fehler-Tracking-ID 1448609 | Eintrag in ChromeStatus.com | Spezifikation

Ohne Präfix print-color-adjust

Mit der Eigenschaft print-color-adjust können Sie Farben auf gedruckten Webseiten anpassen. Dieser entspricht der bereits in Chrome unterstützten -webkit-print-color-adjust, hat aber einen standardisierten Namen.

Die Version mit dem Präfix -webkit- wird nicht entfernt.

MDN Docs | Tracking-Fehler #376381169 | ChromeStatus.com-Eintrag | Spezifikation

string attr()-Typ in raw-string umbenennen

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

Daher wird attr(data-foo string) ab Chrome 136 zu attr(data-foo raw-string).

Fehler-Tracking-ID 400981738 | ChromeStatus.com-Eintrag | Spezifikation

Typunabhängiger var()-Fallback

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

Bug-Tracking-ID 372475301 | Eintrag in ChromeStatus.com

Web APIs

Klickereignisse an den erfassten Zeiger senden

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

Bei nicht erfassten Verweispunkten bleibt das Ziel click unverändert.

Bug-Tracking-ID 40851596 | ChromeStatus.com-Eintrag | Spezifikation

Explizite Kompilierungshinweise mit magischen Kommentaren

Ermöglicht das Anhängen von Informationen dazu, welche Funktionen in JavaScript-Dateien sofort analysiert und kompiliert werden sollen.

Die Informationen werden als magische Kommentare codiert.

Fehler-Tracking-ID 13917 | Eintrag in ChromeStatus.com | Spezifikation

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

Tracking-Fehler #398784714 | ChromeStatus.com-Eintrag | Spezifikation

Protected Audience: Hilfetexte zur Textkonvertierung

Gebote und Bewertungsscripts für geschützte Zielgruppen, die mit WebAssembly interagieren, müssen Stringdaten effizient in (und aus) Byte-Arrays konvertieren. So können beispielsweise Strings mit dem „memory“-ArrayBuffer in WebAssembly übergeben und von dort wieder zurückgegeben werden. Dazu gibt es zwei eigenständige Funktionen, protectedAudience.encodeUtf8 und protectedAudience.decodeUtf8, mit denen diese Aufgaben etwa um eine Größenordnung effizienter ausgeführt werden können als in JavaScript.

Eintrag in ChromeStatus.com

RegExp.escape

RegExp.escape ist eine statische Methode, die einen String annimmt und eine escaped-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));

ChromeStatus.com-Eintrag | Spezifikation

Spekulationsregeln: Tag-Feld

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

Fehler-Tracking-ID 381687257 | ChromeStatus.com-Eintrag | Spezifikation

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

Das ProgressEvent hat die Attribute loaded und total, die den Fortschritt angeben, und der Typ ist jetzt unsigned long long.

Bei dieser Funktion wird der Typ für diese beiden Attribute stattdessen in double geändert, wodurch der Entwickler mehr Kontrolle über den Wert hat. Beispielsweise können 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.

ChromeStatus.com-Eintrag | Spezifikation

Datenschutz und Sicherheit

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.

Tracking-Fehler 40941424 | ChromeStatus.com-Eintrag | Spezifikation

Fingerprinting in den Informationen im Accept-Language-Header reduzieren

Reduziert die Menge der Informationen, die der Accept-Language-Header-Wertstring in HTTP-Anfragen und in navigator.languages preisgibt. Anstatt bei jeder HTTP-Anfrage eine vollständige Liste der bevorzugten Sprachen des Nutzers zu senden, sendet Chrome jetzt die bevorzugte Sprache des Nutzers im Accept-Language-Header.

Tracking-Fehler #1306905 | ChromeStatus.com-Eintrag

Identität

FedCM-Updates

Ermöglicht es FedCM, mehrere Identitätsanbieter im selben Dialogfeld anzuzeigen, indem alle Anbieter im selben get()-Aufruf enthalten sind. So können Entwickler Nutzern alle unterstützten Identitätsanbieter auf einfache Weise präsentieren.

In Chrome 136 wird außerdem die Unterstützung für Weitere Konten hinzufügen im passiven FedCM-Modus entfernt. Mit dieser Funktion kann neben anderen Konten von Identitätsanbietern in der Auswahl eine 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 weiterhin im aktiven FedCM-Modus.

Bug-Tracking #1348262 | ChromeStatus.com-Eintrag | Spezifikation

Bedingtes Erstellen der Webauthentifizierung (Passkey-Upgrades)

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

Bug-Tracking-ID 377758786 | ChromeStatus.com-Eintrag | Spezifikation

Bilder und Medien

AudioContext Unterbrochener Zustand

Fügt AudioContextState den Status "interrupted" hinzu. In diesem neuen Status kann der User-Agent die Wiedergabe bei exklusivem Audiozugriff (VoIP) oder wenn das Laptop-Cover geschlossen ist, pausieren.

Bug-Tracking-ID 374805121 | ChromeStatus.com-Eintrag | Spezifikation

Steuerelement für erfasste Oberfläche

Eine Web API, mit der Webanwendungen Folgendes tun können:

  1. Lenkrad-Ereignisse an einen Tab mit Aufzeichnungen weiterleiten
  2. Zoomfaktor eines erfassten Tabs lesen und ändern

Bug-Tracking-ID 1466247 | ChromeStatus.com-Eintrag | Spezifikation

CapturedSurfaceResolution

Pixelverhältnis der erfassten Oberfläche beim Bildschirmfreigabe anzeigen

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.

Fehler-ID 383946052 | Eintrag in ChromeStatus.com | Spezifikation

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

Nach dieser Änderung wird HEVC VP8, H.264, VP9 und AV1 als unterstützter Codec in WebRTC beitreten. Der Support kann über die MediaCapabilities API abgefragt werden.

Bug-Tracking-ID 391903235 | ChromeStatus.com-Eintrag | Spezifikation

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

Die MediaRecorder API von Chromium unterstützt jetzt die HEVC-Codierung. Dazu wurde der Codec-String „hvc1.*“ eingeführt und neue Codecs (hev1.* und avc3.*) hinzugefügt, die Videos mit variabler Auflösung in MP4 unterstützen.

In WebCodecs in Chromium M130 wurde die Unterstützung für die HEVC-Plattformcodierung hinzugefügt. Im Anschluss 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.

Eintrag in ChromeStatus.com

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.

Tracking-Fehler 40572887 | ChromeStatus.com-Eintrag | Spezifikation

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.

Tracking-Fehler 403172841 | ChromeStatus.com-Eintrag | Spezifikation

Browseränderungen

Bildlaufleisten

Mit dieser Funktion werden die Chromium-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 Chromium für Linux bisher mit der Version für Windows übereinstimmte. Wie die Overlay-Bildlaufleisten von Fluent aktiviert werden, wird noch entschieden.

Bug-Tracking-ID 1292117 | Eintrag in ChromeStatus.com

Ursprungstests

Audio Output Devices API: setDefaultSinkId()

Mit dieser Funktion wird setDefaultSinkId() zu MediaDevices hinzugefügt. So kann der Frame der obersten Ebene das Standard-Audioausgabegerät ändern, das von seinen Unterframes verwendet wird.

Origin Trial | ChromeStatus.com-Eintrag | Spezifikation

Bimodale Leistungszeiträume für Webanwendungen ermitteln

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. Einige Erweiterungen führen beispielsweise 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.

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

Origin-Test | Tracking-Fehler #1413848 | ChromeStatus.com-Eintrag | Spezifikation

Aktualisierung der Canvas-Text-Rendering-Implementierung

Diese Änderung ist nicht für das Web sichtbar.

Die Implementierung von CanvasRenderingContext2D, measureText(), fillText() und strokeText() hat sich drastisch geändert. Das kann sich auf die Leistung auswirken. Deshalb möchten wir einen Ursprungstest durchführen, damit Anwendungen mit viel Canvas die neue Implementierung ausprobieren können.

Origin Trial | Tracking-Fehler #389726691 | ChromeStatus.com-Eintrag

Einstellung und Entfernung

HTMLFencedFrameElement.canLoadOpaqueURL()“ entfernen

Die HTMLFencedFrameElement-Methode canLoadOpaqueURL() wurde 2023 durch navigator.canLoadAdAuctionFencedFrame() ersetzt. Seit dem Aufruf der Methode wird in der Console eine Warnung zur Einstellung angezeigt, die auf die neue API verweist. Die Methode wird in Chrome 136 entfernt.

Eintrag in ChromeStatus.com