Chrome 140

Date de sortie de la version stable : 2 septembre 2025

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

CSS

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 désormais caster des pixels en degrés.

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

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 le navigateur contrôle l'animation du curseur (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 désactiver le clignotement à l'aide d'une feuille de style utilisateur.

Numéro de bug de suivi : 329301988 | Entrée ChromeStatus.com | Spécification

API highlightsFromPoint

L'API highlightsFromPoint permet aux développeurs d'interagir avec les temps forts personnalisés. Il détecte les passages mis en surbrillance à un point spécifique d'un document. Cette interactivité est utile pour les fonctionnalités Web complexes où plusieurs mises en évidence peuvent se chevaucher ou exister dans le Shadow DOM. En fournissant une détection précise des points forts, l'API permet aux développeurs de gérer plus efficacement les interactions dynamiques avec les points 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.

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

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'});

Entrée ChromeStatus.com | Spécification

Transitions de vue : hériter de davantage de propriétés d'animation

Ajoute d'autres propriétés d'animation à hériter via le pseudo-arbre de transition de vue :

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

Bug de suivi : #427741151 | Entrée ChromeStatus.com | Spécification

Les pseudos de transition de vue héritent de la propriété animation-delay.

En plus de la mise à jour précédente, la propriété animation-delay est désormais héritée via le pseudo-arbre de transition de vue.

Entrée ChromeStatus.com | Spécification

Groupes de transitions de vue imbriqués

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 d'apparaître plus en accord avec ses éléments d'origine et son intention visuelle. Il permet le clipping, les transformations 3D imbriquées et l'application correcte d'effets tels que l'opacité, le masquage et les filtres.

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

Propager overscroll-behavior de la fenêtre d'affichage 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. À l'inverse, les propriétés de la fenêtre d'affichage sont propagées à partir de l'élément racine (<html>). Par conséquent, overscroll-behavior doit se propager à partir de l'élément racine. Toutefois, Chrome a depuis longtemps un problème : il propage overscroll-behavior à partir de <body> plutôt qu'à partir de la racine. Ce comportement n'est pas interopérable avec d'autres navigateurs. Cette modification permet à Chrome de se conformer à la spécification et de devenir interopérable avec d'autres implémentations.

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

CSS 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é.

Bug de suivi : #417488055 | Entrée ChromeStatus.com | Spécification

Propriété CSS 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 à tout élément HTML d'ancrage avec un identifiant de fragment qui se trouve 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.

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

Descripteur font-variation-settings dans la règle @font-face

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 prise en charge de 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.

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

DOM

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'attribut source de l'événement ToggleEvent déclenché sur le popover sera défini sur l'élément <button> appelant.

Entrée ChromeStatus.com | Spécification

Applications Web isolées (AWI)

API Controlled Frame (disponible uniquement pour les AWI)

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 l'explication sur les applications Web isolées.

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

JavaScript

Uint8Array vers et depuis base64 et hex

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.

Entrée ChromeStatus.com | Spécification

Afficher le changement de timing de la promesse de fin de transition

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 les styles pour préserver un état visuellement similaire. Ce changement résout le problème en déplaçant les étapes de nettoyage de la transition de vue pour qu'elles s'exécutent de manière asynchrone une fois le cycle de vie terminé.

Bug de suivi n° 430018991 | Entrée ChromeStatus.com

API Web

Option ReadableStreamBYOBReader min

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 soient disponibles 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.

Bug de suivi #40942083 | Entrée ChromeStatus.com | Spécification

L'API Get Installed Related Apps (navigator.getInstalledRelatedApps) permet aux sites de savoir si leurs applications associées correspondantes sont installées. Les sites ne sont autorisés à utiliser cette API que si l'application a établi une association avec l'origine Web.

L'API a été lancée dans Chrome 80 pour Android. La prise en charge supplémentaire des applications Web sur ordinateur a été activée dans Chrome 140.

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

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 (tel qu'un exploit 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.

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

Service worker

Le script SharedWorker hérite du contrôleur pour l'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 de corriger le comportement de Chrome pour l'aligner sur la spécification. La règle d'entreprise SharedWorkerBlobURLFixEnabled contrôle cette fonctionnalité.

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

Ajouter ServiceWorkerStaticRouterTimingInfo

Cette fonctionnalité ajoute des informations de timing pour l'API de routage statique ServiceWorker, exposées dans les API Navigation Timing et 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.

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

Phases d'évaluation

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.

Version d'évaluation de l'origine | Bug de suivi #detail?id=1383570 | Entrée ChromeStatus.com | Spécification

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 pourrait être à l'origine d'un plantage donné.

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

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 constitue une alternative efficace à l'interrogation du presse-papiers avec JavaScript pour les modifications.

Version d'évaluation de l'origine | Bug de suivi n° 41442253 | Entrée ChromeStatus.com | Spécification

Activer SharedWorker sur Android

La demande de longue date pour la prise en charge de SharedWorker sur Android découle de plusieurs besoins exprimés par les développeurs Web :

  • Partage et efficacité des ressources : les développeurs souhaitent partager une seule connexion WebSocket ou SSE (Server-Sent Events) sur plusieurs onglets, ce qui permet d'économiser des ressources.
  • Gestion des ressources persistantes : une exigence pour partager et conserver les ressources dans les onglets, en particulier pour les technologies telles que SQLite basé sur WASM.
  • Combler un manque de fonctionnalité : d'autres principaux navigateurs mobiles, y compris Safari sur iOS et Firefox sur Android, sont déjà compatibles avec SharedWorker. Chrome sur Android est donc le dernier navigateur majeur à combler ce manque.

Essai d'origine | Entrée ChromeStatus.com | Spécification

Déménagements

Arrêt de l'envoi de l'en-tête Purpose: prefetch à partir des préchargements et des prérendus

Les préchargements et les prérendus utilisent désormais l'en-tête Sec-Purpose. L'ancien en-tête Purpose: prefetch est donc supprimé.

Cela s'appliquera aux règles de spéculation prefetch, aux règles de spéculation prerender, <link rel=prefetch> et à la <link rel=prerender> non standard de Chromium.

Numéro de bug à suivre : 420724819 | Entrée ChromeStatus.com | Spécification

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 balises <article>, <aside>, <nav> ou <section> :

Ces règles spéciales sont obsolètes, car elles entraînent des problèmes d'accessibilité. En d'autres termes, ils réduisent visuellement la taille de la police des éléments <h1> imbriqués pour qu'ils "ressemblent" à des éléments <h2>, mais rien dans l'arborescence d'accessibilité ne reflète cette rétrogradation.

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