Publié le 13 novembre 2024
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 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 sur 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 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. 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 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.
É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. Cependant, 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
.
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.
Fonctionnalités d'autorisation FedCM
Il regroupe plusieurs fonctionnalités que les fournisseurs d'identité (IdP) peuvent utiliser pour implémenter des flux d'autorisation, par exemple pour autoriser un utilisateur à accorder l'accès à son agenda à une partie de confiance (RP). Plus spécifiquement :
- L'IDP doit pouvoir afficher une invite personnalisée pour l'autorisation (API de continuation).
- Le RP a besoin d'un moyen extensible de 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 par l'IDP du "nom, de l'adresse e-mail et de la photo de profil", car dans cette situation, il demande des informations différentes (API des champs).
- Le fournisseur d'identité peut souhaiter utiliser un point de terminaison différent pour implémenter le flux d'autorisation (plusieurs configURLs).
- Certains comptes ne peuvent être éligibles qu'à l'un des flux d'authentification et d'autorisation. Il doit donc exister un moyen d'afficher différents comptes dans les deux flux (API des libellés de compte).
API Mode FedCM 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, en cliquant sur un bouton Se connecter à l'IDP), ce qui oblige FedCM à garantir qu'il répondra toujours avec une interface utilisateur visible. L'appel de 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é lors du chargement de la page). - Utiliser un autre compte: avec cette extension, un IdP peut autoriser les utilisateurs à se connecter à d'autres comptes.
Récupérer: 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.
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 accorde 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 de bureau dans Chrome 86. Avec Chrome 132, il est disponible sur Android et WebView.
Ignorer Strict-Transport-Security pour localhost
Les en-têtes de réponse Strict-Transport-Security
(STS) peuvent poser problème pour les serveurs Web localhost, car STS s'applique à l'ensemble 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. Cela 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.
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.
Valeur générique par défaut de la liste d'autorisation du règlement sur les autorisations de l'API Private State Tokens
L'accès à l'API Private State Token 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).
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
.
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.
Lancer une exception pour les popovers et les boîtes de dialogue dans les documents inactifs
Auparavant, l'appel de showPopover()
ou showModal()
sur un popover ou une boîte de dialogue situé dans un document inactif échouait de manière silencieuse. Aucune exception ne sera générée, mais comme le document est inactif, aucun pop-up ni aucune boîte de dialogue ne s'affichera. À partir de Chrome 132, ces situations génèrent désormais une exception 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 à virgule flottante 32 bits
La fonctionnalité GPU float32-blendable
permet de mélanger les textures GPU avec les formats r32float
, rg32float
et rgba32float
.
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 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.
Nouveaux tests Origin
Dans Chrome 132, vous pouvez activer les nouvelles phases d'évaluation de l'origine suivantes.
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 des 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.
Conseils de compilation explicites avec des commentaires magiques
Cette fonctionnalité vous permet d'associer des informations sur les fonctions à analyser et compiler de manière anticipée dans les fichiers JavaScript. Les informations seront encodées en tant que commentaires magiques.
Abandons et suppressions
Cette version de Chrome introduit les abandons et suppressions suivants. Consultez ChromeStatus.com pour obtenir la liste des fonctionnalités abandonnées, en cours d'abandon et supprimées précédemment.
Cette version de Chrome supprime deux fonctionnalités.
navigator.storage
n'est plus un EventTarget
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
.
Suppression des API de plein écran HTMLVideoElement
avec préfixe
Les API de 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. Leur utilisation a diminué régulièrement au fil des ans.