Publié le 1er octobre 2025
Sauf indication contraire, ces modifications s'appliquent à la version bêta 142 de Chrome pour Android, ChromeOS, Linux, macOS et Windows. Pour en savoir plus sur ces fonctionnalités, consultez les liens fournis ou ChromeStatus.com. Téléchargez la version bêta de Chrome 142 sur Google.com pour ordinateur ou sur le Google Play Store pour Android.
CSS et UI
Pseudo-classes :target-before
et :target-after
Ces pseudo-classes correspondent aux repères de défilement qui se trouvent avant ou après le repère actif (correspondant à :target-current
) dans le même groupe de repères de défilement, tel que déterminé par l'ordre de l'arborescence à plat :
:target-before
: correspond à tous les repères de défilement qui précèdent le repère actif dans l'ordre de l'arborescence à plat au sein du groupe.:target-after
: correspond à tous les repères de défilement qui suivent le repère actif dans l'ordre de l'arborescence à plat au sein du groupe.
Positionnement absolu pour l'élément ::view-transition
Les transitions de vue utilisent un pseudo-sous-arbre de l'élément, avec ::view-transition
comme racine de cette transition. Auparavant, l'élément ::view-transition
était spécifié pour avoir position: fixed
. Le groupe de travail CSS a décidé de rendre position: absolute
, et Chrome reflète désormais ce changement.
Ce changement ne devrait pas être perceptible, car le bloc de contenu de cet élément reste le bloc de contenu du snapshot, que ce soit dans le cas absolu ou fixe. La seule différence notable se trouve dans getComputedStyle
.
Propriété activeViewTransition
sur le document
L'API View Transitions permet aux développeurs de lancer des transitions visuelles entre différents états. Le point d'entrée SPA principal est startViewTransition()
, qui renvoie un objet de transition. Cet objet contient plusieurs promesses et fonctionnalités permettant de suivre la progression de la transition, et vous permet de manipuler les transitions, par exemple en les ignorant ou en modifiant leurs types.
À partir de Chrome 142, les développeurs n'ont plus besoin de stocker cet objet. Une propriété document.activeViewTransition
représente cet objet, ou null
si aucune transition n'est en cours.
Cela s'applique également aux transitions MPA, où l'objet n'est disponible que via les événements pageswap
et pagereveal
. Dans cette mise à jour, document.activeViewTransition
est défini sur cet objet pendant toute la durée de la transition.
Syntaxe de plage pour les requêtes de conteneur de style et if()
Chrome améliore les requêtes de style CSS et la fonction if()
en ajoutant la prise en charge de la syntaxe de plage.
Elle étend les requêtes de style au-delà de la correspondance exacte des valeurs (par exemple, style(--theme: dark)
). Les développeurs peuvent utiliser des opérateurs de comparaison (tels que >
et <
) pour comparer des propriétés personnalisées, des valeurs littérales (par exemple, 10 px ou 25 %) et des valeurs provenant de fonctions de substitution telles que attr()
et env()
. Pour que la comparaison soit valide, les deux côtés doivent correspondre au même type de données. Elle est limitée aux types numériques suivants : <length>
, <number>
, <percentage>
, <angle>
, <time>
, <frequency>
et <resolution>
.
Exemples :
Comparer une propriété personnalisée à une longueur littérale :
@container style(--inner-padding > 1em) {
.card {
border: 2px solid;
}
}
Comparer deux valeurs littérales
@container style(1em < 20px) {
/* ... */
}
Utiliser des plages de style dans if()
:
.item-grid {
background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}
Invokers d'intérêt (attribut interestfor
)
Chrome ajoute un attribut interestfor
aux éléments <button>
et <a>
. Cet attribut ajoute des comportements "intérêt" à l'élément. Lorsqu'un utilisateur "manifeste son intérêt" pour l'élément, des actions sont déclenchées sur l'élément cible, par exemple l'affichage d'un pop-over. L'agent utilisateur détecte quand un utilisateur "s'intéresse" à l'élément à l'aide de méthodes telles que le maintien du pointeur sur l'élément, l'appui sur des touches de raccourci spéciales sur le clavier ou l'appui prolongé sur l'élément sur les écrans tactiles. Lorsqu'un intérêt est exprimé ou perdu, un InterestEvent
se déclenche sur la cible, qui comporte des actions par défaut pour les pop-ups, comme l'affichage et le masquage de la pop-up.
Propriété font-language-override
Chrome est désormais compatible avec la propriété CSS font-language-override
. Cette propriété permet aux développeurs de remplacer la langue du système utilisée pour la substitution de glyphes OpenType en spécifiant un tag de langue de quatre caractères directement dans le code CSS.
Il permet un contrôle typographique précis, ce qui est particulièrement utile pour les contenus multilingues ou les polices avec des variantes de glyphes spécifiques à une langue.
Attribut download
dans l'élément SVG <a>
Chrome est désormais compatible avec l'attribut download
sur l'interface SVGAElement
, conformément à la spécification SVG 2. L'attribut download
permet aux auteurs de spécifier que la cible d'un lien hypertexte SVG est téléchargée au lieu d'être consultée. Cela reflète le comportement déjà pris en charge dans HTMLAnchorElement
. Elle favorise l'interopérabilité entre les principaux navigateurs et assure un comportement cohérent entre les éléments HTML et SVG <a>
. Elle améliore également l'expérience des développeurs et répond aux attentes des utilisateurs.
Parité entre mobile et ordinateur pour certains modes d'affichage des éléments
En utilisant les attributs size
et multiple
, l'élément <select>
peut être affiché sous la forme d'une zone de liste déroulante intégrée à la page ou d'un bouton avec un pop-up. Toutefois, ces modes ne sont pas disponibles de manière cohérente sur Chrome pour mobile et ordinateur. Le rendu de la liste déroulante intégrée à la page n'est pas disponible sur mobile, et un bouton avec un pop-up n'est pas disponible sur ordinateur lorsque l'attribut multiple
est présent.
Cette mise à jour ajoute la zone de liste déroulante sur mobile et un pop-up à sélection multiple sur ordinateur. Elle garantit également que les inscriptions avec les attributs size
et multiple
entraînent le même mode d'affichage sur mobile et sur ordinateur. Voici un résumé des modifications apportées :
- Lorsque l'attribut
size
a une valeur supérieure à1
, le rendu sur la page est toujours utilisé. Auparavant, les appareils mobiles ignoraient cette option. - Lorsque l'attribut
multiple
est défini sans attributsize
, le rendu sur la page est utilisé. Auparavant, les appareils mobiles utilisaient un pop-up au lieu d'une zone de liste sur la page. - Lorsqu'un attribut
multiple
est défini sursize=1
, un pop-up est utilisé. Les appareils de bureau utilisaient auparavant une zone de liste déroulante sur la page.
Activation de l'utilisateur persistante lors des navigations initiées par le moteur de rendu de même origine
Chrome conserve l'état d'activation utilisateur persistant lorsqu'une page accède à une autre page de même origine. L'absence d'activation de l'utilisateur sur la page post-navigation empêche certains cas d'utilisation, par exemple l'affichage de claviers virtuels lors de la mise au point automatique. Cela a bloqué les développeurs qui souhaitaient créer des MPA plutôt que des SPA.
Cela ne couvre pas les requêtes de navigation initiées par le navigateur (recharger, navigation dans l'historique, URL saisie dans la barre d'adresse, etc.).
API Web
WebGPU : primitive_index
WebGPU ajoute une nouvelle fonctionnalité facultative qui expose un nouveau nuanceur WGSL intégré, primitive_index
. Il fournit un index par primitive aux nuanceurs de fragment sur le matériel compatible, semblable aux intégrés vertex_index
et instance_index
. L'index primitif est utile pour les techniques graphiques avancées, telles que la géométrie virtualisée.
WebGPU : formats de texture de niveau 1 et 2
Étendez la prise en charge du format de texture GPU avec des fonctionnalités telles que l'attachement de rendu, le mélange, l'échantillonnage multiple, la résolution et storage_binding.
Propriété DataTransfer pour les événements d'entrée insertFromPaste
, insertFromDrop
et insertReplacementText
Renseignez la propriété dataTransfer
sur les événements d'entrée avec les valeurs inputType
de insertFromPaste
, insertFromDrop
et insertReplacementText
pour permettre l'accès aux données du presse-papiers et du glisser-déposer lors des opérations de modification dans les éléments contenteditable.
L'objet dataTransfer
contient les mêmes données que celles disponibles lors de l'événement beforeinput
.
Cette fonctionnalité ne s'applique qu'aux éléments "contenteditable". Pour les contrôles de formulaire (textarea
, input
), le comportement reste inchangé.
Cette propriété permet à Chrome d'être interopérable avec Safari et Firefox.
Session multimédia : ajouter un motif aux détails de l'action enterpictureinpicture
Ajoute enterPictureInPictureReason
à MediaSessionActionDetails
envoyé à l'action enterpictureinpicture
dans l'API Media Session. Cela permet aux développeurs de faire la distinction entre les actions enterpictureinpicture
déclenchées explicitement par l'utilisateur (par exemple, à partir d'un bouton dans l'agent utilisateur) et les actions enterpictureinpicture
déclenchées automatiquement par l'agent utilisateur parce que le contenu devient masqué.
Biais contextuel de l'API Web Speech
Cette mise à jour permet aux sites Web de prendre en charge le biais contextuel pour la reconnaissance vocale en ajoutant une liste d'expressions de reconnaissance à l'API Web Speech.
Les développeurs peuvent fournir une liste d'expressions et les mettre à jour pour appliquer un biais aux modèles de reconnaissance vocale en faveur de ces expressions. Elle permet d'améliorer la précision et la pertinence de la reconnaissance vocale personnalisée et spécifique à un domaine.
Validation plus stricte des jetons MIME *+json
pour les modules JSON
Rejeter les réponses de script de module JSON dont le type ou le sous-type MIME contiennent des points de code de jeton non HTTP (par exemple, des espaces) lorsqu'ils correspondent à *+json
. Cela correspond à la spécification MIME Sniffing et à d'autres moteurs. Il fait partie du domaine de concentration des modules Interop2025.
FedCM : prise en charge de l'affichage des origines d'iFrame tiers dans l'UI
Avant Chrome 142, FedCM affichait toujours le site de premier niveau dans son interface utilisateur.
Cette approche fonctionne bien lorsque l'iFrame est conceptuellement first party (par exemple, foo.com
peut avoir un iFrame foostatic.com
, qui n'a pas de sens pour l'utilisateur).
Toutefois, si l'iframe est réellement tiers, il est préférable d'afficher son origine dans l'UI afin que les utilisateurs comprennent mieux avec qui ils partagent leurs identifiants. Par exemple, un éditeur de photos peut être intégré à une application Web de publication de livres et peut vouloir permettre aux utilisateurs d'accéder aux fichiers qu'ils ont stockés auparavant avec l'éditeur de photos. Cette fonctionnalité est désormais disponible.
Isolation des processus selon l'origine
La règle d'isolation des processus passe du verrouillage des processus sur un site (par exemple, example.com
) à leur verrouillage sur une origine spécifique (par exemple, foo.example.com
).
Pour renforcer davantage la sécurité, Chrome passe à un modèle d'isolation des processus plus précis, appelé "isolation d'origine". Chrome utilisait l'isolation de sites, qui regroupait différentes origines du même site (par exemple, a.example.com
et b.example.com
) dans un seul processus de rendu.
Avec l'isolation d'origine, chaque origine individuelle (telle que https://foo.example.com
) est isolée dans son propre processus de rendu. Elle renforce l'architecture de sécurité de Chrome en alignant les limites des processus sur le modèle de sécurité fondamental du Web basé sur l'origine, offrant ainsi une meilleure protection contre les failles potentielles des sites.
Événements pointerrawupdate
interopérables exposés uniquement dans des contextes sécurisés
En 2020, la spécification PointerEvents a limité pointerrawupdate
aux contextes sécurisés, en masquant à la fois le déclenchement d'événement et les écouteurs d'événements globaux dans les contextes non sécurisés. Avec cette mise à jour, Chrome correspond à la spécification mise à jour et devient interopérable avec les autres principaux navigateurs.
Phases d'évaluation en cours
Dans Chrome 142, vous pouvez activer les nouvelles versions d'essai d'origine suivantes.
Identifiants de session liés à l'appareil
Méthode permettant aux sites Web d'associer de manière sécurisée une session à un seul appareil.
Il permet aux serveurs d'associer de manière sécurisée une session à un appareil. Le navigateur renouvelle la session périodiquement lorsque le serveur le demande, avec une preuve de possession d'une clé privée.
Pool de sockets TCP par site de premier niveau
Cette expérience évalue l'impact du changement de taille du pool de sockets TCP par profil, qui passe de 256 (valeur par défaut) à 513, tout en ajoutant une limite de 256 par site de premier niveau (pour s'assurer qu'aucun onglet ne puisse épuiser le pool). Nous avons étudié la possibilité de porter la limite par profil à 512 et n'avons pas constaté de conséquences négatives. La limite de 256 par site de premier niveau est égale à la limite par défaut par profil. Elle ne devrait donc pas avoir d'incidence négative sur les performances. Ces limites sont imposées indépendamment pour le pool de sockets WebSocket et le pool de sockets normal (HTTP).
L'objectif est de lancer directement ce test si aucun effet négatif ne se produit.