Extensión de Chrome API: chrome.tabs.captureVisibleTab en la página de fondo a la secuencia de comandos de contenido

Mi objetivo general era tomar una captura de pantalla a través de la página de fondo usando:

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

y páselo al script de contenido para que pueda usar el DOM de HTML de la página para analizar la captura de pantalla y cortarlo como me gustaría.

Sin embargo, parece que no puedo volver a pasar el dataUrl al script de contenido con Message Passing:

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

Intenté JSON.stringify () pero fue en vano.

Esto funciona perfectamente bien:

background.js

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

Cambié el código a esto y nada pasa:

background.js

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

Mi única prueba de que la página de fondo en realidad está tomando una captura de pantalla es que puedo hacer

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

y veo

"datos: imagen / jpeg; base64, / 9j / 4AAQSkZJRgABAQAAA .... etc ..."

ha iniciado sesión en background.html, que es válido

Mi pregunta es: ¿Cómo puedo enviar esta URL a la secuencia de comandos de contenido?

Preferiría no hacer toda la lógica en la página de fondo que no puede controlar nada en la página visible real.

Respuestas a la pregunta(1)

Su respuesta a la pregunta