OLD | NEW |
1 var port = null; | 1 self.addEventListener('message', function(e) { |
| 2 var port = e.data.port; |
| 3 var url = e.data.url; |
2 | 4 |
3 self.onmessage = function(e) { | 5 clients.matchAll({ includeUncontrolled : true }).then(function(client_list) { |
4 port = e.data.port; | 6 for (var i = 0; i < client_list.length; i++) { |
5 port.onmessage = on_message; | 7 var client = client_list[i]; |
6 port.postMessage('ready'); | 8 if (client.frameType == 'nested') |
7 }; | 9 return client.navigate(url); |
8 | 10 } |
9 function on_message(e) { | |
10 var url = e.data; | |
11 var client; | |
12 | |
13 self.clients.matchAll({ includeUncontrolled : true }).then(function(cs) { | |
14 cs.forEach(function(c) { c.frameType == 'nested' && (client = c); }); | |
15 return client.navigate(url); | |
16 }) | 11 }) |
17 .then(function(c) { | 12 .then(function(new_client) { |
18 if (!c) | 13 if (new_client === null) |
19 port.postMessage(c); | 14 port.postMessage(new_client); |
20 else | 15 else |
21 port.postMessage(c.url); | 16 port.postMessage(new_client.url); |
22 }) | 17 }) |
23 .catch(function(e) { | 18 .catch(function(error) { |
24 port.postMessage(e.name); | 19 port.postMessage(error.name); |
25 }); | 20 }); |
26 } | 21 }); |
OLD | NEW |