Chrome 116 bêta

La trajectoire d'animation CSS, l'API NotRestaurerdReason dans le cache amélioré, le mode Picture-in-picture du document, etc.

Sauf indication contraire, les modifications décrites s'appliquent à la dernière version bêta de Chrome pour Android, ChromeOS, Linux, macOS et Windows. Pour en savoir plus sur les fonctionnalités répertoriées ici, cliquez sur les liens fournis ou consultez la liste disponible sur ChromeStatus.com. Chrome 116 est en version bêta depuis le 19 juillet 2023. Vous pouvez télécharger les dernières mises à jour sur Google.com pour ordinateur ou sur le Google Play Store pour Android.

CSS

Cette version ajoute deux nouvelles fonctionnalités CSS.

Trajectoire d'animation CSS

La trajectoire d'animation permet aux auteurs de positionner n'importe quel objet graphique et de l'animer selon une trajectoire spécifiée par le développeur. Cela permet un certain nombre de nouvelles possibilités de transformation puissantes, comme le positionnement à l'aide de coordonnées polaires (avec la fonction ray()) plutôt que sur les coordonnées rectangulaires standards utilisées par la fonction translate() ou l'animation d'un élément le long d'un tracé défini. Il est ainsi plus facile de définir des transitions spatiales 2D complexes et esthétiques. Un chemin d'accès peut être spécifié comme suit : circle(), ellipse(), rect(), inset(), xywh(), polygon(), ray() et url().

Animations d'affichage et de visibilité du contenu

Chrome 116 accepte les propriétés display et content-visibility dans les animations d'images clés. Cette prise en charge permet aux développeurs de créer des animations de sortie. L'élément deviendra automatiquement display: none ou content-visibility: hidden sans avoir à écrire de code JavaScript pour gérer ce commutateur une fois l'animation terminée. Cela permet d'ajouter des animations de sortie pour les éléments uniquement en CSS.

API Web

AbortSignal.any()

Renvoie un signal abandonné lorsque l'un des signaux sources l'est également. Les développeurs peuvent l'utiliser pour combiner des sources d'abandon indépendantes, par exemple des délais avant expiration spécifiés avec AbortSignal.timeout() et des signaux associés à un AbortController, et les transmettre aux API asynchrones telles que fetch().

Compatibilité BYOB avec Fetch

L'implémentation de ReadableStream dans Chrome est compatible avec les lecteurs BYOB (Bring Your Own Buffer) pour les flux d'octets lisibles. Response.body est également un flux d'octets lisible au lieu d'un flux "par défaut". flux lisible. Cela permet d'utiliser l'API Fetch avec les lecteurs BYOB, ce qui réduit les frais liés à la récupération de mémoire et les copies, et améliore la réactivité des utilisateurs. Blob.stream() bénéficie désormais également de cette optimisation.

API NotrestdReason du cache amélioré

L'API NotRestaurerdReason fournit la liste des raisons pour lesquelles une page n'est pas diffusée depuis BFcache dans une arborescence de frames, via l'API PerformanceNavigationTiming.

Picture-in-picture des documents

La fonctionnalité Picture-in-picture du document ajoute une nouvelle API pour ouvrir une fenêtre toujours affichée en haut de la page, qui peut être remplie avec des HTMLElements arbitraires. Il s'agit d'une extension de l'API HTMLVideoElement existante, qui permet uniquement d'insérer un HTMLVideoElement dans une fenêtre Picture-in-picture (PIP). Cela permet aux développeurs Web d'offrir une meilleure expérience PIP aux utilisateurs.

Caractères génériques développés dans les origines de la règle d'autorisation

Les caractères génériques de sous-domaine dans les listes d'autorisation offraient une certaine flexibilité, mais étaient différents des analyseurs de caractères génériques existants et nécessitaient un nouveau code et un nouveau travail de spécification. Cet intent réduira ces frais en réutilisant des parties de la spécification Content Security Policy existante et en autorisant scheme + wildcard domain et wildcard port dans la liste d'autorisation. Plus précisément, cet intent adopte la définition de "host-source" et de "schéma-source" au lieu de l'origine dans la définition de la liste d'autorisation, tout en exigeant que la partie du chemin d'accès soit vide (car les règles d'autorisation s'appliquent aux origines correspondantes).

Bundle FedCM: API Login Hint, API User Info et API RP Context

Cette mise à jour groupée permet de personnaliser les flux de connexion fédérée qui utilisent l'API Federated Credential Management (FedCM).

Avec l'API Login Hint, le tiers de confiance (RP) peut spécifier un indice sur le compte utilisateur qu'il souhaite afficher dans l'interface utilisateur de FedCM. Cela permet principalement d'améliorer l'expérience utilisateur pour les utilisateurs connus.

L'API User Info permet au fournisseur d'identité (IdP) d'extraire les informations utilisateur afin de personnaliser l'expérience de connexion des utilisateurs connus, par exemple à l'aide de boutons "Se connecter avec l'IdP" personnalisés.

Avec l'API RP Context, le tiers assujetti à des restrictions peut demander que la boîte de dialogue FedCM remplace le titre "Se connecter". avec "S'inscrire", "Utiliser" ou "Continuer", pour aligner l'intention réelle pour l'utilisateur.

Événements d'entrée/de sortie non composés de type "Souris" et "Pointer"

Définissez la propriété event.composed dans les événements mouseenter, mouseleave, pointerenter et pointerleave "false" pour qu'elle soit conforme aux spécifications et pour corriger les écarts d'interopérabilité. La spécification des événements de l'interface utilisateur pour les événements de souris et la spécification des événements de pointeur définissent ces événements comme non composés. Ces deux spécifications ont abandonné leurs définitions d'origine il y a quelques années: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461. En plus de combler l'écart d'interopérabilité, ce changement corrige également une distribution erronée de ces événements à un hôte Shadow DOM dans Chromium lorsque l'événement Shadow DOM écoute également le DOM.

Suppression de l'héritage de document.open dans l'environnement Sandbox

Actuellement, les indicateurs de bac à sable de l'appelant sont appliqués à l'appelé lorsque document.open cible une autre fenêtre. Ce ne sera plus le cas après cette modification.

Signaler un redémarrage en cas de CH critique dans NavigationTiming

Les sites Web peuvent indiquer qu'un indicateur client particulier est essentiel à la page en l'incluant dans un en-tête de réponse HTTP Critical-CH. Cela déclenchera un redémarrage de la connexion si la suggestion figurant dans l'en-tête de réponse HTTP Critical-CH peut être incluse (mais ne l'a pas été) dans la requête HTTP envoyée initialement. Cet intent propose d'ajouter readonly attribute DOMHighResTimeStamp criticalCHRestart; à l'interface PerformanceNavigationTiming.

Phases d'évaluation en cours

Dans Chrome 116, vous pouvez activer les nouvelles phases d'évaluation suivantes.

COOP: restricted-properties

La règle Cross-Origin-Opener-Policy est utilisée pour rompre la relation entre les fenêtres pop-up et les ouvertures, afin d'accroître la sécurité. "restrict-properties" est une valeur proposée qui limite la relation au lieu de la couper complètement. Elle active crossOriginIsolated lorsqu’elle est associée à COEP.

Inscrivez-vous à la phase d'évaluation COOP de restriction-properties pour les origines.

API FedCM Sign-In Status

L'API IdP Sign-In Status de l'API Federated Credential Management (FedCM) permet à un fournisseur d'identité (IdP) de signaler au navigateur quand ses utilisateurs se connectent ou se déconnectent, afin que FedCM puisse augmenter ses propriétés de confidentialité en optimisant son expérience utilisateur.

S'inscrire à la phase d'évaluation de l'état de connexion FedCM

API EditContext

L'API EditContext simplifie le processus d'intégration d'une application Web avec des méthodes de saisie de texte avancées, telles que l'écriture de formes VK, les panneaux d'écriture manuscrite, la reconnaissance vocale et les compositions IME. Cette API améliore l'accessibilité et les performances, et offre de nouvelles fonctionnalités pour les éditeurs Web.

S'inscrire à la phase d'évaluation de l'API EditContext

Durée du frame d'animation long

C'est le prolongement de longues tâches. Il mesure la tâche et sa mise à jour de rendu ultérieure, en ajoutant des informations telles que les scripts de longue durée, le temps d'affichage et le temps passé à appliquer une mise en page et un style forcés. On parle alors de thrashing de mise en page.

Les développeurs peuvent l'utiliser pour diagnostiquer la "létitude", mesurée par INP, en identifiant les causes de la congestion du thread principal, qui est souvent à l'origine d'un INP incorrect.

S'inscrire à la phase d'évaluation pour les longues frames d'animation