Chrome 125

Date de sortie stable:14 mai 2024

Sauf indication contraire, les modifications suivantes s'appliquent à la version stable de Chrome 125 pour Android, ChromeOS, Linux, macOS et Windows.

HTML et DOM

Sérialisation déclarative du Shadow DOM

Fonctionnalité permettant aux développeurs de sérialiser des arborescences DOM contenant des racines fantômes, récemment standardisées dans la norme HTML.

Bug de suivi n° 41490936 | Entrée ChromeStatus.com | Spécification

CSS

Positionnement de l'ancrage CSS

Le positionnement de l'ancrage CSS permet aux développeurs de partager un élément positionné absolument avec un ou plusieurs autres éléments de la page (les ancres), de manière déclarative et sans utiliser JavaScript. Le positionnement des ancrages fonctionne de manière optimale lorsqu'il est possible de les faire défiler. Un cas d'utilisation courant consiste à positionner un pop-up, tel qu'une info-bulle à côté de l'élément qui l'a appelé, ou un menu de sélection et sa liste d'options. Avant la fonctionnalité de positionnement de l'ancrage, ces cas d'utilisation nécessitaient JavaScript pour positionner dynamiquement le pop-up et le maintenir ancré lors du défilement de l'élément appelant, ce qui est une expérience très performante et difficile à faire. Grâce au positionnement d'ancrage, ces cas d'utilisation peuvent être mis en œuvre de manière performante et de manière déclarative.

La fonctionnalité de positionnement de l'ancrage se compose d'un grand nombre de propriétés CSS. Voici quelques propriétés clés:

  • anchor-name: configure un élément comme ancrage pour d'autres éléments.
  • position-anchor: décrit l'ancre "par défaut" qu'un élément ancré doit utiliser pour son positionnement.
  • La fonction anchor(): utilisée pour faire référence à la position de l'élément ancré.
  • inset-area: raccourci de positionnement, pour les positions relatives courantes.

Présentation de l'API de positionnement de l'ancrage CSS | Bug de suivi n° 40059176 | Entrée ChromeStatus.com | Spécification

Fonctions de valeur échelonnées CSS : round(), mod() et rem()

Les fonctions à valeur échelonnée, round(), mod() et rem(), transforment toutes une valeur donnée en fonction d'une autre "valeur d'étape".

La fonction CSS round() renvoie un nombre arrondi en fonction de la stratégie d'arrondi sélectionnée.

La fonction CSS mod() renvoie un module restant lorsque le premier paramètre est divisé par le deuxième paramètre, comme l'opérateur JavaScript reste (%). Le module est la valeur restante lorsqu'un opérande, le dividende, est divisé par un deuxième opérande, le diviseur. Il prend toujours le signe du diviseur.

La fonction CSS rem() renvoie un reste restant lorsque le premier paramètre est divisé par le deuxième paramètre, de la même manière que l'opérateur de reste JavaScript (%). Le reste est la valeur restante lorsqu'un opérande, le dividende, est divisé par un deuxième opérande, le diviseur. Il prend toujours le signe du diviseur.

Bug de suivi n° 40253179 | Entrée ChromeStatus.com | Spécification

Nouvelle syntaxe pour l'attribut CSS personnalisé :state()

L'état personnalisé CSS permet aux éléments personnalisés d'exposer leurs propres pseudo-classes. La syntaxe a désormais été spécifiée dans le CSSWG et Chrome 125 accepte désormais la nouvelle syntaxe :state(foo). Ce changement affichera une fenêtre dans laquelle Chrome prendra en charge à la fois l'ancienne syntaxe (:--foo) et la nouvelle afin que les sites Web puissent passer à la nouvelle.

Entrée ChromeStatus.com | Spécification

Supprimer la discontinuité pour les couleurs Oklab et Oklch avec une luminosité de près de 100% ou 0

Avant ce changement, toutes les couleurs Lab, LCH, Oklab et Oklch avec une valeur de luminosité de 100% étaient affichées en blanc, quels que soient les deux autres paramètres. Toutes les couleurs de ces espaces avec une valeur de luminosité de 0 ont été rendues en noir. Ces deux mappages entraînaient des discontinuités dans les gradients et étaient inattendus pour les développeurs Web.

Avec ce rollback, ces couleurs ne sont plus mappées artificiellement, et la couleur affichée sera continue avec les couleurs proches et dépendra du mappage de la gamme de l'écran.

Entrée ChromeStatus.com | Spécification

Barres de défilement racine du jeu de couleurs utilisées

Le navigateur utilise le jeu de couleurs préféré de l'utilisateur pour afficher les barres de défilement de la fenêtre d'affichage si la valeur des "jeux de couleurs compatibles avec la page" est "normal" ou si non spécifiée, et si la valeur calculée de color-scheme pour l'élément racine est normal. On peut considérer que les barres de défilement de la fenêtre d'affichage se trouvent en dehors du contenu Web. Par conséquent, les user-agents doivent respecter le jeu de couleurs préféré de l'utilisateur lors de l'affichage des barres de défilement de la fenêtre d'affichage si le développeur n'a pas explicitement spécifié la prise en charge des jeux de couleurs.

Cette modification n'empêche pas les développeurs de contrôler le jeu de couleurs des barres de défilement. Le nouveau comportement oblige le navigateur à utiliser le jeu de couleurs préféré de l'utilisateur pour afficher les barres de défilement non superposées de la fenêtre d'affichage uniquement si le développeur n'a pas spécifié le jeu de couleurs de l'élément racine.

title | Bug de suivi n° 40259909 | Entrée ChromeStatus.com | Spécification

Classe view-transitions

Une nouvelle propriété CSS view-transition-class vous permet de spécifier une ou plusieurs classes de transition de vues. Vous pouvez ensuite sélectionner les pseudo-éléments ViewTransition à l'aide de ces classes, par exemple ::view-transition-group(*.class).

Il s'agit d'une extension de l'API ViewTransition qui simplifie le style des pseudo-éléments de transition de vue de la même manière que les classes CSS simplifient le style des éléments DOM standards.

Bug de suivi n° 41492972 | Entrée ChromeStatus.com | Spécification

Chargement…

Accepter les URL HTTP et HTTPS lors de la construction de WebSocket

Cette mise à jour active les schémas HTTP et HTTPS dans le constructeur WebSocket, ce qui permet également aux développeurs d'utiliser des URL relatives. Celles-ci sont normalisées en fonction des schémas internes ws: et wss:.

Bug de suivi n° 325979102 | Entrée ChromeStatus.com | Spécification

API Web

Ajouts à l'API Attribution Reporting

Des fonctionnalités ont été ajoutées à l'API Attribution Reporting pour créer des fonctionnalités de débogage supplémentaires compatibles avec les rapports de débogage des échecs d'analyse, améliorer l'ergonomie de l'API en prenant en charge un champ permettant de spécifier la plate-forme d'enregistrement préférée et améliorer la confidentialité.

Entrée ChromeStatus.com

API Compute Pressure

L'API Compute Pressure propose des états de haut niveau qui représentent la charge du processeur sur le système. Elle permet à la mise en œuvre d'utiliser les métriques matérielles sous-jacentes appropriées pour que les utilisateurs puissent profiter de toute la puissance de traitement à leur disposition, à condition que le système ne soit pas soumis à une contrainte ingérable.

Intel a dirigé le travail de conception et d'implémentation de cette API, qui permettra aux applications de visioconférence d'équilibrer dynamiquement les fonctionnalités et les performances.

API Compute Pressure | Bug de suivi n° 40683064 | Entrée ChromeStatus.com | Spécification

Cette action lance l'extension proposée de l'API Storage Access (rétrocompatible et en phase d'évaluation) pour permettre l'accès au stockage de cookies et autres cookies non partitionnés dans un contexte tiers. L'API actuelle ne fournit l'accès qu'aux cookies, qui ont des cas d'utilisation différents de ceux du stockage non-cookie.

Bug de suivi n° 40282415 | Entrée ChromeStatus.com | Spécification

Exigence CORS FedCM pour le point de terminaison d'assertion d'ID

Les extractions effectuées dans l'API FedCM sont difficiles à interpréter en raison des propriétés requises. Bien qu'il existe des discussions continues sur le point de terminaison des comptes, il est également largement admis que le point de terminaison d'assertion d'ID doit utiliser CORS. Cette mise à jour aligne les propriétés de sécurité de cette extraction de plus près avec les autres extractions de la plate-forme Web.

Mises à jour de FedCM: Phase d'évaluation de l'API en mode Bouton, CORS et SameSite | Bug de suivi n° 40284123 | Entrée ChromeStatus.com

FedCM envoie désormais des requêtes d'assertion d'ID avec CORS. Ce changement signifie que Chrome n'envoie plus de cookies SameSite=Strict au point de terminaison d'assertion d'ID, bien que Chrome envoie toujours SameSite=None. Étant donné qu'il n'est pas logique d'envoyer un ensemble différent de cookies au point de terminaison des comptes et au point de terminaison d'assertion de l'ID, cette modification les rend cohérents.

Le fait de ne pas envoyer de cookies SameSite=Strict est également conforme au comportement requestStorageAccess et aux requêtes intersites en général.

Bug de suivi n° 329145816 | Entrée ChromeStatus.com | Spécification

Action par défaut interopérable des mouvements de souris

Chrome permettait d'annuler les événements de déplacement de souris pour empêcher d'autres API comme la sélection de texte (et même le glisser-déposer par le passé). Cela ne correspond pas aux autres principaux navigateurs et n'est pas conforme aux spécifications des événements de l'interface utilisateur. Désormais, la sélection de texte n'est plus l'action par défaut du déplacement de la souris. Il est toujours possible d'empêcher la sélection de texte et le glisser-déposer en annulant les événements selectstart et dragstart respectivement.

Cette fonctionnalité sera déployée progressivement à partir de Chrome 125 et devrait être disponible pour tous les utilisateurs dans Chrome 126.

Démonstration | Bug de suivi n° 40078978 | Entrée ChromeStatus.com | Spécification

Modificateurs d'expression régulière

Les modificateurs d'expression régulière permettent de modifier localement les indicateurs i, m et s' dans un motif.

Pour activer un indicateur pour une sous-expression, utilisez (?X:subexpr)X est défini sur i, m ou s. Pour désactiver un indicateur pour une sous-expression, utilisez (-X:subexpr).

Par exemple, pour l'option i d'insensibilité à la casse:

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false

Entrée ChromeStatus.com | Spécification

Groupes de capture nommés en double avec l'expression régulière

Les groupes de capture nommés en double vous permettent d'utiliser le même nom de groupe de capture dans plusieurs alternatives. Exemple :

const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;

Dans ce cas, year est valide pour la première alternative ((?<year>[0-9]{4})-[0-9]{2}) ou la deuxième ([0-9]{2}-(?<year>[0-9]{4})).

Entrée ChromeStatus.com | Spécification

Applications Chrome

API Direct Sockets dans les applications Chrome

Cette mise à jour facilite la transition des applications spécialisées des applications Chrome vers les applications Web isolées en activant Direct Sockets dans les applications Chrome. Les applications Web peuvent ainsi établir des communications entre le protocole TCP (Direct Transmission Control Protocol) et le protocole de datagramme utilisateur (UDP) avec les appareils et systèmes réseau.

Entrée ChromeStatus.com | Spécification

Nouvelles phases d'évaluation

API FedCM en mode Bouton et utiliser l'API d'un autre compte

Cette phase d'évaluation inclut les deux API FedCM suivantes.

L'API en mode bouton permet aux sites Web d'appeler FedCM en cliquant sur un bouton, par exemple en cliquant sur un bouton Sign-in to IdP (Se connecter à l'IdP). FedCM doit donc s'assurer qu'il répond toujours avec une interface utilisateur visible, par opposition au mode Widget, qui n'affiche pas d'UI lorsque les utilisateurs se déconnectent. L'appel de l'API FedCM en mode bouton oblige les utilisateurs à se connecter à l'IdP (dans une boîte de dialogue) lorsqu'ils sont déconnectés.

En outre, comme le mode bouton est appelé lors d'un geste explicite de l'utilisateur, l'UI peut également être plus proéminente (par exemple, centrée et modale) que l'UI du mode Widget (qui n'a pas une telle intention explicite). Pour en savoir plus sur le fonctionnement de l'API en mode bouton, consultez les mises à jour de FedCM: phase d'évaluation de l'API en mode bouton, CORS et SameSite.

L'API "Use Other Account" (Utiliser un autre compte) permet à un fournisseur d'identité d'autoriser les utilisateurs à se connecter à d'autres comptes.

Phase d'évaluation | Démonstration | Bug de suivi n° 40284792 | Entrée ChromeStatus.com | Spécification

API pliables

Cette phase d'évaluation inclut l'API Device Posture et l'API Viewport Segments Enumeration. Ces API sont conçues pour aider les développeurs à cibler les appareils pliables.

Phase d'évaluation | Phase d'évaluation pour les API pliables | Entrée ChromeStatus.com | Spécification

Essai d'abandon des propriétés et méthodes HTMLVideoElement Fullscreen précédées

Cet essai d'abandon vous permet de réactiver la prise en charge des propriétés et méthodes HTMLVideoElement avec préfixe si vous avez besoin de plus de temps pour ajuster votre code.

Phase d'évaluation | Entrée ChromeStatus.com

Ignorer l'analyse du préchargement

Ignore l'outil d'analyse de préchargement pour explorer les compromis en termes de performances pour les pages sans extraction de sous-ressources.

L'étape d'analyse de préchargement améliore les performances des pages avec des récupérations de sous-ressources, grâce à la mise en œuvre du préchargement spéculatif. Toutefois, pour les pages qui ne bénéficient pas de cette étape, c'est-à-dire sans sous-ressources, cela représente une surcharge de traitement supplémentaire avec peu d'avantages.

Pour les utilisateurs Web avancés qui souhaitent réduire ces frais généraux, ce test fournit une commande au niveau de la page permettant de désactiver l'analyseur de préchargement. Les données collectées à partir de ce test pourraient évaluer l'utilité d'une API modifiée ou d'une autre implémentation de l'outil d'analyse de préchargement HTML.

Phase d'évaluation | Bug de suivi n° 330802493 | Entrée ChromeStatus.com | Spécification

Abandons et suppressions

Suppression de l'alias "window-placement" pour l'autorisation et la règle d'autorisation "window-management"

Supprime l'alias "window-placement" pour l'autorisation et la règle d'autorisation "window-management". Cela s'inscrit dans une démarche plus vaste de renommer les chaînes en abandonnant et en supprimant l'option "window-placement" à terme. Ce changement de terminologie améliore la longévité du descripteur à mesure que l'API Window Management évolue.

title | Bug de suivi n° 40842072 | Entrée ChromeStatus.com | Spécification

Suppression de la règle d'entreprise NewBaseUrlInheritanceBehaviorAllowed

La modification du code sous-jacent (activer le nouveau comportement d'héritage des URL de base) que cette règle d'entreprise remplace est activée dans des versions stables depuis août 2023 (Chrome 118). Étant donné que les problèmes connus ont été traités, cette règle d'entreprise a été supprimée dans Chrome 125.

Entrée ChromeStatus.com

Suppression des propriétés et méthodes HTMLVideoElement Fullscreen précédées

Les API plein écran HTMLVideoElement précédées du préfixe sont obsolètes depuis Chrome 38. Elles ont été remplacées par Element.requestFullscreen(), qui a été expédié pour la première fois sans préfixe en 2018 dans Chrome 71.

Les propriétés et méthodes suivantes seront supprimées de HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (notez la casse différente du "S" en plein écran)
  • webkitExitFullScreen()

Inscrivez-vous à l'évaluation avant arrêt mentionnée dans cet article si votre site s'en sert encore et que vous avez besoin de plus de temps pour mettre à jour le code.

Entrée ChromeStatus.com

Complément d'informations

Vous souhaitez en savoir plus ? Consultez ces ressources supplémentaires.

Télécharger Google Chrome

Téléchargez Chrome pour Android, pour ordinateur ou iOS.