chrome.runtime.sendMessage ne fonctionne pas comme prévu

Je suis en train d'écrire un plugin Chrome avec un contenu de script et un arrière-plan de script, et je suis en train de faire les deux à communiquer.

Dans le contenu de mon script, je suis en train de faire

chrome.runtime.sendMessage({greeting: "hello"}, function(response) {
      console.log(response.farewell);
});

et mon fond de script, je suis en train de faire

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        console.log(sender.tab ?
          "from a content script:" + sender.tab.url :
          "from the extension");
        if (request.greeting == "hello")
            sendResponse({farewell: "goodbye"});
    }
);

Mon manifeste ressemble à ceci:

{
    "manifest_version": 2,
    "name": "Tesing Phase",
    "version": "1.0",
    "background": {
        "persistent": false,
        "scripts": ["bgscript.js"]
    },
    "content_scripts": [{
        "js": ["contentscript.js"],
        "all_frames": true,
        "run_at" : "document_start",
        "matches": ["*://*/*"]
    }],
    "web_accessible_resources": ["script.js"]
}

Quand je lance mon plugin, j'obtiens l'erreur suivante:

Uncaught TypeError: Object #<Object> has no method 'sendMessage' 

J'ai essayé de journalisation chrome.runtimeet il n'y a pas de méthode sendMessage. Je suis l'aide de la version 25.0 de Chromium sur Ubuntu. J'ai essayé d'utiliser sendRequest ainsi, mais il a dit qu'il est amorti et sendMessage doit être utilisé.

Quelqu'un peut-il m'indiquer ce que je suis en manque ici? Sont là toutes les autorisations nécessaires pour que cela fonctionne?

source d'informationauteur Jiby Jose