Nouveautés de Chrome 120 pour les extensions

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

L'année a été chargée pour l'équipe des extensions Chrome. Avec la version bêta de Chrome 120 publiée hier, la plate-forme d'extensions franchit un nouveau grand pas en avant. Pour obtenir un aperçu de ce qui s'est passé cette année, consultez nos mises à jour trimestrielles de juillet et octobre. Découvrez les nouveautés de Chrome 120 pour les extensions.

Combler l'écart entre les plates-formes

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

Nouvelle API userScripts

La prise en charge des scripts utilisateur est disponible ! Les scripts utilisateur sont des extraits de code (généralement relativement petits) que les extensions peuvent injecter dans des pages Web afin de modifier leur apparence ou leur comportement. Ils peuvent être créés directement par l'utilisateur ou découverts dans différents dépôts de scripts utilisateur sur le Web. À partir de Chrome 120, les extensions Manifest V3 peuvent désormais gérer la collecte des scripts utilisateur et déterminer quand et comment les injecter sur les pages Web.

Il existe une différence importante entre la prise en charge des scripts utilisateur dans Manifest V2 et Manifest V3. Étant donné que les scripts utilisateur sont puissants et nécessitent une confiance élevée dans l'auteur du script utilisateur, l'équipe Chrome a décidé que les utilisateurs doivent activer le mode développeur avant de pouvoir exécuter un script utilisateur.

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

Notre nouvel exemple de userScript illustre une approche simple pour détecter si le mode développeur est activé et fournir un flux d'intégration simple.

Exemple de parcours d'intégration pour les scripts utilisateur.
Intégrez les utilisateurs lorsque le mode développeur est désactivé.

Pour commencer, consultez la documentation ou l'exemple officiel.

Limites plus élevées pour les règles de non-répondre statiques

Nous avons considérablement augmenté la limite du nombre de règles statiques activées, qui est passée de 10 à 50. De plus, nous avons augmenté le nombre total de règles statiques autorisées de 50 à 100. Nous prenons cette décision en réponse aux commentaires que nous avons reçus dans le groupe de la communauté des extensions Web.

Nouvelle API ReadingList

Chrome a lancé la liste de lecture en 2021. L'année dernière, l'équipe Chrome a rendu l'accès à la liste de lecture encore plus facile via le panneau latéral. Avec Chrome 120, les extensions Chrome peuvent désormais créer, lire, modifier et supprimer des entrées de liste de lecture. Pour en savoir plus, consultez la documentation de l'API et notre nouveau code 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 des fichiers sur ChromeOS

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

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

Déclencher une alarme dans 30 secondes

Il s'agit d'une petite mise à jour, mais elle résout un problème important dans le cycle de vie des service workers. En raison de la nature événementielle des services workers, 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 s'arrête entre-temps.

Il y a toutefois un bémol. Avant Chrome 120, le délai le plus court pour déclencher une alarme était d'une minute. Toutefois, les services workers s'arrêtent après 30 secondes d'inactivité. Il n'existait donc aucun moyen simple de programmer le déclenchement d'une alarme dans 45 secondes, car lorsque vous utilisez setTimeout() pour définir un événement dans 45 secondes, le service worker peut ê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:

  • moins de 30 secondes à l'aide de setTimeout().
  • toute durée supérieure ou égale à 30 secondes à l'aide de chrome.alarms:
await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Résumé

Nous sommes ravis des progrès réalisés par la plate-forme d'extensions au cours de l'année écoulée. Chrome 120 marque une nouvelle étape importante avec l'augmentation des limites de DNR et la prise en charge des scripts utilisateur.