Error al pasar el mensaje de Chrome: intento de usar un objeto de puerto desconectado

La extensión de mi chrome utiliza el objeto 'Puerto' de larga duración para el paso de mensajes entre la secuencia de comandos de contenido y la página emergente La ventana emergente puede enviar un mensaje a la escucha de eventos de la secuencia de comandos de contenido. Sin embargo, el objeto 'Puerto' en la 'secuencia de comandos de contenido' no puede enviar un mensaje a la página 'emergente'.

var port = chrome.extension.connect({"name":"swap"});

// listener for incoming connections
chrome.extension.onConnect.addListener(function( incomingPort ){

    // listener on incoming messages
    incomingPort.onMessage.addListener(function( msg ){

        if( msg.command === 'get_scripts' ){
            //do work

        }

        var scrs = { 'scripts' : 'name' };
        var result = port.postMessage( scrs );

    });
});

Al ejecutar 'port.postMessage (Objeto obj)', el complemento lanza el siguiente error,

Error in event handler for 'undefined': Attempting to use a disconnected port object   Error: Attempting to use a disconnected port object
at PortImpl.postMessage (miscellaneous_bindings:54:5)
at chrome-extension://loiamkgdhfjdlkcpehnebipeinpcicfj/swap.js:27:31
at [object Object].dispatch (event_bindings:203:41)
at Object.<anonymous> (miscellaneous_bindings:250:22) event_bindings:207

He intentado usar el objeto 'Port' y el objeto 'incomingPort', ambos lanzan el mismo 'Error'. Se siente como si tuviera que ver con el alcance del objeto 'Puerto' creado previamente.

El código del complemento está disponible en este repositorio de git.https://github.com/snambi/chrome_plugin/tree/master/src/chrome

¿Qué está mal en este plugin?

Respuestas a la pregunta(1)

Su respuesta a la pregunta