Chrome 125

Date de sortie de la version stable : 14 mai 2024

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

HTML et DOM

Sérialisation du Shadow DOM déclaratif

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 41490936 suivi | Enregistrement sur ChromeStatus.com | Spécification

CSS

Positionnement des ancres CSS

Le positionnement des ancres CSS permet aux développeurs de lier un élément positionné de manière absolue à un ou plusieurs autres éléments de la page (les ancres), de manière déclarative, sans utiliser JavaScript. Le positionnement des ancres fonctionne de manière performante lorsque les ancres sont à faire défiler. Un cas d'utilisation courant consiste à positionner une fenêtre contextuelle comme info-bulle à côté de l'élément qui l'a appelé, ou d'un menu de sélection et de son pop-up la liste d'options. Avant la fonctionnalité de positionnement d'ancrage, ces cas d'utilisation nécessitaient que JavaScript positionne dynamiquement le popover et le maintienne ancré lorsque l'élément invocateur était défilé, ce qui est un piège à performances et difficile à bien faire. Avec le positionnement de l'ancre, vous pouvez implémenter ces cas d'utilisation de manière performante et déclarative.

La fonctionnalité de positionnement des ancres se compose d'un grand nombre de propriétés CSS. A quelques-unes des propriétés clés sont les suivantes:

  • anchor-name : configure un élément en tant qu'ancre pour d'autres éléments.
  • position-anchor : décrit l'ancrage "par défaut" qu'un élément ancré doit utiliser pour le positionnement de l'ancrage.
  • Fonction anchor() : permet de faire référence à la position de l'élément d'ancrage pour positionner l'élément ancré.
  • inset-area: raccourci de positionnement, pour les positions relatives courantes.

Présentation de l'API CSS Anchor Positioning | Suivi du bug 40059176 | Entrée sur ChromeStatus.com | Spécifications

Fonctions de valeur par incréments CSS : round(), mod() et rem()

Les fonctions à valeur échelonnée, round(), mod() rem() transforme toutes une valeur en fonction d'une autre "valeur de pas".

La fonction CSS round() renvoie un nombre arrondi basé sur l'arrondi sélectionné stratégie.

La fonction CSS mod() renvoie un module restant lorsque le premier paramètre est divisé par le deuxième paramètre, comme avec 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, comme avec l'opérateur JavaScript "reste" (%). Le reste est la valeur restante lorsqu'un opérande, le dividende, est divisé par un deuxième opérande, le diviseur. Elle prend toujours le signe du dividende.

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

Nouvelle syntaxe pour les :state() personnalisés CSS

L'état personnalisé CSS permet aux éléments personnalisés d'exposer leurs propres pseudo-classes. La syntaxe a maintenant été spécifiée dans le CSSWG, et Chrome 125 est désormais compatible avec la nouvelle syntaxe :state(foo). Pendant une période, Chrome sera compatible à la fois avec l'ancienne syntaxe (:--foo) et la nouvelle syntaxe afin que les sites Web puissent passer à la nouvelle.

Enregistrement sur ChromeStatus.com | Spécification

Suppression de la discontinuité pour les couleurs Oklab et Oklch avec une luminosité de presque 100% ou zéro

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

Avec ce rollback, ces couleurs ne sont plus mappées de manière artificielle et la couleur obtenue sera continue avec des couleurs proches et dépendra le mappage de la gamme de l'écran.

Entrée ChromeStatus.com | Spécifications

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

Permet au navigateur d'utiliser le jeu de couleurs préféré de l'utilisateur pour afficher les barres de défilement de la vue d'ensemble si la valeur de "jeux de couleurs compatibles de la page" est "normal" ou non spécifiée, et que la valeur calculée de color-scheme pour l'élément racine est normal. Les barres de défilement de la vue peuvent être considérées comme étant en dehors du contenu Web. Par conséquent, les user-agents doivent respecter jeu de couleurs à privilégier lors de l'affichage des barres de défilement de la fenêtre d'affichage si le développeur a la prise en charge des jeux de couleurs n'est pas explicitement spécifiée.

Cette modification n'empêche pas les développeurs de contrôler le jeu de couleurs des barres de défilement. Avec ce nouveau comportement, le navigateur utilise color-scheme pour afficher les barres de défilement de la fenêtre d'affichage non en superposition uniquement si le développeur n'a pas spécifié la palette de couleurs de l'élément racine.

title [titre] | Suivi du bug 40259909 | Entrée sur ChromeStatus.com | Spécifications

Classe view-transitions

La nouvelle propriété CSS view-transition-class vous permet spécifiez une ou plusieurs classes de transition de vue. 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écifications

Chargement…

Accepter les URL HTTP et HTTPS lors de la création 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. Elles sont normalisées aux schémas internes ws: et wss:.

Bug 325979102 | Enregistrement sur 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 en prenant en charge les rapports de débogage d'échec 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é.

Enregistrement sur ChromeStatus.com

API Compute Pressure

L'API Compute Pressure offre les états de haut niveau qui représentent la charge du CPU sur le système. Elle permet au pour utiliser les métriques matérielles sous-jacentes appropriées afin de garantir que les utilisateurs peuvent exploiter toute la puissance de traitement dont elles disposent n'est pas soumis à un stress ingérable.

La conception et l'implémentation de cette API ont été dirigées par Intel. qui permettra aux applications de visioconférence d'équilibrer dynamiquement les fonctionnalités et des performances.

API Compute Pressure | Suivi du bug 40683064 | Entrée sur ChromeStatus.com | Spécifications

Cela lance l'extension proposée pour l'API Storage Access (vers les versions antérieures compatible et a été en phase d'évaluation) pour autoriser l'accès aux cookies non partitionnés et le stockage non basé sur des cookies dans un contexte tiers. L'API actuelle ne permet d'accéder qu'aux cookies, dont les cas d'utilisation sont différents de ceux du stockage non basé sur les cookies.

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

Exigence CORS FedCM sur le point de terminaison d'assertion d'identité

Les extractions dans l'API FedCM sont difficiles à justifier en raison des propriétés de leur part. Des discussions sont en cours sur les comptes il existe aussi un consensus général sur le fait que le point de terminaison d'assertion d'ID utilisez CORS. Cette mise à jour aligne les propriétés de sécurité de cette extraction ou d'autres extractions sur la plate-forme Web.

Mises à jour de FedCM: phase d'évaluation de l'API Button Mode, CORS et SameSite | Suivi du bug 40284123 | Entrée sur 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'identité, mais qu'il envoie toujours des SameSite=None. Étant donné qu'il n'est pas logique d'envoyer un ensemble de cookies différent au point de terminaison des comptes et au point de terminaison de l'assertion d'ID, cette modification les rend cohérents.

Ne pas envoyer de cookies SameSite=Strict est également cohérent avec le comportement requestStorageAccess et les requêtes intersites en général.

Bug 329145816 | Enregistrement sur ChromeStatus.com | Spécification

Action par défaut mousemove interopérable

Chrome a autorisé l'annulation des événements "mousemove" pour empêcher d'autres API, comme le texte, (et même par glisser-déposer auparavant). Cela ne correspond pas aux autres les navigateurs ; et n'est pas conforme aux spécifications relatives aux événements de l'interface utilisateur. La sélection de texte ne sera plus l'action par défaut du déplacement de la souris. La sélection de texte et le glisser-déposer peuvent seront toujours bloqués 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 d'ici Chrome 126.

Démonstration | Suivi du bug 40078978 | Entrée sur ChromeStatus.com | Spécifications

Modificateurs d'expressions régulières

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

Pour activer un indicateur pour une sous-expression, utilisez (?X:subexpr), où X est l'une des valeurs 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

Enregistrement sur ChromeStatus.com | Spécification

L'expression régulière comporte des groupes de capture nommés en double.

Les groupes de capture nommés en double vous permettent d'utiliser le même nom de groupe de capture pour différentes options. 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 alternative ([0-9]{2}-(?<year>[0-9]{4})).

Enregistrement sur 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 Applications Web isolées en activant Direct Sockets dans les applications Chrome, ce qui permet aux applications Web Établir le protocole TCP (Direct Transmission Control Protocol) et le protocole de datagramme utilisateur (UDP) avec les appareils et les systèmes réseau.

Enregistrement sur ChromeStatus.com | Spécification

Nouvelles phases d'évaluation

API FedCM Button Mode et utiliser l'API Other Account

Cette version d'essai d'origine inclut les deux API FedCM suivantes.

L'API Button Mode permet aux sites Web d'appeler FedCM en un clic sur un bouton, en cliquant sur le bouton Sign-in to IdP (Se connecter à l'IdP). FedCM doit donc garantir répond toujours par une interface utilisateur visible, contrairement au mode widget, qui n'affiche pas d'UI lorsque les utilisateurs se déconnectent. Appeler l'API FedCM dans Mode bouton oblige les utilisateurs à se connecter à l'IdP (dans une boîte de dialogue) lorsqu'ils sont déconnectés.

De plus, comme le mode bouton est appelé dans un geste utilisateur explicite, l'UI peut également être plus visible (par exemple, centrée et modale) par rapport à l'UI du mode widget (qui n'a pas une intention aussi explicite). Pour en savoir plus sur le fonctionnement de l'API Button Mode, consultez Mises à jour de FedCM: phase d'évaluation de l'API Button Mode, CORS et SameSite

L'API Use Other Account permet à un fournisseur d'identité d'autoriser les utilisateurs à se connecter à d'autres comptes.

Phase d'évaluation | Démonstration | Suivi du bug n° 40284792 | Entrée sur ChromeStatus.com | Spécifications

API pliables

Cette phase d'évaluation inclut l'API Device Posture et les segments de fenêtre d'affichage API Enumeration. Ces API sont conçues pour aider les développeurs à cibler les appareils pliables.

Essai Origin | Essai Origin pour les API pliables | Enregistrement sur ChromeStatus.com | Spécification

Évaluation avant arrêt des propriétés et méthodes HTMLVideoElement en plein écran avec préfixe

Cet essai avant arrêt vous permet de réactiver la prise en charge du préfixe Propriétés et méthodes HTMLVideoElement si vous avez besoin de plus de temps pour ajuster votre du code source.

Test Origin | Enregistrement sur ChromeStatus.com

Ignorer l'analyse de préchargement

Ignore le scanner de préchargement pour explorer les compromis de performances pour les pages sans récupération de sous-ressources.

L'étape de préchargement de l'analyseur améliore les performances des pages comportant des sous-ressources via 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 pour les pages sans sous-ressources, il s'agit d'une surcharge de traitement supplémentaire avec peu d'avantages.

Pour les utilisateurs Web avancés qui souhaitent réduire ces coûts, cette expérience fournit un contrôle au niveau de la page pour désactiver le scanner de préchargement. Les données collectées lors de ce test pourraient permettre d'évaluer si une API modifiée ou une implémentation différente du scanner de préchargement HTML serait utile.

Phase d'évaluation | Suivi du bug 330802493 | Entrée sur ChromeStatus.com | Spécifications

Abandons et suppressions

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

Supprime "window-placement" alias de la règle d'autorisation et d'autorisation "window-management". Il s'agit d'un effort plus vaste visant à renommer les chaînes en abandonnant et en supprimant "window-placement" à terme. Ce changement de terminologie améliore la longévité du descripteur à mesure que l'API Window Management évolue au fil du temps.

title [titre] | Suivi du bug 40842072 | Entrée sur ChromeStatus.com | Spécifications

Suppression de la règle d'entreprise : NewBaseUrlInheritanceBehaviorAllowed

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

Entrée ChromeStatus.com

Suppression des propriétés et méthodes de plein écran HTMLVideoElement avec préfixe

Les API de plein écran HTMLVideoElement avec préfixe sont obsolètes depuis Chrome 38. Ils ont été remplacés par Element.requestFullscreen(), lequel expédié 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 les différentes majuscules du "S" dans FullScreen)
  • webkitExitFullScreen()

Inscrivez-vous à la phase d'évaluation de l'abandon indiquée dans cet article si votre site s'appuie toujours sur ces éléments et que vous avez besoin de plus de temps pour mettre à jour le code.

Enregistrement sur ChromeStatus.com

Documentation complémentaire

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

Télécharger Google Chrome

Télécharger Chrome pour Android Ordinateur de bureau iOS