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 sur ChromeStatus.com. Chrome 131 est en version bêta depuis le 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 d'ancrage à un sous-arbre donné.
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). Vous pouvez également ajouter un sélecteur de variation d'emoji, en particulier U+FE0E pour le texte et U+FE0F pour les emoji, après chaque code de point de code 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 apportées au style de la structure des éléments <details>
et <summary>
Davantage de styles CSS sont pris en charge pour la structure des éléments <details>
et <summary>
. Cela peut faciliter l'utilisation de ces éléments lorsque des widgets de divulgation ou des widgets accordéon sont créés sur le Web. Plus précisément, ce changement 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 styliser le conteneur de 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 marge est définie à l'aide d'une règle at-rule 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 de composant de syntaxe <string>
pour les propriétés personnalisées enregistrées.
Prise en charge de la couleur actuelle dans la syntaxe de couleur relative
Autorisez les couleurs relatives dans le CSS (à l'aide du mot clé from
) à 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)
.
Compatibilité des ressources SVG externes avec les propriétés clip-path
, fill
, stroke
et marker-*
Cette fonctionnalité est compatible avec les références externes pour les masques de découpe, 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 TCP (Transmission Control Protocol) et UDP (User Datagram Protocol) avec les appareils et systèmes réseau, 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 du CSP sont destinées à protéger contre l'injection de scripts dans le code HTML, et le modèle de menace du 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 autorise l'utilisation de son identité avec un fournisseur d'identité tiers (IdP) sur une partie de confiance (RP), de nombreux IdP nécessitent 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 aussi 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 de Shared Storage peuvent contourner la limite en appelant une autre opération Shared Storage. Toutefois, les appelants Protected Audience ne disposent pas de stockage persistant. Ils perdent donc leurs contributions excédentaires à la fin de leur mise aux enchères. 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 prévoyons que ces rapports plus volumineux augmenteront les coûts de fonctionnement du service d'agrégation.
Assouplissement de l'analyseur <select>
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éployée en premier, car elle peut être effectuée indépendamment et présente des risques de compatibilité sur lesquels l'équipe Chrome souhaite obtenir des commentaires.
WebGPU: distances de découpe
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: getConfiguration()
GPUCanvasContext
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 les 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
, à ceci près 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, des fonctionnalités en cours d'abandon et des fonctionnalités 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.