Datum der stabilen Version: 4. Februar 2025
Sofern nicht anders angegeben, gelten die folgenden Änderungen für die stabile Version 133 von Chrome für Android, ChromeOS, Linux, macOS und Windows.
HTML und DOM
Der Hinweiswert des Popover-Attributs
Die Popover API gibt das Verhalten für zwei Werte des Popover-Attributs an: „auto“ und „manual“. Dieses Element beschreibt einen dritten Wert, popover=hint
. Hinweise, die am häufigsten mit dem Verhalten von „Tooltips“ in Verbindung gebracht werden, verhalten sich etwas anders. Der Hauptunterschied besteht darin, dass ein Hinweis beim Öffnen verschachtelter Pop-up-Stapel untergeordnet ist. So ist es möglich, ein nicht zu einem Hinweis gehörendes Pop-up zu öffnen, während ein vorhandener Stapel automatischer Pop-ups geöffnet bleibt.
Das kanonische Beispiel ist eine geöffnete <select>
-Auswahl (popover=auto
) und eine durch Bewegen des Mauszeigers ausgelöste Kurzinfo (popover=hint
). Dadurch wird die Auswahl <select>
nicht geschlossen.
Bug-Tracking-ID 1416284 | ChromeStatus.com-Eintrag
Verbesserungen bei der Positionierung von Pop-up-Launchern und Ankern
Mit popover.showPopover({source})
können Sie die Aufruferbeziehungen zwischen Pop-ups auf imperative Weise festlegen. Ermöglicht es, über Aufruferbeziehungen implizite Verweise auf Ankerelemente zu erstellen.
Bug-Tracking-ID 364669918 | Eintrag in ChromeStatus.com
Ein Pop-up, das im Auslöser verschachtelt ist, sollte nicht noch einmal aufgerufen werden.
Im folgenden Fall wird das Pop-up durch Klicken auf die Schaltfläche korrekt aktiviert. Ein Klick auf das Pop-up selbst sollte es jedoch nicht schließen.
<button popovertarget=foo>Activate
<div popover id=foo>Clicking me shouldn't close me</div>
</button>
Bisher war das der Fall, weil der Klick auf das Pop-up-Fenster zum <button>
gelangte und den Auslöser aktivierte, wodurch das Pop-up-Fenster geschlossen wurde. Das ist jetzt nicht mehr der Fall.
Bug-Tracking #https://crbug.com/379241451 | ChromeStatus.com-Eintrag
CSS
Erweiterte CSS-attr()
-Funktion
Implementiert die in CSS Level 5 angegebene Erweiterung von attr()
, die neben <string>
auch Typen zulässt und in allen CSS-Properties verwendet werden kann (zusätzlich zur vorhandenen Unterstützung für den Pseudo-Element-Inhalt).
MDN attr() | Tracking-Fehler #246571 | ChromeStatus.com-Eintrag | Spezifikation
CSS-Pseudoklasse :open
Die Pseudoklasse :open
entspricht <dialog>
und <details>
, wenn sie geöffnet sind, und <select>
und <input>
, wenn sie sich in einem Modus befinden, in dem eine Auswahl angezeigt wird.
Bug-Tracking-ID 324293874 | Eintrag in ChromeStatus.com | Spezifikation
Containerabfragen für den CSS-Scrollstatus
Mit Containerabfragen können Sie untergeordnete Container basierend auf ihrem Scrollstatus formatieren.
Der Abfragecontainer ist entweder ein Scrollcontainer oder ein Element, das von der Scrollposition eines Scrollcontainers beeinflusst wird. Die folgenden Status können abgefragt werden:
stuck
: Ein fix positionierter Container ist an einem der Ränder des Scrollfelds angeklebt.snapped
: Ein Container, der an einem Scroll-Snap ausgerichtet ist, ist derzeit horizontal oder vertikal angedockt.scrollable
: Gibt an, ob ein Scrollcontainer in eine abgefragte Richtung gescrollt werden kann.
Neuer Containertyp: scroll-state
ermöglicht das Abfragen von Containern.
Tracking-Fehler 40268059 | ChromeStatus.com-Eintrag | Spezifikation
Preisvergleichsportale text-box
, text-box-trim
und text-box-edge
Mit den Eigenschaften text-box-trim
und „text-box-edge“ sowie der Kurzschreibweise „text-box“ können Sie die vertikale Ausrichtung des Texts genauer steuern, um ein optimales Gleichgewicht zwischen Textinhalten zu erzielen.
Mit der Property text-box-trim
werden die Seiten angegeben, die zu trimmen sind (oben oder unten), und mit der Property text-box-edge
wird angegeben, wie die Kante zu trimmen ist.
Mit diesen Eigenschaften können Sie den vertikalen Abstand mithilfe der Schriftmetriken genau steuern.
Bug-Tracking-ID 1411581 | ChromeStatus.com-Eintrag | Spezifikation
Web APIs
Animation.overallProgress
Bietet Entwicklern eine praktische und einheitliche Darstellung, wie weit eine Animation in ihren Iterationen fortgeschritten ist, unabhängig von der Art der Zeitachse. Ohne die Property „overallProgress
“ müssen Sie manuell berechnen, wie weit eine Animation fortgeschritten ist. Dabei müssen Sie die Anzahl der Iterationen der Animation berücksichtigen und ob der currentTime
der Animation ein Prozentsatz der Gesamtzeit (wie bei scrollgesteuerten Animationen) oder eine absolute Zeitmenge (wie bei zeitgesteuerten Animationen) ist.
Bug-Tracking-ID 40914396 | Eintrag in ChromeStatus.com | Spezifikation
Die pause()
-Methode des Atomics
-Objekts
Fügen Sie dem Namespaceobjekt Atomics
die Methode pause()
hinzu, um der CPU zu signalisieren, dass der aktuelle Code einen Spinlock ausführt.
ChromeStatus.com-Eintrag | Spezifikation
CSP-Hash-Berichte für Scripts
Bei komplexen Webanwendungen müssen aus Sicherheitsgründen häufig die heruntergeladenen Unterressourcen im Blick behalten werden.
Insbesondere zukünftige Branchenstandards und Best Practices (z. B. PCI-DSS v4) erfordern, dass Webanwendungen ein Inventar aller Scripts führen, die sie herunterladen und ausführen.
Diese Funktion basiert auf CSP und der Reporting API, um die URLs und Hashes (für CORS/gleicher Ursprung) aller Scriptressourcen zu melden, die das Dokument lädt.
Bug-Tracking-ID 377830102 | Eintrag in ChromeStatus.com
Umzug unter Beibehaltung des DOM-Status
Hiermit wird ein DOM-Primitive (Node.prototype.moveBefore
) hinzugefügt, mit dem Sie Elemente in einem DOM-Baum verschieben können, ohne den Status des Elements zurückzusetzen.
Wenn Sie Elemente verschieben, anstatt sie zu entfernen und einzufügen, wird der folgende Status beibehalten:
<iframe>
Elemente bleiben geladen.- Der Fokus bleibt auf dem aktiven Element.
- Pop-ups, Vollbild- und modale Dialogfelder bleiben geöffnet.
- CSS-Übergänge und -Animationen werden fortgesetzt.
Machen Sie das attributionsrc
-Attribut für <area>
sichtbar.
Hiermit wird die Sichtbarkeit des attributionsrc
-Attributs auf <area>
an das vorhandene Verarbeitungsverhalten des Attributs angepasst, auch wenn es nicht sichtbar war.
Außerdem ist es sinnvoll, das Attribut für <area>
zu unterstützen, da dieses Element eine Navigationsoberfläche erster Klasse ist und Chrome dies bereits für die anderen Oberflächen von <a>
und window.open
unterstützt.
Bug-Tracking-ID 379275911 | ChromeStatus.com-Eintrag | Spezifikation
Die FileSystemObserver
-Oberfläche
Über die FileSystemObserver
-Benutzeroberfläche werden Websites über Änderungen am Dateisystem informiert. Websites überwachen Änderungen an Dateien und Verzeichnissen, für die der Nutzer zuvor Berechtigungen erteilt hat, auf dem lokalen Gerät des Nutzers oder im Bucket File System (auch als Origin Private File System bezeichnet) und werden über grundlegende Änderungsinformationen wie den Änderungstyp benachrichtigt.
Tracking-Fehler 40105284 | ChromeStatus.com-Eintrag
Mehrere Importkarten
Importkarten müssen derzeit vor jedem ES-Modul geladen werden und es kann nur eine Importkarte pro Dokument geben. Das macht sie in der Praxis anfällig und möglicherweise langsam: Jedes Modul, das vor ihnen geladen wird, führt zu einem Absturz der gesamten App. In Apps mit vielen Modulen werden sie zu einer großen blockierenden Ressource, da zuerst die gesamte Karte für alle möglichen Module geladen werden muss.
Mit dieser Funktion können mehrere Importkarten pro Dokument verwendet werden, indem sie auf konsistente und deterministische Weise zusammengeführt werden.
Header für den Zugriff auf den Speicher
Bietet eine alternative Möglichkeit für authentifizierte Einbettungen, nicht partitionierte Cookies zu aktivieren. Diese Header geben an, ob nicht partitionierte Cookies in einer bestimmten Netzwerkanfrage enthalten sind (oder sein können). Außerdem können Server bereits gewährte Berechtigungen für den „Speicherzugriff“ aktivieren. Wenn du eine alternative Möglichkeit zur Aktivierung der Berechtigung „storage-access“ anbietest, können auch Ressourcen ohne Iframe verwendet werden und die Latenz für authentifizierte Einbettungen kann reduziert werden.
Fehler-Tracking-ID 329698698 | Eintrag in ChromeStatus.com | Spezifikation
Unterstützung beim Erstellen von ClipboardItem
mit Promise<DOMString>
ClipboardItem
, die Eingabe für die asynchrone Zwischenablagemethode write()
, akzeptiert jetzt zusätzlich zu Blobs im Konstruktor Stringwerte. ClipboardItemData
kann ein Blob, ein String oder ein Versprechen sein, das in einen Blob oder einen String aufgelöst wird.
Bug-Tracking-ID 40766145 | Eintrag in ChromeStatus.com | Spezifikation
WebAssembly Memory64
Der Vorschlag „memory64“ fügt Unterstützung für lineare WebAssembly-Speicher mit einer Größe von mehr als 2 hoch 32 Bit hinzu. Es enthält keine neuen Anweisungen, sondern erweitert die vorhandenen Anweisungen, um 64‑Bit-Indexe für Speicher und Tabellen zu ermöglichen.
ChromeStatus.com-Eintrag | Spezifikation
Web Authentication API: PublicKeyCredential
getClientCapabilities()
-Methode
Mit der Methode PublicKeyCredential
getClientCapabilities()
können Sie ermitteln, welche WebAuthn-Funktionen vom Client des Nutzers unterstützt werden. Die Methode gibt eine Liste der unterstützten Funktionen zurück, sodass Entwickler Authentifizierungsabläufe und ‑workflows an die spezifischen Funktionen des Clients anpassen können.
Tracking-Fehler #360327828 | ChromeStatus.com-Eintrag | Spezifikation
X25519-Algorithmus der Web Cryptography API
Der Algorithmus „X25519“ bietet Tools zur Durchführung der Schlüsselvereinbarung mithilfe der in [RFC7748] beschriebenen X25519-Funktion. Die Algorithmus-ID „X25519“ kann in der SubtleCrypto-Schnittstelle verwendet werden, um auf die implementierten Vorgänge zuzugreifen: generateKey, importKey, exportKey, deriveKey und deriveBits.
Bug-Tracking-ID 378856322 | ChromeStatus.com-Eintrag | Spezifikation
Leistung
Einfrieren im Energiesparmodus
Wenn der Energiesparmodus aktiv ist, friert Chrome eine „Browserkontextgruppe“ ein, die seit mehr als fünf Minuten ausgeblendet und inaktiv ist, wenn eine Untergruppe von Frames mit demselben Ursprung einen CPU-Nutzungsgrenzwert überschreitet, es sei denn:
- Bietet Audio- oder Videokonferenzfunktionen (erkannt durch Identifizierung von Mikrofon, Kamera oder Bildschirm-/Fenster-/Tab-Aufnahme oder einer RTCPeerConnection mit einem „offenen“ RTCDataChannel oder einem „live“-MediaStreamTrack).
- Steuert ein externes Gerät, das mit WebUSB, Web Bluetooth, WebHID oder Web Serial erkannt wurde.
- Hält eine Websperre oder eine IndexedDB-Verbindung, die ein Versionsupdate oder eine Transaktion über eine andere Verbindung blockiert.
- Beim Einfrieren wird die Ausführung pausiert. Sie ist in der Page Lifecycle API formal definiert.
Der Grenzwert für die CPU-Auslastung wird so kalibriert, dass etwa 10% der Tabs im Hintergrund eingefroren werden, wenn der Energiesparmodus aktiv ist.
Tracking-Fehler #325954772 | ChromeStatus.com-Eintrag
Grob gefilterte ursprungsübergreifende renderTime
im Element-Timing und LCP offenlegen (unabhängig von Timing-Allow-Origin
)
Elementzeit und LCP-Einträge haben ein renderTime
-Attribut, das mit dem ersten Frame übereinstimmt, in dem ein Bild oder Text gerendert wurde.
Dieses Attribut wird derzeit für plattformübergreifende Bilder geschützt, indem für die Bildressource ein Timing-Allow-Origin
-Header erforderlich ist. Diese Einschränkung lässt sich jedoch leicht umgehen, z. B. durch das gleichzeitige Anzeigen eines Bildes mit gleicher und unterschiedlicher Herkunft im selben Frame.
Da dies zu Verwirrung geführt hat, planen wir, diese Einschränkung zu entfernen und stattdessen alle Renderingzeiten um 4 ms zu verlängern, wenn das Dokument nicht plattformübergreifend isoliert ist. Dies ist anscheinend grob genug, um nützliche Informationen zur Dekodierungszeit von plattformübergreifenden Bildern zu vermeiden.
Bug-Tracking-ID 373263977 | ChromeStatus.com-Eintrag | Spezifikation
responseStart
rückgängig machen und firstResponseHeadersStart
einführen
Wenn 103 Early Hints aktiviert ist, haben Antworten zwei Zeitstempel:
- Wann die ersten Hinweise eintreffen (103)
- Wenn die endgültigen Header eintreffen (z.B. 200)
- Mit der Einführung von Chrome 115 wurde
firstInterimResponseStart
eingeführt, um die Messung dieser beiden Zeitstempel zu ermöglichen. Außerdem wurde die Bedeutung vonresponseStart
(für „Time to First Byte“ (TTFB) verwendet) in „die endgültigen Header“ geändert. Dies führte zu einem Webkompatibilitätsproblem mit Browsern und Tools, bei denen keine ähnliche Änderung für diesen häufig verwendeten Messwert vorgenommen wurde.
In Chrome 133 wird diese Änderung an responseStart
rückgängig gemacht, um dieses Kompatibilitätsproblem zu beheben. Stattdessen wird firstResponseHeadersStart
eingeführt, damit Websites die Zeit bis zu den endgültigen Headern messen können, während die ursprüngliche Definition der TTFB beibehalten wird.
Fehler-Tracking-ID 40251053 | Eintrag in ChromeStatus.com | Spezifikation
Rendering und Grafiken
WebGPU: Vertex-Formate mit einer Komponente (und unorm8x4-bgra)
Es werden zusätzliche Vertex-Formate hinzugefügt, die in der ursprünglichen Version von WebGPU aufgrund fehlender Unterstützung oder alter macOS-Versionen (die von keinem Browser mehr unterstützt werden) nicht vorhanden waren. Mit den 1-Komponenten-Vertex-Formaten können Anwendungen nur die erforderlichen Daten anfordern, während sie zuvor bei 8‑ und 16‑Bit-Datentypen mindestens doppelt so viele anfordern mussten. Mit dem unorm8x4-bgra-Format können BGRA-codierte Vertexfarben etwas einfacher geladen werden, während derselbe Shader verwendet wird.
Bug-Tracking-ID 376924407 | Eintrag in ChromeStatus.com
Ursprungstests
Einfrieren im Energiesparmodus deaktivieren
Mit dieser Testversion können Websites das Einfrieren im Energiesparmodus deaktivieren, das in Chrome 133 eingeführt wurde.
Origin-Test | Tracking-Fehler 325954772 | ChromeStatus.com-Eintrag | Spezifikation
Referenzziel für ARIA-Elemente, die über mehrere Wurzeln hinweg gehen
Mit der Funktion „Referenzziel“ können Sie IDREF-Attribute wie for
und aria-labelledby
verwenden, um auf Elemente im Shadow DOM einer Komponente zu verweisen, während die internen Details des Shadow DOMs gekapselt bleiben. Das Hauptziel dieser Funktion besteht darin, ARIA über Shadow-Root-Grenzen hinweg zu ermöglichen.
Eine Komponente kann ein Element in ihrem Schattenbaum als „Referenzziel“ angeben. Wenn die Hostkomponente das Ziel einer IDREF ist, z. B. das for
-Attribut eines Labels, wird das Referenzziel zum effektiven Ziel des Labels.
Die Shadow Root gibt die ID des Zielelements innerhalb des Shadow DOM an. Das geschieht entweder in JavaScript mit dem Attribut referenceTarget
des Objekts ShadowRoot
oder im HTML-Markup mit dem Attribut shadowrootreferencetarget
des Elements <template>
.
Origin-Testversion | ChromeStatus.com-Eintrag
Einstellung und Entfernung
WebGPU-Limit maxInterStageShaderComponents
eingestellt
Der maxInterStageShaderComponents limit
wird aufgrund einer Kombination von Faktoren eingestellt. Das geplante Datum der Entfernung in Chrome 135.
- Redundanz mit
maxInterStageShaderVariables
: Diese Grenze dient bereits einem ähnlichen Zweck, nämlich der Kontrolle der Datenmenge, die zwischen 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 des
maxInterStageShaderVariables
-Limits 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 mit subtilen Unterschieden zu verwalten, können sie sich auf die passendere und umfassenderemaxInterStageShaderVariables
konzentrieren.
<link rel=prefetch>
-Regel für die Fünf-Minuten-Regel entfernen
Bisher ignorierte Chrome bei der Vorab-Abfrage einer Ressource mit <link rel=prefetch>
die Cache-Semantik (nämlich max-age
und no-cache
) bei der ersten Verwendung innerhalb von fünf Minuten, um ein erneutes Abrufen zu vermeiden. Jetzt entfernt Chrome diesen Sonderfall und verwendet die normale HTTP-Cache-Semantik.
Das bedeutet, dass Webentwickler geeignete Caching-Header (Cache-Control oder Expires) einfügen müssen, um die Vorteile von <link rel=prefetch>
zu nutzen.
Das betrifft auch die nicht standardmäßige <link rel=prerender>
.
Fehler-ID 40232065 | Eintrag in ChromeStatus.com
Auslösen der Chrome-Startseite mit Tabs für die ersten Einstellungen beim ersten Start entfernen
Wenn Sie chrome://welcome
in die Eigenschaft first_run_tabs
der Datei initial_preferences
aufnehmen, hat das jetzt keine Auswirkungen mehr. Diese Seite wird entfernt, da sie mit der Erstausführung auf Computerplattformen redundant ist.