CSS-Bewegungspfad, die NotRestoredReason API des Back-Forward-Cache, „Bild im Bild dokumentieren“ und mehr.
Sofern nicht anders angegeben, gelten die beschriebenen Änderungen für die neueste Chrome-Betaversion 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 116 ist seit dem 19. Juli 2023 die Betaversion. Die neuesten Versionen stehen unter Google.com für Computer und im Google Play Store für Android-Geräte zum Download bereit.
CSS
In dieser Version werden zwei neue CSS-Funktionen hinzugefügt.
CSS-Bewegungspfad
Mit dem Bewegungspfad können Autoren beliebige grafische Objekte positionieren und sie entlang eines vom Entwickler angegebenen Pfads animieren. Dadurch ergeben sich eine Reihe neuer Transformationsmöglichkeiten, wie die Positionierung mit polaren Koordinaten (mit der ray()
-Funktion) anstelle der von der translate()
-Funktion verwendeten rechteckigen Standardkoordinaten oder die Animation eines Elements entlang eines definierten Pfads. 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 JavaScript schreiben zu müssen, um diesen Wechsel nach Abschluss der Animation durchzuführen. So können Exit-Animationen für Elemente ausschließlich in CSS hinzugefügt werden.
Web APIs
AbortSignal.any()
Gibt ein Signal zurück, das bei Abbruch 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 sie an asynchrone APIs wie fetch()
übergeben.
BYOB-Unterstützung für Fetch
Die Chrome-Implementierung von ReadableStream unterstützt BYOB-Reader (Bring-your-own-buffer) für lesbare Bytestreams. Jetzt ist Response.body
auch ein lesbarer Bytestream anstelle eines „Standards“. und lesbaren Stream. Dadurch kann die Fetch API mit BYOB-Lesegeräten verwendet werden, was den Aufwand für die automatische Speicherbereinigung und das Kopieren reduziert und die Reaktionsfähigkeit für Nutzer verbessert. Auch Blob.stream()
profitiert jetzt von dieser Optimierung.
NotRestoredReason API des Back-Forward-Cache
Die NotRestoredReason API meldet die 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, mit der ein Always-on-Top-Fenster geöffnet wird, das mit beliebigen HTMLElements
-Elementen gefüllt werden kann. Dies ist eine Erweiterung der vorhandenen HTMLVideoElement
API, mit der ein HTMLVideoElement
nur in ein Bild-im-Bild-Fenster (BiB) eingefügt werden kann. So können Webentwickler den Nutzern ein besseres BiB-Erlebnis bieten.
Erweiterte Platzhalter in den Ursprüngen der Berechtigungsrichtlinie
Subdomain-Platzhalter in Zulassungslisten boten einige wertvolle Flexibilität. Sie unterscheidet sich jedoch von vorhandenen Platzhalterparsern und erforderten neuartige Code- und Spezifikationsarbeit. Mit diesem Intent wird dieser Aufwand reduziert, da Teile der bestehenden Content Security Policy-Spezifikation wiederverwendet und scheme + wildcard domain
und wildcard port
auf die Zulassungsliste gesetzt werden. Insbesondere würde dieser Intent in der Definition der Zulassungsliste die Definition von „host-source“ und „schema-source“ anstelle von „origin“ übernehmen, aber der Pfadteil muss leer sein (da Berechtigungsrichtlinien für übereinstimmende Ursprünge gelten).
FedCM-Bundle: Login Hint API, User Info API und RP Context API
Dieses gebündelte Update ermöglicht Anpassungen an föderierten Anmeldevorgängen, die die Federated Credential Management API (FedCM) verwenden.
Mit der Login Hint API kann die vertrauende Partei einen Hinweis zu dem Nutzerkonto angeben, das auf der FedCM-Benutzeroberfläche angezeigt werden soll. Dies wird hauptsächlich verwendet, um wiederkehrenden Nutzern eine bessere User Experience zu bieten.
Über die User Info API kann der Identitätsanbieter (Identity Provider, IdP) die Nutzerinformationen abrufen, um die Anmeldung für wiederkehrende Nutzer zu personalisieren, z. B. über personalisierte „Über IdP anmelden“-Schaltflächen.
Mit der RP Context API kann der RP das FedCM-Dialogfeld anfordern, um den Titel „Anmelden“ zu ersetzen. mit „Registrieren“, „Verwenden“ oder „Weiter“, um die eigentliche Absicht des Nutzers abzugleichen.
Ereignisse zum Ein- und Ausblenden von Maus und Zeiger ohne Zusammensetzung
Definieren Sie die Property event.composed
in mouseenter
-, mouseleave
-, pointerenter
- und pointerleave
-Ereignissen "false"
, um die Spezifikationen zu erfüllen und Interoperabilitätslücken zu schließen. Sowohl in der Spezifikation für UI-Ereignisse für Mausereignisse als auch in der Spezifikation für Zeigerereignisse werden diese Ereignisse als nicht zusammengesetzt definiert. Beide Spezifikationen wurden vor einigen Jahren von ihren ursprünglichen Definitionen geändert: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461 Zusätzlich zur Behebung der Interoperabilitätslücke wird durch diese Änderung auch eine fehlerhafte doppelte oder dreifache Auslieferung dieser Ereignisse bei einem Shadow DOM-Host in Chromium behoben, wenn das Shadow DOM auch auf das Shadow DOM wartet.
Entfernen der Übernahme aus der „document.open“-Sandbox
Derzeit werden Sandbox-Flags des Aufrufers auf den Aufgerufenen angewendet, wenn document.open
ein anderes Fenster abzielt. Nach dieser Änderung ist das nicht mehr der Fall.
Einen kritischen CH, der einen Neustart in NavigationTiming verursacht hat, melden
Websites können angeben, dass ein bestimmter Client-Hinweis für die Seite wichtig ist, indem sie ihn in einen Critical-CH
-HTTP-Antwortheader aufnehmen. Dadurch wird ein Neustart der Verbindung ausgelöst, wenn der Hinweis im HTTP-Antwortheader Critical-CH
in der ursprünglich gesendeten HTTP-Anfrage enthalten sein könnte, aber nicht war. Dieser Intent schlägt vor, readonly attribute DOMHighResTimeStamp criticalCHRestart;
zur Schnittstelle PerformanceNavigationTiming
hinzuzufügen.
Ursprungstests laufen
In Chrome 116 können Sie die folgenden neuen Ursprungstests aktivieren.
COOP: restrict-properties
Cross-Origin-Opener-Policy wird verwendet, um die Beziehung zwischen Pop-up und Opener zu trennen und so die Sicherheit zu erhöhen. "restrict-properties" ist ein vorgeschlagener Wert, der die Beziehung einschränkt, anstatt sie vollständig zu trennen. In Verbindung mit COEP würde „crossOriginIsolated“ aktiviert.
Registrieren Sie sich für den COOP-Test für Einschränkung-Eigenschaften von Quellen.
FedCM Log-in Status API
Mit der IdP Sign-in Status API der Federated Credential Management API (FedCM) kann ein Identitätsanbieter (Identity Provider, IdP) dem Browser signalisieren, wenn sich Nutzer an-/abmelden, damit FedCM seine Datenschutzeigenschaften durch Optimierung der Nutzererfahrung erhöhen kann.
Für den FedCM-Anmeldestatus-Ursprungstest registrieren
EditContext API
Die EditContext API vereinfacht die Integration einer Web-App mit erweiterten Texteingabemethoden wie VK-Formschreiben, Handschriftfeldern, Spracherkennung und IME-Kompositionen. Die API verbessert die Barrierefreiheit und Leistung und bietet neue Funktionen für webbasierte Editoren.
Für den EditContext API-Ursprungstest registrieren
Timing des langen Animationsframes
Dies ist eine Erweiterung langer Aufgaben. Dabei wird die Aufgabe zusammen mit dem nachfolgenden Rendering-Update gemessen. Dabei werden Informationen wie lang andauernde Skripts, Renderingzeit und die Zeit für das erzwungene Layout und den Stil hinzugefügt. Dies wird als Layout-Thrashing bezeichnet.
Entwickler können dies zur Diagnose der „Langsamkeit“ verwenden, die vom INP gemessen wird. Sie ermitteln damit die Ursachen für eine Überlastung des Hauptthreads, die oft die Ursache für ein fehlerhaftes INP ist.
Für den Ursprungstest „Long Animation Frame Timing“ registrieren