API de extensão do Chrome: chrome.tabs.captureVisibleTab na página de segundo plano para o Content Script

Meu objetivo geral era fazer uma captura de tela por meio da página de plano de fundo usando:

http://developer.chrome.com/extensions/tabs.html#method-captureVisibleTab

e passá-lo para o script de conteúdo para que eu possa usar o HTML DOM da página para analisar a captura de tela e cortá-la da maneira que gostaria.

No entanto, parece que não consigo passar o dataUrl de volta para o script de conteúdo com o Message Passing:

http://developer.chrome.com/extensions/messaging.html

Eu tentei JSON.stringify (), mas sem sucesso.

Isso funciona perfeitamente bem:

background.js

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        sendResponse({imgSrc:'hello'});
    }
);

Eu mudo o código para isso e nada acontece:

background.js

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        chrome.tabs.captureVisibleTab(
            null,
            {},
            function(dataUrl)
            {
                sendResponse({imgSrc:dataUrl});
            }
        )
    }
);

Minha única prova de que a página de fundo está realmente tirando uma captura de tela é que eu posso fazer

chrome.tabs.captureVisibleTab(null,{},function(dataUrl){console.log(dataUrl);});

e eu vejo

"dados: image / jpeg; base64, / 9j / 4AAQSkZJRgABAQAAA .... etc ..."

logado em background.html, que é válido

Minha pergunta é: como posso enviar esse URL para o script de conteúdo?

Eu preferiria não fazer toda a lógica na página de fundo que não pode controlar nada na página visível real.

questionAnswers(1)

yourAnswerToTheQuestion