Nouveautés de Chrome 120 pour les extensions

Chrome 120 est désormais disponible en version bêta et inclut de nombreuses mises à jour intéressantes pour les développeurs d'extensions Chrome.

L'année de l'équipe des extensions Chrome a été bien chargée. Avec la version bêta de Chrome 120 d'hier, la plate-forme d'extensions fait un autre grand pas en avant. Pour un aperçu de ce qui s'est passé cette année, consultez nos mises à jour trimestrielles de juillet et d'octobre. Lisez la suite pour connaître les nouveautés de Chrome 120 pour les extensions.

Combler les lacunes de la plate-forme

Avec le lancement de Chrome 120, nous allons combler les lacunes restantes de la plate-forme listées sur la page des problèmes connus de Manifest V3. La nouvelle API userScript et la prise en charge de la gestion des fichiers sous ChromeOS sont les deux autres éléments de la liste que nous pouvons désormais rayer. Avec les modifications décrites dans la précédente mise à jour trimestrielle, nous sommes très satisfaits de l'état actuel de la plate-forme des extensions Chrome et des résultats que nous avons accomplis au cours de l'année écoulée.

Nouvelle API userScripts

Les scripts utilisateur sont désormais pris en charge ! Les scripts utilisateur sont des extraits de code (généralement relativement petits) que les extensions peuvent injecter dans les pages Web afin de modifier l'apparence ou le comportement de celles-ci. Ils peuvent être créés directement par l'utilisateur ou découverts dans différents référentiels de scripts utilisateur sur le Web. À partir de Chrome 120, les extensions Manifest V3 peuvent désormais gérer la collection de scripts utilisateur et déterminer quand et comment les injecter sur des pages Web.

Il existe une différence significative entre la prise en charge des scripts utilisateur dans Manifest V2 et Manifest V3. Les scripts utilisateur étant puissants et nécessitant une grande confiance dans leur auteur, l'équipe Chrome a décidé que les utilisateurs devaient activer le mode développeur avant de pouvoir exécuter un script utilisateur.

la page des extensions ;
Page des extensions (chrome://extensions)

Notre nouvel exemple userScript présente une approche simple pour détecter si le mode développeur est activé et un processus d'intégration simple.

Exemple de flux d'intégration pour les scripts utilisateur
Intégrer des utilisateurs lorsque le mode développeur est désactivé

Pour commencer, consultez la documentation ou jetez un œil à l'exemple officiel.

Limites plus élevées pour les ensembles de règles DNR statiques

Nous avons considérablement augmenté la limite pour les ensembles de règles statiques activés de 10 à 50. De plus, nous avons fait passer le nombre total d'ensembles de règles statiques autorisés de 50 à 100. Cette décision fait suite aux commentaires que nous avons reçus au sein du groupe de la communauté des extensions Web.

Nouvelle API ReadingList

La liste de lecture a été introduite par Chrome en 2021. L'année dernière, l'équipe Chrome a rendu la liste de lecture encore plus facilement accessible via le panneau latéral. Avec Chrome 120, nous ajoutons la possibilité pour les extensions Chrome de créer, lire, mettre à jour et supprimer des entrées de la liste de lecture. Pour en savoir plus, consultez la documentation sur l'API et notre nouvel exemple.

Liste de lecture de Chrome affichant les pages de documentation de l'extension.
Panneau latéral de la liste de lecture dans Chrome

Gestion de fichiers sur ChromeOS

La gestion des fichiers permet aux extensions d'ouvrir des fichiers avec des types MIME et des extensions spécifiés de la même manière que la gestion des fichiers d'une plate-forme Web. Pour en savoir plus sur l'utilisation de cette fonctionnalité, consultez Gestion des fichiers sur ChromeOS.

Capture d'écran du fichier ouvert avec la boîte de dialogue de l'extension sur ChromeOS
Ouvrez des fichiers dans une extension sur ChromeOS.

Déclencher une alarme dans 30 secondes

Cette mise à jour est mineure, mais elle comble une lacune importante dans le cycle de vie des service workers. Étant donné que les service workers sont basés sur des événements, il est recommandé d'utiliser chrome.alarms pour déclencher un événement à l'avenir. L'API Alarms garantit que l'événement est déclenché même si le service worker se ferme entre-temps.

Il y a cependant un piège. Avant Chrome 120, le délai le plus court pour déclencher une alarme était d'une minute. Toutefois, les service workers s'arrêtent après 30 secondes d'inactivité. Il n'y avait donc pas de moyen simple de programmer une alarme pour qu'elle se déclenche en 45 secondes. En effet, lorsque vous utilisiez setTimeout() pour définir un événement sur 45 secondes, le service worker pouvait potentiellement être arrêté avant le déclenchement de l'événement.

À partir de Chrome 120, vous pouvez désormais déclencher un événement dans:

await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Résumé

Nous sommes très heureux des progrès réalisés par la plate-forme d'extension au cours de l'année écoulée. Chrome 120 est une autre étape majeure avec l'augmentation des limites DNR et la compatibilité avec les scripts utilisateur.