Nouveautés de Chrome 88

Le déploiement de Chrome 88 en version stable commence maintenant.

Voici les informations à retenir :

Je m'appelle Pete LePage. Je travaille et je prends des photos depuis chez moi. Découvrons les nouveautés de Chrome 88 pour les développeurs.

Manifest V3

Chrome 88 est désormais compatible avec les extensions créées avec Manifest V3. Vous pouvez les importer sur le Chrome Web Store. Manifest V3 est une nouvelle plate-forme d'extensions qui rend les extensions Chrome plus sûres, plus performantes et plus respectueuses de la confidentialité, par défaut.

Par exemple, elle interdit l'hébergement de code à distance, ce qui aide les examinateurs du Chrome Web Store à mieux comprendre les risques liés à une extension. Elles devraient vous permettre de mettre à jour vos extensions plus rapidement.

Elle présente les service workers qui remplacent les pages en arrière-plan. Étant donné que les service workers ne résident dans la mémoire qu'en cas de besoin, les extensions utilisent moins de ressources système.

Afin d'offrir aux utilisateurs plus de visibilité et de contrôle sur l'utilisation et le partage de leurs données par les extensions, nous adopterons dans une prochaine version un nouveau flux d'installation qui permettra aux utilisateurs de retenir des autorisations sensibles au moment de l'installation.

Consultez developer.chrome.com pour en savoir plus et pour découvrir comment migrer votre extension actuelle vers Manifest V3.


Propriété CSS aspect-ratio

Normalement, seuls certains éléments, comme les images, ont un format spécifique. Dans ce cas, si seule la largeur ou la hauteur est spécifiée, l'autre est automatiquement calculée à l'aide du format intrinsèque.

<!-- Height is auto-computed from width & aspect ratio -->
<img src="..." style="width: 800px;">

Dans Chrome 88, la propriété aspect-ratio vous permet de spécifier explicitement un format, ce qui permet un comportement similaire.

.square {
  aspect-ratio: 1 / 1;
}

Vous pouvez également utiliser l'amélioration progressive pour vérifier si elle est prise en charge dans le navigateur et appliquer une solution de remplacement si nécessaire. Ensuite, avec le nouveau sélecteur CSS 4 not, vous pouvez rendre votre code un peu plus clair.

.square {
  aspect-ratio: 1 / 1;
}

@supports not (aspect-ratio: 1 / 1) {
  .square {
    height: 4rem;
    width: 4rem;
  }
}

Merci à Jen Simmons de nous avoir indiqué que cette fonctionnalité était prise en charge dans la dernière version de l'aperçu technique de Safari. Nous devrions donc bientôt la voir dans Safari. Consultez la démonstration d'Una pour la voir en action.

Limitation importante des minuteurs JS enchaînés

Chrome 88 limite fortement les minuteurs JavaScript en chaîne pour les pages masquées dans certaines conditions. Cela permet de réduire l'utilisation du processeur, ainsi que l'utilisation de la batterie. Dans certains cas particuliers, cela peut modifier le comportement, mais les minuteurs sont souvent utilisés lorsqu'une autre API serait plus efficace et plus fiable.

Ce jargon était assez vaste et cela pouvait être un peu ambigu. Pour en savoir plus, consultez l'article de Jake : heavy throttling of enenchain JS clock commençant dans Chrome 88.

Play Billing dans la section "Activité Web de confiance"

Vous pouvez désormais utiliser Play Billing dans votre activité Web fiable pour vendre des abonnements et des produits numériques à l'aide de la nouvelle API Digital Goods. Elle est disponible en phase d'évaluation dans Chrome 88 sur Android. Elle devrait étendre la phase d'évaluation à ChromeOS dans la prochaine version.

Une fois vos comptes configurés, mettez à jour votre activité Web fiable pour activer la facturation Play et créez vos produits numériques dans la Play Console. Dans votre PWA, ajoutez ensuite le jeton de la phase d'évaluation. Vous serez alors prêt à ajouter le code permettant de vérifier les achats existants, de rechercher les achats disponibles et d'effectuer de nouveaux achats.

// Get list of potential digital goods

const itemService =
  await window.getDigitalGoodsService("https://play.google.com/billing");

const details =
  await itemService.getDetails(['ripe_bananas', 'walnuts', 'pecans' ]);

Adriana et Andre présentent plus en détail leur discussion lors du Chrome Dev Summit (What's new for web apps in Play) (Nouveautés des applications Web dans Play) ou consultez la docs lors du Chrome Dev Summit.

Et plus encore

Et bien d'autres choses encore.

  • Conformément à une modification de la norme HTML, les balises d'ancrage avec target="_blank" impliquent désormais rel="noopener" par défaut. Cela permet d'éviter les attaques par sieste d'onglet.
  • La plupart des systèmes d'exploitation activent l'accélération de la souris par défaut, mais cela peut poser problème pour certains jeux. Dans Chrome 88, l'API Pointer Lock vous permet de désactiver l'accélération de la souris. Cela signifie que le même mouvement physique, lent ou rapide, entraîne la même rotation, offrant ainsi une meilleure expérience de jeu et une plus grande précision.
  • addEventListener accepte désormais un signal d'abandon comme option. Appeler abort() supprime cet écouteur d'événements, ce qui permet de les fermer facilement lorsqu'ils ne sont plus nécessaires.

Complément d'informations

Nous n'aborderons ici que certains des points clés. Consultez les liens ci-dessous pour en savoir plus sur les modifications supplémentaires apportées à Chrome 88.

S'abonner

Pour ne pas manquer nos vidéos, abonnez-vous à notre chaîne YouTube pour les développeurs Chrome. Vous recevrez une notification par e-mail chaque fois qu'une nouvelle vidéo sera lancée.

Je m'appelle Pete LePage. Dès la sortie de Chrome 89, je serai là pour vous dire quelles sont les nouveautés de Chrome !