Chrome 119 bêta

La version bêta de Chrome 119 vous donne accès à une syntaxe de couleur CSS relative, à 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 listées ici, cliquez sur les liens fournis ou consultez la liste sur ChromeStatus.com. Chrome 119 est en version bêta depuis le 4 octobre 2023. Vous pouvez télécharger la dernière version sur Google.com sur un ordinateur ou sur le Google Play Store sur Android.

CSS

Cette version inclut 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 uniquement après que l'utilisateur a interagi de manière significative avec lui. Cette méthode est semblable à :valid et :invalid, mais avec la contrainte supplémentaire selon laquelle ces pseudo-classes ne peuvent correspondre qu'une fois que l'utilisateur a interagi avec l'élément.

Syntaxe des couleurs relatives (RCS) CSS

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 d'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 prend désormais en charge 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 utilisées seules pour rogner la zone spécifiée (par exemple, clip-path: content-box).

Valeurs xywh() et rect() du CSS "clip-path"

Chrome accepte désormais les valeurs xywh() et rect() de la propriété clip-path, ce qui permet de spécifier plus facilement des extraits rectangulaires ou arrondis.

API Web

Depuis Chrome 104, les cookies récemment créés ou ceux mis à jour avec une date d'expiration sont limités à 400 jours dans le futur. Cette même limite sera désormais appliquée de manière rétroactive aux cookies déjà stockés. Les dates d'expiration de ces cookies seront limitées à 400 jours après le premier démarrage de Chrome 119 (ou version ultérieure) et la migration unique de la base de données. Les utilisateurs ne ressentiront l'impact de ce changement qu'au moins 400 jours après la publication de Chrome 119, puis uniquement pour les cookies existants qui n'ont pas été mis à jour au cours de cette période.

DisplayMediaStreamOptions monitorTypeSurfaces

Lorsque getDisplayMedia() est appelé, le navigateur propose à l'utilisateur plusieurs 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 options proposées à l'utilisateur.

Mises à jour du fonctionnement de Fenced Frames

Chrome 119 apporte les améliorations suivantes à Fenced Frames.

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, comme ceux utilisés par deprecatedReplaceInURN et registerAdMacro, nous ajoutons dans Chrome 119 la possibilité d'utiliser ${AD_WIDTH} et ${AD_HEIGHT} comme format des macros, en plus du format actuel.

Les balises automatiques sont désormais envoyées à toutes les URL enregistrées. Auparavant, seules les destinations spécifiées lors de l'appel de setReportEventDataForAutomaticBeacons() reçoivent des balises automatiques, même si cette destination appelait registerAdBeacon() pour "reserved.top_navigation" dans le worklet. Désormais, toute destination qui appelle registerAdBeacon() pour "reserved.top_navigation" recevra une balise automatique, mais seules les destinations spécifiées dans setReportEventDataForAutomaticBeacons() recevront les données automatiques de la balise en même temps que la balise. Le paramètre "once" de setReportEventDataForAutomaticBeacons() détermine désormais si les données sont envoyées une seule fois, au lieu de déterminer si la balise 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 coupe du conteneur à l'aide de scrollMargin lors du calcul de l'intersection.

Conteneurs de défilement sélectionnables avec le 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 éléments de défilement, sauf si tabIndex était explicitement défini sur 0 ou plus. En rendant le curseur sélectionnable par défaut, les utilisateurs qui ne peuvent pas (ou ne souhaitent pas) utiliser de souris peuvent sélectionner le contenu tronqué à l'aide de la touche 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 le secteur automobile

Appliquer les restrictions d'accès au réseau privé dans Chrome pour Android Automotive (si BuildInfo::is_automotive) (au lieu d'afficher uniquement un avertissement). 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 Device Attributes Web est un sous-ensemble de l'API Managed Device Web. Elle permet aux applications Web d'interroger les informations provenant d'un appareil. Par exemple, ID de l'appareil, numéro de série et emplacement.

Remplacer le balisage flottant dans le nom de la cible par _blank

Cette modification remplace le nom de la cible navigable (généralement définie par l'attribut cible) par _blank, si elle contient un balisage pendant lequel (par exemple, \n et <). Ce changement corrige un contournement dans l'atténuation de l'injection de balisages inactifs.

En-tête des conseils client pour les fonctionnalités multimédias des préférences utilisateur Sec-CH-Prefers- clôtured-Transparency

L'en-tête "Client Hints" des fonctionnalités multimédias des préférences de l'utilisateur définit un ensemble d'en-têtes de conseils client HTTP associés aux fonctionnalités multimédias définies par les préférences de l'utilisateur, telles que définies par les requêtes média de niveau 5. S'ils sont utilisés en tant qu'indicateurs client critiques, 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 de l'hôte d'URL conformes aux normes standards

Assurez-vous que la gestion des caractères de ponctuation de l'hôte d'URL dans Chrome respecte la norme d'URL. Exemple :

Avant :

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

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

Après :

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

WebCodecs AudioEncoder CPMMode

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

Cet indicateur permet aux développeurs de choisir entre un encodage audio avec un débit variable ou avec un débit constant. Les implémentations d'encodeur de codec spécifiques peuvent utiliser 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 débit "constant" et "variable".

Ces deux options ont les effets suivants:

  • variable: permet à un encodeur audio d'augmenter ou de diminuer son débit en fonction du contenu du contenu audio qu'il encode, afin de préserver la bande passante/la taille binaire, tout en maintenant une qualité cible. Par exemple, un encodeur peut réduire son débit lors de l'encodage du silence et rétablir le débit plein lors de l'encodage vocal.
  • constant : force un encodeur audio à conserver le même débit, quel que soit le contenu audio. Cela peut s'avérer utile lorsqu'une consommation de bande passante prévisible est préférable.

À partir de Chrome 119, cet indicateur affecte 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 de contrat de clé résistant aux quantiques Kyber768. Il s'agit d'un contrat 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 119, vous pouvez activer la nouvelle phase d'évaluation suivante.

Ouvrir les pop-ups 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 une fenêtre pop-up directement en plein écran sur l'écran qui contiendrait la fenêtre pop-up (en fonction des écrans X et screenY). Ainsi, le développeur n'a plus besoin de faire passer manuellement un pop-up en plein écran, ce qui pourrait nécessiter un nouveau signal d'activation de l'utilisateur.

Abandons et suppressions

Cette version de Chrome présente les abandons et suppressions listés ci-dessous. Accédez à ChromeStatus.com pour consulter 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. Un essai d'origine inversée permet aux développeurs de continuer à utiliser WebSQL jusqu'à Chrome 123.

Supprimer l'API Sanitizer

L'API Sanitizer vise à créer sur la plate-forme un outil HTML facile à utiliser, toujours sécurisé et géré par le navigateur. Une version initiale de Chrome a été publiée dans Chrome 105, sur la base du brouillon de spécification en vigueur à ce moment-là. Toutefois, la discussion est toujours passée et la forme d'API proposée a considérablement changé.

Afin d'éviter que l'API actuelle ne soit enracinée, nous allons supprimer l'implémentation actuelle. Nous prévoyons de réimplémenter l'API Sanitizer lorsque la spécification proposée sera de nouveau stable.

Supprimer les données: URL dans SVGUseElement

L'attribution d'un data: URL dans SVGUseElement peut provoquer des erreurs XSS. Cela a aussi conduit à un contournement des Trusted Types. C'est pourquoi nous prévoyons d'abandonner et de supprimer la prise en charge de ce service.

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

L'attribut shadowrootmode du suivi des standards, qui permet d'utiliser le Shadow DOM déclaratif, a été envoyé dans Chrome 111. L'ancien attribut shadowroot non standard sera supprimé dans Chrome 119. Le processus de migration est simple: remplacez shadowroot par shadowrootmode.