From d8cf1e9fb53dc262f6deb8633c5ecc43240c82ef Mon Sep 17 00:00:00 2001 From: Einar Egilsson Date: Wed, 23 Sep 2015 12:07:12 +0000 Subject: Mostly working, dead object problems --- js/firefox/content-script-proxy.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'js/firefox/content-script-proxy.js') diff --git a/js/firefox/content-script-proxy.js b/js/firefox/content-script-proxy.js index 271bfa1..c56de29 100644 --- a/js/firefox/content-script-proxy.js +++ b/js/firefox/content-script-proxy.js @@ -3,7 +3,8 @@ function log(msg) { self.port.emit('log', msg); } -window.addEventListener('message', function(message) { + +function receiveWindowMessage(message) { if (message.data.sender !== 'page') { return; } @@ -18,9 +19,20 @@ window.addEventListener('message', function(message) { //Forward the message to the background script self.port.emit('message', message.data); -}) +} -self.port.on('message', function(message) { +window.addEventListener('message', receiveWindowMessage); + +function receiveMessage(message) { log('proxy got chrome message: ' + JSON.stringify(message)); window.postMessage(message, '*'); -}); \ No newline at end of file +} +self.port.on('message', receiveMessage); + +function cleanup() { + window.removeEventListener('message', receiveWindowMessage); + self.port.removeListener('message', receiveMessage); + self.port.removeListener('detach', cleanup); +} + +self.port.on('detach', cleanup); -- cgit v1.2.3