Chrome 122 bêta

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, cliquez sur les liens fournis ou consultez la liste sur ChromeStatus.com. Chrome 122 est en version bêta depuis le 24 janvier 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 inclut trois nouvelles fonctionnalités CSS.

Les requêtes CSS @container avec des fonctionnalités non compatibles ne correspondent jamais

Les sélecteurs @container contenant des requêtes non compatibles ne sélectionneront jamais de conteneurs, ce qui signifie qu'ils ne correspondront jamais.

Cela signifie que cette requête ne correspondra à aucun conteneur, même si un conteneur de taille correspond à la requête de largeur. Par exemple, la requête suivante ne correspondra jamais en raison d'une fonctionnalité inconnue:

@container (width > 0px) or (unknown) {}

Il s'agit d'une modification récente de la spécification visant à éviter les problèmes de compatibilité ascendante.

Pseudo-élément CSS ::backdrop hérité de l'élément d'origine

Pseudo-élément ::backdrop utilisé pour hériter des valeurs initiales. ::backdrop ne pouvait donc pas utiliser de valeurs de propriété personnalisées, sauf si elles sont spécifiées directement dans la règle ::backdrop. La spécification a été modifiée de sorte que ::backdrop hérite de l'élément d'origine. Grâce à cette modification, l'implémentation de Chrome correspond à la nouvelle spécification.

Conditions du CSS supports() pour @import

@import accepte désormais une condition supports(). Si la condition supports() ne correspond pas, l'importation n'est pas récupérée.

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

Les requêtes de caractéristiques à placer dans supports() sont les mêmes que celles utilisées avec @supports.

API Web

API Async Clipboard: lire du code HTML non rectifié

Ajout d'une option unsanitized dans la méthode read() pour obtenir un format HTML non rectifié. Si les sites n'incluent pas cette propriété, la lecture à partir du presse-papiers sera nettoyée.

Par défaut, lors de la lecture de types MIME text/html à l'aide de l'API asynchrone, l'outil de nettoyage est appelé pour supprimer le contenu du balisage HTML en raison de problèmes de sécurité, et les styles sont intégrés dans le code HTML. Cela entraîne une charge utile HTML volumineuse et une perte de fidélité du contenu HTML lorsqu'il est lu par les développeurs Web ou les applications mobiles.

Ne pas supprimer les objets Type de fichier dans dataTransfer.clearData()

Met à jour Chrome pour qu'il respecte les spec, qui spécifient que clearData() n'a aucune incidence sur les objets File. Elle ne supprime que les objets de genre text.

FedCM: déconnecter

Permet de déconnecter un compte à connexion fédérée à l'aide du site Web du tiers de confiance. Avec l'API de déconnexion, un tiers de confiance peut avertir le fournisseur d'identité qu'un compte précédemment utilisé est désormais déconnecté. Par conséquent, pour réutiliser ce compte avec la connexion fédérée, il faudrait le traiter comme un nouveau compte.

Annulation d'événements de survol de la souris interopérables dans un iFrame

Faites en sorte que les cibles d'événements de souris soient indépendantes de l'annulation d'événements de type "mouse-down" lorsque le pointeur est glissé hors d'un iFrame. Lorsque l'utilisateur déplace la souris en dehors d'un iFrame, tous les navigateurs (y compris Chrome) envoient des événements mousemove et mouseup à l'iFrame. Toutefois, si l'événement "mousedown" est annulé, Chrome conserve aujourd'hui une ancienne exception WebKit selon laquelle les événements de déplacement de la souris et de survol de souris sont envoyés à l'image externe. WebKit a supprimé cette exception l'année dernière, et Mozilla n'a jamais observé ce comportement ces dernières années. Cette fonctionnalité supprimera l'exception Chrome uniquement pour ce cas particulier.

Outils d'aide d'itérateur

Les aides d'itérateur sont de nouvelles méthodes sur le prototype d'itérateur permettant d'utiliser et de consommer des itérateurs de manière générale.

MessagePort.onclose

Modification de l'API Channel Messaging, qui informe l'un des MessagePorts que l'autre port a été dérangé. Autrement dit, close() est appelé, un document dû est détruit ou le port fait l'objet d'une récupération de mémoire.

Extensions RTCRtpSender setParameters() pour demander la génération d'une image clé

Ajoute un deuxième paramètre facultatif à l'appel RTCRtpSender.setParameters de WebRTC, qui peut être utilisé pour demander à l'encodeur associé de générer une image clé.

Définir les méthodes

Les méthodes "set" sont de nouvelles méthodes, telles que l'union et l'intersection, ajoutées à la classe Set intégrée de JavaScript.

API Storage Buckets

Les buckets de stockage permettent aux sites d'organiser les données sur l'appareil dans des "buckets" distincts. Les user-agents peuvent ainsi évincer les données groupées indépendamment de celles qui se trouvent dans d'autres buckets, et les sites peuvent gérer les données sémantiquement associées de manière ergonomique. Chaque bucket de stockage peut contenir des données associées à des API de stockage établies telles que IndexedDB et CacheStorage.

URLPattern: hasRegExpGroups

Permet d'inspecter un URLPattern qui utilise un ou plusieurs groupes d'expressions régulières ECMAScript, et ne convient donc pas à une utilisation dans les cas où un moteur ECMAScript n'est pas disponible (par exemple, certaines API planifiées à venir). À proprement parler, cela reflète ce que les développeurs peuvent savoir de toute façon en inspectant le modèle, mais l'accès à l'implémentation de cette vérification par UA simplifie la tâche.

WebGL drawBufferStorage

WebGL permet d'effectuer un rendu dans des textures et des tampons de rendu de nombreux formats de pixels différents. (par exemple, 8 bits, à virgule flottante et sRVB).

Le tampon de dessin de WebGL (le tampon transmis au compositeur) est de 8 bits par défaut. La fonctionnalité drawBufferStorage permet à WebGL de configurer le format de pixel de ce tampon de dessin, ce qui permet aux développeurs d'effectuer les opérations suivantes :

  • Évitez une copie supplémentaire lors de la conversion du rendu au format de pixels du tampon de dessin par défaut.
  • Permet de dessiner des contenus ayant une précision supérieure à 8 bits.

Cette dernière fonctionnalité permet de débloquer plusieurs applications supplémentaires:

  • Contenu avec une large gamme de couleurs, sans perte de précision
  • Applications médicales nécessitant une précision supérieure à 8 bits.
  • Applications HDR (si disponibles)

Encapsulation de clé X25519Kyber768 pour TLS

Protégez le trafic TLS actuel de Chrome contre la future cryptanalyse quantique en déployant l'algorithme de contrat de clé antiquantique Kyber768. Il s'agit d'un contrat de clé hybride X25519 + Kyber768 basé sur une norme IETF. Cette spécification et ce lancement n'entrent pas dans le cadre du W3C. Cet accord clé sera lancé sous la forme d'un algorithme de chiffrement TLS et doit être transparent pour les utilisateurs.

Essais d'origine en cours

Dans Chrome 122, vous pouvez activer les nouvelles phases d'évaluation suivantes.

Extensions de champ d'application de l'application Web

Le champ d'application de l'application Web (défini par le champ de champ d'application) ne peut être défini qu'avec un chemin provenant d'une seule origine. Il permet de déterminer si le document actuel d'une fenêtre d'application fait partie de l'application. Il détermine également les URL autorisées dans d'autres membres du fichier manifeste.

Avec scope_extensions, les développeurs peuvent étendre les comportements de leur application pour inclure d'autres origines s'il existe un accord entre l'origine principale d'une application Web et les origines associées.

S'inscrire à la phase d'évaluation des extensions de champ d'application Web

Contrôle de la surface capturée

L'API Captured Surface Control permet aux applications Web de générer des événements de type "wheel" dans un onglet ou une fenêtre capturés, et de lire ou d'écrire le niveau de zoom d'un onglet capturé.

Inscrivez-vous à la phase d'évaluation de Captured Surface Control.