Chrome 134

Date de sortie de la version stable:4 mars 2025

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

HTML et DOM

Élément <select> personnalisable

<select> personnalisable permet aux développeurs de contrôler entièrement le rendu des éléments <select> en ajoutant la propriété et la valeur CSS appearance: base-select.

Cette fonctionnalité repose sur l'indicateur SelectParserRelaxation, qui modifie l'analyseur HTML pour autoriser davantage de balises dans la balise <select>.

Bug 40146374 | Enregistrement sur ChromeStatus.com | Spécification

Assouplissement de l'analyseur select

Cette modification permet à l'analyseur HTML d'autoriser des balises supplémentaires dans <select>, hormis dans <option>, <optgroup> et <hr>.

Cette fonctionnalité est contrôlée par la règle temporaire (SelectParserRelaxationEnabled). Il s'agit d'une période de transition temporaire. La règle cessera de fonctionner à partir de Chrome 141.

Si vous rencontrez des problèmes que vous pensez être dus à ce changement, vous pouvez tester l'origine inverse pour désactiver l'assouplissement de l'analyseur.

Bug de suivi 335456114 | Enregistrement sur ChromeStatus.com | Spécification

Boîte de dialogue "Fermer"

L'une des fonctionnalités intéressantes de l'API Popover est son comportement de fermeture léger. Ce comportement fait désormais partie de <dialog>, avec un nouvel attribut closedby qui le contrôle:

  • <dialog closedby="none">: aucune fermeture de boîte de dialogue déclenchée par l'utilisateur.
  • <dialog closedby="closerequest">: appuyer sur Esc (ou un autre déclencheur de fermeture) ferme la boîte de dialogue
  • <dialog closedby="any">: cliquez en dehors de la boîte de dialogue ou appuyez sur Esc pour la fermer. Semblable au comportement de popover="auto".

Bug de suivi 376516550 | Enregistrement sur ChromeStatus.com | Spécification

CSS

Héritage de la mise en surbrillance CSS

Avec l'héritage de la mise en surbrillance CSS, les pseudo-classes de mise en surbrillance CSS, telles que ::selection et ::highlight, héritent de leurs propriétés via la chaîne de mise en surbrillance pseudo, plutôt que via la chaîne d'éléments. Résultat : le modèle d'héritage des propriétés de mise en surbrillance est plus intuitif.

Enregistrement sur ChromeStatus.com | Spécification

PWA

Sous-titre du document (Correction des titres d'applications PWA)

Cette fonctionnalité permet de spécifier des informations complémentaires sur la fenêtre actuelle d'une PWA installée et en cours d'exécution. Il ajoute un sous-titre à la page pour fournir des informations contextuelles qui s'affichent dans la barre de titre de la fenêtre. Cela remplace le texte contenu dans l'élément de titre HTML.

Bug 1351682 suivi | Enregistrement sur ChromeStatus.com | Spécification

Les liens Web redirigent automatiquement les utilisateurs vers les applications Web installées. Pour mieux répondre aux attentes des utilisateurs concernant les expériences installées, Chrome facilite le basculement entre le navigateur et les applications Web installées. Lorsque l'utilisateur clique sur un lien pouvant être géré par une application Web installée, le lien s'ouvre dans cette application Web installée. Les utilisateurs peuvent modifier ce comportement via les paramètres de l'application Web installée. Les développeurs peuvent contrôler ce comportement à l'aide de la propriété de fichier manifeste launch_handler. Ils peuvent également consulter cette documentation destinée aux développeurs pour en savoir plus sur le fonctionnement des liens profonds avec les applications Web installées.

Enregistrement sur ChromeStatus.com

Performances

Document-Policy: expect-no-linked-resources

Le point de configuration expect-no-linked-resources dans la stratégie de document permet à un document d'indiquer à l'agent utilisateur de mieux optimiser sa séquence de chargement, par exemple en n'utilisant pas le comportement d'analyse spéculative par défaut.

Les agents utilisateur ont implémenté l'analyse spéculative du code HTML pour récupérer de manière spéculative les ressources présentes dans le balisage HTML, afin d'accélérer le chargement de la page. Pour la grande majorité des pages Web qui ont des ressources déclarées dans la balise HTML, l'optimisation est bénéfique et le coût payé pour déterminer ces ressources est un compromis judicieux. Toutefois, les scénarios suivants peuvent entraîner un compromis de performances non optimal par rapport au temps explicite passé à analyser le code HTML pour déterminer les sous-ressources à extraire:

  • Pages sans ressources déclarées dans le code HTML
  • Pages HTML volumineuses avec un chargement de ressources minimal ou nul qui pourraient contrôler explicitement le préchargement des ressources à l'aide d'autres mécanismes de préchargement disponibles.

La stratégie de document expect-no-linked-resources indique à l'agent utilisateur qu'il peut choisir d'optimiser le temps passé à déterminer ces sous-ressources.

Bug 365632977 | Enregistrement sur ChromeStatus.com | Spécification

Gestion des ressources explicite (asynchrone)

Ces fonctionnalités répondent à un modèle courant dans le développement logiciel concernant la durée de vie et la gestion de diverses ressources (par exemple, la mémoire et les E/S). Ce modèle comprend généralement l'allocation d'une ressource et la possibilité de libérer explicitement des ressources critiques.

Bug 42203814 suivi | Enregistrement sur ChromeStatus.com | Spécification

Gestion explicite des ressources (synchronisation)

Ces fonctionnalités répondent à un modèle courant dans le développement logiciel concernant la durée de vie et la gestion de diverses ressources (par exemple, la mémoire et les E/S). Ce modèle comprend généralement l'allocation d'une ressource et la possibilité de libérer explicitement des ressources critiques.

Bug 42203506 | Enregistrement sur ChromeStatus.com | Spécification

Étendre l'API console.timeStamp pour prendre en charge les mesures et les options de présentation

Élargit l'API console.timeStamp(), de manière rétrocompatible, pour fournir une méthode hautes performances d'instrumentation des applications et de présentation des données de chronométrage dans le panneau "Performances" de DevTools.

Les entrées de temps ajoutées avec l'API peuvent avoir un code temporel, une durée et des options de présentation personnalisés (piste, ligne de flottaison et couleur).

Enregistrement sur ChromeStatus.com | Spécification

API Web

Autoriser la lecture des groupes de centres d'intérêt dans le worklet de stockage partagé

Ajoute une méthode interestGroups() au worklet de stockage partagé pour renvoyer les groupes d'intérêts de l'API Protected Audience associés au propriétaire de l'origine de stockage partagé, avec des métadonnées supplémentaires.

Cette API fournit à l'acheteur Protected Audience une meilleure idée de ce qui se passe avec ses utilisateurs, ce qui permet d'obtenir des rapports Private Aggregation.

Enregistrement sur ChromeStatus.com

Fonctionnalité de création de rapports sur l'attribution: suppression de la limite de rapports agrégables lorsque l'ID de contexte du déclencheur n'est pas nul

Ce changement est basé sur les commentaires des appelants de l'API et sur la nécessité de pouvoir mesurer un plus grand nombre d'événements de conversion pour certains flux utilisateur.

Actuellement, l'API permet de générer jusqu'à 20 rapports agrégables par enregistrement de source. Cette limite est restrictive pour les cas d'utilisation où un utilisateur peut avoir un parcours utilisateur plus long. Cette modification supprime la limite des rapports agrégables lorsqu'un ID de contexte de déclencheur est fourni lors de l'enregistrement. La suppression de cette limite n'est autorisée que lorsque l'ID de contexte du déclencheur est spécifié, car dans ce cas, l'API applique un taux plus élevé de rapports nuls, ce qui permet de protéger contre les fuites d'informations entre sites via le nombre de rapports.

De plus, les rapports agrégables seront toujours soumis à d'autres limites qui limitent la quantité totale d'informations pouvant être mesurées, comme le budget de contribution de niveau 1 (65 536) par source et la limite du taux d'attribution.

Enregistrement sur ChromeStatus.com

Mesures d'atténuation du suivi des rebonds dans le cache HTTP

Les mesures d'atténuation du suivi des rebonds pour le cache HTTP sont une extension du comportement existant de lutte contre le suivi des rebonds. Il supprime l'exigence selon laquelle un site de suivi suspecté doit avoir effectué un accès au stockage pour activer les mesures d'atténuation du suivi des rebonds.

La solution proposée initialement par Chrome pour atténuer le suivi des rebonds se déclenche lorsqu'un site accède au stockage du navigateur (par exemple, dans les cookies) lors d'un flux de redirection. Toutefois, les outils de suivi des rebonds peuvent contourner systématiquement ces mesures d'atténuation en utilisant le cache HTTP pour conserver les données. En assouplissant les conditions de déclenchement des mesures d'atténuation du suivi des rebonds, le navigateur devrait pouvoir détecter les outils de suivi des rebonds à l'aide du cache HTTP.

Bug 40264244 en cours de suivi | Enregistrement sur ChromeStatus.com | Spécification

Détection sur l'appareil des notifications abusives sur Android, basée sur un LLM

Ce lancement vise à masquer le contenu des notifications suspectées d'être abusives. L'utilisateur peut alors ignorer la notification, l'afficher ou se désabonner de la source. Cette détection doit être effectuée par un modèle sur l'appareil.

Enregistrement sur ChromeStatus.com

OffscreenCanvas getContextAttributes

Ajoutez l'interface getContextAttributes de CanvasRenderingContext2D à OffscreenCanvasRenderingContext2D.

Bug 388437261 | Enregistrement sur ChromeStatus.com | Spécification

API Private Aggregation: limites de contribution par contexte pour les appelants Shared Storage

Permet aux appelants Shared Storage de personnaliser le nombre de contributions par rapport d'agrégation privée.

Cette fonctionnalité permet aux appelants de Shared Storage de configurer des limites de contribution par contexte avec un nouveau champ, maxContributions. Les appelants définissent ce champ pour remplacer le nombre par défaut de contributions par rapport. Des valeurs plus élevées et plus faibles sont autorisées. Chrome accepte les valeurs de maxContributions comprises entre 1 et 1 000 inclus. Les valeurs supérieures seront interprétées comme 1 000.

En raison du remplissage, la taille de la charge utile de chaque rapport sera à peu près proportionnelle au nombre de contributions choisi par rapport. L'activation de rapports plus volumineux devrait augmenter le coût d'exploitation du service d'agrégation.

Les appelants de l'API Protected Audience ne seront pas affectés par cette fonctionnalité. Toutefois, nous prévoyons de permettre de personnaliser le nombre de contributions pour les rapports sur l'API Protected Audience dans de futures fonctionnalités.

Bug de suivi 376707230 | Enregistrement sur ChromeStatus.com | Spécification

Prise en charge de l'API Web Locks dans Shared Storage

Intégration de l'API Web Locks à Shared Storage. Cela évite les scénarios où la mesure de la couverture intersites peut entraîner des rapports en double, en raison des conditions de concurrence potentielles dans la logique get() et set().

Voici ce qui change:

  • Introduit navigator.locks.request dans l'environnement de worklet.
  • Introduction de l'option { withLock: <resource>} à toutes les méthodes de modification.
  • Introduction d'une méthode de modification par lot: sharedStorage.batchUpdate(methods, options). Cette méthode, avec l'option withLock, permet d'exécuter plusieurs méthodes de modification de manière atomique, ce qui permet des cas d'utilisation où un site Web doit maintenir la cohérence tout en mettant à jour des données organisées sur plusieurs clés.

Bug de suivi 373899210 | Enregistrement sur ChromeStatus.com

Rendu et graphiques

Prise en charge de ImageSmoothingQuality dans PaintCanvas

Ajout de la prise en charge de l'attribut imageSmoothingQuality sur le canevas Paint. Vous pouvez ainsi choisir le compromis qualité/performances lorsque vous redimensionnez des images. Il existe trois options au total pour imageSmoothingQuality: low, medium et high.

Bug de suivi : n° None | Enregistrement sur ChromeStatus.com | Spécification

Sous-groupes WebGPU

Ajoute la fonctionnalité de sous-groupe à WebGPU. Les opérations de sous-groupe effectuent des opérations SIMT pour assurer une communication et un partage de données efficaces entre les groupes d'appels. Ces opérations peuvent être utilisées pour accélérer les applications en réduisant les coûts de mémoire induits par la communication entre les invocations.

Enregistrement sur ChromeStatus.com | Spécification

Phases d'évaluation

API Digital Credential

Les sites Web peuvent obtenir des identifiants à partir d'applications de portefeuille mobile via divers mécanismes, par exemple des gestionnaires d'URL personnalisés et le scan de code QR. Cette fonctionnalité permet aux sites de demander des informations d'identité aux portefeuilles à l'aide du système CredMan IdentityCredential d'Android. Il est extensible pour prendre en charge plusieurs formats d'identifiants (par exemple, ISO mDoc et identifiants vérifiables du W3C) et permet d'utiliser plusieurs applications de portefeuille. Des mécanismes sont ajoutés pour aider à réduire le risque d'utilisation abusive de l'identité réelle à l'échelle de l'écosystème.

Le programme Origin Trials, qui commence avec Chrome 134, ajoute la prise en charge de cette API sur la plate-forme de bureau, où Chrome sur ordinateur communique de manière sécurisée avec le portefeuille numérique sur le téléphone Android pour récupérer les identifiants demandés.

Phase d'évaluation Origin | Bug 40257092 | Enregistrement sur ChromeStatus.com | Spécification

Évaluation avant abandon de SelectParserRelaxation

Il s'agit d'un test d'abandon, qui réactive l'ancien comportement de l'analyseur pour l'analyse des balises <select>. Avec l'ancien comportement, le contenu non compatible est supprimé sans notification et n'est pas inclus dans le contenu DOM sous <select>. Vous pouvez utiliser cet essai si le nouveau comportement activé à partir de Chrome 135 entraîne un plantage d'un site.

Test Origin | Enregistrement sur ChromeStatus.com

Abandons et suppressions

Suppression des contraintes audio non standards pour getUserMedia

Blink acceptait déjà plusieurs contraintes non standards avec le préfixe goog pour getUserMedia avant qu'elles ne soient normalisées.

L'utilisation de ces contraintes a considérablement diminué (d'environ 0,000001% à 0,0009 %, selon la contrainte), et certaines d'entre elles n'ont même plus d'effet en raison de modifications apportées à la pile de capture audio Chromium. D'ici peu, elles seront toutes ineffectives en raison d'autres modifications à venir.

Nous ne prévoyons aucune régression majeure à la suite de ce changement. Les applications qui utilisent ces contraintes continueront de fonctionner, mais elles recevront l'audio avec les paramètres par défaut (comme si aucune contrainte n'avait été transmise). Ils peuvent choisir de passer aux contraintes standards.

Bug de suivi 377131184 | Enregistrement sur ChromeStatus.com | Spécification