Publié le 1er mai 2025
Sauf indication contraire, les modifications suivantes s'appliquent à la dernière version du canal 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 130 est en version bêta depuis le 30 avril 2025. Vous pouvez télécharger la dernière version sur Google.com pour ordinateur ou sur le Google Play Store sur Android.
CSS et UI
Cette version ajoute sept nouvelles fonctionnalités CSS et d'UI.
Fonction if()
La fonction CSS if()
permet d'exprimer des valeurs conditionnelles de manière concise. Il accepte une série de paires condition-valeur, délimitées par des points-virgules. La fonction évalue chaque condition de manière séquentielle et renvoie la valeur associée à la première condition vraie. Si aucune des conditions n'est évaluée comme vraie, la fonction renvoie un flux de jetons vide. Vous pouvez ainsi exprimer une logique conditionnelle complexe de manière simple et concise. Exemple :
div { color: var(--color); background-color: if(style(--color: white): black; else: white); } .dark { --color: black; } .light { --color: white; }
<div class="dark">dark</div> <div class="light">light</div>
Propriétés reading-flow
et reading-order
La propriété CSS reading-flow
contrôle l'ordre dans lequel les éléments d'une mise en page flex, grid ou block sont exposés aux outils d'accessibilité et mis en surbrillance à l'aide de la navigation par tabulation. Il doit correspondre à l'une des valeurs de mot clé suivantes:
normal
flex-visual
flex-flow
grid-rows
grid-columns
grid-order
source-order
La propriété CSS reading-order
vous permet de remplacer manuellement l'ordre dans un conteneur de parcours de lecture. Il s'agit d'un entier dont la valeur par défaut est 0.
Pour en savoir plus, consultez Utiliser le flux de lecture CSS pour la navigation séquentielle logique de la sélection et essayez quelques exemples de flux de lecture.
offset-path: shape()
La fonction shape()
est déjà prise en charge dans clip-path
et permet le recadrage responsif. L'activer également pour offset-path
comble une petite lacune où le même type de forme peut être utilisé pour cette propriété.
Prise en charge de l'attribut de transformation sur SVGSVGElement
Cette fonctionnalité permet d'appliquer des propriétés de transformation (telles que la mise à l'échelle, la rotation, la translation et l'inclinaison) directement à l'élément racine <svg>
à l'aide de son attribut transform. Cette amélioration vous permet de manipuler l'ensemble du système de coordonnées SVG ou son contenu dans son ensemble, ce qui vous offre une plus grande flexibilité pour créer des graphiques vectoriels dynamiques, responsifs et interactifs. En acceptant cet attribut, l'élément SVG peut être transformé sans nécessiter d'éléments de wrapper supplémentaires ni de solutions de contournement CSS complexes, ce qui simplifie le processus de création de graphiques Web évolutifs et animés.
Autorisez <use>
à référencer l'élément racine d'un document externe en omettant le fragment.
Dans cette fonctionnalité, nous simplifions l'élément SVG <use>
en assouplissant les exigences de référencement. Actuellement, vous devez référencer explicitement les fragments dans le document SVG. Si aucun ID de fragment n'est fourni, <use>
ne pourra pas résoudre la cible et rien ne sera affiché ni redirigé.
Avec cette fonctionnalité, l'omission de fragments ou simplement le nom du fichier SVG externe permet de référencer automatiquement l'élément racine, ce qui vous évite d'avoir à modifier le document référencé simplement pour attribuer un ID à la racine. Cette amélioration simplifie ce processus de modification manuelle et améliore l'efficacité.
Couleur d'accentuation du système pour la propriété accent-color
étendue à Windows et ChromeOS
Vous pouvez ainsi utiliser la couleur d'accentuation du système d'exploitation pour les éléments de formulaire. En utilisant la propriété CSS accent-color
, vous pouvez vous assurer que les éléments de formulaire tels que les cases à cocher, les boutons radio et les barres de progression adoptent automatiquement la couleur d'accentuation définie par le système d'exploitation de l'utilisateur. Cette fonctionnalité est disponible sur macOS depuis 2021 et est désormais compatible avec Windows et ChromeOS.
view-transition-name: match-element
La valeur match-element
de la propriété view-transition
génère un ID unique en fonction de l'identité de l'élément et reste la même pour cet élément. Cette méthode est utilisée dans les applications monopages où l'élément est déplacé et que vous souhaitez l'animer avec une transition de vue.
API Web
Aligner le type d'erreur généré pour la création d'identifiants WebAuthn de type "paiement"
Corrige le type d'erreur généré lors de la création d'identifiants WebAuthn pour les identifiants payment
. En raison d'une incompatibilité historique des spécifications, la création d'identifiants payment
dans une iframe inter-origine sans activation de l'utilisateur génère une exception SecurityError
au lieu d'une exception NotAllowedError
, qui est celle générée pour les identifiants de paiement. Il s'agit d'une modification destructive. Le code qui détectait auparavant le type d'erreur généré (par exemple, e instanceof SecurityError
) sera affecté. Le code qui gère généralement les erreurs lors de la création d'identifiants (par exemple, catch (e)
) continuera de fonctionner correctement.
Partitionnement des URL blob: extraction/navigation
Dans le cadre de la proposition Storage Partitioning, cette fonctionnalité implémente le partitionnement de l'accès aux URL blob par clé de stockage (site de premier niveau, origine des frames et valeur booléenne has-cross-site-ancestor
), à l'exception des navigations de niveau supérieur qui ne seront partitionnées que par origine de frame.
Vous pouvez annuler temporairement cette modification en définissant la règle PartitionedBlobURLUsage
. Cette règle sera abandonnée lorsque les autres règles d'entreprise liées au partitionnement du stockage seront abandonnées.
Piles d'appels dans les rapports d'erreur provenant de pages Web qui ne répondent pas
Cette fonctionnalité capture la pile d'appels JavaScript lorsqu'une page Web ne répond plus en raison d'un code JavaScript exécutant une boucle infinie ou un autre calcul très long. Cela permet aux développeurs d'identifier la cause de l'absence de réponse et de la corriger plus facilement. La pile d'appels JavaScript est incluse dans l'API de signalement des plantages lorsque la raison ne répond pas.
Types de couleurs à virgule flottante pour le canevas
Permet d'utiliser des formats de pixel à virgule flottante (par opposition au point fixe 8 bits) avec CanvasRenderingContext2D
, OffscreenCanvasRenderingContext2D
et ImageData
. Cela est nécessaire pour les applications de haute précision (par exemple, la visualisation médicale), les contenus HDR et les espaces de couleurs de travail linéaires.
Interdire le prérendu HTTP en texte brut non fiable
Actuellement, le prérendu est autorisé sur HTTP et HTTPS, tandis que le préchargement ne fonctionne que sur HTTPS. Limitez le prérendu pour qu'il soit cohérent avec le préchargement.
Document-Isolation-Policy
Document-Isolation-Policy
permet à un document d'activer crossOriginIsolation
pour lui-même, sans avoir à déployer COOP ou COEP, et quel que soit l'état crossOriginIsolation
de la page. La règle est basée sur l'isolation de processus. De plus, les sous-ressources multi-origines non CORS du document seront chargées sans identifiants ou devront comporter un en-tête CORP.
Pour en savoir plus, consultez Document Isolation Policy: Enable powerful web features with ease (Règle d'isolation des documents : activez facilement des fonctionnalités Web puissantes).
Ed25519 dans la cryptographie Web
Cette fonctionnalité ajoute la prise en charge des algorithmes Curve25519 dans l'API Web Cryptography, à savoir l'algorithme de signature Ed25519.
Journalisation et création de rapports sur les adresses IP
Chrome Enterprise améliore ses fonctionnalités de surveillance de la sécurité et de réponse aux incidents en collectant et en signalant les adresses IP locales et distantes, puis en les envoyant aux journaux d'investigation de sécurité (SIT). De plus, Chrome Enterprise permettra aux administrateurs d'envoyer les adresses IP à des fournisseurs de solutions de gestion des informations et des événements de sécurité (SIEM, Security information and event management) propriétaires et tiers à l'aide du connecteur de reporting Chrome Enterprise. Cette fonctionnalité sera disponible pour les clients Chrome Enterprise Core.
Intégration de promesses JavaScript
L'intégration des promesses JavaScript (JSPI) est une API qui permet aux applications WebAssembly de s'intégrer aux promesses JavaScript. Il permet à un programme WebAssembly d'agir en tant que générateur d'une promesse et d'interagir avec les API contenant des promesses. En particulier, lorsqu'une application utilise JSPI pour appeler une API (JavaScript) portant une promesse, le code WebAssembly est suspendu. L'appelant d'origine du programme WebAssembly reçoit une promesse qui sera remplie lorsque le programme WebAssembly sera finalement terminé.
API Language Detector
L'API Language Detector est une API JavaScript qui identifie la langue d'une chaîne fournie. Cette API est basée sur un modèle sous-jacent optimisé pour effectuer des tâches de détection de la langue.
À partir d'une chaîne, l'API Language Detector renvoie une liste triée des langues détectées, ainsi qu'un score de confiance pour chaque résultat.
Les développeurs peuvent éventuellement transmettre une liste des langues d'entrée attendues lors de la création d'une instance du détecteur de langage afin d'optimiser les cas d'utilisation dans lesquels la détection doit être effectuée dans certaines langues.
Limiter les attributs et les arguments de type float sur SVGMatrix
, SVGRect
et SVGPoint
Lorsque vous définissez des attributs ou des arguments à virgule flottante sur SVGMatrix
, SVGRect
et SVGPoint
, vous ne pouvez plus les définir sur Infinity
ou Nan
. Une exception JavaScript est générée si vous essayez de la définir, comme indiqué dans la spécification SVG.
API de sélection getComposedRanges
et direction
Cette fonctionnalité propose deux nouvelles méthodes d'API pour l'API Selection:
Selection.direction
, qui renvoie la direction de la sélection sous la forme"none"
,"forward"
ou"backward"
Selection.getComposedRanges()
, qui renvoie une liste deStaticRange
"composés" de 0 ou 1
Un StaticRange
"composé" est autorisé à franchir les limites d'ombre, ce qui n'est pas le cas des plages normales.
Exemple :
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Si la sélection traverse une limite de racine d'ombre qui n'est pas fournie dans la liste shadowRoots
, les points de terminaison de StaticRange
seront "recadrés" pour se trouver en dehors de cet arbre. Cela permet de s'assurer que nous n'exposons pas d'arbres d'ombre inconnus.
Extensions de 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 champ d'application à d'autres origines.
Exemple :
{ "name": "Example", "display": "standalone", "start_url": "/index.html", "scope_extensions": [ {"type" : "type", "origin" : "https://example.com"} ] }
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.
Nécessite que les origines listées confirment l'association à l'application Web à l'aide d'un fichier de configuration .well-known/web-app-origin-association
.
{ "https://sample-app.com/": { "scope": "/" } }
Conseils de branche WebAssembly
Améliore les performances du code WebAssembly compilé en informant le moteur qu'une instruction de branche particulière est très susceptible de suivre un chemin spécifique. Cela permet au moteur de prendre de meilleures décisions concernant la mise en page du code (amélioration des exécutions de cache d'instructions) et l'allocation de registres.
WebGPU: GPUTextureView
pour la liaison externalTexture
Un GPUTextureView
est désormais autorisé à être utilisé pour une liaison externalTexture
lors de la création d'un GPUBindGroup
.
WebGPU: surcharge de copyBufferToBuffer
La méthode copyBufferToBuffer()
de GPUCommandEncoder
inclut désormais un moyen plus simple de copier des tampons entiers à l'aide d'une nouvelle surcharge avec des décalages et des paramètres de taille facultatifs.
Nouveaux tests Origin
Dans Chrome 137, vous pouvez activer les nouveaux tests d'origine suivants.
Attribut de blocage du rendu pour la fréquence d'images complète
Ajoute un nouveau jeton de blocage du rendu "frame-rate" aux attributs de blocage. Lorsque le moteur de rendu est bloqué avec le jeton de fréquence d'images complète, il fonctionne à une fréquence d'images inférieure afin de réserver plus de ressources pour le chargement.
Mettre en pause la lecture multimédia sur les iFrames non affichées
Ajoute une stratégie d'autorisation "media-playback-while-not-rendered"
pour permettre aux sites Web d'intégration de mettre en pause la lecture multimédia des iFrames intégrées qui ne sont pas affichées, c'est-à-dire dont la propriété "display" est définie sur "none". Cela devrait permettre aux développeurs de créer des expériences plus conviviales et d'améliorer les performances en laissant le navigateur gérer la lecture des contenus qui ne sont pas visibles par les utilisateurs.
API Rewriter
L'API Rewriter transforme et reformule le texte saisi de la manière demandée, avec l'aide d'un modèle de langage d'IA sur l'appareil. Les développeurs peuvent utiliser cette API pour supprimer les redondances dans un texte afin de respecter une limite de mots, reformuler des messages pour les adapter à l'audience visée ou pour être plus constructifs si un message utilise un langage toxique, reformuler un post ou un article pour utiliser des mots et des concepts plus simples, et plus encore.
API Writer
L'API Writer peut être utilisée pour rédiger de nouveaux contenus à partir d'une invite de tâche d'écriture, avec l'aide d'un modèle de langage d'IA sur l'appareil. Les développeurs pourront utiliser cette API pour générer des explications textuelles de données structurées, composer un post sur un produit en fonction des avis ou de la description du produit, développer des listes d'avantages et d'inconvénients en vues complètes, et plus encore.