Version bêta de Chrome 132

Publié le 13 novembre 2024

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

CSS

Cette version ajoute deux nouvelles fonctionnalités 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.

Modes d'écriture CSS de côté

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. Contrairement à vertical-rl et vertical-lr, ils n'ont pas de comportements favorables aux langues CJK.

API Web

Capturer tous les écrans

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

L'appel de getDisplayMedia() à plusieurs reprises nécessite plusieurs gestes de l'utilisateur, l'oblige à 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é n'est disponible que sur ordinateur.

Événements d'activation/désactivation de la boîte de dialogue

Il est utile de savoir quand les éléments <dialog> s'ouvrent et se ferment, et popover possède déjà 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. Cependant, cela demande beaucoup de travail alors qu'un événement serait plus simple.

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

Capture d'éléments

Étant donné une vidéo MediaStreamTrack obtenue par des moyens préexistants pour lancer la capture d'onglet, Element Capture 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 le contenu masqué et le contenu masquant sont tous deux exclus de la capture.

Fonctionnalités d'autorisation FedCM

Il regroupe quelques fonctionnalités que les fournisseurs d'identité (IdP) peuvent utiliser pour implémenter des flux d'autorisation, par exemple en permettant à un utilisateur d'accorder l'accès à son agenda à une partie de confiance (RP). Plus spécifiquement :

  • Le fournisseur d'identité doit pouvoir afficher une invite personnalisée pour l'autorisation (API de poursuite).
  • Le RP a besoin d'un moyen extensible pour communiquer à l'IdP ce à quoi il souhaite accéder (API de paramètres).
  • Le RP doit pouvoir personnaliser ou supprimer le texte faisant référence au partage du "nom, de l'adresse e-mail et de la photo de profil" de l'IdP, car dans cette situation, il demande des informations différentes (API Fields).
  • Le fournisseur d'identité peut souhaiter utiliser un point de terminaison différent pour implémenter le flux d'autorisation (plusieurs configURL).
  • Certains comptes ne sont éligibles qu'à l'un des flux d'authentification et d'autorisation. Il est donc nécessaire de pouvoir afficher différents comptes dans les deux flux (API des libellés de compte).

API FedCM Mode et API Use Other Account

Deux nouvelles extensions pour FedCM :

  • Mode : le mode active permet aux sites Web d'appeler FedCM lors d'un clic sur un bouton (par exemple, sur un bouton Se connecter à l'IdP). FedCM doit alors garantir qu'il répondra toujours avec une interface utilisateur visible. L'appel de l'API FedCM en mode actif redirige les utilisateurs vers la page de connexion du 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ée au chargement de la page).
  • Utiliser un autre compte : avec cette extension, un IdP peut autoriser les utilisateurs à se connecter à d'autres comptes.

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. Pour lire une Uint8Array, vous devez en créer une. La méthode bytes() améliore l'ergonomie pour obtenir le corps de la requête et de la réponse.

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 dossiers sélectionnés par l'utilisateur. En plus de la lecture et de l'écriture de fichiers, cette API permet d'ouvrir un répertoire et d'énumérer son contenu, ainsi que de stocker des descripteurs de fichiers et de répertoires dans IndexedDB pour retrouver l'accès au même contenu ultérieurement.

L'accès au système de fichiers a été déployé sur ordinateur dans Chrome 86. Il est désormais disponible sur Android et WebView dans Chrome 132.

Ignorer Strict-Transport-Security pour localhost

Les en-têtes de réponse Strict-Transport-Security (STS) peuvent poser problème aux serveurs Web localhost, car STS s'applique à l'ensemble de l'hôte, sur tous les ports. Cela pose des problèmes de compatibilité pour les développeurs Web qui effectuent des tests en local. Cela affecte également les utilisateurs finaux qui utilisent des packages 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 depuis 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 suivantes, 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.

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 est résolu et la fonctionnalité continue d'être déployée avec Chrome 132.

Wildcard par défaut de la liste d'autorisation de la règle relative aux autorisations de l'API Private State Token

L'accès à l'API Private State Token est contrôlé par les fonctionnalités de la règle relative aux autorisations. Chrome 132 met à jour la liste d'autorisation par défaut pour les fonctionnalités private-state-token-issuance et private-state-token-redemption, en remplaçant self par * (caractère générique).

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(), en suivant le principe selon lequel les API doivent généralement fournir des tampons d'octets en tant que Uint8Arrays. Chrome 132 s'aligne sur l'interface Body en fournissant également l'accesseur bytes() sur l'interface PushMessageData.

Requêtes enregistrées dans sharedStorage.selectURL

sharedStorage.selectURL() permet désormais d'enregistrer et de réutiliser des requêtes pour chaque page. Les deux budgets de chargement par 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.

Génération d'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 dans un document inactif échouait de manière silencieuse. Aucune exception n'était générée. Toutefois, comme le document était inactif, aucun popover ni aucune boîte de dialogue ne s'affichait. À partir de Chrome 132, ces situations génèrent désormais InvalidStateError.

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

WebGPU : mélange de textures float 32 bits

La fonctionnalité GPU float32-blendable permet de rendre les textures GPU avec les formats r32float, rg32float et rgba32float compatibles avec le blending.

WebGPU : exposer GPUAdapterInfo à partir de GPUDevice

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

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 certains formats de vue peuvent être incompatibles avec l'ensemble 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 la 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.

Nouvelles phases d'évaluation

Dans Chrome 132, vous pouvez participer aux nouvelles phases d'évaluation Origin Trial suivantes.

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.

Conseils de compilation explicites avec les commentaires magiques

Cette fonctionnalité vous permet d'ajouter des informations sur les fonctions qui doivent être analysées et compilées de manière anticipée dans les fichiers JavaScript. Les informations seront encodées sous forme de commentaires magiques.

Arrêts et suppressions

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

Cette version de Chrome supprime deux fonctionnalités.

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

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

Les API HTMLVideoElement en plein écran 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. En 2024, la plupart des navigateurs sont compatibles avec les API sans préfixe, et ce, depuis quelques années déjà.

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.