Chrome 139

Date de sortie de la version stable : 5 août 2025

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

CSS et UI

Court-circuitage de var() et attr()

Lorsque le remplacement n'est pas utilisé, les fonctions var() et attr() sont évaluées sans rechercher de cycles dans ce remplacement.

Entrée ChromeStatus.com

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

Cette fonctionnalité est compatible avec la syntaxe basée sur des chaînes pour font-feature-settings, telle que définie dans CSS Fonts Level 4. Les balises de caractéristiques non valides ou non reconnues seront ignorées conformément aux spécifications. Les formulaires binaires ou non standards ne sont pas acceptés.

À mesure que les polices OpenType seront plus largement adoptées, cette amélioration permettra de mieux contrôler la typographie, de réduire la redondance et de favoriser une approche plus évolutive et moderne de la conception Web.

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

Fonctions personnalisées CSS

Les fonctions personnalisées sont semblables aux propriétés personnalisées, mais au lieu de renvoyer une seule valeur fixe, elles renvoient des valeurs basées sur d'autres propriétés personnalisées, paramètres et conditions.

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

Continuer à exécuter les transitions lors du passage à la valeur de transition initiale

Lorsque les propriétés liées à la transition changent, elles ne sont censées affecter que les transitions qui viennent de commencer. Cela signifie que si vous modifiez les propriétés de transition, à moins que vous ne modifiiez également les propriétés qui ont des animations de transition actives, ces animations de transition continueront avec la durée et l'adoucissement spécifiés précédemment.

Chrome annulait incorrectement les transitions lorsque la propriété de transition était définie sur none, même s'il ne les annule pas si vous ne modifiez que transition-duration. Cette modification permet à Chrome d'adopter un comportement semblable à celui de Safari et Firefox, en autorisant l'exécution des transitions actives jusqu'à ce que la valeur de leur propriété change, ce qui déclenche une nouvelle mise à jour de la transition.

Entrée ChromeStatus.com | Spécification

Forme des angles (corner-shape, superellipse, squircle)

Activez les coins stylisés, en plus de l'élément border-radius existant, en exprimant la forme et la courbure du coin sous forme de superellipse.

Cela permet de créer des formes telles que des squircles, des encoches et des creux, et d'animer la transition entre elles.

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

Ajouter la propriété et le descripteur font-width et faire de font-stretch un alias hérité

Avant ce changement, Chrome ne reconnaissait pas font-width comme une propriété valide et utilisait plutôt font-stretch, qui est désormais considéré comme un alias obsolète.

Cette modification permet à Chrome de se conformer à la spécification et aux autres navigateurs.

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

Prise en charge de l'attribut async pour l'élément SVG <script>

L'interface SVGScriptElement dans SVG 2.0 introduit l'attribut async, semblable à HTMLScriptElement. Cet attribut permet d'exécuter des scripts de manière asynchrone, ce qui améliore les performances et la réactivité des applications Web qui utilisent SVG.

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

La commande d'appel request-close

Les éléments de boîte de dialogue peuvent être fermés de différentes manières. Les développeurs souhaitent parfois pouvoir empêcher la fermeture. Pour ce faire, les boîtes de dialogue déclenchent un événement d'annulation. À l'origine, cet événement n'était déclenché que par une demande de fermeture (par exemple, une pression sur la touche ESC). Récemment, une fonction JavaScript requestClose() a été ajoutée, qui déclenche également l'événement d'annulation.

La commande request-close apporte cette nouvelle fonctionnalité à l'API de commandes d'invocateur déclaratif.

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

Correction du candidat prioritaire pour l'ancrage du défilement

Modifie l'algorithme d'ancrage du défilement. Au lieu de sélectionner le candidat prioritaire comme point d'ancrage, choisissez-le comme portée ou racine de l'algorithme de sélection d'ancrage régulier, qui sélectionnera l'élément le plus profond à l'écran comme point d'ancrage.

Entrée ChromeStatus.com

Appareil

Améliorations des performances de la détection de profondeur WebXR

Expose plusieurs nouveaux mécanismes permettant de personnaliser le comportement de la fonctionnalité de détection de profondeur dans une session WebXR, dans le but d'améliorer les performances de la génération ou de la consommation de la mémoire tampon de profondeur.

Les principaux mécanismes exposés sont les suivants : la possibilité de demander le tampon de profondeur brut ou lissé, la possibilité de demander au runtime d'arrêter ou de reprendre la fourniture du tampon de profondeur, et la possibilité d'exposer un tampon de profondeur qui ne correspond pas exactement à la vue de l'utilisateur, afin que l'agent utilisateur n'ait pas à effectuer de reprojections inutiles à chaque frame.

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

DOM

Autoriser plus de caractères dans les API DOM JavaScript

L'analyseur HTML a toujours (ou depuis longtemps) autorisé les éléments et les attributs à avoir une grande variété de caractères et de noms valides, mais les API DOM JavaScript permettant de créer les mêmes éléments et attributs sont plus strictes et ne correspondent pas à l'analyseur.

Cette modification assouplit la validation des API DOM JavaScript pour qu'elle corresponde à l'analyseur HTML.

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

Graphiques

WebGPU : compatibilité avec les textures 3D pour les formats compressés BC et ASTC

Les fonctionnalités WebGPU texture-compression-bc-sliced-3d et texture-compression-astc-sliced-3d ajoutent respectivement la prise en charge des textures 3D pour les formats compressés BC et ASTC.

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

Confirmation de paiement sécurisé (SPC)

L'API securePaymentConfirmationAvailability

Il s'agit d'une API JavaScript qui permet de vérifier plus facilement si la fonctionnalité de confirmation sécurisée du paiement (SPC) est disponible. Avec cette API, la seule façon de déterminer la disponibilité de SPC était de créer un PaymentRequest avec les paramètres requis, ce qui est maladroit et difficile dans le cas où un développeur souhaite vérifier la disponibilité de SPC avant de commencer à traiter un paiement.

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

Confirmation de paiement sécurisé : clés liées au navigateur

Ajoute une signature cryptographique supplémentaire aux assertions de confirmation de paiement sécurisé et à la création d'identifiants. La clé privée correspondante n'est pas synchronisée sur les appareils. Cela aide les développeurs Web à répondre aux exigences concernant l'association d'appareils pour les transactions de paiement.

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

IA sur l'appareil

API Web Speech sur l'appareil

Cette fonctionnalité ajoute la reconnaissance vocale sur l'appareil à l'API Web Speech, ce qui permet aux sites Web de s'assurer qu'aucun contenu audio ni aucune transcription vocale ne sont envoyés à un service tiers pour traitement.

Les sites Web peuvent interroger la disponibilité de la reconnaissance vocale sur l'appareil pour des langues spécifiques, inviter les utilisateurs à installer les ressources nécessaires à la reconnaissance vocale sur l'appareil et choisir entre la reconnaissance vocale sur l'appareil ou dans le cloud selon les besoins.

Entrée ChromeStatus.com | Spécification

Supprimer le nom de la fenêtre pour les navigations intersites qui changent de groupe de contexte de navigation

Efface la valeur de la propriété window.name lorsque la navigation change de groupe de contexte de navigation, afin d'éviter la fuite d'informations pouvant être utilisées comme vecteur de suivi.

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

Réseau

Réduire l'empreinte numérique dans les informations d'en-tête Accept-Language

Réduit la quantité d'informations que la chaîne de valeur de l'en-tête Accept-Language expose dans les requêtes HTTP et dans navigator.languages. Au lieu d'envoyer une liste complète des langues préférées de l'utilisateur dans chaque requête HTTP à l'aide de l'en-tête Accept-Language, Chrome n'envoie que la langue préférée de l'utilisateur.

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

Randomiser l'allocation des ports TCP sur Windows

Ce lancement permet la randomisation des ports TCP sur les versions de Windows (2020 ou ultérieures) où nous ne prévoyons pas de problèmes de réutilisation des ports précédents trop rapide (entraînant un refus en raison de délais d'expiration lors de la réutilisation des ports). Le problème de réutilisation rapide des ports découle du problème des anniversaires, où la probabilité de réutiliser un port déjà vu converge rapidement vers 100 % pour chaque nouveau port choisi par rapport à la réutilisation des ports dans un modèle séquentiel.

Numéro de bug à suivre : 40744069 | Entrée ChromeStatus.com

Performances

Figement plus rapide de l'arrière-plan sur Android

Réduit le temps nécessaire au gel des pages d'arrière-plan (et des workers associés) de cinq minutes à une minute sur Android.

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

Sécurité

Générer un événement d'erreur pour un worker bloqué par la Content Security Policy (CSP)

Rend Chrome conforme à la spécification, en vérifiant la CSP lors de la récupération et en déclenchant l'événement d'erreur de manière asynchrone au lieu de générer une exception lorsque le script exécute "new Worker(url)" ou "new SharedWorker(url)".

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

WebRTC

Niveau audio pour les frames encodées RTC

Cette fonctionnalité expose sur le Web le niveau audio d'un frame encodé transmis à l'aide de RTCPeerConnection et exposé à l'aide de la transformation encodée WebRTC.

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

API Web

Extensions du champ d'application des applications Web

Ajoute un champ de fichier manifeste d'application Web scope_extensions qui permet aux applications Web d'étendre leur portée à d'autres origines.

Cela permet aux sites qui contrôlent plusieurs sous-domaines et domaines de premier niveau d'être présentés comme une seule application Web.

Exige que les origines listées confirment leur association à l'application Web à l'aide d'un fichier de configuration .well-known/web-app-origin-association.

Bug de suivi #detail?id=1250011 | Entrée ChromeStatus.com | Spécification

Détection du type MIME JSON conforme aux spécifications

Chrome reconnaît désormais tous les types MIME JSON valides, tels que définis par la spécification WHATWG mimesniff. Cela inclut tout type MIME dont le sous-type se termine par +json, en plus de application/json et text/json. Cette modification garantit que les API et fonctionnalités Web qui s'appuient sur la détection JSON se comportent de manière cohérente avec la norme de la plate-forme Web et les autres navigateurs.

Entrée ChromeStatus.com | Spécification

WebGPU core-features-and-limits

La fonctionnalité core-features-and-limits indique qu'un adaptateur et un appareil WebGPU sont compatibles avec les principales fonctionnalités et limites de la spécification.

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

API Crash Reporting : spécifiez crash-reporting pour ne recevoir que les rapports d'erreur.

Cette fonctionnalité permet aux développeurs de ne recevoir que des rapports d'erreur en spécifiant le point de terminaison nommé crash-reporting. Par défaut, les rapports d'erreur sont envoyés au point de terminaison default, qui reçoit de nombreux autres types de rapports en plus des rapports d'erreur. Les développeurs peuvent fournir une URL distincte au point de terminaison connu nommé crash-reporting pour y rediriger les rapports d'erreur au lieu du point de terminaison default.

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

Phases d'évaluation

API Prompt

API conçue pour interagir avec un modèle de langage d'IA à l'aide d'entrées textuelles, d'images et d'entrées audio. Il prend en charge divers cas d'utilisation, comme la génération de légendes d'images et l'exécution de recherches visuelles, la transcription audio, la classification d'événements sonores, la génération de texte suivant des instructions spécifiques et l'extraction d'informations ou d'insights à partir de texte. Il prend en charge les sorties structurées, qui garantissent que les réponses respectent un format prédéfini (généralement exprimé sous la forme d'un schéma JSON). Cela permet d'améliorer la conformité des réponses et de faciliter l'intégration aux applications en aval qui nécessitent des formats de sortie standardisés.

Cette API est également exposée dans les extensions Chrome. Cette entrée de fonctionnalité suit l'exposition sur le Web. Une règle d'entreprise (GenAILocalFoundationalModelSettings) permet de désactiver le téléchargement du modèle sous-jacent, ce qui rend cette API indisponible.

Phase d'évaluation de l'origine | Article de blog sur la phase d'évaluation de l'origine | Bug de suivi n° 417530643 | Entrée ChromeStatus.com

Workers partagés à durée de vie prolongée

Cela ajoute une nouvelle option, extendedLifetime: true, au constructeur SharedWorker. Cette requête demande que le worker partagé reste actif même après le déchargement de tous les clients actuels. Le principal cas d'utilisation consiste à permettre aux pages d'effectuer des tâches asynchrones nécessitant JavaScript après le déchargement d'une page, sans avoir à s'appuyer sur un service worker.

Phase d'évaluation de l'origine | Article de blog sur la phase d'évaluation de l'origine | Bug de suivi n° 400473072 | Entrée ChromeStatus.com

Saisie des performances de SoftNavigation

Expose les heuristiques de navigation douce (expérimentales) aux développeurs Web, en utilisant à la fois PerformanceObserver et la timeline des performances.

Cette fonctionnalité fournit deux nouvelles entrées de performances :

  • soft-navigation, pour les interactions utilisateur qui permettent de naviguer sur la page. Définit un nouveau timeOrigin pour aider à segmenter le calendrier des performances.
  • interaction-contentful-paint, qui indique les performances de chargement des interactions (au-delà du prochain affichage), utilisé comme LCP pour les navigations douces.

Phase d'évaluation de l'origine | Article de blog sur la phase d'évaluation de l'origine | Bug de suivi n° 1338390 | Entrée ChromeStatus.com | Spécification

Médiation immédiate de l'authentification Web

Mode de médiation pour navigator.credentials.get() qui entraîne l'affichage de l'UI de connexion au navigateur à l'utilisateur s'il existe une clé d'accès ou un mot de passe pour le site qui est immédiatement connu du navigateur. Dans le cas contraire, il rejette la requête avec NotAllowedError si aucun identifiant de ce type n'est disponible. Cela permet au site d'éviter d'afficher une page de connexion si le navigateur peut proposer un choix d'identifiants de connexion susceptibles de fonctionner, tout en autorisant un flux de page de connexion pour les cas où il n'y a pas de tels identifiants.

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

Attribut de blocage du rendu à la fréquence d'images complète

Ajoute un nouveau jeton de blocage du rendu à la fréquence d'images complète aux attributs de blocage. Lorsque le moteur de rendu est bloqué avec le jeton de fréquence d'images maximale, il fonctionne à une fréquence d'images inférieure afin de réserver davantage de ressources pour le chargement.

Phase d'évaluation Origin | Bug de suivi n° 397832388 | Entrée ChromeStatus.com

Mode de compatibilité WebGPU

Ajoute un sous-ensemble de l'API WebGPU, légèrement limité et activé par défaut, capable d'exécuter d'anciennes API graphiques telles qu'OpenGL et Direct3D11. En activant ce mode et en respectant ses contraintes, les développeurs peuvent étendre la portée de leurs applications WebGPU à de nombreux appareils plus anciens qui ne disposent pas des API graphiques modernes et explicites requises par WebGPU.

Essai d'origine | Bug de suivi n° 40266903 | Entrée ChromeStatus.com | Spécification

Arrêts et suppressions

Arrêter d'envoyer l'en-tête "Purpose: prefetch" à partir des préchargements et des prérendus

Maintenant que les préchargements et les prérendus utilisent l'en-tête Sec-Purpose, nous allons supprimer l'ancien en-tête "Purpose: prefetch" qui est toujours transmis. Cette fonctionnalité sera masquée par un indicateur/ un coupe-circuit pour éviter les problèmes de compatibilité.

Cela sera limité au préchargement des règles de spéculation, au prérendu des règles de spéculation, à <link rel=prefetch> et à <link rel=prerender> non standard de Chrome.

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

Suppression de la compatibilité avec macOS 11

Chrome 138 est la dernière version compatible avec macOS 11. macOS 11 n'est pas compatible avec Chrome 139.

Sur les Mac exécutant macOS 11, Chrome continuera de fonctionner et affichera une barre d'informations avec un avertissement, mais ne sera plus mis à jour. Pour mettre à jour Chrome, vous devez installer une version compatible de macOS sur votre ordinateur.

Pour les nouvelles installations de Chrome 139 ou version ultérieure, vous devrez disposer de macOS 12 ou d'une version ultérieure.

Entrée ChromeStatus.com

Supprimer la détection automatique du jeu de caractères ISO-2022-JP dans le code HTML

Il existe des problèmes de sécurité connus concernant la détection automatique du jeu de caractères pour ISO-2022-JP. Étant donné que l'utilisation est très faible et que Safari ne prend pas en charge la détection automatique de ISO-2022-JP, la prise en charge est supprimée de Chrome 139.

Numéro de suivi du bug 40089450 | Entrée ChromeStatus.com