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_policy
dans la documentation Google Cloud. - Les ressources d'un package ne sont plus disponibles par défaut pour les sites Web externes (en tant que
src
d'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_page
a été remplacée par une propriétébackground
contenant 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_actions
dans le fichier manifeste et l'APIchrome.browserActions
ont disparu. Utilisez les au singulierbrowser_action
etchrome.browserAction
à la place. - La propriété
icons
debrowser_action
a été supprimée. Utiliser la propriétédefault_icon
ou browserAction.setIcon à la place. - La propriété
name
debrowser_action
a été supprimée. Utiliser la propriétédefault_title
ou browserAction.setTitle à la place. - La propriété
popup
debrowser_action
a été supprimée. Utilisez ledefault_popup
ou browserAction.setPopup à la place. - La propriété
default_popup
debrowser_action
ne 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_actions
dans le fichier manifeste et l'APIchrome.pageActions
ont disparu. Utilisez les au singulierpage_action
etchrome.pageAction
à la place. - La propriété
icons
depage_action
a été supprimée. Utilisez la propriétédefault_icon
ou pageAction.setIcon à la place. - La propriété
name
depage_action
a été supprimée. Utilisez la propriétédefault_title
ou pageAction.setTitle à la place. - La propriété
popup
depage_action
a été supprimée. Utiliser la propriétédefault_popup
ou pageAction.setPopup à la place. - La propriété
default_popup
depage_action
ne peut plus être spécifiée en tant qu'objet. Il doit être une chaîne.
- La clé
L'API
chrome.self
a été supprimée. Utilisezchrome.extension
à la place.chrome.extension.getTabContentses
(!!!) etchrome.extension.getExtensionTabs
ont disparu. Utilisez extension.getViews à la place.Port.tab
a disparu. Utilisez plutôt runtime.Port.