Date de disponibilité de la version stable : 7 avril 2026
Sauf indication contraire, les modifications suivantes s'appliquent à la version stable de Chrome 147 channel pour Android, ChromeOS, Linux, macOS et Windows.
CSS et UI
Transitions de vue limitées aux éléments
Expose element.startViewTransition() sur des éléments HTML arbitraires.
L'élément établit une portée pour la transition, ce qui signifie que les pseudo-éléments de transition sont affectés par les clips et les transformations des ancêtres, et que plusieurs transitions sur des éléments distincts peuvent s'exécuter simultanément.
Bug de suivi #394052227 | Entrée ChromeStatus.com | Spécification
CSS contrast-color()
Cette fonction vous aide à respecter les exigences de contraste pour l'accessibilité.
Vous pouvez utiliser la fonction contrast-color() n'importe où dans le CSS où une valeur de couleur est attendue. Elle prend un argument de valeur de couleur et renvoie "black" ou "white", selon celui qui offre le contraste le plus élevé par rapport à l'argument de couleur.
Bug de suivi #40142548 | Entrée ChromeStatus.com | Spécification
Plage nommée de la chronologie scroll
Cette fonctionnalité étend l'ensemble des plages nommées pour les chronologies de vue en ajoutant une plage scroll à l'ensemble existant de entry, exit, cover et contain.
Bug de suivi #41483848 | Entrée ChromeStatus.com | Spécification
Propriété CSS border-shape
La propriété CSS border-shape vous permet de créer des bordures non rectangulaires avec n'importe quelle forme arbitraire, par exemple un polygone, un cercle ou shape().
Bien que border-shape accepte les mêmes formes que clip-path, elle est fondamentalement différente. border-shape définit la forme de la bordure, la décore et ne découpe que l'intérieur.
border-shape comporte deux variantes : l'une qui trace une forme et l'autre qui remplit l'espace entre deux formes.
Bug de suivi #370041145 | Entrée ChromeStatus.com | Spécification
Interface CSSPseudoElement
L'interface CSSPseudoElement représente un pseudo-élément en JavaScript.
CSSPseudoElement est renvoyé par Element.pseudo(type), où type est
actuellement ::after, ::before ou ::marker. CSSPseudoElement est un objet proxy qui représente un pseudo-élément. Contrairement à un pseudo-élément, un CSSPseudoElement existe toujours.
Le CSSPseudoElement comporte les attributs et méthodes suivants :
- L'attribut
typeest une chaîne qui représente le type du pseudo-élément. - L'attribut
elementest l'élément d'origine ultime du pseudo-élément. - L'attribut
parentest l'élément d'origine du pseudo-élément (soitElementouCSSPseudoElementpour les pseudo-éléments imbriqués). - La méthode
pseudo(type)récupère les pseudo-éléments imbriqués.
Bug de suivi #40639103 | Entrée ChromeStatus.com | Spécification
Pseudo-cible sur les événements
Les événements spécifiques incluent désormais un .pseudoTarget, qui est CSSPseudoElement (si l'interaction a eu lieu avec un pseudo-élément) ou null.
Cela fournit des informations plus spécifiques sur l'origine de l'événement. Par exemple, cela indique qu'un pseudo-élément ::after a été cliqué, et pas seulement l'élément d'origine ultime (Event.target). Notez que Event.target reste inchangé. L'événement ne contient donc que des informations supplémentaires sur l'interaction avec le pseudo-élément.
Les événements sont UIEvent, AnimationEvent et TransitionEvent.
mouseover, mouseout, mouseenter, mouseleave et leurs homologues pointer* ne sont pas encore compatibles.
Bug de suivi #40639103 | Entrée ChromeStatus.com | Spécification
Dissocier les propriétés *-width et *-style
Chrome 147 s'aligne sur les spécifications CSS
mises à jour concernant le comportement des propriétés
border-width, outline-width et column-rule-width. Auparavant, si les propriétés border-style, outline-style ou column-rule-style correspondantes étaient définies sur none ou hidden, la largeur calculée de ces propriétés était forcée à 0px, quelle que soit la valeur spécifiée.
Avec ce changement, les valeurs calculées de border-width, outline-width et column-rule-width reflètent toujours les valeurs spécifiées par l'auteur, indépendamment de la propriété *-style. De plus, les valeurs résolues (telles que renvoyées par getComputedStyle()) pour outline-width et column-rule-width reflètent également les valeurs spécifiées.
Cette modification aligne Chrome sur Firefox et WebKit, qui ont déjà implémenté ce comportement.
Bug de suivi #393631108 | Entrée ChromeStatus.com | Spécification
Compatibilité avec l'attribut path sur l'élément SVG <textPath>
Cette modification ajoute la compatibilité avec l'attribut path sur l'élément SVG <textPath>. Cela permet aux développeurs de définir la géométrie du tracé de texte en ligne à l'aide de données de tracé SVG
et réduit le besoin d'éléments <path> définis séparément.
L'élément <textPath> résout sa géométrie de tracé de texte à l'aide des règles suivantes
:
- Si
pathethrefsont présents, la géométrie est résolue à partir de l'attributpath. - Si seul l'attribut
pathest présent et qu'il est analysé correctement, la définition du chemin d'accès intégré est utilisée. - Si l'attribut
pathest absent ou ne peut pas être analysé, et qu'un attributhrefest fourni, l'élément<path>référencé est utilisé comme solution de secours. - Le comportement existant
href-only est conservé sans modification.
Cette implémentation suit la définition de l'attribut path
sur <textPath>de la spécification SVG 2. Le comportement de résolution est cohérent avec les autres moteurs de navigateur, ce qui améliore l'interopérabilité et la conformité aux normes. Remarque :
Lorsque path et href sont spécifiés sur <textPath>, path est désormais prioritaire, conformément à la spécification SVG 2.
Bug de suivi #374010056 | Entrée ChromeStatus.com | Spécification
Appareil
Détection de plans WebXR
L'API WebXR Plane Detection permet aux sites de récupérer l'ensemble des plans détectés dans l'environnement de l'utilisateur. Cela demande moins de travail aux développeurs et est plus puissant que d'utiliser la fonctionnalité WebXR de détection de profondeur. Par exemple, les plans tels que les murs qui sont masqués par des objets peuvent toujours être entièrement représentés si le système connaît les limites du mur. Une carte de profondeur afficherait le mur, mais les objets devant le mur le diviseraient, ce qui pourrait masquer toute l'étendue du mur. De plus, les informations d'étiquetage sémantique sont exposées lorsque l'appareil connaît ces étiquettes et qu'elles correspondent à des catégories prédéfinies, ce qui permet de mieux comprendre le monde.
Bug de suivi #394636076 | Entrée ChromeStatus.com | Spécification
DOM
Compatibilité avec JSON et les styles pour link rel=modulepreload
Ajoute la compatibilité avec les types de modules JSON et de style en tant que <link rel="modulepreload">
destinations. <link rel="modulepreload"> est déjà compatible avec Chromium (voir
la fonctionnalité Chromestatus), mais
il ne prend actuellement en charge que le préchargement des scripts de module de type script. Cette fonctionnalité
comble une lacune, car les scripts de module JSON et CSS sont compatibles
avec Chromium ailleurs, mais pas en tant que <link rel="modulepreload"> destinations. Vous
pouvez précharger des modules de style avec
<link rel="modulepreload" as="style" href="..."> et des modules JSON avec
<link rel="modulepreload" as="json" href="...">.
Bug de suivi #466888680 | Entrée ChromeStatus.com | Spécification
Analyse XML en Rust pour les scénarios non XSLT
Implémente l'analyseur XML Rust pour les scénarios où aucun traitement XSLT n'est requis.
L'analyseur XML Rust améliore la sécurité en éliminant les bugs de corruption de mémoire lors de l'analyse XML. Il remplace l'utilisation de libxml2 (écrit en C) par une alternative sécurisée.
Nous allons abandonner XSLT. Pendant ce processus, vous pouvez déjà utiliser l'analyse XML Rust sécurisée dans les scénarios où XSLT n'est pas requis.
Bug de suivi #466303347 | Entrée ChromeStatus.com
Graphiques
Calques WebXR
Les calques WebXR offrent un moyen plus efficace de dessiner du contenu immersif.
En plus de prendre en charge les textures de couleur et de profondeur natives, ainsi que les tableaux de textures, il est également compatible avec différents types de calques gérés par le compositeur système (par opposition à JavaScript).
Bug de suivi #409255534 | Entrée ChromeStatus.com | Spécification
JavaScript
Math.sumPrecise
Implémente une proposition TC39 visant à ajouter une méthode pour additionner plusieurs valeurs en JavaScript.
Ajoutez une méthode Math.sumPrecise prenant un itérable qui renvoie la somme des valeurs de l'itérable à l'aide d'un algorithme plus précis que la somme naïve.
Bug de suivi #374310075 | Entrée ChromeStatus.com | Spécification
Réseau / Connectivité
Attribut Request.isReloadNavigation
Ajoute l'attribut booléen en lecture seule isReloadNavigation à l'interface Request de l'API Fetch. Cet attribut indique si la requête de navigation actuelle a été lancée en tant que rechargement déclenché par l'utilisateur (par exemple, à l'aide du bouton Actualiser , location.reload() ou history.go(0)). Ce signal est principalement exposé sur l'objet Request dans le FetchEvent d'un service worker.
Bug de suivi #40487194 | Entrée ChromeStatus.com | Spécification
Performances
Mettre à jour les limites de l'API Device Memory
Mise à jour d'un nouvel ensemble de valeurs possibles pour l'API Device Memory :
- Android: 1, 2, 4, 8
- Autres : 2, 4, 8, 16, 32 Ces valeurs remplacent les anciennes valeurs 0,25, 0,5, 1, 2, 4 et 8, qui sont devenues obsolètes.
Cela réduit les risques d'empreintes digitales à l'extrémité inférieure, car les capacités des appareils se sont améliorées depuis leur définition. Cela permet également une meilleure utilisation et segmentation des appareils haut de gamme, comme l'ont demandé les développeurs. Pour en savoir plus, consultez le problème lié à la mémoire de l'appareil Device Memory issue.
Bug de suivi #454354290 | Entrée ChromeStatus.com | Spécification
Accès au réseau local (ANL)
Pour en savoir plus sur l'ANL, consultez Accès au réseau local.
Restrictions d'accès au réseau local sur le service worker WindowClient.navigate()
Des restrictions d'accès au réseau local (ANL) ont récemment été ajoutées pour empêcher les sites Web d'envoyer unilatéralement des requêtes aux réseaux locaux et aux appareils locaux. Ces restrictions ont été ajoutées pour les requêtes d'extraction lancées par le service worker, mais pas pour les navigations effectuées par les services workers via WindowClient.navigate().
Ce lancement comble cette lacune en ajoutant des restrictions d'ANL aux appels WindowClient.navigate(). Il utilise le WindowClient comme initiateur de la navigation pour déterminer si la navigation est une requête d'ANL.
Cela ne s'applique que si le WindowClient en cours de navigation est un sous-cadre. Chrome n'applique actuellement aucune restriction d'ANL aux navigations de cadre principal.
Restrictions d'accès au réseau local pour WebTransport
Limite la possibilité d'envoyer des requêtes au réseau local de l'utilisateur à l'aide de WebTransport, qui est contrôlé par une demande d'autorisation.
Une requête réseau locale est une requête envoyée depuis un site Web public à une adresse IP locale ou une interface de rebouclage, ou depuis un site Web local (un intranet, par exemple) à une interface de rebouclage. Restreindre la capacité des sites Web à effectuer ces requêtes derrière une autorisation réduit la possibilité pour les sites d'utiliser ces requêtes pour identifier le réseau local de l'utilisateur.
Cette autorisation est limitée aux contextes sécurisés.
Bug de suivi #421216834 | Entrée ChromeStatus.com | Spécification
Restrictions d'accès au réseau local pour WebSockets
Les restrictions d'accès au réseau local (ANL) sont étendues à WebSockets. Les connexions WebSockets aux adresses locales déclenchent désormais des demandes d'autorisation.
Toutes les règles d'entreprise d'ANL actuelles s'appliquent toujours aux restrictions d'ANL WebSockets (LocalNetworkAccessAllowedForUrls, LocalNetworkAccessBlockedForUrls et LocalNetworkAccessRestrictionsTemporaryOptOut).
Bug de suivi #421156866 | Entrée ChromeStatus.com | Spécification
Applications Web isolées (AWI)
API Web Printing
Cette API permet une intégration plus poussée aux fonctionnalités liées à l'imprimante dans les applications Web isolées.
Cette API ne cible que les applications Web isolées et suit le processus des applications Web isolées.
Cette API fournit un ensemble de méthodes JavaScript qui permettent aux développeurs d'interroger les imprimantes locales, d'envoyer des tâches d'impression aux imprimantes les plus appropriées et de gérer les options et l'état des tâches d'impression. Pour représenter ces concepts, elle s'appuie sur les noms d'attributs et la sémantique des spécifications IPP (Internet Printing Protocol).
Bug de suivi #302505962 | Entrée ChromeStatus.com | Spécification
Phases d'évaluation
Prérendre les iFrame inter-origines
Prérend les iFrame inter-origines à l'aide d'un en-tête de réponse d'activation.
Les navigateurs prérendent désormais tous les cadres inter-origines si la réponse HTTP du cadre de niveau supérieur inclut Supports-Loading-Mode: prerender-cross-origin-frames.
Phase d'évaluation | Bug de suivi #440387014 | Entrée ChromeStatus.com | Spécification
Événement de saisie automatique
La saisie automatique est une fonctionnalité Web essentielle qui réduit les frictions pour des millions d'utilisateurs chaque jour. Toutefois, il faut beaucoup d'efforts pour que la saisie automatique fonctionne de manière fiable avec les formulaires dynamiques dans plusieurs implémentations.
Cette fonctionnalité ajoute un événement autofill qui permet aux développeurs de modifier leurs formulaires pour qu'ils correspondent aux données remplies automatiquement et d'informer le navigateur lorsqu'ils l'ont fait.
Phase d'évaluation | Bug de suivi #466333215 | Entrée ChromeStatus.com | Spécification
WebNN
WebNN permet aux applications et frameworks Web de tirer parti des services de système d'exploitation natifs pour le machine learning et des capacités matérielles sous-jacentes disponibles sur l'ordinateur d'un utilisateur. Cela permet d'implémenter des expériences de ML cohérentes, efficaces et fiables sur le Web.
Phase d'évaluation | Bug de suivi #40206287 | Entrée ChromeStatus.com | Spécification
Abandon et suppression
Supprimer XSLT intégré pour la production de SVG
Un fichier XML spécialement conçu peut contenir une feuille de style XSLT qui transforme des données XML génériques en fichier SVG.
Pour obtenir un exemple, consultez gist.github.com.
Il s'agit d'un cas particulier de traitement XSLT qui, selon les compteurs d'utilisation récemment introduits XSLPIInSVGImage (ID UseCounter 5777) et XSLPIInSVGStandaloneDoc (ID UseCounter 5778), est considéré comme pratiquement inexistant sur le Web. Nous souhaitons l'abandonner et le supprimer avant de supprimer complètement XSLT.
Ce déploiement est synchronisé avec les tests expérimentaux de l'analyseur XML basé sur Rust. Il ne sera pas déployé immédiatement à 100 % dans Chrome 147.