CSS-Bewegungspfad, Back-Forward-Cache, NotRestoredReason API, Bild im Bild dokumentieren und mehr.
Sofern nicht anders angegeben, gelten die beschriebenen Änderungen für die neueste Betaversion der Chrome-Betaversion für Android, ChromeOS, Linux, macOS und Windows. Weitere Informationen zu den hier aufgeführten Funktionen findest du über die bereitgestellten Links oder in der Liste auf ChromeStatus.com. Chrome 116 ist seit dem 19. Juli 2023 als Betaversion verfügbar. Du kannst die neuesten Versionen unter Google.com für Computer oder im Google Play Store auf Android herunterladen.
CSS
In dieser Version wurden zwei neue CSS-Funktionen hinzugefügt.
CSS-Bewegungspfad
Mit Bewegungspfaden können Autoren jedes grafische Objekt positionieren und entlang eines vom Entwickler angegebenen Pfads animieren. Dies ermöglicht eine Reihe leistungsstarker neuer Transformationsmöglichkeiten, z. B. die Positionierung mithilfe von polaren Koordinaten (mit der ray()
-Funktion) anstelle der von der translate()
-Funktion verwendeten standardmäßigen rechteckigen Koordinaten oder das Animieren eines Elements entlang eines definierten Pfades. So lassen sich komplexe und schöne räumliche 2D-Übergänge leichter definieren. Ein Pfad kann als circle()
, ellipse()
, rect()
, inset()
, xywh()
, polygon()
, ray()
und url()
angegeben werden.
Animationen für Anzeige und Sichtbarkeit von Inhalten
Chrome 116 unterstützt die Eigenschaften display
und content-visibility
in Keyframe-Animationen. Dank dieser Unterstützung können Entwickler Exit-Animationen erstellen, nach denen das Element automatisch zu display: none
oder content-visibility: hidden
wird, ohne dass JavaScript geschrieben werden muss, um diesen Wechsel nach Abschluss der Animation zu verarbeiten. Dadurch können Exit-Animationen für Elemente nur in CSS hinzugefügt werden.
Web APIs
AbortSignal.any()
Gibt ein Signal zurück, das abgebrochen wird, wenn eines der Quellsignale abgebrochen wird. Entwickler können damit unabhängige Abbruchquellen kombinieren, z. B. mit AbortSignal.timeout()
angegebene Zeitüberschreitungen und mit einem AbortController verknüpfte Signale, und diese an asynchrone APIs wie fetch()
übergeben.
BYOB-Unterstützung für Abruf
Die Chrome-Implementierung von ReadableStream unterstützt BYOB-Leser (Bring-your-own-buffer) für lesbare Bytestreams. Jetzt ist Response.body
auch ein lesbarer Bytestream anstelle eines „standardmäßig lesbaren“ Streams. Dadurch kann die Fetch API mit BYOB-Readern verwendet werden, wodurch der Aufwand für die automatische Speicherbereinigung reduziert und die Reaktionsfähigkeit für Nutzer verbessert wird. Blob.stream()
profitiert nun auch von dieser Optimierung.
Back-Forward-Cache NotRestoredReason API
Die NotRestoredReason API meldet eine Liste der Gründe, warum eine Seite nicht aus BFcache in einer Frame-Baumstruktur über die PerformanceNavigationTiming API bereitgestellt wird.
Bild im Bild dokumentieren
Dokument-Bild im Bild fügt eine neue API hinzu, um ein Always-On-Fenster zu öffnen, das mit beliebigen HTMLElements
gefüllt werden kann. Dies ist eine Erweiterung der bestehenden HTMLVideoElement
API, die lediglich ermöglicht, ein HTMLVideoElement
in ein Bild-im-Bild-Fenster (BiB) einzufügen. So können Webentwickler Nutzern ein besseres BiB-Erlebnis bieten.
Erweiterte Platzhalter in den Ursprüngen der Berechtigungsrichtlinie
Subdomain-Platzhalter in Zulassungslisten boten zwar einige wertvolle Flexibilität, weichen jedoch von den bisherigen Platzhalterparsern ab und erforderten einen neuen Code und neue Spezifikationen. Dieser Intent reduziert diesen Aufwand, indem Teile der vorhandenen Content Security Policy-Spezifikation wiederverwendet und scheme + wildcard domain
und wildcard port
auf die Zulassungsliste gesetzt werden. Insbesondere würde dieser Intent in der Zulassungsliste der Definition von „host-source“ und „schema-source“ anstelle von „origin“ die Definition von „origin“ übernehmen. Gleichzeitig muss der Pfadteil leer sein, da Berechtigungsrichtlinien für übereinstimmende Ursprünge gelten.
FedCM-Paket: Login Hint API, User Info API und RP Context API
Dieses gebündelte Update ermöglicht Anpassungen föderierter Anmeldevorgänge, die die Federated Credential Management API (FedCM) verwenden.
Mit der Login Hint API kann die vertrauende Partei einen Hinweis zu dem Nutzerkonto angeben, das in der FedCM-Benutzeroberfläche angezeigt werden soll. Dies dient hauptsächlich dazu, wiederkehrenden Nutzern eine bessere UX zu bieten.
Mit der User Info API kann der Identitätsanbieter die Nutzerinformationen abrufen, um die Anmeldung für wiederkehrende Nutzer zu personalisieren, z. B. über personalisierte Schaltflächen „Mit IdP anmelden“.
Mit der RP Context API kann der RP im FedCM-Dialogfeld anfordern, dass der Titel „Anmelden“ durch „Registrieren“, „Verwenden“ oder „Weiter“ ersetzt wird, um die tatsächliche Absicht für den Nutzer abzugleichen.
Nicht kombinierte Ereignisse zum Eingeben/Verlassen der Maus und des Mauszeigers
Legen Sie die event.composed
-Property in den mouseenter
-, mouseleave
-, pointerenter
- und pointerleave
-Ereignissen "false"
so fest, dass sie den Spezifikationen entspricht und Interoperabilitätslücken geschlossen werden. Sowohl bei der Spezifikation für UI-Ereignisse für Mausereignisse als auch bei der Spezifikation für Zeigerereignisse werden diese Ereignisse als nicht zusammengesetzt definiert. Beide Spezifikationen haben sich vor einigen Jahren von ihren ursprünglichen Definitionen geändert: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461 Mit dieser Änderung wird nicht nur die Interoperabilitätslücke gelöst, sondern auch eine fehlerhafte doppelte oder dreifache Abfertigung dieser Ereignisse behoben, um ein Shadow DOM-Ereignis in Chromium zu überwachen, wenn das Shadow DOM-Host in Chromium auch das Shadow DOM-Ereignis überwacht.
„document.open“-Sandbox-Übernahme entfernen
Derzeit werden Sandbox-Flags des Aufrufers derzeit auf den Aufgerufenen angewendet, wenn document.open
ein anderes Fenster als Ziel verwendet. Nach dieser Änderung ist das nicht mehr der Fall.
Critical-CH verursacht einen Neustart in NavigationTiming melden
Websites können angeben, dass ein bestimmter Clienthinweis für die Seite wichtig ist, indem sie ihn in einen Critical-CH
-HTTP-Antwortheader aufnehmen. Dies löst einen Neustart der Verbindung aus, wenn der im Critical-CH
-HTTP-Antwortheader enthaltene Hinweis in der ursprünglich gesendeten HTTP-Anfrage enthalten sein könnte, aber nicht war. Dieser Intent schlägt vor, der Schnittstelle PerformanceNavigationTiming
readonly attribute DOMHighResTimeStamp criticalCHRestart;
hinzuzufügen.
Ursprungstests laufen
In Chrome 116 können Sie die folgenden neuen Ursprungstests aktivieren.
COOP: Properties einschränken
„Cross-Origin-Opener-Policy“ wird verwendet, um die Beziehung zwischen Pop-up-Fenstern und Öffnenden aufzulösen, um die Sicherheit zu erhöhen. "restrict-properties" ist ein vorgeschlagener Wert, der die Beziehung einschränkt, anstatt sie vollständig zu trennen. Bei einer Verknüpfung mit COEP würde „crossOriginIsolated“ aktiviert werden.
Registrieren Sie sich für den Ursprungstest des COOP-Einschränkungen für Properties.
FedCM Sign-in Status API
Über die IdP Sign-in Status API der Federated Credential Management API (FedCM) kann ein Identitätsanbieter (Identity Provider, IdP) dem Browser signalisieren, wenn sich seine Nutzer an- oder abmelden. So kann FedCM seine Datenschutzeigenschaften durch optimierte UX erhöhen.
Für den Ursprungstest mit dem FedCM-Anmeldestatus registrieren
EditContext API
Die EditContext API vereinfacht die Integration einer Webanwendung in erweiterte Texteingabemethoden wie VK-Formenschrift, Handschriftfelder, Spracherkennung und IME-Kompositionen. Die API verbessert die Zugänglichkeit und Leistung und bietet neue Funktionen für webbasierte Editoren.
Für den Ursprungstest der EditContext API registrieren
Frame-Timing der langen Animation
Dies ist eine Erweiterung langer Aufgaben. Die Aufgabe wird zusammen mit dem anschließenden Rendering-Update gemessen. Dabei werden Informationen wie lange laufende Skripts, Renderingzeit und die für das erzwungene Layout und den Stil aufgewendete Zeit hinzugefügt, was auch als Layout-Chrashing bezeichnet wird.
Entwickler können dies als Diagnose für die „Langsamkeit“ verwenden, die von INP gemessen wird, indem sie die Ursachen für eine Überlastung des Hauptthreads ermitteln, die oft die Ursache für fehlerhaften INP ist.
Für den Ursprungstest für das lange Animationsframe-Timing registrieren