Ajouts à l'API Screen Capture, interpolation des propriétés CSS grid-template, etc.
Sauf indication contraire, les modifications décrites ci-dessous 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 listées ici, consultez les liens fournis ou la liste sur ChromeStatus.com. Chrome 107 est en version bêta depuis le 29 septembre 2022. Vous pouvez télécharger la dernière version sur Google.com pour ordinateur ou sur le Google Play Store pour Android.
Interpolation des propriétés CSS grid-template
Dans CSS Grid, les propriétés grid-template-columns et grid-template-rows permettent aux développeurs de définir des noms de lignes et de suivre la taille des colonnes et des lignes de la grille, respectivement. Grâce à nos contributeurs chez Microsoft, nous prenons désormais en charge l'interpolation pour ces propriétés. Les mises en page en grille peuvent désormais passer d'un état à un autre de manière fluide, au lieu de s'accrocher à mi-chemin d'une animation ou d'une transition.
Commandes de partage d'écran respectueuses de la confidentialité
L'API Screen Capture ajoute des éléments à l'API Media Capture and Streams existante pour permettre à l'utilisateur de sélectionner un écran ou une partie d'écran (comme une fenêtre) à capturer en tant que flux multimédia. Ce flux peut ensuite être enregistré ou partagé avec d'autres utilisateurs sur le réseau. Cette version bêta ajoute de nouvelles fonctionnalités à cette API.
DisplayMediaStreamConstraints.selfBrowserSurface
Indication permettant aux applications Web d'indiquer au navigateur si, lors de l'appel de getDisplayMedia(), l'onglet actuel doit être exclu de la liste des onglets proposés à l'utilisateur.
Cela permet d'éviter les autocaptures accidentelles. En effet, lorsque les utilisateurs choisissent par erreur l'onglet dans lequel l'application s'exécute, un effet miroir se produit, ce qui les déroute et perturbe les discussions avec les utilisateurs à distance.
DisplayMediaStreamConstraints.surfaceSwitching
Ajoute une option permettant de contrôler par programmation si Chrome affiche un bouton pour changer d'onglet lorsque l'écran est partagé. Cette option sera transmise à navigator.mediaDevices.getDisplayMedia().
Le bouton "Partager cet onglet à la place" permet aux utilisateurs de changer facilement d'onglet à partager, sans avoir à sélectionner à nouveau l'onglet de visioconférence, à cliquer sur un bouton pour relancer getDisplayMedia() ni à sélectionner un nouvel onglet dans une longue liste. Ce comportement est exposé de manière conditionnelle, car toutes les applications Web ne sont pas en mesure de le gérer.
MediaTrackConstraintSet.displaySurface
Lorsque getDisplayMedia() est appelé, le navigateur propose à l'utilisateur de choisir entre différents types de surfaces d'affichage : onglets, fenêtres ou écrans. Grâce à la contrainte displaySurface, l'application Web peut désormais indiquer au navigateur si elle préfère qu'un certain type de surface soit proposé plus en évidence à l'utilisateur.
Découvrez comment ces fonctionnalités vous aideront à éviter le partage excessif accidentel.
État de blocage du rendu dans Resource Timing
Ajoute un champ à PerfomanceResourceTiming pour indiquer l'état de blocage du rendu d'une ressource. Actuellement, du point de vue des développeurs, le seul moyen de déterminer quelles ressources bloquent réellement le rendu est de s'appuyer sur des heuristiques complexes. Le nouveau champ fournira plutôt un signal direct à ce sujet.
Caractères génériques dans les origines des règles d'autorisation
Cette fonctionnalité ajoute la prise en charge des caractères génériques dans les règles d'autorisation structurées comme SCHEME://*.HOST:PORT (par exemple, https://*.foo.com/), où une origine valide peut être construite à partir de SCHEME://HOST:PORT (par exemple, https://foo.com/). Pour cela, HOST doit être au moins un domaine eTLD+1 (un domaine pouvant être enregistré). Cela signifie que https://*.bar.foo.com/ fonctionne, mais pas https://*.com/. Les caractères génériques dans la section du schéma et du port ne seront pas acceptés, et https://*.foo.com/ ne délègue pas à https://foo.com/. Auparavant, une règle d'autorisation pouvait ressembler à ceci :
permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://cdn1.foo.com" "https://cdn2.foo.com")
Cette fonctionnalité vous permet d'utiliser :
permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://*.foo.com")
Compatibilité avec l'attribut rel sur les éléments <form>
Cette fonctionnalité ajoute l'attribut rel aux éléments de formulaire, ce qui permet d'empêcher la présence de window.opener sur les sites Web vers lesquels les éléments de formulaire ayant rel=noopener redirigent, et d'empêcher l'envoi de l'en-tête de référent avec rel=noreferrer.
Phases d'évaluation
Cette version de Chrome comportait deux nouvelles phases d'évaluation.
API Declarative PendingBeacon
API de balise avec état qui permet au navigateur de contrôler le moment où les balises sont envoyées. Une balise est un ensemble de données envoyées à un serveur de backend, sans attendre de réponse particulière. Il est souvent souhaitable de les envoyer à la fin de la visite d'un utilisateur sur une page, mais il n'y a pas de moment idéal pour effectuer cet appel "send". Cette API délègue l'envoi au navigateur lui-même. Elle peut donc prendre en charge les balises lors du déchargement ou de la masquage de la page, sans que le développeur ait à implémenter des appels d'envoi au moment précis.
Ce test devrait durer jusqu'à Chrome 109. Inscrivez-vous à l'essai ici.
Permissions-Policy: unload
Cette fonctionnalité permet aux pages de désactiver l'exécution des gestionnaires d'événements de déchargement. L'objectif est de permettre aux sites qui ont supprimé tous les gestionnaires de déchargement de s'assurer qu'ils n'en ajoutent pas de nouveaux par inadvertance. Cela aidera les sites à migrer hors des gestionnaires d'événements de déchargement et à améliorer le taux de réussite du cache BFCache.
Ce test devrait durer jusqu'à Chrome 109. Inscrivez-vous à l'essai ici.
Abandons et suppressions
Cette version de Chrome introduit les abandons et les suppressions listés ci-dessous. Consultez ChromeStatus.com pour obtenir la liste des fonctionnalités dont l'arrêt est prévu, de celles qui sont actuellement arrêtées et de celles qui ont été supprimées.
Cette version de Chrome supprime une fonctionnalité.
Expect-CT
Expect-CT est un en-tête HTTP qui permettait aux sites Web d'activer l'application de la transparence des certificats avant qu'elle ne soit appliquée par défaut. Il dispose également d'une fonctionnalité de création de rapports pour aider les développeurs à découvrir les erreurs de configuration de CT.
L'en-tête HTTP Expect-CT a été conçu pour faciliter la transition vers l'application universelle de la transparence des certificats (CT, Certificate Transparency). Il permet aux sites Web à forte valeur ajoutée d'activer l'application ou le signalement de la transparence des certificats pour une meilleure sécurité avant que la transparence des certificats ne soit requise (par Chrome) sur tous les sites Web publics. Cependant, Expect-CT n'est plus utile. Chrome exige désormais le CT sur tous les sites Web publics. L'attribut Expect-CT n'a donc plus aucune valeur en termes de sécurité. Aucun autre navigateur n'a implémenté Expect-CT. La suppression de cette fonctionnalité ne pose donc pas de problème d'interopérabilité.