Nouveautés des extensions Chrome

Consultez régulièrement cette page pour en savoir plus sur les modifications apportées aux extensions Chrome, sur la documentation relative aux extensions, sur les règles associées ou sur d'autres modifications. Vous trouverez les autres avis publiés sur le groupe Google Extensions. Le calendrier Chrome indique les dates des versions stable et bêta.

Chrome 127: nouvelle API action.openPopup

Publié le

À partir de Chrome 127, l'API action.openPopup est disponible pour toutes les extensions. Auparavant, il n'était disponible que dans Canary ou pour les extensions installées par une règle.

Vidéo: Entretien avec l'équipe Trust & Safety

Publié le

L'équipe DevRel des extensions Chrome a rencontré l'équipe Trust & Safety chargée de l'examen du Chrome Web Store afin de poser vos questions. Regarder la vidéo complète

Article de blog: Début de l'arrêt de Manifest V2

Publié le

À compter du 3 juin sur les versions bêta, en développement et Canary de Chrome, si les utilisateurs ont toujours des extensions Manifest V2, une bannière d'avertissement s'affichera sur la page de gestion des extensions (chrome://extensions) pour les informer que certaines extensions (Manifest V2) qu'ils ont installées ne seront bientôt plus compatibles. Pour en savoir plus, consultez l'annonce officielle.

Mises à jour de l'interface utilisateur du panneau latéral

Publié le

Nous avons récemment apporté des modifications à l'interface utilisateur du panneau latéral, y compris l'ajout d'une icône en forme de punaise et la suppression de l'icône globale du panneau latéral. Pour en savoir plus, consultez l'annonce d'intérêt public, ainsi que la documentation mise à jour et des exemples.

Article de blog: Extensions Chrome lors de la conférence Google I/O 2024

Publié le

Une nouvelle conférence Google I/O est derrière nous, et nous avons abordé toutes les nouveautés intéressantes en matière d'extensions. Accédez à YouTube pour regarder la vidéo complète et lire notre article de blog pour connaître certains des temps forts.

Ignorer l'examen pour déterminer si des modifications éligibles de la demande nette déclarative existent

Publié le

Le Chrome Web Store vous permet désormais d'ignorer l'examen des modifications éligibles lorsque vous utilisez l'API Declarative Net Request. Pour en savoir plus sur les critères d'éligibilité et la procédure d'activation, consultez la documentation du Chrome Web Store.

deployPercentage disponible dans l'API Chrome Web Store

Publié le

Nous avons récemment mis à jour notre documentation sur l'API Chrome Web Store pour inclure des informations sur deployPercentage, qui vous permet d'attribuer un pourcentage d'un déploiement partiel. En savoir plus sur deployPercentage

Chrome 126: phases d'évaluation dans les extensions

Publié le

Chrome 126 introduit un nouveau champ manifest.json nommé trial_tokens, qui vous permet d'activer les phases d'évaluation et d'abandon sur toutes les surfaces d'extension. Pour en savoir plus, consultez ce guide.

Article de blog: Que deviennent les extensions Chrome ? Avril 2024

Publié le

Nous avons publié une nouvelle édition des Nouveautés concernant les extensions Chrome. Ce post évoque les travaux sur lesquels l'équipe chargée des extensions a travaillé ces derniers mois. Par exemple: rollback de version dans le Chrome Web Store, meilleure compatibilité avec Firebase Auth, lancements et mises à jour d'API supplémentaires.

Rollbacks de versions dans le tableau de bord du développeur du Chrome Web Store

Publié le

Effectuez un rollback de votre extension vers la version précédente publiée dans le Chrome Web Store, sans examen supplémentaire. Pour en savoir plus, consultez cet article de blog et la documentation.

Chrome 124: API Advanced documentScan

Publié le

Une API documentScan avancée est désormais disponible sur ChromeOS pour découvrir et récupérer des images à partir des scanners de documents connectés.

Chrome 124: Compatibilité WebGPU avec les service workers

Publié le

Depuis Chrome 124, les service workers sont compatibles avec WebGPU. Pour un démarrage rapide, consultez l'exemple d'extension WebGPU.

Chrome 123: l'API Events est compatible avec le filtrage par blocs CIDR

Publié le

L'API Events est désormais compatible avec le filtrage par blocs CIDR (Classless Inter-Domain Routing). Un bloc CIDR est une collection d'adresses IP qui partagent un préfixe réseau et le même nombre de bits. Auparavant, un développeur devant filtrer plusieurs adresses IP devait configurer une règle de filtrage pour chacune des adresses de la plage de blocs. Désormais, lorsqu'une extension appelle addListener(), une règle transmise signifie que le gestionnaire d'événements n'est appelé que lorsque la partie hôte d'une URL est une adresse IP et est contenue dans l'un des blocs CIDR spécifiés dans un tableau.

Chrome Web Store: modifications apportées aux exigences concernant la longueur des noms d'extensions

Publié le

Sur le Chrome Web Store, le champ "name" d'une extension dans le fichier manifeste.json est désormais limité à 75 caractères universels. Auparavant, la limite pour l'anglais était de 45 caractères, et il n'y avait aucune restriction pour le champ "name" dans les autres paramètres régionaux.

Cette fonctionnalité était initialement destinée à tenir compte des différences culturelles et linguistiques qui pourraient ne pas être prises en compte avec le même nombre de caractères. Malheureusement, un petit nombre de développeurs ont utilisé cette fonctionnalité de manière abusive pour envoyer du spam au Play Store. Par conséquent, nous introduisons une nouvelle limite universelle, allant jusqu'à 75 caractères. Cette limite concerne presque toutes les extensions actuellement disponibles sur le Play Store. Vous n'aurez donc probablement aucune action à effectuer à la suite de ce changement. Si vous essayez d'importer une extension dont le nom dépasse la limite maximale, l'importation sera bloquée par le store.

Article de blog: test d'eyeo pour la suspension d'un service worker

Publié le

Dans ce post de l'équipe Extension Engine de eyeo, nous explorons le problème lié au test des service workers d'extensions. Dans Manifest V2, les extensions se trouvaient dans une page en arrière-plan, qui était activée tout au long du cycle de vie de l'extension. Manifest V3 utilise des service workers à la place, qui sont conçus pour préserver les ressources en s'arrêtant lorsqu'elles ne sont plus nécessaires. Cela pose certains problèmes en termes de test. Ce post explique commenteyeo a relevé ces défis.

Chrome 123: les alarmes s'exécutent désormais lorsque l'appareil est en veille

Publié le

Les alarmes définies à l'aide de l'API chrome.alarms ne sont plus retardées lorsqu'un appareil se met en veille. Lorsque l'appareil est réactivé, l'alarme se déclenche une fois, quel que soit le nombre d'alarmes manquées. Par exemple, supposons qu'une alarme est configurée pour se déclencher une fois par heure et que l'appareil qu'elle est allumé est en veille de 00h55 à 2h05. Dans ce cas, seule l'alarme de 2h00 déclenche l'événement onAlarm. Il se déclenchera le plus près possible de 2h00, et immédiatement lorsqu'un appareil se réactivera s'il était en veille.

Cette modification permet d'aligner Chrome sur le comportement convenu au sein du groupe de la communauté des extensions Web.

Article de blog: Modifications du comportement du cache amélioré avec les ports de message des extensions

Publié le

Le cache amélioré (bfcache) est une optimisation du navigateur qui permet une navigation vers l'avant et l'avant instantanée. À partir de Chrome 123, lorsqu'une page avec un port d'extension ouvert est stockée dans le cache amélioré, le canal de message est fermé, ce qui signifie qu'aucun message ne sera envoyé à cette page. Par conséquent, les scripts d'extension doivent écouter les événements de cycle de vie tels que onDisconnect et configurer une nouvelle connexion lorsque la page est restaurée à partir de BFCache.

Pour en savoir plus et obtenir un exemple de code, consultez la section Modifications du comportement de BFCache avec les ports de message de l'extension.

Chrome 122: garantir la compatibilité avec les API d'extension asynchrones

Publié le

Nous avons fini d'implémenter la prise en charge de Promise pour toutes les méthodes API d'extension asynchrone. L'objectif était de moderniser les méthodes d'API en améliorant l'ergonomie de la gestion des opérations asynchrones. Quelques méthodes (par exemple, desktopCapture.chooseDesktopMedia()) continuent de n'accepter que les rappels, car leurs surfaces actuelles ne sont pas compatibles avec les promesses. Pour assurer la rétrocompatibilité, les rappels restent acceptés. Si une promesse échoue, veuillez signaler un bug.

Nouveaux conseils pour la communication en temps réel

Publié le

Nous venons de publier des guides sur les options en temps réel des extensions. Les mises à jour en temps réel vous permettent de communiquer instantanément entre vos serveurs et vos installations d'extensions. De plus, nous avons ajouté de nouvelles consignes concernant l'utilisation de chrome.gcm et de Web Push.

Nouveaux conseils et exemple: tester l'arrêt d'un service worker

Publié le

Nous venons de publier un guide expliquant comment tester la résiliation d'un service worker avec Puppeteer. L'exemple d'accompagnement le démontre dans Puppeteer et Selenium.

Mise à jour de l'exemple pour la messagerie native

Publié le

Nous venons de publier un exemple mis à jour pour la messagerie native. Cette API permet à votre extension de démarrer une autre application et de communiquer avec elle. Merci au contributeur de GitHub Shubham-Rasal pour son travail sur ce sujet.

Chrome 121: nouvelle propriété lastAccessed sur les onglets.

Publié le

Une propriété nommée lastAccessed a été ajoutée à l'objet tabs.Tab. Cette propriété indique la date de la dernière activation de l'onglet. La valeur renvoyée est exprimée en millisecondes depuis l'epoch.

Chrome 121: les clés "en arrière-plan" non compatibles génèrent désormais un avertissement

Publié le

Lors du passage de Manifest V2 à Manifest V3, les enfants de la clé manifeste "background" ont été modifiés pour permettre le remplacement des scripts en arrière-plan par des service workers d'extensions. Auparavant, l'ajout des clés Manifest V2 "scripts", "page" ou "persistent" à la clé "background" d'une extension Manifest V3 générait une erreur. La présence de ces clés déclenche désormais un avertissement.

Cela permet d'utiliser un seul fichier manifeste dans les extensions de plusieurs navigateurs, conformément à une proposition dans le groupe de la communauté.

Chrome 120: précision minimale des alarmes réduite à 30 secondes

Publié le

À partir de Chrome 120, les extensions Manifest V3 peuvent utiliser l'API chrome.alarms avec des retards ou des périodes de 30 secondes, au lieu d'exiger des valeurs de 60 secondes ou plus.

Article de blog: Reprise de la transition vers Manifest V3

Publié le

Le calendrier de prise en charge de Manifest V2 a été mis à jour. Pour en savoir plus, consultez notre article de blog de novembre 2023.

Article de blog: Améliorations apportées au filtrage du contenu dans Manifest V3

Publié le

Pour découvrir comment nous avons amélioré l'API déclarativeNetRequest, consultez notre nouvel article de blog.

Article de blog: Nouveautés de Chrome 120 pour les extensions

Publié le

La version bêta de Chrome 120 a été publiée récemment. Pour obtenir un résumé des mises à jour importantes destinées aux développeurs d'extensions, consultez notre nouvel article de blog: Nouveautés de Chrome 120 pour les extensions. Cette version marque également une étape majeure, car elle supprime les deux derniers éléments (userScripts, gestionnaire de fichiers sur ChromeOS) de la liste des failles critiques de la plate-forme.

Message d'intérêt public: modification de la gestion des URL des règles de confidentialité dans le tableau de bord du développeur

Publié le

Les règles de confidentialité du tableau de bord du développeur sont désormais ajoutées au niveau des articles. Cela vous permet de fournir des règles de confidentialité différentes pour chaque article. Pour en savoir plus sur ce changement, consultez notre article d'intérêt public.

Vidéo: discussion avec Matt Frisbie

Publié le

Nous venons de publier une nouvelle vidéo sur la chaîne YouTube Chrome pour les développeurs qui discute avec Matt Frisbie, expert en développement Google et auteur. Cliquez ici pour la visionner.

Nouvelles consignes pour tester les extensions

Publié le

Nous venons de publier des conseils sur l'écriture de tests automatisés pour les extensions, y compris sur l'écriture de tests unitaires, des conseils généraux et un tutoriel sur les tests de bout en bout.

Article de blog: Informations concernant les extensions Chrome – Octobre 2023

Publié le

Nous venons de publier la deuxième édition des What's Happening in Chrome Extensions. Ce post décrit les travaux de l'équipe d'extensions sur lesquels l'équipe d'extensions a travaillé ces derniers mois, y compris la résolution des problèmes de stabilité des service workers et la résolution de tous les écarts de la plate-forme MV3. Nous vous communiquons également les prochaines versions intéressantes de l'API, telles que les API Reading List et User Scripts.

Augmentation des limites des ensembles de règles statiques dans l'API Declarative Net Request

Publié le

Suite aux commentaires du groupe de la communauté des extensions Web, nous augmentons considérablement la limite pour les ensembles de règles statiques activés, qui passe de 10 à 50. En outre, nous faisons passer le nombre total d'ensembles de règles statiques autorisés de 50 à 100. Cette fonctionnalité est actuellement disponible en Canary.

Amélioration des conseils sur le code hébergé à distance

Publié le

Manifest V3 exige que les extensions n'utilisent plus le code hébergé à distance. Cette section fait partie de notre guide de migration depuis le début, mais nous avons pensé qu'il était utile d'améliorer les conseils à ce sujet. Cette page fournit désormais plus d'informations, en décrivant les possibilités qui s'offrent encore à vous dans Manifest V3 et sur les stratégies de mise à niveau.

Il existe un ajout associé à la section Résoudre les problèmes de non-respect des règles du Chrome Web Store. Une nouvelle section décrit les raisons courantes pour lesquelles les extensions avec du code hébergé à distance sont refusées.

Chrome 118: isUrlFilterCaseSensitive est désormais défini sur "false" par défaut

Publié le

À partir de Chrome 118, la propriété isUrlFilterCaseSensitive de l'API chrome.declarativeNetRequest a été remplacée par false par défaut. Si vous souhaitez conserver l'ancien comportement, vous pouvez définir explicitement isUrlFilterCaseSensitive sur true dans vos règles déclarativeNetRequest.

Cette réponse fait suite aux discussions du groupe de la communauté des extensions Web. Firefox et Safari ont déjà mis en œuvre un changement similaire.

Documentation sur les cookies et les API de stockage Web

Publié le

Nous avons publié un nouveau guide sur le fonctionnement des API de cookies et de stockage Web dans les extensions Chrome. Il comprend des informations sur les modifications apportées au partitionnement des cookies et du stockage dans la Privacy Sandbox, un projet en cours visant à abandonner les cookies tiers en créant une série d'API de plate-forme Web, ainsi que des informations sur leur fonctionnement dans les extensions.

Exemples d'extensions désormais inclus dans l'index de recherche

Publié le

Nous avons récemment créé une page qui vous permet de rechercher des exemples d'extensions Chrome. La page de recherche comporte plusieurs options. Un champ de recherche vous permet de rechercher du texte dans des exemples de titres. Vous pouvez limiter la recherche par autorisation ou par API d'extension. Un filtre supplémentaire vous permet de limiter la recherche à des exemples d'API ou d'exemples fonctionnels (cas d'utilisation).

Cette nouvelle page d'exemple a été créée par Xuezhou Dai, un participant au programme Google Summer of Code, qui a également ajouté plusieurs nouveaux exemples. Pour en savoir plus sur leur expérience l'été dernier, consultez leur article sur notre blog.

Comme précédemment, nos exemples de code sont toujours disponibles sur GitHub pour le clonage ou la duplication.

Chrome 118: Modifications apportées à l'ouverture du fichier: URL des schémas

Publié le

À partir de Chrome 118, les extensions devront activer le paramètre "Autoriser l'accès aux URL de fichiers" sur la page chrome://extensions pour ouvrir les URL de schéma file:// à l'aide des API Tabs ou Windows. Vous pouvez vérifier cet accès de manière programmatique en appelant chrome.extension.isAllowedFileSchemeAccess(). Firefox limite déjà les URL de fichiers. Safari prend en charge cette modification. Pour en savoir plus, lisez ce post dans le groupe Google sur les extensions.

Chrome 117: Protections des URL étendues dans la navigation dans l'API des extensions

Publié le

Auparavant, la navigation déclenchée par des appels d'API d'extension pour tabs.update(), tabs.create() et windows.create() générait une erreur pour certaines URL chrome://. De plus, l'appel de tabs.update() avec une URL JavaScript était interdit. Dans la version 117, ces protections sur les URL JavaScript ont été étendues à la méthode tabs.create() et un certain nombre d'URL chrome:// supplémentaires ont été ajoutées à la liste des URL interdites, qui s'applique à toutes les méthodes mentionnées précédemment.

Amélioration des conseils pour l'API déclarativeNetRequest

Publié le

L'API chrome.declarativeNetRequest bloque ou modifie les requêtes réseau en spécifiant des règles déclaratives. Cela permet aux extensions de modifier les requêtes réseau sans les intercepter ni afficher leur contenu, protégeant ainsi la confidentialité des utilisateurs. Elle est également délicate à utiliser. Dans cette optique, nous avons réécrit les consignes de manière à donner une vision plus claire de la façon d'implémenter des ensembles de règles déclaratives. Lisez la nouvelle section en cliquant sur le lien ci-dessus.

Utiliser votre compte Google Analytics avec le Chrome Web Store

Publié le

Le Chrome Web Store propose une intégration avec Google Analytics, ce qui vous permet de consulter des données analytiques sur votre fiche Chrome Web Store en plus de l'affichage proposé dans le tableau de bord du développeur. Pour en savoir plus, consultez Utiliser votre compte Google Analytics avec le Chrome Web Store.

Chrome 115: étapes par défaut des outils de développement par rapport aux scripts de contenu

Publié le

Les scripts de contenu injecté se trouvent désormais par défaut dans la liste d'éléments à ignorer des outils de développement. Cela n'affecte pas les points d'arrêt, mais cela signifie que les scripts de contenu seront ignorés lors du débogage et que les exceptions de ces scripts seront ignorées. Lorsqu'un script de contenu est ouvert dans l'onglet Sources, une bannière vous avertit s'il est activé et vous offre la possibilité de le supprimer de la liste des éléments à ignorer. Pour désactiver ce comportement, ouvrez les outils de développement, accédez à Settings (Paramètres), puis à Ignore list (Liste des éléments à ignorer). Pour en savoir plus, consultez Nouveautés des outils de développement.

Chrome 116 (bêta) : plus d'espace

Publié le

Chrome 116 est une version importante pour les extensions. Vous pouvez désormais ouvrir les panneaux latéraux par programmation. Une nouvelle méthode vous permet de savoir s'il existe un document hors écran actif. Plusieurs améliorations ont été apportées aux service workers. Dans la phase 116, le nombre d'améliorations est suffisant pour que nous ayons publié un article de blog décrivant chacune d'elles. Chrome 116 est en version bêta depuis le 19 juillet.

Article de blog: Informations concernant les extensions Chrome

Publié le

Nous venons de publier un aperçu des modifications et améliorations apportées aux extensions cette année. Cet article présente les grandes nouveautés de l'année, notamment l'API Side Panel, les améliorations des service workers et les documents hors écran. Vous aurez également un aperçu de nos projets pour ce trimestre. L'article en propose bien plus, avec des liens vers tous les liens.

Nouveaux conseils et exemple: Découvrez comment utiliser Google Analytics 4 dans votre extension Chrome

Publié le

Nous avons publié de nouveaux exemples et conseils concernant Google Analytics et la géolocalisation:

Chrome 115: spécifiez plusieurs raisons dans chrome.offscreen.createDocument()

Publié le

Vous pouvez maintenant spécifier plusieurs énumérations reason lorsque vous appelez chrome.offscreen.createDocument(). Utilisez cette option lorsqu'un document hors écran est destiné à différentes fins. Le navigateur utilise les motifs fournis pour déterminer la durée de vie du document hors écran.

Nouvel outil: outil de test de mise à jour d'extension

Publié le

Nous venons de lancer l'outil de test de mise à jour des extensions, un serveur local de mise à jour des extensions qui permet de tester les mises à jour des extensions Chrome pendant le développement local, y compris pour l'octroi d'autorisations. L'outil affiche le flux de mise à jour de l'utilisateur, y compris le fait de garder une extension désactivée jusqu'à ce que l'utilisateur accorde les nouvelles autorisations demandées. Cet outil est particulièrement utile pour simuler les modifications d'autorisation demandées lors de la mise à jour d'une extension de Manifest V2 vers Manifest V3.

Chrome 114: nouvelle API Side Panel

Publié le

Découvrez la nouvelle API Side Panel, une surface associée qui permet aux utilisateurs d'accéder à des outils en même temps que le contenu qu'ils consultent. Pour en savoir plus, consultez la documentation de référence de l'API Side Panel. De plus, nous avons ajouté de nombreux exemples de panneaux latéral à notre dépôt d'exemples GitHub. Nous partageons également plus d'informations sur les panneaux latéraux dans le nouvel article de blog Concevoir une expérience utilisateur de qualité supérieure avec la nouvelle API Side Panel. Nous avons également passé en revue nos Consignes relatives à la qualité et nos bonnes pratiques afin de fournir des conseils supplémentaires sur la création d'extensions de panneau latéral de haute qualité.

Vos commentaires sont importants pour l'élaboration de cette API. Veuillez nous faire part de vos commentaires et de vos demandes de fonctionnalités dans les chromium-groups. Nous vous communiquerons prochainement de nouvelles informations à ce sujet, car nous continuons d'améliorer l'API Side Panel.

Nouveaux exemples: WASM dans les extensions

Publié le

Deux nouveaux exemples sont disponibles et montrent comment utiliser WASM dans une extension:

Nous remercions tout particulièrement le contributeur GitHub @daidr pour ces exemples.

Mise à jour des conseils de migration vers Manifest V3

Publié le

Nous avons mis à jour la section Problèmes connus de nos conseils de migration avec Manifest V3 en y ajoutant une liste actualisée des lacunes de la plate-forme d'extensions que nous avons l'intention de combler avant d'annoncer un nouveau calendrier d'abandon de Manifest V2.

Enregistrement audio et vidéo avec Manifest V3

Publié le

Nous venons de publier un nouvel article intitulé Enregistrement audio et capture d'écran, qui explique comment enregistrer du contenu audio ou vidéo à partir d'un onglet, d'une fenêtre ou d'un écran dans Manifest V3. Cet article décrit plusieurs approches d'enregistrement impliquant l'API chrome.tabCapture et la fonction getDisplayMedia().

Chrome 114: augmentation du quota storage.local

Publié le

Nous avons augmenté le quota de la propriété storage.local à environ 10 Mo. Il a été accepté dans le groupe communautaire des extensions Web. Cela permet d'aligner storage.local sur storage.session, qui a été modifié dans Chrome 112.

Nouveau tutoriel et aide sur les service workers d'extensions

Publié le

Les service workers font partie intégrante des extensions Chrome. Nous venons de publier un tutoriel expliquant les principes de base de l'enregistrement, du débogage et de l'interaction avec les service workers. Nous avons également ajouté un nouveau Guide des service workers qui explique plus en détail les concepts importants. Nous élargirons cette section dans les mois à venir.

Autres conseils de dépannage pour les cas de non-respect des règles du Web Store

Publié le

Pour faciliter la publication dans le Chrome Web Store, nous avons ajouté de nouvelles consignes dans deux domaines. Les conseils sur les fonctionnalités minimales visent à offrir aux utilisateurs des avantages et à enrichir leur expérience de navigation. Les consignes relatives aux annonces affiliées consistent à informer les utilisateurs des extensions qui utilisent des liens ou des codes d'affiliation pour la monétisation, et à leur donner un certain contrôle en exigeant une action de l'utilisateur avant l'inclusion.

Nouvelles instructions pour le convertisseur de fichier manifeste d'extension

Publié le

Nous avons réécrit le fichier README de Extension Manifest Converter afin de faciliter la compréhension de la procédure à suivre après l'exécution de l'outil. Le convertisseur permet de migrer les extensions basées sur Manifest V2 vers Manifest V3. Le nouveau fichier README décrit le fonctionnement de l'outil à l'aide de mots correspondant étroitement à ceux de la checklist du guide de migration. Le convertisseur ne fait pas tout, mais il élimine de nombreuses tâches qui ne nécessitent pas d'intervention humaine.

Chrome 113: nouveaux motifs d'affichage hors écran des documents

Publié le

Nous avons ajouté deux nouveaux types de motifs à l'API Offscreen Documents. Utilisez LOCAL_STORAGE pour accéder à l'API localStorage de la plate-forme Web. Utilisez WORKER lorsque vous créez des nœuds de calcul Web.

Google Analytics 4 désormais dans le tableau de bord du développeur

Publié le

Le tableau de bord du développeur Chrome Web Store est désormais compatible avec Google Analytics 4 (GA4). Nous avons simplifié la configuration de Google Analytics et la gestion des accès pour les éditeurs de groupe. Si vous utilisiez auparavant Google Universal Analytics pour suivre l'activité de votre fiche Play Store, vous devrez prendre des mesures d'ici le 1er juillet 2023 pour continuer à recevoir des données la concernant. Pour en savoir plus, consultez cet article sur le groupe Google Chromium Extensions.

L'API File Handling arrive sur ChromeOS

Publié le

L'API File Handler peut être testée sur ChromeOS en Canary pour les versions 112 et 113. Il permet aux extensions de ChromeOS d'ouvrir des fichiers avec les types MIME et les extensions de fichier spécifiés. Pour implémenter la gestion de fichiers, ajoutez un ensemble de règles à manifest.json. Cette fonctionnalité fonctionne de la même manière que pour les progressive web apps. Pour en savoir plus, consultez cet article sur ce site.

Pour activer la gestion de fichiers:

  • À partir de la version 112, lancez Chrome à l'aide de l'indicateur --enable-features=ExtensionWebFileHandlers (à partir de la version 112)
  • À partir de la version 113, collez os://flags/#extension-web-file-handlers dans l'omnibox Chrome, puis sélectionnez "Activé" dans le menu déroulant.

Nous espérons lancer cette fonctionnalité dans Chrome 115 fin juin. Surveillez cet espace pour vous tenir informé.

Nouveaux exemples: déclarations dynamiques et injection programmatique

Publié le

Nous avons créé un nouvel exemple pour l'API chrome.scripting. Elle illustre les déclarations dynamiques, avec lesquelles un script de contenu est enregistré au moment de l'exécution, et l'injection programmatique, où un script est exécuté dans un onglet déjà ouvert.

Nouveaux échantillons: cas d'utilisation de la requête nette déclarative

Publié le

Trois nouveaux exemples sont disponibles pour illustrer l'API Declarative Net Request. Chacun d'eux illustre l'implémentation d'un cas d'utilisation unique. La première montre comment bloquer les cookies. Les deux autres sont des URL de blocage et de redirection.

Chrome 112: augmentation du quota storage.session

Publié le

À partir de Chrome 112, le quota pour la propriété storage.session a été augmenté à environ 10 Mo. Cette modification a été approuvée par le groupe de la communauté des extensions Web: https://github.com/w3c/webextensions/issues/350

Chrome 109: Documents hors écran

Publié le

Les documents hors écran sont désormais disponibles dans les extensions Manifest V3. Ils facilitent la transition des pages en arrière-plan vers les service workers d'extensions en assurant la prise en charge des fonctionnalités et des API liées au DOM. Pour en savoir plus, consultez cet article de blog.

Chrome 110: une extension est-elle activée ?

Publié le

La méthode chrome.action.isEnabled() vérifie de manière programmatique si une extension a été activée pour un onglet spécifique. Cela vous évite de conserver l'état activé de vos onglets. Cette nouvelle méthode utilise un ID d'onglet et une référence à un rappel et renvoie une valeur booléenne. Elle présente une limitation: les onglets créés à l'aide de chrome.declarativeContent renvoient toujours "false".

(L'espace de noms chrome.action a récemment obtenu de nouvelles méthodes pour contrôler l'apparence des badges d'extension. Pour en savoir plus, consultez la section Définir les couleurs du badge.)

Chrome 110: modification du délai d'inactivité d'un service worker

Publié le

Auparavant, un service worker d'extension s'arrêtait fréquemment au bout de cinq minutes. Nous avons modifié ce comportement pour qu'il ressemble davantage à la durée de vie d'un service worker sur le Web. Un service worker d'extension est arrêté après 30 secondes d'inactivité ou si le traitement d'une seule activité prend plus de 5 minutes. Pour en savoir plus, consultez la section Durée de vie prolongée des service workers d'extensions.

Post: Suspension de l'arrêt de Manifest V2

Publié le

Le calendrier d'abandon de Manifest V2 est en cours d'examen et les tests prévus pour début 2023 sont reportés. Pour plus d'informations, consultez cette mise à jour dans le groupe Google "chromium-extensions".

Chrome 110: Définir les couleurs du badge

Publié le

L'espace de noms chrome.action comporte deux nouvelles méthodes pour vous donner plus de contrôle sur les badges d'extension d'apparence. Les méthodes setBadgeTextColor() et getBadgeTextColor() permettent à une extension de modifier et d'interroger la couleur du texte du badge de son icône de barre d'outils. Lorsqu'elles sont utilisées avec setBadgeBackgroundColor et getBadgeBackgroundColor, ces nouvelles méthodes vous permettent de renforcer la cohérence du design et de la marque.

Article de blog: En savoir plus sur la transition vers Manifest V3

Publié le

Nous avons clarifié le calendrier d'abandon de Manifest V2. Le calendrier d'assistance Manifest V2 a également été mis à jour pour refléter ces informations.

Mise à jour de Docs: problèmes connus lors de la migration vers Manifest V3

Publié le

Nous avons dressé une liste des fonctionnalités principales en cours de développement et des bugs signalés. L'objectif de cette page est d'aider les développeurs à mieux comprendre l'état actuel de la plate-forme et les fonctionnalités qu'ils peuvent cibler pour se préparer à l'avenir.

Chrome Web Store : importation de l'image "grande vignette de promotion" supprimée

Publié le

Le Chrome Web Store a supprimé l'interface utilisateur d'importation "grande vignette de promotion" de l'onglet "Fiche Play Store" des articles dans le tableau de bord du développeur. Ce changement n'affecte pas l'expérience utilisateur, car ces images n'étaient pas utilisées dans l'interface utilisateur grand public. Pour en savoir plus, consultez cet article sur les extensions chromium.

Chrome 106: Autoriser les pages des URL file:// à accéder aux ressources accessibles sur le Web

Publié le

Les origines opaques, telles que les iFrames en bac à sable et l'importation dynamique, doivent également permettre d'accéder aux ressources accessibles sur le Web, comme expliqué dans crbug.com/1219825#c11.

Chrome 106: correction du bug qui autorisait les arguments finaux incorrects dans certaines fonctions d'API asynchrones

Publié le

Auparavant, Manifest V3 appelant des API asynchrones pouvait fournir un argument final non valide, et Chrome ne générait aucune erreur. Grâce à ce correctif, Chrome affichera correctement une erreur et signalera qu'aucune signature ne correspond. Nous encourageons les développeurs à rechercher d'éventuelles erreurs dans leurs extensions dans Canary, au cas où ils utiliseraient accidentellement une signature incorrecte pour un appel d'API qui serait rompu par cette correction de bug.

Article de blog: Refonte des données analytiques du Chrome Web Store

Publié le

Le Chrome Web Store propose une interface d'analyse des articles repensée pour le tableau de bord du développeur Chrome Web Store. Le nouveau tableau de bord est plus facile à comprendre d'un seul coup d'œil et regroupe les informations les plus utiles en amont. Pour en savoir plus, consultez cet article de blog.

Chrome 105: promesses pour l'API Identity

Publié le

Les fonctions de l'API Identity sont désormais compatibles avec les appels basés sur des promesses. Cela s'accompagne d'une légère modification de la surface de identity.getAuthToken(), où le retour asynchrone défini sur un appel basé sur une promesse comportera "token" et "grantedScopes" comme paramètres sur un seul objet (par opposition à la version de rappel qui les recevra en tant qu'arguments distincts pour le rappel).

Chrome 104: nouvelle API favicons pour Manifest V3

Publié le

Les extensions Manifest V3 peuvent désormais accéder aux favicons en utilisant un nouveau format d'URL: chrome-extension://<id>/_favicon/, où correspond à l'ID de votre extension. Cela remplace l'API chrome://favicons de la plate-forme Manifest V2. Pour en savoir plus, consultez la documentation sur l'API Favicon.

Mise à jour de la documentation: Déclaration en tant que professionnel ou non-professionnel du développeur

Publié le

Ajout de l'identification de professionnel/développeur non-professionnel qui permet aux développeurs de déclarer eux-mêmes leur statut de professionnel ou de non-professionnel.

Chrome 103: Wasm dans Manifest V3 nécessite une évaluation non sécurisée

Publié le

Chrome n'accorde plus d'extensions script-src: wasm-unsafe-eval par défaut. Les extensions qui utilisent WebAssembly doivent désormais ajouter explicitement cette directive et cette valeur à extension_pages dans leurs déclarations content_security_policy.

Chrome 103: la modification des raccourcis MV3 prend effet immédiatement

Publié le

Lorsque vous modifiez le raccourci clavier d'une extension Manifest V3 sur chrome://extensions/shortcuts, les mises à jour sont désormais appliquées immédiatement. Auparavant, l'extension devait être actualisée pour que la modification prenne effet.

Chrome 102: scripts de contenu dynamique dans le monde principal

Publié le

Les scripts de contenu enregistré dynamiquement peuvent désormais spécifier le monde dans lequel les éléments seront injectés. Pour en savoir plus, consultez scripting.registerContentScripts().

Chrome 102: nouveau champ "optional_host_permissions" dans le fichier manifeste

Publié le

Les extensions Manifest V3 peuvent désormais spécifier la clé optional_host_permissions dans le fichier manifest.json. Cela permet aux extensions Manifest V3 de déclarer des modèles de correspondance facultatifs pour les hôtes, tout comme les extensions Manifest V2 pourraient utiliser la clé optional_permissions.

Chrome 102: propriété "insidely" dans scripting.executeScript()

Publié le

chrome.scripting.executeScript() accepte désormais une propriété injectImmediately facultative sur son argument injection. Si cette valeur est présente et définie sur "true", le script injecte des éléments dans la cible dès que possible, au lieu d'attendre document_idle. Notez que cela ne garantit pas que le script injectera avant le chargement de la page, car celle-ci continue de se charger pendant l'appel d'API.

Chrome 102: prise en charge de l'API de l'omnibox dans Manifest V3

Publié le

L'API omnibox peut désormais être utilisée dans les extensions basées sur un service worker. Auparavant, certaines méthodes de cette API étaient déclenchées lors d'un appel en raison de dépendances internes aux fonctionnalités DOM.

Chrome 102: évaluation WMS non sécurisée autorisée dans Manifest V3 CSP

Publié le

Les extensions Manifest V3 peuvent désormais inclure wasm-unsafe-eval dans leurs déclarations content_security_policy. Ce changement permet aux extensions Manifest V3 d'utiliser WebAssembly.

Chrome 102: nouvelle API storage.session

Publié le

Les extensions Manifest V3 peuvent désormais être utilisées dans l'espace de stockage en mémoire storage.session .

Mise à jour de Docs: découverte d'éléments dans le Chrome Web Store

Publié le

La section Découverte sur le Chrome Web Store explique comment les utilisateurs trouvent des éléments sur le Chrome Web Store et comment nos éditeurs sélectionnent les éléments à mettre en avant.

Chrome 101: Amélioration des conditions de domaine déclarativeNetRequest

Publié le

Les conditions de la règle declarativeNetRequest ont été mises à jour pour permettre aux extensions de mieux cibler les requêtes en fonction des domaines "de requête" et "initiateur" de la requête. Les propriétés de condition pertinentes sont initiatorDomains, excludedInitiatorDomains, requestDomains et excludedRequestDomains. Consultez également ce fil de discussion chromium-extensions.

Chrome 100: résolution du problème lié à scripting.executeScript() dans les nouveaux onglets

Correction d'un problème à long terme où l'appel de scripting.executeScript() sur un nouvel onglet ou une nouvelle fenêtre pouvait échouer.

Chrome 100: le port de messagerie natif maintient le service worker actif

Publié le

La connexion à un hôte de messagerie native à l'aide de chrome.runtime.connectNative() dans le service worker d'une extension doit maintenir celui-ci actif tant que le port est ouvert.

Chrome 100: omnibox.setDefaultSuggestion() accepte les promesses et les rappels

Publié le

La méthode omnibox.setDefaultSuggestion() renvoie désormais une promesse ou accepte un rappel pour permettre aux développeurs de déterminer quand la suggestion a été correctement définie.

Chrome 100: compatibilité avec i18n.getMessage() dans les service workers d'extensions

Publié le

L'API chrome.i18n.getMessage() est désormais compatible avec les contextes de service workers d'extensions.

Chrome 99: match_origin_as_fallback dans Canary

Publié le

Les scripts de contenu peuvent désormais spécifier la clé match_origin_as_fallback à injecter dans des frames associés à un frame correspondant, y compris les frames avec des URL about:, data:, blob: et filesystem:. Pour en savoir plus, consultez la documentation sur les scripts de contenu.

Chrome 99 : compatibilité des service workers d'extensions avec les schémas de fichier dans Canary

Publié le

Les extensions Manifest V2 et Manifest V3 basées sur le service worker peuvent désormais utiliser l'API Fetch pour demander des URL de schéma file:. L'accès aux URL du schéma file: nécessite toujours que l'utilisateur active l'option "Autoriser l'accès aux URL de fichiers" pour l'extension sur la page chrome://extensions.

Chrome 99: compatibilité assurée avec les API de messagerie dans Canary

Publié le

La prise en charge de la promesse a été ajoutée à tabs.sendMessage, runtime.sendMessage et runtime.sendNativeMessage pour les extensions conçues pour Manifest V3.

Mise à jour de Docs: documentation relative aux avis sur le Chrome Web Store

Publié le

Ajout d'une page de référence qui présente le processus d'examen du Chrome Web Store et explique comment l'application du Règlement du programme pour les développeurs est gérée.

Chrome 98: scripting.executeScript() et scripting.insertCSS() acceptent plusieurs fichiers

Publié le

Les méthodes executeScript() et insertCSS() de l'API de script acceptent désormais plusieurs fichiers. Auparavant, ces méthodes nécessitaient un tableau contenant une seule entrée de fichier.

Mise à jour de Docs: informations sur la résolution des problèmes de non-respect des règles

Publié le

La page Résoudre les problèmes de non-respect des règles du Chrome Web Store a été mise à jour afin de fournir aux développeurs des conseils plus détaillés sur les motifs de refus les plus courants.

Chrome 96: promesse étendue à 27 API supplémentaires

Publié le

Cette version contient beaucoup plus de mises à jour prometteuses que n'importe quelle version précédente. Les mises à jour incluent des API d'extensions générales et spécifiques à ChromeOS. Développez les sections suivantes pour en savoir plus.

API d'extensions

Un certain nombre d'API sont désormais compatibles avec les promesses dans Manifest V3.

De plus, les API qui utilisent le prototype ChromeSetting prennent désormais également en charge les promesses. Les API suivantes sont concernées par ce changement.

API ChromeOS

Chrome 96: scripts de contenu dynamique

Publié le

L'API chrome.scripting prend désormais en charge l'enregistrement, la mise à jour, l'annulation de l'enregistrement et l'obtention d'une liste de scripts de contenu au moment de l'exécution. Auparavant, les scripts de contenu ne pouvaient être déclarés de manière statique que dans le fichier manifeste.json d'une extension, ou injectés de manière automatisée au moment de l'exécution avec chrome.scripting.executeScript().

Mise à jour de Docs: calendrier de prise en charge de Manifest V2

Publié le

Le calendrier de transition de Manifest V2 à V3 a été annoncé dans cet article de blog et une page de calendrier plus détaillée a été publiée.

Chrome 96: autorisation déclarativeNetRequestWithHostAccess

Publié le

La nouvelle autorisation declarativeNetRequestWithHostAccess permet aux extensions d'utiliser l'API chrome.declarativeNetRequest sur les sites pour lesquels l'extension dispose d'autorisations d'hôte. Cela permet également aux extensions Manifest V2 existantes qui utilisent webRequest, webRequestBlocking et l'autorisation d'hôte spécifique au site de migrer vers l'API chrome.declarativeNetRequest sans que l'utilisateur ait à approuver de nouvelles autorisations.

Chrome 95: injecter des scripts directement dans les pages

Publié le

La méthode executeScript() de l'API chrome.scripting peut désormais injecter des scripts directement dans le monde principal d'une page. Auparavant, les extensions ne pouvaient injecter directement que dans le monde isolé de l'extension. Pour en savoir plus sur les mondes isolés, consultez la documentation sur les scripts de contenu.

Chrome 95: promesse de compatibilité avec l'API Storage

Publié le

Les méthodes de la version Manifest V3 de l'API chrome.storage renvoient désormais des promesses.

Mise à jour du règlement: application forcée de la validation en deux étapes

Publié le

L'article de blog sur la mise à jour des règles publié le 29 juin 2021 a été modifié afin de corriger le calendrier de déploiement de la validation en deux étapes.

Chrome 94: modifications de l'ensemble de règles statiques des requêtes réseau déclaratives

Publié le

chrome.declarativeNetRequest permet désormais de spécifier jusqu'à 50 ensembles de règles statiques (MAX_NUMBER_OF_STATIC_RULESETS) et d'activer jusqu'à 10 ensembles de règles (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) à la fois.

Chrome 93: prise en charge de l'isolation multi-origine

Publié le

Les extensions Manifest V2 et Manifest V3 peuvent désormais activer l'isolation multi-origine. Cette fonctionnalité limite les ressources multi-origines pouvant charger les pages d'une extension et permet d'utiliser des fonctionnalités de bas niveau de la plate-forme Web, telles que SharedArrayBuffer. L'activation sera requise à partir de Chrome 95.

Mise à jour du règlement: règlement du programme pour les développeurs mis à jour

Publié le

Le Règlement du programme Chrome Web Store pour les développeurs a été mis à jour afin de clarifier les tactiques d'installation trompeuses, le spam et les règles relatives au contenu répétitif. Cette mise à jour inclut également une nouvelle exigence de validation en deux étapes pour la publication sur le Chrome Web Store. Pour en savoir plus, consultez cet article de blog.

Article de blog: Actions des extensions dans Manifest V3

Publié le

Les extensions Chrome comportaient les API chrome.browserAction et chrome.pageActions pendant des années, mais Manifest V3 a remplacé les deux par une API chrome.actions générique. Cet article explore l'historique de ces API et ce qui a changé dans Manifest V3. Lire l'article

Article de blog: présentation de chrome.scripting

Publié le

L'API chrome.scripting est une nouvelle API Manifest V3 axée sur l'écriture de script. Dans cet article, nous explorons les motivations de ce changement et examinons de plus près ses nouvelles fonctionnalités. Lire l'article

Chrome 92: prise en charge des service workers de modules

Publié le

Chrome est désormais compatible avec les modules JavaScript dans les service workers. Pour spécifier un module ou un module dans votre fichier manifeste, procédez comme suit:

"background": {
  "service_worker": "script.js",
  "type": "module"
}

Le script du nœud de calcul est alors chargé en tant que module ES, ce qui vous permet d'utiliser le mot clé import dans le script du nœud de calcul pour importer d'autres modules.

Chrome 91: chrome.action.getUserSettings()

Publié le

La nouvelle méthode chrome.action.getUserSettings() permet aux extensions de déterminer si l'utilisateur l'a épinglée à la barre d'outils principale.

Chrome 90: chrome.scripting.removeCSS()

Publié le

La nouvelle méthode chrome.scripting.removeCSS() permet aux extensions de supprimer le CSS précédemment inséré via chrome.scripting.insertCSS(). Elle remplace chrome.tabs.removeCSS().

Chrome 90: renvoi de promesses de scripting.executeScript()

Publié le

chrome.scripting.executeScript() prend désormais en charge les promesses de retour. Si la valeur résultante de l'exécution du script est une promesse, Chrome attendra que la promesse se satisfasse et renvoie la valeur obtenue.

Chrome 90: les résultats de chrome.scripting.executeScript() incluent l'identifiant frameId.

Publié le

Les résultats renvoyés par chrome.scripting.executeScript() incluent désormais le frameId. La propriété frameId indique le frame d'où provient le résultat, ce qui permet aux extensions d'associer facilement les résultats à des frames individuels lors de l'injection dans plusieurs frames.

Chrome 89: nouvelle API pour gérer les groupes d'onglets

Publié le

La nouvelle API chrome.tabGroups et les nouvelles fonctionnalités de chrome.tabs permettent aux extensions de lire et de manipuler les groupes d'onglets. Nécessite Manifest V3.

Chrome 89: autorisations personnalisables pour les ressources accessibles sur le Web

Publié le

Les définitions des ressources accessibles sur le Web dans Manifest V3 ont été modifiées pour permettre aux extensions de restreindre l'accès aux ressources en fonction de l'origine ou de l'ID de l'extension du demandeur.

Article de blog: Conversion Manifest Converter

Publié le

L'équipe des extensions Chrome a publié en Open Source "Extension Manifest Converter", un outil Python qui automatise certains aspects mécaniques de la conversion des extensions en Manifest V3. Consultez l'article de blog annonçant cette annonce et obtenez-le sur GitHub.

Chrome 88: disponibilité générale de Manifest V3

Publié le

Manifest V3 est une mise à jour majeure de la plate-forme d'extensions. Consultez la présentation de Manifest V3 pour obtenir un résumé des fonctionnalités nouvelles et modifiées. Les extensions peuvent continuer à utiliser Manifest V2 pour le moment, mais cette fonctionnalité sera bientôt supprimée. Nous vous recommandons vivement d'utiliser Manifest V3 pour toute nouvelle extension et de commencer à migrer les extensions existantes vers Manifest V3 dès que possible.