blob: c56de296475a450229489adf9ccf88e8d92a339f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
// This file listens to messages
function log(msg) {
self.port.emit('log', msg);
}
function receiveWindowMessage(message) {
if (message.data.sender !== 'page') {
return;
}
if (message.data.logMessage) {
//Special handling for log messages.
log(message.data.logMessage);
return;
}
log('proxy got page message: ' + JSON.stringify(message.data));
//Forward the message to the background script
self.port.emit('message', message.data);
}
window.addEventListener('message', receiveWindowMessage);
function receiveMessage(message) {
log('proxy got chrome message: ' + JSON.stringify(message));
window.postMessage(message, '*');
}
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);
|