Chrome 132

Date de sortie de la version stable:14 janvier 2025

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

HTML et DOM

Générer une exception pour les popovers et les boîtes de dialogue dans les documents inactifs

Auparavant, l'appel de showPopover() ou de showModal() sur un popover ou une boîte de dialogue situé dans un document inactif échouait de manière silencieuse. Aucune exception ne serait générée, mais comme le document est inactif, aucun popover ni aucune boîte de dialogue ne s'affiche. À partir de Chrome 132, ces situations génèrent désormais une exception InvalidStateError.

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

Événements de bascule de boîte de dialogue

Il est utile de savoir quand les éléments <dialog> s'ouvrent et se ferment. popover dispose déjà de ToggleEvent, qui est distribué lorsqu'un popover s'ouvre ou se ferme. Auparavant, pour détecter l'ouverture d'un <dialog>, vous deviez enregistrer un observateur de mutation pour vérifier l'ouverture. Toutefois, cela représente beaucoup de travail, alors qu'un événement serait plus simple.

Cette modification intègre le même ToggleEvent que les popovers, mais pour les éléments <dialog>: lorsque showModal ou show est appelé, <dialog> distribue un ToggleEvent avec newState=open. Lorsqu'un <dialog> est fermé (à l'aide du formulaire, du bouton ou du closewatcher), il doit distribuer un ToggleEvent avec newState=closed.

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

Correction de la sélection isCollapsed dans Shadow DOM

La sélection isCollapsed doit renvoyer la valeur "true" si et seulement si l'ancrage et la sélection sont identiques. Cela doit être vrai que la sélection commence ou se termine dans un arbre d'ombre ou de lumière.

Démonstration | Bug de suivi 40400558 | Article sur ChromeStatus.com | Spécification

CSS

Positionnement des ancres CSS: autoriser anchor-size() dans les propriétés inset et margin

À l'origine, anchor-size() n'était autorisé que dans les propriétés de dimensionnement. La spécification a été modifiée pour autoriser anchor-size() dans les encarts et les marges.

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

Modes d'écriture latérale CSS

Prise en charge des mots clés sideways-rl et sideways-lr pour la propriété CSS writing-mode. sideways-rl et sideways-lr sont utiles pour écrire du texte non CJK verticalement. Ils n'ont pas de comportements favorables aux langues CJK, contrairement à vertical-rl et vertical-lr.

Mode d'écriture MDN | Bug de suivi 40501131 | Enregistrement sur ChromeStatus.com | Spécification

Chargement en cours

Récupération: Request.bytes() et Response.bytes()

Ajoutez une méthode bytes() aux interfaces Request et Response, qui renvoie une promesse résolue avec un Uint8Array. Bien que Request et Response disposent d'une méthode arrayBuffer(), vous ne pouvez pas lire directement à partir d'un tampon. Vous devez créer une vue telle qu'une Uint8Array pour la lire. La méthode bytes() améliore l'ergonomie de l'obtention du corps de la requête et de la réponse.

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

Ignorer Strict-Transport-Security pour localhost

Les en-têtes de réponse Strict-Transport-Security (STS) peuvent causer des problèmes pour les serveurs Web localhost, car STS s'applique à l'échelle de l'hôte, sur tous les ports. Cela entraîne des problèmes de compatibilité pour les développeurs Web effectuant des tests en local. Il affecte également les utilisateurs finaux qui utilisent des paquets logiciels qui démarrent généralement des serveurs Web localhost pour des raisons éphémères. Par exemple, la communication d'un jeton d'authentification à partir d'une connexion Web vers un package logiciel local. Si un écouteur local définit Strict-Transport-Security sur une réponse localhost, il est appliqué à toutes les requêtes localhost ultérieures, quel que soit le port.

Chrome 132 résout ce problème en ignorant les en-têtes Strict-Transport-Security dans les réponses des URL localhost.

Bug 41251622 en cours de suivi | Enregistrement sur ChromeStatus.com

Multimédia

Capturer tous les écrans

Capturez tous les écrans connectés à l'appareil à l'aide de getAllScreensMedia().

L'appel de getDisplayMedia() plusieurs fois nécessite plusieurs gestes de l'utilisateur, oblige l'utilisateur à choisir l'écran suivant à chaque fois et ne garantit pas à l'application que tous les écrans ont été sélectionnés. La méthode getAllScreensMedia() améliore tous ces aspects.

Cette fonctionnalité est disponible sur ordinateur uniquement.

Document de conception | Bug de suivi 40216442 | Enregistrement sur ChromeStatus.com | Spécification

Capture d'éléments

Étant donné un MediaStreamTrack vidéo obtenu par des moyens préexistants pour lancer la capture d'onglet, la capture d'éléments permet de modifier la piste pour ne capturer qu'un sous-arbre du DOM à partir d'un élément donné.

L'API ressemble à l'API Region Capture, mais offre une plus grande flexibilité aux applications, car les contenus masqués et masqués sont tous deux exclus de la capture.

Démonstration | Bug de suivi 270230413 | Article sur ChromeStatus.com | Spécification

API Web

PushMessageData::bytes()

L'interface PushMessageData imite l'interface Body, qui a été modifiée plus tôt cette année avec une nouvelle méthode bytes(), conformément au principe selon lequel les API doivent généralement vendre des tampons d'octets en tant que Uint8Arrays. Chrome 132 se réaligne sur l'interface Body en fournissant également l'accessoire bytes() sur l'interface PushMessageData.

Méthode MDN PushMessageData: bytes() | Bug de suivi 373336950 | Enregistrement sur ChromeStatus.com | Spécification

Conteneurs de défilement sélectionnables au clavier

Le déploiement de cette fonctionnalité (à partir de Chrome 130) a été interrompu en raison d'une régression de l'accessibilité. Ce problème a été résolu, et la fonctionnalité continue de se déployer avec Chrome 132.

Barres de défilement sélectionnables au clavier | Bug de suivi 40113891 | Enregistrement sur ChromeStatus.com | Spécification

API Device Posture

Cette API aide les développeurs à détecter la position actuelle d'un appareil pliable. La position de l'appareil est la position physique dans laquelle un appareil se trouve, qui peut être dérivée de capteurs en plus de l'angle.

Que ce soit pour améliorer l'usabilité d'un site Web en évitant la zone de pliage ou pour permettre des cas d'utilisation innovants sur le Web, connaître la position d'un appareil peut aider les développeurs à adapter leur contenu à différents appareils.

Le contenu peut être consommé et parcouru même lorsque l'appareil n'est pas à plat, auquel cas le développeur peut fournir une mise en page différente en fonction de l'état de la position dans laquelle l'appareil est utilisé.

Dépôt Git | Bug de suivi 40124716 | Enregistrement sur ChromeStatus.com | Spécification

Requêtes enregistrées dans sharedStorage.selectURL

sharedStorage.selectURL() permet désormais d'enregistrer et de réutiliser des requêtes par page, où les deux budgets par chargement de page sont facturés la première fois qu'une requête enregistrée est exécutée, mais pas pour les exécutions ultérieures de la requête enregistrée au cours du même chargement de page. Pour ce faire, utilisez un paramètre savedQuery dans les options de selectURL() qui nomme la requête.

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

Valeur générique par défaut de la liste d'autorisation de la règle d'autorisations de l'API Private State Tokens

L'accès à l'API Private State Tokens est limité par les fonctionnalités de la règle d'autorisation. Chrome 132 met à jour la liste d'autorisation par défaut pour les fonctionnalités private-state-token-issuance et private-state-token-redemption de self à * (caractère générique).

Enregistrement sur ChromeStatus.com | Spécification

API Mode FedCM et API Use Other Account

Deux nouvelles extensions pour FedCM:

  • Mode: le mode active permet aux sites Web d'appeler FedCM dans un clic de bouton (par exemple, en cliquant sur un bouton Se connecter à l'IDP), ce qui oblige FedCM à garantir qu'il répondra toujours avec une interface utilisateur visible. Appeler l'API FedCM en mode actif permet aux utilisateurs de se connecter au fournisseur d'identité (IdP) lorsqu'ils sont déconnectés. De plus, comme le mode actif est appelé dans un geste utilisateur explicite, l'UI est également plus visible (par exemple, centrée et modale) par rapport à l'UI du mode passif (qui ne nécessite pas de geste utilisateur et peut être appelé au chargement de la page).
  • Utiliser un autre compte: avec cette extension, un IdP peut autoriser les utilisateurs à se connecter à d'autres comptes.

Démonstration | Bug de suivi 370694829 | Article sur ChromeStatus.com | Spécification

Accès au système de fichiers pour Android et WebView

Cette API permet aux développeurs de créer des applications puissantes qui interagissent avec d'autres applications (non Web) sur l'appareil de l'utilisateur à l'aide du système de fichiers de l'appareil. Une fois qu'un utilisateur a accordé l'accès à une application Web, cette API permet à l'application de lire ou d'enregistrer les modifications directement dans les fichiers et les dossiers sélectionnés par l'utilisateur. En plus de lire et d'écrire des fichiers, cette API permet d'ouvrir un répertoire et d'en énumérer le contenu, ainsi que de stocker des poignées de fichiers et de répertoires dans IndexedDB pour récupérer ultérieurement l'accès au même contenu.

L'accès au système de fichiers est disponible sur ordinateur dans Chrome 86. Avec Chrome 132, il est disponible sur Android et WebView.

API File System Access | Bug de suivi 40091667 | Enregistrement sur ChromeStatus.com | Spécification

API WebAuthn Signal

Permet aux parties de confiance WebAuthn de signaler des informations sur les identifiants existants aux fournisseurs de stockage d'identifiants, afin que les identifiants incorrects ou révoqués puissent être mis à jour ou supprimés de l'UI du fournisseur et du système.

En savoir plus sur l'API Signal pour les clés d'accès sur Chrome pour ordinateur

Démonstration | Bug de suivi 361751877 | Article sur ChromeStatus.com | Spécification

Rendu et éléments graphiques

WebGPU: mélange de textures à virgule flottante 32 bits

La fonctionnalité GPU float32-blendable permet de mélanger les textures GPU avec les formats r32float, rg32float et rgba32float.

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

WebGPU: exposer GPUAdapterInfo à partir de GPUDevice

L'attribut adapterInfo de GPUDevice expose le même GPUAdapterInfo que l'objet GPUAdapter.

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

WebGPU: utilisation de la vue de texture

Ajoute un champ facultatif à la création de la vue de texture WebGPU pour demander un sous-ensemble des indicateurs d'utilisation de la texture source.

Par défaut, l'utilisation de la vue de texture hérite de la texture source, mais il existe des formats de vue qui peuvent être incompatibles avec l'ensemble complet des utilisations héritées. L'ajout d'un champ d'utilisation à la création de la vue de texture permet à l'utilisateur de demander un sous-ensemble des utilisations de la texture source qui sont valides avec le format de vue et spécifiques à l'utilisation prévue de la vue de texture.

Les implémentations WebGPU peuvent également optimiser la création de ressources de bas niveau et améliorer les performances lors de l'utilisation de vues avec des indicateurs d'utilisation plus spécialisés.

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

Essais Origin

Conseils de compilation explicites avec des commentaires magiques

Cette fonctionnalité vous permet d'associer des informations sur les fonctions à analyser et compiler avec empressement dans les fichiers JavaScript. Les informations seront encodées en tant que commentaires magiques.

Phase d'évaluation Origin | Présentation | Bug 42203853 | Article sur ChromeStatus.com

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 stratégie est basée sur l'isolation de processus. En outre, les sous-ressources multi-origines du document non-CORS seront chargées sans identifiants ou devront comporter un en-tête CORP.

Phase d'évaluation Origin | Bug de suivi 333029146 | Enregistrement sur ChromeStatus.com | Spécification

Abandons et suppressions

navigator.storage est devenu EventTarget pour l'événement de pression de stockage, qui n'a jamais dépassé la phase de prototypage. Ce code mort est en cours de suppression. Par conséquent, navigator.storage n'étendra plus EventTarget.

Enregistrement sur ChromeStatus.com | Spécification

Suppression des API de plein écran HTMLVideoElement avec préfixe

Les API en plein écran HTMLVideoElement avec préfixe sont obsolètes dans Chrome.

Elles ont été remplacées par l'API Element.requestFullscreen(), qui a été publiée pour la première fois sans préfixe dans Chrome 71, en 2018. Depuis 2024, la plupart des navigateurs sont compatibles avec les API sans préfixe depuis quelques années.

Chrome 132 supprime les éléments suivants de HTMLVideoElement:

  • Attribut webkitSupportsFullscreen.
  • Attribut webkitDisplayingFullscreen.
  • La méthode webkitEnterFullscreen().
  • La méthode webkitExitFullscreen(). Notez la différence de casse du "S" dans FullScreen.
  • La méthode webkitEnterFullScreen().
  • La méthode webkitExitFullScreen().

Ces méthodes ne sont désormais que des alias de l'API moderne. Elles sont de moins en moins utilisées au fil des ans.

Enregistrement sur ChromeStatus.com

Documentation complémentaire

Vous souhaitez en savoir plus ? Consultez ces ressources supplémentaires.

Télécharger Google Chrome

Téléchargez Chrome pour Android, ordinateur ou iOS.