diff options
Diffstat (limited to 'js/firefox/content-script-proxy.js')
-rw-r--r-- | js/firefox/content-script-proxy.js | 20 |
1 files changed, 16 insertions, 4 deletions
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); |