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 129 est en version bêta depuis le 21 août 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 et met à jour trois fonctionnalités.
Fonctions CSS interpolate-size property
et calc-size()
La propriété CSS interpolate-size
permet à une page d'activer les animations et les transitions des mots clés de dimensionnement intrinsèque CSS tels que auto
, min-content
et fit-content
, dans les cas où ces mots clés peuvent être animés.
La fonction CSS calc-size()
est une fonction CSS semblable à calc()
. Toutefois, elle accepte également les opérations sur un seul mot clé de dimensionnement compatible. Les mots clés de dimensionnement actuellement acceptés sont auto
, min-content
, max-content
et fit-content
. D'autres mots clés de dimensionnement qui pourraient être acceptés à l'avenir incluent stretch
(actuellement accepté avec le préfixe -webkit-fill-available
) et contain
. Cette fonction permet de représenter les valeurs au milieu des animations autorisées par la propriété interpolate-size
.
Renommer le positionnement des ancres CSS inset-area
en position-area
Le CSSWG a décidé de renommer cette propriété de inset-area
en position-area
. Chrome 129 inclut position-area
. Le nom inset-area
sera supprimé dans une prochaine version.
Positionnement des ancres CSS: inset-area()
non enveloppé
Remplace la fonction inset-area()
par des valeurs de zone intérieure directement dans position-try-fallbacks
. Par exemple, au lieu de position-try-fallbacks:inset-area(top)
, utilisez position-try-fallbacks:top
.
Mise à jour du filtre CSS backdrop-filter pour utiliser edgeMode miroir
La propriété CSS backdrop-filter
applique un ou plusieurs filtres à l'arrière-plan d'un élément. Le fond est le contenu peint qui se trouve derrière l'élément.
Un filtre courant est le floutage, qui permet aux concepteurs de créer des boîtes de dialogue "verre dépoli", des superpositions vidéo, des en-têtes de navigation translucides, etc.
Cette fonctionnalité a été initialement implémentée de la même manière qu'un floutage standard, mais l'échantillonnage au-delà des bords de l'élément permettait aux couleurs des bords de se propager. La spécification a été modifiée pour échantillonner les pixels en dehors des bords du fond en dupliquant les pixels au bord. Cela entraîne cependant un clignotement extrême du contenu lorsqu'il atteint le bord du fond. La dernière modification de la spécification reflète l'arrière-plan lors de l'échantillonnage au-delà du bord, ce qui permet d'introduire progressivement de nouvelles couleurs aux bords sans trop accentuer les lignes de couleur.
API Web
Compatibilité avec les objets blob dans les canaux de données WebRTC
Implémente RTCDataChannel.send(Blob)
. L'événement onMessage
peut désormais recevoir des données de type Blob
à l'aide de l'attribut binaryType
.
En plus de prendre en charge l'envoi de chaînes et d'ArrayBuffers, vous pouvez désormais choisir d'envoyer un Blob
à la place, à condition que sa taille soit inférieure à la maxMessageSize
de transport SCTP, comme indiqué dans la spécification WebRTC.
Lorsque l'attribut binaryType
est défini sur "blob"
, l'attribut de données d'événement onMessage est de type Blob
au lieu de ArrayBuffer
, qui est actuellement compatible.
Commandes de l'extension WebDriver Compute Pressure
Exposer des commandes WebDriver pour créer, supprimer et mettre à jour des échantillons de sources de pression pour les sources de pression virtuelles. Ces sources de pression qui ne dépendent pas de la compatibilité du matériel ou du système d'exploitation sous-jacent et qui peuvent être utilisées pour les tests.
Intl.DurationFormat
Fournit une méthode de mise en forme des durées, par exemple "1 h 40 min 30 s", qui est compatible avec plusieurs paramètres régionaux.
API Private Aggregation: fusion des contributions côté client
Modifie l'API Private Aggregation pour fusionner les contributions d'histogramme avec le même bucket et l'ID de filtrage avant de les intégrer dans la charge utile chiffrée du rapport agrégable.
L'agrégation privée limite le nombre de contributions pouvant être intégrées dans un seul rapport agrégable, et les contributions supplémentaires sont supprimées. En fusionnant les contributions dans la mesure du possible, nous pouvons tirer un meilleur parti de la limite. Notez que, en ignorant la suppression des contributions excédentaires, la fusion de ces types de contributions ne devrait avoir aucun impact sur les résultats finaux, par exemple les rapports récapitulatifs.
scheduler.yield()
Fournit une méthode permettant de céder le contrôle au navigateur, qui peut être utilisée pour diviser de longues tâches. L'attente de la promesse renvoyée par scheduler.yield()
entraîne l'abandon de la tâche en cours, qui se poursuit dans une nouvelle tâche du navigateur. Cela peut être utilisé pour améliorer les problèmes de réactivité causés par des tâches longues. Les continuations sont prioritaires pour atténuer les problèmes de performances des alternatives existantes.
API Web Authentication: méthodes de sérialisation JSON
Les méthodes WebAuthn PublicKeyCredential.toJSON()
, parseCreationOptionsFromJSON()
et parseRequestOptionsFromJSON()
permettent aux développeurs de sérialiser une réponse WebAuthn dans un objet JSON ou de désérialiser un objet de requête WebAuthn à partir de sa représentation JSON.
Compatibilité avec la plage étendue (HDR) WebGPU
Ajoute des paramètres de mappage des tons à la configuration du canevas WebGPU, et ajoute les options standard
(comportement actuel consistant à limiter le contenu à la plage SDR de l'écran) par défaut et extended
(ne pas imposer cette restriction) en tant que nouveau comportement. Cela permet au contenu WebGPU d'utiliser toute la plage d'un écran.
Phases d'évaluation en cours
Dans Chrome 129, vous pouvez activer les nouveaux tests d'origine suivants.
Interface FileSystemObserver
L'interface FileSystemObserver informe les sites Web des modifications apportées au système de fichiers. Les sites observent les modifications apportées aux fichiers et aux répertoires sur l'appareil local de l'utilisateur (comme indiqué dans WICG/file-system-access) ou dans le système de fichiers Bucket (comme indiqué dans fs.spec.whatwg.org), et sont informés des informations de modification de base, telles que le type de modification.
Inscrivez-vous à la version d'évaluation de l'origine FileSystemObserver.
Abandons et suppressions
Cette version de Chrome introduit les abandons et suppressions listés ci-dessous. Consultez ChromeStatus.com pour obtenir la liste des fonctionnalités abandonnées prévues, actuelles et supprimées précédemment.
Cette version de Chrome abandonne une fonctionnalité.
Abandon de 0.0.0.0
pour l'accès au réseau privé
Chrome bloquera l'accès à l'adresse IP 0.0.0.0
avant le déploiement complet de l'accès au réseau privé (PNA).
Chrome abandonne l'accès direct aux points de terminaison de réseau privé à partir de sites Web publics dans le cadre de la spécification PNA.
Les services qui écoutent sur localhost (127.0.0.0/8
) sont considérés comme privés, conformément à la spécification. La protection PNA de Chrome peut être contournée à l'aide de l'adresse IP 0.0.0.0
pour accéder aux services écoutant sur le localhost sur macOS et Linux.
Cela peut également être exploité dans les attaques par DNS rebinding ciblant une application Web écoutant sur le localhost.
Cette version de Chrome supprime trois fonctionnalités.
Suppression de l'argument includeShadowRoots
dans DOMParser
L'argument includeShadowRoots
était un argument non standardisé de la fonction DOMParser.parseFromString()
, qui permettait l'analyse impérative du contenu HTML comportant du Shadow DOM déclaratif. Il était fourni dans Chrome 90 lors de la première livraison du Shadow DOM déclaratif.
Maintenant qu'une version standardisée de cette fonctionnalité est disponible avec les méthodes setHTMLUnsafe()
et parseHTMLUnsafe()
, l'argument includeShadowRoots
non standard sera supprimé. Le code doit être mis à jour comme suit:
Au lieu de :
((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});
Utilisation :
Document.parseHTMLUnsafe(html);
Suppression de la sérialisation de Shadow DOM déclaratif non standard
L'implémentation du prototype du Shadow DOM déclaratif contenait une méthode appelée getInnerHTML()
qui permettait de sérialiser les arborescences DOM contenant des racines fantômes. Cette partie du prototype n'était pas normalisée avec le reste du Shadow DOM déclaratif. Un remplacement a donc été conçu : getHTML()
.
Par conséquent, l'ancienne méthode getInnerHTML()
est désormais supprimée de Chrome. Vous devez utiliser getHTML()
à la place, qui sera bientôt interopérable entre les navigateurs.
Supprimer PointerEvent.getCoalescedEvents()
des contextes non sécurisés
Il y a plus de quatre ans, le groupe de travail sur les événements de pointeur a limité PointerEvent.getCoalescedEvents()
aux contextes sécurisés, ce qui a supprimé l'API des contextes non sécurisés. Chrome a initialement publié l'ancien comportement et n'a pas suivi immédiatement la modification de la spécification en raison de problèmes de compatibilité.
Nous allons maintenant le supprimer des contextes non sécurisés, car l'utilisation de Chrome dans ces contextes s'est avérée très faible.