Chrome 119 bêta

La version bêta de Chrome 119 propose la syntaxe de couleur relative CSS, de nouvelles pseudo-classes et bien plus encore.

Sauf indication contraire, les modifications décrites 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 disponibles sur cette page, cliquez sur les liens fournis ou consultez la liste disponible sur ChromeStatus.com. Chrome 119 est en version bêta depuis le 4 octobre 2023. Vous pouvez télécharger les dernières mises à jour sur Google.com pour ordinateur ou sur le Google Play Store pour Android.

CSS

Cette version ajoute quatre nouvelles fonctionnalités CSS.

Pseudo-classes CSS :user-valid et :user-invalid

Les pseudo-classes :user-invalid et :user-valid représentent un élément avec une entrée incorrecte ou correcte, respectivement, mais seulement après une interaction significative de l'utilisateur avec lui. Cette méthode est semblable à :valid et :invalid, mais avec la contrainte supplémentaire selon laquelle ces pseudo-classes ne sont mises en correspondance qu'après que l'utilisateur a interagi avec l'élément.

Syntaxe des couleurs relatives CSS (RCS)

La syntaxe des couleurs relatives permet aux développeurs de définir des couleurs en modifiant les paramètres d'autres couleurs.

Par exemple, oklab(from magenta calc(l * 0.8) a b); génère un magenta oklab qui est 80% plus léger.

Valeurs de zone de géométrie du chemin de découpe CSS

La propriété CSS clip-path accepte désormais les valeurs <geometry-box> pour contrôler la zone de référence de l'extrait, ce qui facilite l'utilisation de clip-path. Ces valeurs de zone peuvent être utilisées avec des formes de base (par exemple, clip-path: circle(50%) margin-box) ou seules pour rogner la zone spécifiée (par exemple, clip-path: content-box).

Valeurs xywh() et rect() dans le chemin de clip CSS

Chrome accepte désormais les valeurs xywh() et rect() de la propriété clip-path, ce qui facilite la spécification de clips rectangulaires ou arrondis rectangulaires.

API Web

Depuis Chrome 104, les cookies nouvellement créés ou ceux mis à jour avec une date d'expiration ont cette date limitée à plus de 400 jours dans le futur. Cette limite sera désormais appliquée rétroactivement aux cookies déjà stockés. Les dates d'expiration de ces cookies seront limitées à 400 jours au maximum après le premier démarrage de Chrome 119 ou version ultérieure et une migration unique de la base de données. L'impact de ce changement ne sera ressenti par les utilisateurs qu'au moins 400 jours après le lancement de Chrome 119, et uniquement pour les cookies existants qui n'ont pas été mis à jour pendant cette période.

DisplayMediaStreamOptions monitoringTypeSurfaces

Lorsque getDisplayMedia() est appelé, le navigateur propose à l'utilisateur le choix de différentes surfaces d'affichage: onglets, fenêtres ou écrans. Avec l'option monitorTypeSurfaces, l'application Web peut désormais indiquer au navigateur si elle préfère inclure des surfaces d'affichage de type moniteur parmi les choix proposés à l'utilisateur.

Mises à jour du fonctionnement des cadres cloisonnés

Chrome 119 inclut les améliorations suivantes apportées aux cadres cloisonnés.

Il existe une option de format supplémentaire pour les macros de taille d'annonce Protected Audience dans l'API Protected Audience dans la Privacy Sandbox. Une fonctionnalité d'activation vous permet d'ajouter à l'URL de l'annonce la taille de l'annonce qui remporte l'enchère, par exemple:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

Pour plus de cohérence avec d'autres types de macros dans Protected Audience, tels que ceux utilisés par deprecatedReplaceInURN et registerAdMacro, dans Chrome 119, nous ajoutons la possibilité d'utiliser ${AD_WIDTH} et ${AD_HEIGHT} comme format pour les macros, en plus du format actuel.

Les balises automatiques seront désormais envoyées à toutes les URL enregistrées. Auparavant, seules les destinations spécifiées lors de l'appel de setReportEventDataForAutomaticBeacons() recevaient des balises automatiques, même si cette destination appelait registerAdBeacon() pour "reserved.top_navigation" dans leur Worklet. Désormais, toute destination ayant appelé registerAdBeacon() pour "reserved.top_navigation" recevra une balise automatique, mais seules les destinations spécifiées dans setReportEventDataForAutomaticBeacons() recevront des données de balise automatiques en plus de la balise. Le paramètre "once" dans setReportEventDataForAutomaticBeacons() détermine désormais si les données sont envoyées une seule fois, au lieu de déterminer si la balise entière est envoyée une seule fois.

Marge de défilement de l'observateur d'intersection

La propriété scrollMargin de l'observateur d'intersection permet aux développeurs d'observer des cibles dans des conteneurs de défilement imbriqués qui sont actuellement tronqués par les conteneurs de défilement. Pour ce faire, développez le rectangle de rognage du conteneur à l'aide de scrollMargin lors du calcul de l'intersection.

Conteneurs de défilement sélectionnables au clavier

Cette fonctionnalité améliore l'accessibilité en rendant les conteneurs de défilement sélectionnables à l'aide de la navigation de sélection séquentielle. Auparavant, la touche de tabulation ne sélectionnait pas les curseurs de défilement, sauf si tabIndex était explicitement défini sur 0 ou plus. Si vous activez par défaut les curseurs de défilement, les utilisateurs qui ne peuvent pas (ou ne souhaitent pas) se servir d'une souris pourront sélectionner du contenu tronqué à l'aide de la touche de tabulation et des touches fléchées du clavier. Ce comportement n'est activé que si le conteneur de défilement ne contient aucun enfant sélectionnable au clavier.

Restrictions d'accès au réseau privé pour Automotive

Appliquez des restrictions d'accès au réseau privé dans Chrome pour Android Automotive (si BuildInfo::is_automotive), au lieu d'être simplement avertis. Cela inclut les requêtes préliminaires d'accès au réseau privé pour les sous-ressources et l'accès au réseau privé pour les nœuds de calcul.

Lire les attributs des appareils Chrome

L'API Web Attributes d'appareil est un sous-ensemble de l'API Web Managed Device, qui permet aux applications Web d'interroger des informations sur les appareils. Par exemple, l'ID de l'appareil, le numéro de série et l'emplacement.

Remplacement du balisage flottant dans le nom de la cible par _blank

Cette modification remplace le nom de la cible navigable (généralement défini par l'attribut de la cible) par _blank s'il contient un balisage flottant (par exemple, \n et <). Ce qui corrige un contournement du problème d'atténuation de l'injection de balisage intempestif.

Sec-CH-Prefers-Reduced-Transparency : fonctionnalités multimédias des préférences de l'utilisateur (en-tête Client Hints)

L'en-tête "Client Hints" des préférences utilisateur définit un ensemble d'en-têtes HTTP Client Hints qui s'appliquent aux fonctionnalités multimédias des préférences de l'utilisateur, telles que définies par le niveau 5 des requêtes média. Utilisés comme indicateurs critiques pour le client, ces en-têtes permettent aux serveurs de faire des choix judicieux concernant, par exemple, l'intégration CSS. Sec-CH-Prefers-Reduced-Transparency reflète les préférences prefers-reduced-transparency de l'utilisateur et est disponible à partir de Chrome 119.

Caractères de ponctuation des hôtes d'URL conformes à la norme

Faites en sorte que la gestion des caractères de ponctuation des hôtes d'URL par Chrome soit conforme à la norme pour les URL. Exemple :

Avant :

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( est un caractère interdit, or Chrome l'autorise à tort.

Après :

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

Mode de débit du composant WebCodecs AudioEncoder

Certains codecs audio acceptent la spécification des modes de débit de l'encodeur audio. Cette fonctionnalité ajoute un indicateur "bitrateMode" avec une valeur par défaut de "variable" à l'élément AudioEncoderConfig de WebCodec, qui reflète l'option de configuration et la valeur par défaut est déjà présente pour VideoEncoderConfig.

Cet indicateur permettra aux développeurs de choisir entre l'encodage audio avec un débit variable ou un débit constant. Les implémentations d'encodeurs de codecs spécifiques peuvent avoir une terminologie légèrement différente (par exemple, CBR et VBR pour Opus), mais elles doivent toutes correspondre au concept général de "constante". par rapport à « variable » débit.

Les deux options ont les effets suivants:

  • variable: permet à un encodeur audio d'augmenter ou de diminuer son débit en fonction du contenu audio qu'il encode, afin de préserver la bande passante/taille binaire, tout en maintenant une qualité cible. Par exemple, un encodeur peut réduire son débit lors de l'encodage des silences, puis rétablir le débit maximal lors de l'encodage de la voix.
  • constant : force un encodeur audio à maintenir le même débit, quel que soit le contenu audio. Cela peut être utile lorsqu'il est préférable d'utiliser une bande passante prévisible.

À partir de Chrome 119, cet indicateur affectera deux codecs sur Chromium: Opus et AAC.

Encapsulation de clé X25519Kyber768 pour TLS

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

Phases d'évaluation en cours

Dans Chrome 119, vous pouvez activer la nouvelle phase d'évaluation suivante.

Ouvrir les fenêtres pop-up en plein écran

Cette nouvelle phase d'évaluation ajoute un paramètre windowFeatures fullscreen à l'API JavaScript window.open(). Cela permet à l'appelant d'ouvrir un pop-up directement en plein écran sur l'écran qui contiendrait le pop-up (basé sur screenX et screenY). Ainsi, le développeur n'a plus besoin de faire passer manuellement un pop-up en plein écran, ce qui peut nécessiter un nouveau signal d'activation utilisateur.

Abandons et suppressions

Cette version de Chrome introduit les abandons et les suppressions indiqués ci-dessous. Consultez le site ChromeStatus.com pour obtenir la liste des abandons prévus, des abandons actuels et des suppressions précédentes.

Cette version de Chrome supprime quatre fonctionnalités.

Supprimer Web SQL

Nous avons précédemment annoncé l'abandon et la suppression de Web SQL. Cette fonctionnalité est complètement supprimée à partir de Chrome 119. Une évaluation de l'origine inversée permet aux développeurs de continuer à utiliser WebSQL jusqu'à Chrome 123.

Suppression de l'API Sanitizer

L'API Sanitizer vise à créer un outil de nettoyage HTML facile à utiliser, toujours sécurisé et géré par le navigateur sur la plateforme. Une première version de Chrome a été publiée dans Chrome 105, basée sur le projet de spécification alors en vigueur. Cependant, la discussion continue entre-temps et la forme d'API proposée a considérablement changé.

Pour éviter que l'API actuelle ne s'enracine, nous supprimons l'implémentation actuelle. Nous prévoyons de réimplémenter l'API Sanitizer lorsque la spécification proposée se stabilisera à nouveau.

Supprimer des données: URL dans SVGUseElement

L'attribution d'un data: URL dans SVGUseElement peut entraîner des XSS. Cela a également conduit à un contournement des Trusted Types. C'est pourquoi nous prévoyons d'y mettre un terme et de supprimer cette compatibilité.

Suppression de l'attribut shadowroot non standard pour le Shadow DOM déclaratif

L'attribut shadowrootmode de suivi standard, qui active le Shadow DOM déclaratif, est disponible dans Chrome 111. L'ancien attribut shadowroot non standard sera supprimé dans Chrome 119. Le processus de migration est simple: remplacez shadowroot par shadowrootmode.