Chrome 131 bêta

Publié le 16 octobre 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 disponible sur ChromeStatus.com. Chrome 131 est en version bêta au 16 octobre 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 huit nouvelles fonctionnalités CSS.

Positionnement des ancres CSS : "anchor-scope"

La propriété anchor-scope permet de limiter la visibilité des noms des ancres à une sous-arborescence donnée.

CSS font-variant-emoji

La propriété CSS font-variant-emoji permet de contrôler les glyphes emoji colorés (style emoji) et monochromes (style texte). Pour ce faire, vous pouvez également ajouter un sélecteur de variante d'emoji après chaque point de code d'emoji, en particulier U+FE0E pour le texte et U+FE0F pour les emoji.

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.

Pour en savoir plus, consultez l'article de blog Modifications de l'héritage pour le style de sélection CSS, écrit par Stephen Chenney d'Igalia.

Améliorations de la structure de style des éléments <details> et <summary>

Prise en charge de plus de styles CSS pour la structure des éléments <details> et <summary> afin de permettre leur utilisation dans davantage de cas où des widgets de divulgation ou des widgets accordéon sont créés sur le Web. En particulier, cette modification supprime les restrictions qui empêchaient de définir la propriété d'affichage sur ces éléments et ajoute un pseudo-élément ::details-content pour appliquer un style au conteneur pour la partie qui se développe et se réduit.

@page cadres de marge

Prise en charge des marges de page lorsque vous imprimez un document Web ou l'exportez au format PDF.

Les marges @page vous permettent de définir le contenu dans la zone de marge d'une page, par exemple pour fournir des en-têtes et des pieds de page personnalisés plutôt que d'utiliser les en-têtes et pieds de page intégrés générés par le navigateur.

Une zone de marge est définie à l'aide d'une règle @ dans une règle CSS @page. L'apparence et le contenu d'une marge sont spécifiés avec des propriétés CSS dans la règle at, y compris la propriété content. Les compteurs sont également acceptés pour la numérotation des pages. La spécification définit deux noms de compteurs spéciaux: page pour le numéro de page actuel et pages pour le nombre total de pages.

Prise en charge de la syntaxe <string> pour @property

Prise en charge du nom du composant de syntaxe <string> pour les propriétés personnalisées enregistrées.

Prise en charge de currentcolor dans la syntaxe de couleur relative

Autorisez les couleurs relatives dans CSS (à l'aide du mot clé from) pour utiliser currentcolor comme base. Vous pouvez ainsi définir des couleurs complémentaires, en fonction de la couleur du texte d'un élément, pour ses bordures, ses ombres ou ses arrière-plans.

Cette fonctionnalité inclut également les cas d'utilisation où les fonctions de couleur sont imbriquées avec une dépendance sur la couleur actuelle, par exemple color-mix(in srgb, rgb(from currentcolor r g b), white)) ou rgb(from rgb(from currentcolor 1 g b) b g r).

Prise en charge des ressources SVG externes pour les propriétés clip-path, fill, stroke et marker-*

Cette fonctionnalité est compatible avec les références externes pour les chemins de détourage, les repères et les serveurs de peinture (pour les propriétés "fill" et "stroke"). Par exemple : clip-path: url("resources.svg#myPath").

API Web

API Direct Sockets

Permet aux applications Web isolées d'établir des communications directes avec les appareils et systèmes réseau via le protocole TCP (Transmission Control Protocol) et le protocole UDP (User Datagram Protocol), ainsi que d'écouter et d'accepter les connexions entrantes.

Exempter l'en-tête Speculation-Rules des restrictions CSP

Met à jour l'intégration entre les règles de spéculation et le CSP afin que le CSP ne s'applique qu'à <script type=speculationrules> et non à l'en-tête Speculation-Rules. Les règles de script de CSP sont destinées à protéger contre l'injection de scripts en HTML, et le modèle de gestion des menaces de CSP ne concerne pas les en-têtes HTTP. Cela permet de déployer plus facilement des règles de spéculation à partir de CDN et d'autres serveurs de bordure.

FedCM en tant que signal de confiance pour l'API Storage Access

Réconcilie les API FedCM et Storage Access en faisant en sorte qu'une autorisation FedCM antérieure constitue un motif valide pour approuver automatiquement une demande d'accès au stockage.

Lorsqu'un utilisateur accorde l'autorisation d'utiliser son identité auprès d'un fournisseur d'identité (IdP) tiers sur un tiers de confiance (RP), de nombreux fournisseurs d'identité exigent des cookies tiers pour fonctionner correctement et de manière sécurisée. Cette proposition vise à répondre à cette exigence de manière privée et sécurisée en mettant à jour les vérifications d'autorisation de l'API Storage Access (SAA) pour accepter non seulement l'autorisation accordée par une invite d'accès au stockage, mais également l'autorisation accordée par une invite FedCM.

Une propriété clé de ce mécanisme consiste à limiter l'octroi aux cas explicitement autorisés par le RP avec la stratégie d'autorisation FedCM, à appliquer un contrôle par frame pour le RP et à empêcher la surveillance passive par l'IDP au-delà des fonctionnalités que FedCM accorde déjà.

Valeur COOP noopener-allow-popups

Certaines origines peuvent contenir différentes applications avec différents niveaux d'exigences de sécurité. Dans ce cas, il peut être utile d'empêcher les scripts exécutés dans une application d'ouvrir et de créer des pages d'une autre application de même origine.

Dans ce cas, il peut être utile pour un document de s'assurer que son ouvreur ne peut pas le scripter, même si le document de l'ouvreur est de même origine. La valeur noopener-allow-popups Cross-Origin-Opener-Policy permet aux documents de définir ce comportement.

API Private Aggregation: augmentation de la limite de contribution à 100 pour les appelants Protected Audience

Permet aux exécuteurs de script Protected Audience d'effectuer jusqu'à 100 contributions par rapport d'agrégation privée, contre 20 actuellement.

L'agrégation privée limite le nombre de contributions d'histogramme pouvant être intégrées dans un seul rapport agrégable, en supprimant les contributions supplémentaires. Les appelants du stockage partagé peuvent contourner la limite en appelant une autre opération de stockage partagé. Toutefois, les appelants de l'API Protected Audience ne disposent pas d'un espace de stockage persistant. Ils perdent donc leurs contributions excédentaires à la fin de leur enchère. Notez que cette modification n'a pas d'incidence sur la confidentialité, car les contributions de l'API sont toujours limitées par le même budget de confidentialité.

En raison du remplissage, chaque rapport Protected Audience aura une charge utile plus importante, même s'il n'avait pas besoin de la limite de contribution plus élevée. Nous nous attendons à ce que ces rapports, plus volumineux, augmentent le coût d'exploitation du service d'agrégation.

Sélectionner la relaxation de l'analyseur

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

Cette modification est compatible avec la fonctionnalité <select> personnalisable, mais elle est d'abord publiée, car elle peut être effectuée séparément et présente un risque de compatibilité sur lequel l'équipe Chrome souhaite obtenir des commentaires.

WebGPU: distances des extraits

Ajoute la fonctionnalité GPU facultative clip-distances qui permet de définir des distances de découpe définies par l'utilisateur dans les sorties du nuanceur de sommets. Cette technique est particulièrement utile pour les applications qui doivent découper tous les sommets d'une scène situés au-delà d'un plan défini par l'utilisateur, comme de nombreuses applications de CAO.

WebGPU: GPUCanvasContext getConfiguration()

Une fois GPUCanvasContext configure() appelé avec un dictionnaire de configuration, vous pouvez utiliser la méthode GPUCanvasContext getConfiguration() pour vérifier la configuration du contexte du canevas. Il inclut les membres GPU device, format, usage, viewFormats, colorSpace, toneMapping et alphaMode. Comme indiqué dans l'issue 4828, les applications Web peuvent l'utiliser pour détecter si le canevas HDR est compatible avec WebGPU.

WebHID sur des nœuds de calcul dédiés

Active WebHID dans les contextes de worker dédiés. Vous pouvez ainsi effectuer des E/S lourdes et traiter les données d'un appareil HID sur un thread distinct, ce qui permet de réduire l'impact sur les performances du thread principal.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

API qui configure les encodeurs WebRTC pour mettre à l'échelle les images d'entrée si elles sont supérieures aux valeurs maxWidth et maxHeight spécifiées. Cette API est semblable à scaleResolutionDownBy, à l'exception que les contraintes de résolution sont exprimées en termes absolus (par exemple, 640 x 360) plutôt qu'en termes relatifs (par exemple, réduire de 2), ce qui évite les conditions de course liées à la modification de la taille du frame d'entrée à la volée.

Nouveaux tests Origin

Dans Chrome 131, vous pouvez activer les nouvelles phases d'évaluation de l'origine suivantes.

Statistiques de lecture pour WebAudio

La fonctionnalité AudioContext.playoutStats permet à une application de mesurer la qualité et la latence de la lecture audio à l'aide de WebAudio.

API Summarizer

API JavaScript permettant de générer des résumés du texte saisi, basés sur un modèle de langage d'IA.

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 trois fonctionnalités.

Suppression de la propriété de positionnement des ancres CSS inset-area

Avec la résolution du groupe de travail CSS sur le renommage de la propriété inset-area en position-area, cette suppression nettoie l'implémentation dans Chromium pour une fonctionnalité conforme aux normes.

Supprimer la possibilité de désactiver BeforeunloadEventCancelByPreventDefault

La fonctionnalité BeforeunloadEventCancelByPreventDefault a été publiée dans Chrome 117, mais une règle d'entreprise permet de désactiver de force ce flag. La règle d'entreprise sera supprimée dans Chrome 131.

Suppression de la méthode requestAdapterInfo() non standard de GPUAdapter

Le groupe de travail WebGPU a estimé que requestAdapterInfo() n'était pas pratique pour déclencher une invite d'autorisation. Il a donc supprimé cette option et l'a remplacée par l'attribut info GPUAdapter afin que les développeurs Web puissent obtenir la même valeur GPUAdapterInfo de manière synchrone.