| 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 |