マニフェストのバージョン

拡張機能、テーマ、アプリケーションは単にリソースのバンドルであり、パッケージの内容が記述された 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 プロパティに置き換えられました。詳しくは、イベントページのドキュメントをご覧ください。
  • ブラウザの動作の変更:

  • ページ操作の変更:

  • chrome.self API が削除されました。代わりに chrome.extension を使用してください。

  • chrome.extension.getTabContentses(!!!)と chrome.extension.getExtensionTabs が削除されました。代わりに extension.getViews を使用してください。

  • Port.tab さんを削除しました。代わりに runtime.Port を使用してください。