Publié le 1er mai 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 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 pour 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. Elle 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 "true". Si aucune des conditions n'est remplie, la fonction renvoie un flux de jetons vide. Cela vous permet d'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 flexible, en grille ou en bloc sont exposés aux outils d'accessibilité et sélectionnés à l'aide de la navigation au clavier avec la touche de tabulation. Il accepte l'une des valeurs de mot clé suivantes :
normalflex-visualflex-flowgrid-rowsgrid-columnsgrid-ordersource-order
La propriété CSS reading-order vous permet de remplacer manuellement l'ordre dans un conteneur de flux 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 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 clipping responsif. L'activation de cette option pour offset-path comble également un petit vide 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 (comme la mise à l'échelle, la rotation, la translation et l'inclinaison) directement à l'élément racine <svg> à l'aide de son attribut de transformation. 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 prenant en charge cet attribut, l'élément SVG peut être transformé sans nécessiter d'éléments d'encapsulation 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érence. 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 référencé.
Avec cette fonctionnalité, si vous omettez des fragments ou si vous indiquez simplement le nom du fichier SVG externe, l'élément racine sera automatiquement référencé. Vous n'aurez donc pas besoin de modifier le document référencé juste pour attribuer un ID à la racine. Cette amélioration simplifie ce processus de modification manuelle et améliore l'efficacité.
Extension de la couleur d'accentuation du système pour la propriété accent-color à Windows et ChromeOS
Cela vous permet d'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 l'est désormais sur Windows et ChromeOS.
view-transition-name: match-element
La valeur match-element de la propriété view-transition génère un ID unique basé sur l'identité de l'élément et reste le même pour cet élément. Cette méthode est utilisée dans les applications monopages où l'élément est déplacé et où 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 un iframe inter-origine sans activation par l'utilisateur génère une erreur SecurityError au lieu d'une erreur NotAllowedError, qui est celle générée pour les identifiants autres que 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, nous implémentons 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 du manque de réactivité et de la corriger plus facilement. La pile d'appels JavaScript est incluse dans l'API de signalement des plantages lorsque la raison est "Ne répond pas".
Types de couleurs à virgule flottante du canevas
Permet d'utiliser des formats de pixels à virgule flottante (par opposition à des formats à virgule fixe de 8 bits) avec CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D et ImageData. Cela est nécessaire pour les applications de haute précision (par exemple, la visualisation médicale), le contenu à plage dynamique élevée et les espaces colorimétriques 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 la prélecture ne fonctionne que sur HTTPS. Restreindre 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 ni COEP, et quel que soit l'état crossOriginIsolation de la page. La règle est soutenue par l'isolation des processus. De plus, les sous-ressources d'origine croisée non-CORS du document seront chargées sans identifiants ou devront comporter un en-tête CORP.
Pour en savoir plus, consultez Règle d'isolation des documents : activez facilement des fonctionnalités Web puissantes.
Ed25519 dans la cryptographie Web
Cette fonctionnalité ajoute la compatibilité avec les 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 SIEM propriétaires et tiers à l'aide du connecteur de reporting Chrome Enterprise. Cette fonctionnalité sera disponible pour les clients Chrome Enterprise Core.
Intégration des promesses JavaScript
L'intégration des promesses JavaScript (JSPI, JavaScript Promise Integration) 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 de promesse et d'interagir avec les API contenant des promesses. En particulier, lorsqu'une application utilise JSPI pour appeler une API (JavaScript) contenant une promesse, le code WebAssembly est suspendu. L'appelant d'origine du programme WebAssembly reçoit une promesse qui sera tenue lorsque le programme WebAssembly sera enfin terminé.
API Language Detector
L'API Language Detector est une API JavaScript qui identifie la langue d'une chaîne fournie. Cette API repose sur un modèle sous-jacent qui est affiné pour effectuer des tâches de détection de la langue.
À partir d'une chaîne, l'API Language Detector renvoie une liste ordonnée des langues détectées, ainsi qu'un score de confiance pour chaque résultat.
Les développeurs peuvent également transmettre une liste de langues d'entrée attendues lors de la création d'une instance Language Detector pour optimiser les cas d'utilisation où la détection doit être effectuée dans certaines langues.
Restreindre les attributs et arguments float sur SVGMatrix, SVGRect et SVGPoint
Lorsque vous définissez des attributs ou des arguments flottants sur SVGMatrix, SVGRect et SVGPoint, vous ne pouvez plus les définir comme Infinity ou Nan. Une exception JavaScript est générée si vous tentez de le définir, comme indiqué dans la spécification SVG.
API Selection getComposedRanges et direction
Cette fonctionnalité inclut 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 de zéro ou unStaticRange"composé"
Une StaticRange "composée" est autorisée à franchir les limites des ombres, ce que les plages normales ne peuvent pas faire.
Exemple :
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Si la sélection traverse une limite de racine fantôme qui n'est pas fournie dans la liste shadowRoots, les points de terminaison de StaticRange seront "re-scoped" pour être en dehors de cet arbre. Cela permet de s'assurer que nous n'exposons pas d'arbres fantômes inconnus.
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.
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.
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.
{
"https://sample-app.com/": {
"scope": "/"
}
}
Indices de branchement WebAssembly
Améliore les performances du code WebAssembly compilé en informant le moteur qu'une instruction de branchement particulière est très susceptible de prendre un chemin spécifique. Cela permet au moteur de prendre de meilleures décisions concernant la mise en page du code (en améliorant les accès au cache d'instructions) et l'allocation des registres.
WebGPU : GPUTextureView pour la liaison externalTexture
Un GPUTextureView peut désormais être utilisé pour une liaison externalTexture lors de la création d'un GPUBindGroup.
WebGPU : surcharge de copyBufferToBuffer
La méthode GPUCommandEncoder copyBufferToBuffer() inclut désormais un moyen plus simple de copier des tampons entiers à l'aide d'une nouvelle surcharge avec des paramètres de taille et de décalage facultatifs.
Nouvelles phases d'évaluation
Dans Chrome 137, vous pouvez activer les nouvelles versions d'essai d'origine suivantes.
Attribut de blocage du rendu à la fréquence d'images complète
Ajoute un nouveau jeton de blocage du rendu à 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.
Mettre en pause la lecture de contenus multimédias sur les iframes non affichées
Ajoute une règle d'autorisation "media-playback-while-not-rendered" pour permettre aux sites Web intégrateurs de mettre en pause la lecture des éléments multimédias des iFrames intégrés qui ne sont pas affichés (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 du contenu qui n'est pas visible par les utilisateurs.
API Rewriter
L'API Rewriter transforme et reformule le texte saisi de la manière demandée, grâce à 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 au public cible ou les rendre plus constructifs s'ils utilisent 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 du contenu à partir d'une invite de tâche d'écriture, grâce à 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, rédiger 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.