diff options
author | Einar Egilsson <einar@einaregilsson.com> | 2015-09-23 12:07:12 +0000 |
---|---|---|
committer | Einar Egilsson <einar@einaregilsson.com> | 2015-09-23 12:07:12 +0000 |
commit | d8cf1e9fb53dc262f6deb8633c5ecc43240c82ef (patch) | |
tree | 30aaea34c82072828992da483e142a7217b2f6d8 /js/firefox/content-script-proxy.js | |
parent | 354b7325e453c3fa259ecd9a07b4634d09cf5afe (diff) |
Mostly working, dead object problems
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); |