Version bêta de Chrome 145

Publié le 14 janvier 2026

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 est en version bêta depuis le 14 janvier 2026. Vous pouvez télécharger la dernière version sur Google.com pour ordinateur ou sur le Google Play Store pour Android.

CSS et UI

Compatibilité avec la propriété CSS text-justify

Les développeurs peuvent contrôler la façon dont le texte est justifié lorsque text-align: justify est appliqué à l'aide de la propriété text-justify. Par exemple, en forçant la justification en augmentant l'espace entre les caractères, même dans un texte en anglais.

Affiner le calcul des bords d'ombre border-radius pour les valeurs border-radius élevées

Cette amélioration garantit que les ombres et les limites de clip sur les éléments presque circulaires (où border-radius est proche de 50 %) correspondent précisément au contour visuel du bord arrondi.

Cela permet un rendu plus cohérent des formes arrondies complexes, en éliminant les différences visuelles pour les valeurs de rayon élevées. Le facteur d'ajustement du rayon de bordure, qui garantit que les angles apparaissent nets pour les petits rayons, est désormais progressivement atténué à mesure que la valeur du rayon approche de 50 %.

Cela s'applique également aux contours non arrondis (à l'aide de corner-shape), qui utilisent désormais le même mécanisme d'ajustement du rayon.

Retour à la ligne dans une mise en page CSS multicolonne

À partir de Chrome 145, les propriétés column-wrap et column-height sont acceptées dans la mise en page multicolonne. Ces propriétés vous permettent de renvoyer les colonnes à la ligne dans le sens du bloc.

Avant Chrome 145, si la hauteur du conteneur multicol était limitée, le contenu qui ne tenait pas dans l'espace disponible apparaissait sous forme de colonnes de dépassement dans le sens inline. Cela créerait une barre de défilement horizontale sur le Web. Les propriétés column-height et column-wrap vous permettent de définir la hauteur de la ligne de colonnes et d'afficher les colonnes en trop sur une nouvelle ligne.

Pour en savoir plus, consultez Prise en charge des colonnes encapsulées dans une mise en page multicolonne.

Exposer l'événement onanimationcancel à GlobalEventHandlers

CSS Animations Level 1 étend l'interface GlobalEventsHandler définie dans la spécification HTML, en déclarant quatre nouveaux gestionnaires d'événements : onanimationstart, onanimationiteration, onanimationend et onanimationcancel.

Le gestionnaire d'événements onanimationcancel était manquant dans l'IDL GlobalEventsHandler et est désormais exposé.

CSS letter-spacing et word-spacing : valeurs en pourcentage

Active les valeurs de pourcentage pour la propriété CSS letter-spacing et word-spacing, comme défini dans la spécification CSS Text Module Level 4. Les valeurs de pourcentage sont calculées par rapport à la mesure d'avance du caractère espace (U+0020). Les développeurs disposent ainsi d'un contrôle plus robuste et flexible sur la typographie, en particulier dans les conceptions responsives où l'espacement du texte doit s'adapter à différentes fenêtres d'affichage et tailles de police.

Zone de liste déroulante personnalisable

Cette fonctionnalité étend la prise en charge de la sélection personnalisable au mode d'affichage de la zone de liste, y compris la sélection unique et multiple dans le mode zone de liste.

Le mode d'affichage "listbox" signifie que l'élément <select> est affiché dans le flux ou sur la page, plutôt qu'avec un bouton et un pop-up distincts. Le mode d'affichage de la zone de liste est activé sur toutes les plates-formes via les attributs "multiple" ou "size", comme <select multiple> ou <select size=4>. Lorsque la propriété CSS appearance:base-select est appliquée à l'élément <select> avec ces attributs, le rendu et le comportement d'entrée sont désormais améliorés.

Cette fonctionnalité n'est pas compatible avec la sélection personnalisable pour le pop-up à sélection multiple, qui sera disponible ultérieurement. Les attributs suivants doivent être définis pour obtenir un pop-up à sélection multiple : <select multiple size=1>.

Active le rendu des emoji monochromes en mode couleurs forcées.

Cette modification met à jour le comportement de rendu des emoji dans le mode Couleurs forcées de Chrome. Lors de la résolution des valeurs calculées, les emoji dont la valeur font-variant-emoji est normale ou Unicode sont affichés à l'aide de leurs glyphes monochromes, le cas échéant.

Chrome supprimera donc le rendu des emojis en couleur, ce qui garantit que les emojis participent pleinement au pipeline du mode Couleurs forcées et respectent les couleurs à contraste élevé du système. Le comportement en dehors du mode "Couleurs forcées" reste inchangé.

L'option focusVisible sur la méthode focus()

Lors de l'appel de la méthode focus(), les développeurs peuvent désormais fournir un booléen focusVisible dans le dictionnaire FocusOptions. Si la valeur est "true", un anneau de sélection est toujours dessiné autour de l'élément nouvellement sélectionné et correspond à la pseudo-classe :focus-visible. Si la valeur est "false", l'anneau de mise au point ne sera pas peint et :focus-visible ne correspondra pas. En cas d'absence, le user-agent détermine lui-même si l'anneau de sélection doit être peint, et la pseudo-classe :focus-visible correspond en conséquence.

Effet de surbalayage sur les éléments de défilement non racines

Affiche des effets de défilement hors limites élastiques sur les conteneurs de défilement non racine. Lorsqu'un élément à défilement imbriqué atteint sa limite de défilement, l'affordance de dépassement de défilement s'applique à cet élément au lieu de s'appliquer uniquement au scroller racine. Cela réduit le besoin de solutions de contournement JavaScript personnalisées et peut être contrôlé par élément avec overscroll-behavior.

Afficher la position réelle de la fenêtre sur Android

Chrome sur Android indique désormais avec précision la position et la taille de la fenêtre du navigateur à l'aide de window.screenX, window.screenY, window.outerWidth et window.outerHeight.

Auparavant, Chrome supposait à tort que toutes les fenêtres de navigateur sur Android commençaient aux coordonnées (0, 0). Cette information est inexacte pour les tablettes Android utilisant le mode fenêtré de forme libre, ce qui fait que les sites Web reçoivent toujours 0 lorsqu'ils interrogent la position à l'écran de la fenêtre à l'aide de window.screenX et window.screenY (ces champs stockent les coordonnées du coin supérieur gauche de la fenêtre dans l'espace de coordonnées de la zone de travail globale).

De plus, Chrome sur Android supposait à tort que les dimensions extérieures de la fenêtre du navigateur étaient égales aux dimensions intérieures de la fenêtre d'affichage du site Web.

API Web

Avant Chrome 145, NavigationTransition avait une propriété from qui exposait l'ancienne URL de la navigation. L'exposition de to (un NavigationDestination) permet de terminer cette étape. Cela est particulièrement utile lorsque vous utilisez des gestionnaires precommit, car pendant precommit, l'URL actuelle n'est pas encore passée à la destination.

WebGPU : subgroup_uniformity

Ajoute un champ d'application à l'analyse de l'uniformité et modifie les parties de la langue vérifiées dans chaque champ pour permettre à la fonctionnalité de sous-groupe d'être considérée comme uniforme dans davantage de cas.

Faire un upsert

Implémente la proposition ECMAScript pour Map.prototype.getOrInsert, Map.prototype.getOrInsertComputed, WeakMap.prototype.getOrInsert et WeakMap.prototype.getOrInsertComputed.

Types InputEvent pour les commandes de suppression sur les sélections non réduites

Les rapports indiquent des valeurs inputType précises pour les raccourcis clavier de suppression du texte sélectionné. Lorsque des commandes de suppression telles que Ctrl+Retour arrière ou Ctrl+Supprimer sont utilisées avec du texte sélectionné dans des éléments "contenteditable", les événements beforeinput et input signalent désormais deleteContentBackward ou deleteContentForward au lieu de deleteWordBackward ou deleteWordForward. Cela permet aux développeurs Web de comprendre correctement l'opération de modification qui s'est produite et d'implémenter des comportements d'annulation et de rétablissement fiables ou des comportements de modification personnalisés.

Permet aux appelants de spécifier un maxAge lors de la définition d'un cookie avec l'API Cookie Store.

La durée d'expiration des cookies est déjà configurable à l'aide de l'attribut expires, mais maxAge offre une option plus idiomatique et aligne l'API Cookie Store sur les options fournies par document.cookie et l'en-tête HTTP Set-Cookie.

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.

Activation persistante pour l'événement clipboardchange

Chrome exige désormais une activation utilisateur persistante ou une autorisation clipboard-read pour déclencher des événements clipboardchange, ce qui empêche la surveillance non autorisée du presse-papiers. Cette modification est définie dans la spécification de l'API Clipboard.

Exposer rtpTimestamp à partir des frames vidéo WebRTC à l'aide de VideoFrame.metadata()

Ajoute une méthode VideoFrame.metadata() qui renvoie un dictionnaire contenant le champ rtpTimestamp, si le VideoFrame sous-jacent comporte ce champ dans ses métadonnées. Sinon, un dictionnaire vide est renvoyé. Seules les images vidéo provenant de sources WebRTC seront associées aux métadonnées rtpTimestamp.

Permettre aux applications Web de comprendre les timings de performances bimodales

Les applications Web peuvent souffrir d'une distribution bimodale des performances de chargement de page en raison de facteurs indépendants de la volonté de l'application. Par exemple, lorsqu'un agent utilisateur est lancé pour la première fois dans un scénario de "démarrage à froid", il doit effectuer de nombreuses tâches d'initialisation coûteuses qui se font concurrence pour les ressources système. Les extensions de navigateur peuvent également affecter les performances, car certaines exécutent du code supplémentaire sur chaque page que vous consultez, ce qui augmente l'utilisation du processeur et ralentit les temps de réponse. De même, lorsqu'une machine est déjà occupée par des tâches intensives, les pages Web peuvent se charger plus lentement.

Dans ces scénarios, le contenu que l'application Web tente de charger sera en concurrence avec d'autres tâches en cours sur le système. Il est donc difficile de détecter si les problèmes de performances existent dans les applications Web elles-mêmes ou en raison de facteurs externes.

Un nouveau champ confidence sur l'objet PerformanceNavigationTiming permet aux développeurs de déterminer si les temps de navigation sont représentatifs de leur application Web.

Ajouter presentationTime et paintTime aux entrées de performances

Exposez paintTime et presentationTime dans la synchronisation des éléments, le LCP, les longs frames d'animation et la synchronisation de la peinture.

paintTime correspond au moment où la phase de rendu s'est terminée et où le navigateur a commencé la phase de peinture. presentationTime correspond au moment où les pixels ont atteint l'écran, ce qui est quelque peu défini par l'implémentation. Consultez LCP et INP sont désormais disponibles dans les métriques de référence.

Utilisation des pixels CSS dans l'API LayoutShift

Cette fonctionnalité modifie les données d'attribution (prevRect et currentRect) dans l'API LayoutShift pour qu'elles soient signalées en pixels CSS au lieu de pixels physiques. Le comportement actuel est incohérent avec les autres API liées à la mise en page, qui utilisent toutes des pixels CSS. Ce changement améliore la cohérence, simplifie l'utilisation pour les développeurs et s'aligne sur les unités attendues dans le débogage et les outils.

Notez que cela n'a pas d'incidence sur la valeur de la métrique CLS, mais affecte les outils de débogage qui affichent des captures d'écran et des images de ces changements.

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'avoir une session sécurisée associée à un appareil. Le navigateur renouvelle la session périodiquement, comme demandé par le serveur, avec une preuve de possession d'une clé privée.

Autorisations fractionnées pour l'accès au réseau local

Il s'agit d'une amélioration des restrictions d'accès au réseau local, qui consiste à diviser l'autorisation requise en deux autorisations distinctes.

Ancienne autorisation : local-network-access

Nouvelles autorisations :

  • local-network : pour les requêtes LNA adressées aux adresses IP de l'espace d'adressage local.
  • loopback-network : pour les requêtes LNA adressées aux adresses IP dans l'espace d'adresses de bouclage.

L'ancienne autorisation est conservée en tant qu'alias et devrait continuer à fonctionner pour permissions.query et la règle relative aux autorisations. Les règles d'entreprise actuelles continueront de fonctionner de la même manière. Des règles d'entreprise plus précises seront ajoutées ultérieurement.

API Origin

L'origine est un composant fondamental de l'implémentation du Web, essentiel aux limites de sécurité et de confidentialité que maintiennent les agents utilisateur. Le concept est bien défini entre HTML et URL, ainsi que pour les concepts adjacents largement utilisés comme site.

Toutefois, les origines ne sont pas directement exposées aux développeurs Web. Bien qu'il existe différents getters d'origine sur différents objets, chacun d'eux renvoie la sérialisation ASCII d'une origine, et non l'origine elle-même. Cela a plusieurs implications négatives. En pratique, les développeurs qui tentent d'effectuer des comparaisons d'origine identique ou de même site lorsqu'ils gèrent des origines sérialisées commettent souvent des erreurs qui entraînent des failles de sécurité. D'un point de vue philosophique, il semble s'agir d'une primitive de sécurité manquante que les développeurs ont du mal à polyfiller avec précision.

L'API Origin comble cette lacune de la plate-forme en introduisant un objet origin qui encapsule le concept d'origine et fournit des méthodes utiles pour la comparaison, la sérialisation et l'analyse.

API Sanitizer

L'API Sanitizer permet aux développeurs de supprimer le contenu susceptible d'exécuter un script à partir de contenu HTML arbitraire fourni par l'utilisateur. L'objectif est de faciliter la création d'applications Web sans XSS.

Alignement de la spécification Trusted Types

Les types fiables ont été implémentés et lancés dans Chrome en 2019.

La spécification Trusted Types est en cours d'implémentation dans d'autres navigateurs. Dans le cadre de ce processus, diverses incohérences sont identifiées et corrigées dans la spécification. Cette version corrige ces problèmes dans Chrome pour s'adapter à la nouvelle spécification.

Nouvelles phases d'évaluation

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

WebAudio : quantum de rendu configurable

AudioContext et OfflineAudioContext acceptent désormais un renderSizeHint facultatif, qui permet aux utilisateurs de demander une taille de quantum de rendu spécifique lorsqu'un entier est transmis, d'utiliser la valeur par défaut de 128 frames si rien ou default n'est transmis, ou de demander à l'agent utilisateur de choisir une taille de quantum de rendu appropriée si hardware est spécifié.

Abandons et suppressions

Cette version de Chrome introduit les abandons et suppressions suivants. Consultez ChromeStatus.com pour obtenir la liste des abandons prévus, des abandons en cours et des suppressions précédentes.

Fin de la compatibilité de Chrome avec les caméras virtuelles obsolètes sur macOS

À partir de Chrome 145, la compatibilité avec les caméras virtuelles obsolètes est supprimée pour toutes les versions de macOS compatibles.

Sur macOS, les caméras virtuelles modernes sont conçues à l'aide du framework Core Media IO, disponible depuis macOS 12.3. Apple a contacté les développeurs, et tous les logiciels de caméras virtuelles modernes ont été migrés pour utiliser ce framework Core Media IO.

Les caméras virtuelles obsolètes, conçues comme des plug-ins DAL, ont été bloquées par macOS lui-même à partir de macOS 14.1 (2023) et ne sont plus compatibles avec Safari depuis 2018, voire avant.

Supprimer l'extension BMP pour l'intégration de JPEG ou PNG dans BMP

Chrome supprime l'extension BMP pour l'intégration de JPEG ou PNG dans BMP, car aucun autre navigateur ne prend en charge cette extension, et elle n'a aucune utilité (comme indiqué dans les données UMA).

Chaînes user-agent réduites par défaut

À partir de Chrome 145, la règle UserAgentReduction sera complètement supprimée. Cette règle permettait auparavant de contrôler si Chrome envoyait une chaîne user-agent réduite ou complète.

Pour améliorer la confidentialité des utilisateurs et réduire les capacités de suivi passif, Chrome a commencé à réduire par défaut les informations contenues dans l'en-tête User-Agent dans la version 110 de Chrome. La règle UserAgentReduction a été fournie aux entreprises à titre temporaire pour gérer cette transition.

Le mécanisme recommandé pour les sites Web afin d'accéder aux informations sur le navigateur et l'appareil est désormais User-Agent Client Hints (UA-CH). UA-CH exige que les sites Web demandent activement des informations spécifiques, ce qui est une approche plus respectueuse de la confidentialité que l'ancienne chaîne User-Agent.

À partir de Chrome 145, la règle UserAgentReduction n'aura plus aucun effet. Chrome enverra une chaîne user-agent réduite par défaut. Les systèmes ou applications qui s'appuyaient sur cette règle pour recevoir la chaîne User-Agent complète (ancienne) risquent de ne plus recevoir les informations détaillées auxquelles ils s'attendaient.