Les extensions, les thèmes et les applications sont de simples groupes de ressources, regroupés par un
Fichier manifest.json qui décrit le contenu du package. Le format de ce fichier est
stables, mais des modifications destructives sont parfois nécessaires pour résoudre des problèmes importants.
Les développeurs doivent spécifier la version des spécifications du fichier manifeste que leur package cible en
en définissant une clé manifest_version dans leurs fichiers manifestes.
Version actuelle
Les développeurs doivent actuellement spécifier 'manifest_version': 2:
{
...,
"manifest_version": 2,
...
}
Manifest version 1 a été obsolète depuis Chrome 18 et ne sera plus pris en charge suivant le calendrier.
Calendrier de prise en charge de Manifest version 1
Août 2012
- Le Web Store bloquera la création d'extensions de fichier manifeste version 1.
- Le Web Store autorisera la mise à jour des extensions existantes du fichier manifeste version 1.
Mars 2013
- Le Web Store bloquera les mises à jour des extensions Manifest version 1 le 4 mars 2013.
Avril 2013
- La version bêta de Chrome 27 cessera d'empaqueter les extensions du fichier manifeste version 1 (ou de les charger pour développement).
Juin 2013
- Le Web Store supprimera les extensions du fichier manifeste version 1 du bandeau, des résultats de recherche et les pages de catégorie.
- Les e-mails de notification seront envoyés à tous les développeurs dont les extensions Manifest version 1 sont toujours disponibles sur le Play Store en leur rappelant que ces extensions ne seront plus publiées et en leur fournissant des instructions de mise à jour.
Septembre 2013
- Le Web Store annulera la publication de toutes les extensions du fichier manifeste version 1.
- Le dernier e-mail de notification sera envoyé aux développeurs dont les extensions Manifest version 1 sont toujours disponibles sur le Web Google Store.
- Chrome continuera de charger et d'exécuter les extensions du fichier manifeste (version 1) installées.
Janvier 2014
- Chrome cessera de charger ou d'exécuter les extensions du fichier manifeste version 1.
Modifications entre les versions 1 et 2
- Une règle Content Security Policy est définie sur
`script-src 'self'; object-src 'self';par défaut. Ce a diverses conséquences sur les développeurs, décrites en détail dans lecontent_security_policydans la documentation Google Cloud. - Les ressources d'un package ne sont plus disponibles par défaut pour les sites Web externes (en tant que
srcd'un ou un tagscript). Si vous souhaitez qu'un site Web puisse charger une ressource contenue dans votre vous devez l'ajouter explicitement à la liste d'autorisation via le fichier manifesteweb_accessible_resources. Cela est particulièrement utile pour les extensions qui créent une interface sur un site Web. via des scripts de contenu injecté. - La propriété
background_pagea été remplacée par une propriétébackgroundcontenant soit une propriétéscripts, soit une propriétépage. Pour en savoir plus, consultez les pages "Événements". dans la documentation Google Cloud. Modifications des actions du navigateur:
- La clé
browser_actionsdans le fichier manifeste et l'APIchrome.browserActionsont disparu. Utilisez les au singulierbrowser_actionetchrome.browserActionà la place. - La propriété
iconsdebrowser_actiona été supprimée. Utiliser la propriétédefault_iconou browserAction.setIcon à la place. - La propriété
namedebrowser_actiona été supprimée. Utiliser la propriétédefault_titleou browserAction.setTitle à la place. - La propriété
popupdebrowser_actiona été supprimée. Utilisez ledefault_popupou browserAction.setPopup à la place. - La propriété
default_popupdebrowser_actionne peut plus être spécifiée en tant qu'objet. Il doit être une chaîne.
- La clé
Modifications des actions sur la page:
- La clé
page_actionsdans le fichier manifeste et l'APIchrome.pageActionsont disparu. Utilisez les au singulierpage_actionetchrome.pageActionà la place. - La propriété
iconsdepage_actiona été supprimée. Utilisez la propriétédefault_iconou pageAction.setIcon à la place. - La propriété
namedepage_actiona été supprimée. Utilisez la propriétédefault_titleou pageAction.setTitle à la place. - La propriété
popupdepage_actiona été supprimée. Utiliser la propriétédefault_popupou pageAction.setPopup à la place. - La propriété
default_popupdepage_actionne peut plus être spécifiée en tant qu'objet. Il doit être une chaîne.
- La clé
L'API
chrome.selfa été supprimée. Utilisezchrome.extensionà la place.chrome.extension.getTabContentses(!!!) etchrome.extension.getExtensionTabsont disparu. Utilisez extension.getViews à la place.Port.taba disparu. Utilisez plutôt runtime.Port.