OLD | NEW |
1 // Common helper functions for foreign fetch tests. | 1 // Common helper functions for foreign fetch tests. |
2 | 2 |
3 // Installs a service worker on a different origin. Both |worker| and |scope| | 3 // Installs a service worker on a different origin. Both |worker| and |scope| |
4 // are resolved relative to the /serviceworker/resources/ directory on a | 4 // are resolved relative to the /serviceworker/resources/ directory on a |
5 // remote origin. | 5 // remote origin. |
6 function install_cross_origin_worker(t, worker, scope) { | 6 function install_cross_origin_worker( |
7 return with_iframe(get_host_info().HTTPS_REMOTE_ORIGIN + | 7 t, worker, scope, origin = get_host_info().HTTPS_REMOTE_ORIGIN) { |
| 8 return with_iframe(origin + |
8 '/serviceworker/resources/install-worker-helper.html') | 9 '/serviceworker/resources/install-worker-helper.html') |
9 .then(frame => new Promise((resolve, reject) => { | 10 .then(frame => new Promise((resolve, reject) => { |
10 var channel = new MessageChannel(); | 11 var channel = new MessageChannel(); |
11 frame.contentWindow.postMessage({worker: worker, | 12 frame.contentWindow.postMessage({worker: worker, |
12 options: {scope: scope}, | 13 options: {scope: scope}, |
13 port: channel.port1}, | 14 port: channel.port1}, |
14 '*', [channel.port1]); | 15 '*', [channel.port1]); |
15 channel.port2.onmessage = reply => { | 16 channel.port2.onmessage = reply => { |
16 if (reply.data == 'success') resolve(); | 17 if (reply.data == 'success') resolve(); |
17 else reject(reply.data); | 18 else reject(reply.data); |
18 }; | 19 }; |
19 })); | 20 })); |
20 } | 21 } |
OLD | NEW |