Chrome 拡張機能のManifestファイルのバージョンを1から2に変更する

バージョン1のままだとChrome Web Storeで見えなくなるよ!って通知が来たので変更しました。

変更しなければならない箇所は下記を参考にしました。

まずはmanifest_versionの記載を追記。

  "manifest_version": 2,

background_pageプロパティを "background": { "page": }に

  "background": {
    "page": "background.html"
  }

これで実行してみたら、下記のようなエラーが発生しました。

f:id:onozaty:20130630235235p:plain

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension-resource:".

バージョン2になってから、デフォルトだとインラインにJavaScript書けなくなっていて、下記のようなbackgroudページで指定したHTMLがエラーになってました。

<html>
  <script>
    chrome.browserAction.onClicked.addListener(function(tab) {
      chrome.tabs.create({ url: 'view.html', selected: true });
    });
  </script>
</html>

バージョン2から、そのままjsファイルを指定できるようになってたので、JavaScript部分をjsファイルにして、Manifestファイルで指定するよう変更して対応しました。

  "background": {
    "scripts": ["background.js"]
  }

最終的なmanifest.jsonは下記の通りとなりました。

diff --git a/src/manifest.json b/src/manifest.json
index ed8214f..6bdaeca 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -1,7 +1,6 @@
 {
   "name": "Online Bookmark IncSearch",
-  "manifest_version": 2,
-  "version": "1.0",
+  "version": "0.3",
   "description": "This extension is a incremental search UI for online bookmark
   "icons": {
     "48": "icon48.png",
@@ -20,7 +19,5 @@
     "http://clip.livedoor.com/*",
     "http://b.hatena.ne.jp/*"
   ],
-  "background": {
-    "scripts": ["background.js"]
-  }
+  "background_page": "background.html"
 }