Aktualisierung des CSS-Hintergrundfilters zur Verwendung von mirror edgeMode
Chrom 129
Stabiles Veröffentlichungsdatum: 17. September 2024
**Wenn nicht anders angegeben, gelten die folgenden Änderungen für Chrome 129 Stable Channel Release für Android, ChromeOS, Linux, macOS und Windows.
Browseränderungen und Entwicklungstools
Compute Pressure WebDriver-Erweiterungsbefehle
Stellt WebDriver-Befehle zum Erstellen, Entfernen und Aktualisieren von Druckquellen-Samples für virtuelle Druckquellen bereit. Solche Druckquellen sind nicht von der zugrundeliegenden Hardware oder der Unterstützung des Betriebssystems abhängig und können für Tests verwendet werden.
CSS
CSS-Eigenschaft interpolate-size und Funktion calc-size()
Mit der CSS-Eigenschaft interpolate-size kann eine Seite in Animationen und Übergänge von CSS-immanenten Größenschlüsselwörtern wie auto, min-content und fit-content eingreifen, sofern diese Schlüsselwörter animiert werden können.
Die CSS-Funktion calc-size() ist eine CSS-Funktion, die der Funktion calc() ähnelt, jedoch auch Operationen für genau ein unterstütztes Größenschlüsselwort unterstützt. Unterstützte Größenschlüsselwörter sind auto, min-content, max-content und fit-content. Weitere Größenschlüsselwörter, die möglicherweise in Zukunft unterstützt werden, sind stretch (derzeit unterstützt als vorangestelltes -webkit-fill-available) und contain. Diese Funktion wird verwendet, um die Werte in der Mitte der Animationen darzustellen, die von der Eigenschaft interpolate-size zugelassen werden.
Umbenennung der CSS-Ankerpositionierung inset-area in position-area
Die CSSWG hat beschlossen, diese Eigenschaft von inset-area in position-area umzubenennen. Chrome 129 liefert position-area aus, der Name inset-area wird in einer zukünftigen Version entfernt werden.
CSS-Hintergrundfilter aktualisieren, um mirror edgeMode zu verwenden
Die CSS-Eigenschaft backdrop-filter wendet einen oder mehrere Filter auf den Hintergrund eines Elements an. Der Hintergrund ist der gemalte Inhalt, der hinter dem Element liegt. Ein gängiger Filter ist ein Weichzeichner, mit dem Designer "Milchglas"-Dialogfelder, Video-Overlays, durchscheinende Navigationsüberschriften und vieles mehr erstellen können.
Ursprünglich wurde dieser Filter auf die gleiche Weise implementiert wie ein normaler Weichzeichner, aber die Abtastung über die Ränder des Elements hinaus führte dazu, dass Farben von den Rändern in das Element hineinflossen. Die Spezifikation wurde dahingehend geändert, dass Pixel außerhalb der Hintergrundkanten abgetastet werden, indem die Pixel am Rand dupliziert werden. Dies führt jedoch zu einem extremen Flackern des Inhalts, wenn dieser in den Hintergrundrand eintritt. Die jüngste Änderung der Spezifikation spiegelt den Hintergrund bei der Abtastung über den Rand hinaus, was eine sanfte, allmähliche Einführung neuer Farben an den Rändern ermöglicht, ohne dass einzelne Farbzeilen übergewichtet werden.
Medien
Blob-Unterstützung in WebRTC-Datenkanälen
Implementiert RTCDataChannel.send(Blob), und das onMessage-Ereignis kann nun optional Daten vom Typ Blob unter Verwendung des Attributs binaryType empfangen.
Zusätzlich zur Unterstützung des Sendens von Strings und ArrayBuffers können Sie jetzt stattdessen einen Blob senden, solange seine Größe unter der in der WebRTC-Spezifikation angegebenen maxMessageSize des SCTP-Transports liegt.
Wenn das binaryType-Attribut auf blob gesetzt ist, wird das onMessage-Ereignisdatenattribut vom Typ Blob anstelle von ArrayBuffer sein.
Web-APIs
Intl.DurationFormat
Bietet eine Methode zur Formatierung von Zeitdauern, z. B. "1 Std. 40 Min. 30 Sek.", die mehrere Sprachumgebungen unterstützt.
Snap-Ereignisse
Snap Events ermöglichen es Entwicklern, zuverlässig zu hören, wenn sich das "Fangziel" eines Scrollers ändert, und Stilanpassungen wie ausgewählt durchzuführen.
Private Aggregation API: Client-seitige Zusammenführung von Beiträgen
Modifiziert die private Aggregations-API, um Histogramm-Beiträge mit der gleichen Bucket- und Filter-ID zusammenzuführen, bevor sie in die verschlüsselte Nutzlast des aggregierbaren Berichts eingebettet werden.
Private Aggregation begrenzt die Anzahl der Beiträge, die in einen einzelnen aggregierbaren Bericht eingebettet werden können, wobei alle zusätzlichen Beiträge verworfen werden. Durch das Zusammenführen von Beiträgen, wo immer dies möglich ist, können wir aus dieser Begrenzung einen zusätzlichen Nutzen ziehen. Abgesehen davon, dass überschüssige Beiträge nicht berücksichtigt werden, sollte das Zusammenführen dieser Art von Beiträgen keine Auswirkungen auf die endgültigen Ergebnisse, z. B. Zusammenfassungsberichte, haben.
scheduler.yield()
Stellt eine Methode zur Verfügung, mit der die Kontrolle an den Browser abgegeben werden kann, um lange Aufgaben zu unterbrechen. Das Warten auf das Versprechen, das von scheduler.yield() zurückgegeben wird, führt dazu, dass die aktuelle Aufgabe aufgegeben und in einer neuen Browseraufgabe fortgesetzt wird. Dies kann verwendet werden, um durch lange Tasks verursachte Probleme mit der Reaktionsfähigkeit zu verbessern. Fortsetzungen werden priorisiert, um die Leistungsprobleme bestehender Alternativen zu mildern.
Web-Authentifizierungs-API: JSON-Serialisierungsmethoden
Mit den Methoden WebAuthn PublicKeyCredential.toJSON(), parseCreationOptionsFromJSON() und parseRequestOptionsFromJSON() können Entwickler eine WebAuthn-Antwort in ein JSON-Objekt serialisieren oder ein WebAuthn-Anfrageobjekt aus seiner JSON-Darstellung deserialisieren.
Rendering und Grafik
Unterstützung für WebGPU Extended Range (HDR)
Fügt Tonemapping-Parameter zur WebGPU-Canvas-Konfiguration hinzu und fügt die Optionen Standard (das aktuelle Verhalten der Beschränkung von Inhalten auf den SDR-Bereich der Anzeige) als Standard und Erweitert (keine Auferlegung dieser Beschränkung) als ein neues Verhalten hinzu. Dadurch können WebGPU-Inhalte den gesamten Bereich eines Bildschirms nutzen.
Ursprungsversuche
FileSystemObserver-Schnittstelle
Die FileSystemObserver-Schnittstelle benachrichtigt Websites über Änderungen im Dateisystem. Websites beobachten Änderungen an Dateien und Verzeichnissen auf dem lokalen Gerät des Benutzers (wie in WICG/file-system-access angegeben) oder im Bucket File System (wie in whatwg/fs angegeben) und werden über grundlegende Änderungsinformationen wie den Änderungstyp informiert.
Mesh2D Canvas API
Eine leistungsstarke Canvas-API für 2D-Dreiecksnetze, die für das Batch-Rendering einer großen Anzahl von texturierten Dreiecken verwendet werden kann.
Dies ermöglicht fortgeschrittenes Texture Mapping und Geometrieverformungseffekte in einem 2D-Kontext.
Verwerfungen und Entfernungen
Abschaffung von 0.0.0.0 für den Zugriff auf private Netzwerke
Chrome wird den Zugriff auf die IP-Adresse 0.0.0.0 blockieren, bevor der Private Network Access (PNA) vollständig eingeführt wird.
Als Teil der PNA-Spezifikation veraltet Chrome den direkten Zugriff auf private Netzwerkendpunkte von öffentlichen Websites aus. Dienste, die auf localhost (127.0.0.0/8) lauschen, gelten gemäß der Spezifikation als privat. Der PNA-Schutz von Chrome kann umgangen werden, indem die IP-Adresse 0.0.0.0 verwendet wird, um auf Dienste zuzugreifen, die unter macOS und Linux auf localhost hören.
Dies kann auch bei DNS-Rebinding-Angriffen missbraucht werden, die auf eine Webanwendung abzielen, die auf dem localhost lauscht.
Mit dieser Version von Chrome werden drei Funktionen entfernt.
Entfernen des includeShadowRoots-Arguments bei DOMParser
Das includeShadowRoots-Argument war ein nie standardisiertes Argument für die Funktion DOMParser.parseFromString(), das dazu diente, imperatives Parsen von HTML-Inhalten zu ermöglichen, die deklaratives Shadow-DOM enthalten. Dies wurde in Chrome 90 als Teil der ersten Lieferung von deklarativem Shadow-DOM ausgeliefert.
Da nun eine standardisierte Version dieser Funktion mit den Methoden setHTMLUnsafe() und parseHTMLUnsafe() verfügbar ist, wird das nicht standardisierte Argument includeShadowRoots entfernt. Der Code sollte wie folgt aktualisiert werden:
Anstelle von:
((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});
Verwenden:
Document.parseHTMLUnsafe(html);
Entfernen der nicht standardmäßigen deklarativen Shadow-DOM-Serialisierung
Die Prototyp-Implementierung von deklarativem Shadow-DOM enthielt eine Methode namens getInnerHTML(), die zur Serialisierung von DOM-Bäumen mit Shadow-Roots verwendet wurde. Dieser Teil des Prototyps wurde nicht mit dem Rest von deklarativem Shadow-DOM standardisiert, und stattdessen wurde ein Ersatz entwickelt - getHTML().
Daher wird die alte getInnerHTML()-Methode jetzt aus Chrome entfernt. Als Ersatz sollten Sie getHTML() verwenden, das bald in allen Browsern interoperabel sein wird.
Entfernen von PointerEvent.getCoalescedEvents() aus unsicheren Kontexten
Die Pointer Events Working Group hat PointerEvent.getCoalescedEvents() vor über vier Jahren auf sichere Kontexte beschränkt, wodurch die API aus unsicheren Kontexten entfernt wurde. Chrome lieferte ursprünglich das alte Verhalten aus und folgte der Spezifikationsänderung aus Gründen der Kompatibilität nicht sofort.
Wir entfernen es jetzt aus unsicheren Kontexten, da sich herausgestellt hat, dass die Nutzung von Chrome in unsicheren Kontexten sehr gering ist.