Version bêta de Chrome 140

Publié le 6 août 2025

Sauf indication contraire, les modifications suivantes 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 140 est en version bêta depuis le 6 août 2025. Vous pouvez télécharger la dernière version sur le site Web officiel de Chrome pour ordinateur ou sur le Google Play Store sur Android.

CSS et UI

Arithmétique typée CSS

L'arithmétique typée vous permet d'écrire des expressions en CSS telles que calc(10em / 1px) ou calc(20% / 0.5em * 1px). Cela est utile, par exemple, en typographie, car cela vous permet de convertir une valeur typée en valeur non typée et de la réutiliser pour les propriétés acceptant les nombres. Un autre cas d'utilisation consiste à multiplier la valeur sans unité par un autre type. Par exemple, vous pouvez caster des pixels en degrés.

Propriété scroll-target-group

La propriété scroll-target-group indique si l'élément est un conteneur de groupe de repères de défilement. Il accepte l'une des valeurs suivantes :

  • "none" : l'élément n'établit pas de conteneur de groupe de repères de défilement.
  • "auto" : l'élément établit un conteneur de groupe de repères de défilement formant un groupe de repères de défilement contenant tous les éléments de repère de défilement pour lesquels il s'agit du conteneur de groupe de repères de défilement ancêtre le plus proche.

L'établissement d'un conteneur de groupe de marqueurs de défilement permet à tous les éléments HTML d'ancrage avec un identifiant de fragment qui se trouvent dans un tel conteneur d'être l'équivalent HTML des pseudo-éléments ::scroll-marker. L'élément d'ancrage dont la cible de défilement est actuellement visible peut être stylisé à l'aide de la pseudo-classe :target-current.

Activer counter() et counters() dans le texte alternatif de la propriété content

Cette fonctionnalité permet d'utiliser counter() et counters() dans le texte alternatif de la propriété content. Cela permet de fournir des informations plus pertinentes pour améliorer l'accessibilité.

Les pseudos de transition de vue héritent de davantage de propriétés d'animation

L'arbre pseudo de transition de vue hérite désormais d'un certain nombre de propriétés d'animation :

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

Activer les transitions de vue imbriquées

Cette fonctionnalité permet aux transitions de vue de générer une arborescence de pseudo-éléments imbriqués plutôt qu'une arborescence plate. Cela permet à la transition de vue de mieux correspondre à ses éléments d'origine et à son intention visuelle. Il permet le rognage, les transformations 3D imbriquées et l'application appropriée d'effets tels que l'opacité, le masquage et les filtres.

Propager la fenêtre d'affichage overscroll-behavior depuis la racine

Cette modification propage overscroll-behavior à partir de la racine au lieu du corps. Le groupe de travail CSS a décidé de ne pas propager les propriétés de <body> à la fenêtre d'affichage. Les propriétés de la fenêtre d'affichage se propagent plutôt à partir de l'élément racine (<html>). Par conséquent, overscroll-behavior doit se propager à partir de l'élément racine. Cependant, Chrome présente un problème de longue date : il propage overscroll-behavior à partir de <body> plutôt que de la racine. Ce comportement n'est pas interopérable avec les autres navigateurs. Cette modification permet à Chrome de se conformer à la spécification et de devenir interopérable avec d'autres implémentations.

Option de conteneur ScrollIntoView

L'option de conteneur ScrollIntoViewOptions permet aux développeurs d'effectuer une opération scrollIntoView qui ne fait défiler que le conteneur de défilement ancêtre le plus proche. Par exemple, l'extrait suivant ne fait défiler que le conteneur de défilement de target pour afficher target, mais ne fait pas défiler tous les conteneurs de défilement jusqu'à la fenêtre d'affichage :

target.scrollIntoView({container: 'nearest'});

Ajouter la propriété CSS caret-animation

Chromium est compatible avec l'animation de la propriété caret-color. Toutefois, lorsque le curseur est animé, son clignotement par défaut interfère avec l'animation.

La propriété CSS caret-animation peut prendre deux valeurs : auto et manual. auto signifie que l'animation du curseur est celle du navigateur par défaut (clignotement), et manual signifie que le développeur contrôle l'animation du curseur. De plus, les utilisateurs qui sont dérangés par les éléments visuels clignotants ou qui y sont sensibles peuvent les désactiver à l'aide d'une feuille de style utilisateur.

L'API highlightsFromPoint

L'API highlightsFromPoint permet aux développeurs d'interagir avec les mises en surbrillance personnalisées. Elle détecte les passages mis en surbrillance à un moment précis dans un document. Cette interactivité est utile pour les fonctionnalités Web complexes où plusieurs mises en évidence peuvent se chevaucher ou exister dans le DOM fantôme. En fournissant une détection précise des temps forts basée sur des points, l'API permet aux développeurs de gérer plus efficacement les interactions dynamiques avec des temps forts personnalisés. Par exemple, les développeurs peuvent répondre aux clics ou aux événements de survol des utilisateurs sur les régions mises en surbrillance pour déclencher des info-bulles personnalisées, des menus contextuels ou d'autres fonctionnalités interactives.

Modifier le timing de la promesse de fin de la transition de vue

Le timing actuel de la promesse terminée se produit lors des étapes du cycle de vie du rendu. Cela signifie que le code qui s'exécute à la suite de la résolution de la promesse se produit après la production du frame visuel qui supprime la transition de vue. Cela peut entraîner un scintillement à la fin de l'animation si le script déplace des styles pour préserver un état visuellement similaire. Cette modification résout le problème en déplaçant les étapes de nettoyage de ViewTransition pour qu'elles s'exécutent de manière asynchrone une fois le cycle de vie terminé.

Ajouter l'attribut source ToggleEvent

L'attribut source d'un ToggleEvent contient l'élément qui a déclenché le ToggleEvent, le cas échéant. Par exemple, si un utilisateur clique sur un élément <button> avec l'attribut popovertarget ou commandfor défini pour ouvrir un popover, l'événement ToggleEvent déclenché sur le popover aura son attribut source défini sur l'élément <button> d'appel.

Empêcher l'élément SVG foreignObject de contaminer le canevas pour les URL blob

Tous les navigateurs prennent en charge depuis longtemps l'utilisation d'un élément <img> avec une source SVG dans une opération drawImage de canevas HTML. Toutefois, le comportement de la coloration du canevas varie selon les plates-formes. Tous les navigateurs corrompent le canevas lorsque la source SVG inclut une balise foreignObject et est référencée avec un URI HTTP. Lorsque le même SVG est référencé via un URI de données, tous les navigateurs ne corrompent pas le canevas. Toutefois, lorsqu'un URI de blob est utilisé, Chromium (avant cette modification) et WebKit contaminent le canevas, mais pas Gecko. Lorsque cette fonctionnalité sera disponible, le comportement de Chromium correspondra à celui de Gecko, ce qui permettra d'utiliser un plus large éventail de contenus SVG dans les appels drawImage du canevas sans le rendre non sécurisé.

Prise en charge du descripteur font-variation-settings dans @font-face rule

Le CSS permet aux développeurs d'ajuster la graisse, la largeur, l'inclinaison et d'autres axes d'une police à l'aide de la propriété font-variation-settings sur des éléments individuels. Toutefois, les navigateurs basés sur Chromium ne prennent pas en charge cette propriété dans les déclarations @font-face. Cette fonctionnalité est compatible avec la syntaxe basée sur des chaînes pour font-variation-settings, telle que définie dans CSS Fonts Level 4. Les tags de caractéristiques non valides ou non reconnus sont ignorés conformément aux spécifications. Les formulaires binaires ou non standards ne sont pas acceptés. Les polices variables sont de plus en plus utilisées pour leurs performances et leur flexibilité typographique. L'ajout de la compatibilité avec ce descripteur dans Chromium améliore le contrôle, réduit la répétition et permet une approche plus évolutive et moderne de la typographie Web.

API Web

Convertir Uint8Array en base64 et en hexadécimal, et vice versa

Base64 est une méthode courante pour représenter des données binaires arbitraires au format ASCII. JavaScriptUint8Arrays pour les données binaires. Toutefois, il ne dispose pas de mécanisme intégré pour encoder ces données en base64 ni pour prendre des données base64 et produire un Uint8Array correspondant. Cette fonctionnalité ajoute la possibilité et les méthodes de conversion entre les chaînes hexadécimales et Uint8Arrays.

Utiliser l'option min de ReadableStreamBYOBReader

Cette fonctionnalité ajoute une option min à la méthode ReadableStreamBYOBReader.read(view) existante. La méthode accepte déjà un ArrayBufferView dans lequel elle lit les données, mais ne garantit actuellement pas le nombre d'éléments écrits avant la résolution de la lecture. En spécifiant une valeur min, vous pouvez exiger que le flux attende qu'au moins ce nombre d'éléments soit disponible avant de résoudre la lecture. Cela améliore le comportement actuel, où les lectures peuvent se résoudre avec moins d'éléments que la vue ne peut en contenir.

Dans certains cas, il est important de distinguer côté serveur les cookies définis par le serveur de ceux définis par le client. C'est le cas, par exemple, des cookies normalement toujours définis par le serveur. Toutefois, du code inattendu (comme une exploitation XSS, une extension malveillante ou un commit d'un développeur confus) peut les définir sur le client. Cette proposition ajoute un signal qui permet aux serveurs de faire cette distinction. Plus précisément, il définit les préfixes __Http et __HostHttp, qui garantissent qu'aucun cookie n'est défini côté client à l'aide d'un script.

Restrictions d'accès au réseau local

Chrome 140 limite la possibilité d'envoyer des requêtes au réseau local de l'utilisateur, ce qui nécessite une invite d'autorisation. Une requête de réseau local 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 (tel qu'un intranet) à une interface de rebouclage. Le fait de limiter la capacité des sites Web à effectuer ces requêtes derrière une autorisation atténue le risque d'attaques par falsification de requêtes intersites contre les appareils du réseau local, tels que les routeurs. Cela réduit également la capacité des sites à utiliser ces requêtes pour identifier le réseau local de l'utilisateur. Cette autorisation est limitée aux contextes sécurisés. Si elle est accordée, l'autorisation assouplit également le blocage du contenu mixte pour les requêtes sur le réseau local, car de nombreux appareils locaux ne peuvent pas obtenir de certificats TLS de confiance publique pour diverses raisons.

Pour en savoir plus, consultez Nouvelle invite d'autorisation pour l'accès au réseau local.

Activer les scripts SharedWorker pour qu'ils héritent du contrôleur pour les URL de script blob

La spécification indique que les workers doivent hériter des contrôleurs pour l'URL blob. Toutefois, le code existant n'autorise que les workers dédiés à hériter du contrôleur, et les workers partagés n'en héritent pas. Cela permet d'ajuster le comportement de Chrome à la spécification. La règle d'entreprise SharedWorkerBlobURLFixEnabled contrôle cette fonctionnalité.

Ajouter ServiceWorkerStaticRouterTimingInfo

Cette fonctionnalité ajoute des informations de timing pour l'API de routage statique ServiceWorker, exposées dans l'API Navigation Timing et l'API Resource Timing pour les développeurs. ServiceWorker fournit des informations de timing pour marquer certains points dans le temps.

Cette fonctionnalité ajoute deux informations de timing pertinentes pour l'API Static Routing :

  • RouterEvaluationStart : temps nécessaire pour commencer à faire correspondre une requête avec les règles de routeur enregistrées.
  • CacheLookupStart : heure à laquelle commencer à rechercher le stockage du cache si la source est "cache".

De plus, cette fonctionnalité ajoute deux informations sur la source du routeur : la source du routeur correspondante et la source du routeur finale.

Activer la création conditionnelle de l'authentification Web sur Android (non disponible)

Applications Web isolées

Présentation de l'API Controlled Frame

Cette fonctionnalité ajoute une API Controlled Frame disponible uniquement pour les applications Web isolées (AWI). Comme les API portant un nom similaire sur d'autres plates-formes, Controlled Frame permet d'intégrer tous les contenus, y compris les contenus tiers qui ne peuvent pas être intégrés dans <iframe>. Controlled Frame permet également de contrôler le contenu intégré à l'aide d'une collection de méthodes et d'événements d'API. Pour en savoir plus sur les applications Web isolées, consultez la description des applications Web isolées.

Nouvelles phases d'évaluation

Dans Chrome 140, vous pouvez activer les nouvelles versions d'essai d'origine suivantes.

Ajouter l'événement clipboardchange

L'événement clipboardchange se déclenche chaque fois qu'une application Web ou toute autre application système modifie le contenu du presse-papiers système. Cela permet aux applications Web, comme les clients de bureau à distance, de synchroniser leur presse-papiers avec celui du système. Il s'agit d'une alternative efficace à l'interrogation du presse-papiers avec JavaScript pour les modifications.

Activer les notifications d'appels entrants

Cette fonctionnalité étend l'API Notifications pour permettre aux PWA installées d'envoyer des notifications d'appels entrants (notifications avec des boutons de style appel et une sonnerie). Cette extension aide les applications Web VoIP à créer des expériences plus attrayantes en permettant aux utilisateurs de reconnaître et de répondre plus facilement aux notifications d'appel. De plus, cette fonctionnalité permet de combler le fossé entre les implémentations natives et Web des applications qui en disposent.

Présentation de l'API de rapports d'erreur avec paires clé-valeur

Cette fonctionnalité introduit une nouvelle API clé-valeur, provisoirement window.crashReport, soutenue par une carte par document qui contient les données ajoutées aux rapports d'erreur.

Les données placées dans la carte de sauvegarde de cette API sont envoyées dans CrashReportBody si des plantages de processus de rendu se produisent sur le site. Cela permet aux développeurs de déboguer l'état spécifique de leur application qui peut être à l'origine d'un plantage donné.

Arrêts et suppressions

Cette version de Chrome introduit les abandons et les suppressions listés ci-dessous. Consultez ChromeStatus.com pour obtenir la liste des abandons planifiés, des abandons en cours et des suppressions précédentes.

Cette version de Chrome abandonne une fonctionnalité.

Suppression des règles spéciales de taille de police pour <h1> dans certains éléments

La spécification HTML contient une liste de règles spéciales pour les balises <h1> imbriquées dans les éléments <article>, <aside>, <nav> ou <section>.

Ces règles spéciales sont obsolètes, car elles entraînent des problèmes d'accessibilité. Plus précisément, ils réduisent visuellement la taille de la police des <h1> imbriqués pour qu'ils ressemblent à des <h2>, mais rien dans l'arborescence d'accessibilité ne reflète ce changement visuel.