拡張機能、テーマ、アプリケーションは単にリソースのバンドルであり、パッケージの内容が記述された manifest.json
ファイルでラップされます。このファイルの形式は通常安定していますが、重要な問題に対処するには、互換性を破る変更が必要になる場合があります。デベロッパーは、マニフェストに manifest_version
キーを設定して、パッケージがターゲットとするマニフェスト仕様のバージョンを指定する必要があります。
現在のバージョン
デベロッパーは現在のところ、'manifest_version': 2
を指定する必要があります。
{
...,
"manifest_version": 2,
...
}
Chrome 18 で、Manifest バージョン 1 はサポートが終了しました。サポートは、下記のスケジュールに沿って段階的に終了します。
マニフェスト バージョン 1 のサポート スケジュール
2012 年 8 月
- ウェブストアでは、マニフェスト バージョン 1 の新しい拡張機能の作成がブロックされます。
- ウェブストアで、既存のマニフェスト バージョン 1 の拡張機能を更新できるようになります。
2013 年 3 月
- ウェブストアでは、2013 年 3 月 4 日にマニフェスト バージョン 1 の拡張機能の更新がブロックされます。
2013 年 4 月
- Chrome 27 ベータ版では、マニフェスト バージョン 1 の拡張機能のパッケージ化(開発目的での読み込み)が行われなくなります。
2013 年 6 月
- ウェブストアでは、ウォール、検索結果、カテゴリページからマニフェスト バージョン 1 の拡張機能が削除されます。
- マニフェスト バージョン 1 の拡張機能がストアに残っているすべてのデベロッパーに、これらの拡張機能が非公開になることと、更新手順をお知らせする通知メールが送信されます。
2013 年 9 月
- ウェブストアは、すべてのマニフェスト バージョン 1 拡張機能の公開を停止します。
- 最終通知メールは、ウェブストアにマニフェスト バージョン 1 の拡張機能がまだ残っているデベロッパーに送信されます。
- Chrome では引き続き、インストールされたマニフェスト バージョン 1 の拡張機能が読み込まれ、実行されます。
2014 年 1 月
- Chrome で、マニフェスト バージョン 1 の拡張機能の読み込みまたは実行が停止します。
バージョン 1 と 2 の変更点
- コンテンツ セキュリティ ポリシーはデフォルトで
`script-src 'self'; object-src 'self';
に設定されています。これはデベロッパーにさまざまな影響を与えます。詳細については、content_security_policy
ドキュメントをご覧ください。 - デフォルトでは、パッケージのリソースは(画像の
src
またはscript
タグとして)外部ウェブサイトで使用できなくなりました。パッケージ内のリソースをウェブサイトで読み込めるようにするには、web_accessible_resources
マニフェスト属性を使用して、明示的に許可リストを指定する必要があります。これは、挿入されたコンテンツ スクリプトによってウェブサイト上にインターフェースを構築する拡張機能に特に当てはまります。 background_page
プロパティは、scripts
またはpage
プロパティのいずれかを含むbackground
プロパティに置き換えられました。詳しくは、イベントページのドキュメントをご覧ください。ブラウザの動作の変更:
- マニフェストの
browser_actions
キーとchrome.browserActions
API が削除されました。代わりに、単数形のbrowser_action
とchrome.browserAction
を使用してください。 browser_action
のicons
プロパティが削除されました。代わりにdefault_icon
プロパティまたは browserAction.setIcon を使用してください。browser_action
のname
プロパティが削除されました。代わりにdefault_title
プロパティまたは browserAction.setTitle を使用してください。browser_action
のpopup
プロパティが削除されました。代わりにdefault_popup
プロパティまたは browserAction.setPopup を使用してください。browser_action
のdefault_popup
プロパティをオブジェクトとして指定できなくなりました。文字列にする必要があります。
- マニフェストの
ページ操作の変更:
- マニフェストの
page_actions
キーとchrome.pageActions
API が削除されました。代わりに、単数形のpage_action
とchrome.pageAction
を使用してください。 page_action
のicons
プロパティが削除されました。代わりにdefault_icon
プロパティまたは pageAction.setIcon を使用してください。page_action
のname
プロパティが削除されました。代わりにdefault_title
プロパティまたは pageAction.setTitle を使用してください。page_action
のpopup
プロパティが削除されました。代わりにdefault_popup
プロパティまたは pageAction.setPopup を使用してください。page_action
のdefault_popup
プロパティをオブジェクトとして指定できなくなりました。文字列にする必要があります。
- マニフェストの
chrome.self
API が削除されました。代わりにchrome.extension
を使用してください。chrome.extension.getTabContentses
(!!!)とchrome.extension.getExtensionTabs
が削除されました。代わりに extension.getViews を使用してください。Port.tab
さんを削除しました。代わりに runtime.Port を使用してください。