Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <!doctype html> | |
| 2 <script src = "/resources/testharness.js"></script> | |
| 3 <script src = "/resources/testharnessreport.js"></script> | |
| 4 <script src = "/serviceworker/resources/test-helpers.js"></script> | |
| 5 <script> | |
| 6 promise_test(test => { | |
| 7 const SCOPE = '../resources/useragent-header-iframe.html'; | |
| 8 const SCRIPT = '../resources/forwarding-worker.js'; | |
|
horo
2016/08/24 01:38:33
missing this file?
| |
| 9 | |
| 10 let frame; | |
| 11 | |
| 12 let portToSW; | |
| 13 | |
| 14 function waitForMessageFromSW(expected_message) { | |
| 15 return new Promise((resolve, reject) => { | |
| 16 portToSW.onmessage = event => { | |
| 17 try { | |
| 18 assert_equals(event.data, expected_message); | |
| 19 resolve(); | |
| 20 } catch (e) { | |
| 21 reject(e); | |
| 22 } | |
| 23 }; | |
| 24 }); | |
| 25 } | |
| 26 | |
| 27 return service_worker_unregister_and_register(test, SCRIPT, SCOPE) | |
| 28 .then(r => { | |
| 29 const worker = r.installing; | |
| 30 | |
| 31 const channel = new MessageChannel(); | |
| 32 portToSW = channel.port1; | |
| 33 const readyPromise = waitForMessageFromSW('READY'); | |
| 34 worker.postMessage({port: channel.port2}, [channel.port2]); | |
| 35 | |
| 36 return Promise.all([wait_for_state(test, worker, 'activated'), readyPromis e]); | |
| 37 }) | |
| 38 .then(() => { | |
|
horo
2016/08/24 01:38:33
ditto
| |
| 39 return with_iframe(SCOPE); | |
| 40 }) | |
| 41 .then(f => { | |
| 42 frame = f; | |
| 43 }) | |
| 44 .then(() => { | |
| 45 const onFetchPromise = waitForMessageFromSW('onfetch'); | |
| 46 return Promise.all([frame.contentWindow.get_useragent(), onFetchPromise]); | |
| 47 }) | |
| 48 .then(v => { | |
| 49 assert_true(v[0].length > 0); | |
| 50 }) | |
| 51 .then(() => { | |
| 52 const onFetchPromise = waitForMessageFromSW('onfetch'); | |
| 53 return Promise.all([frame.contentWindow.get_overridden_useragent(), onFetc hPromise]); | |
| 54 }) | |
| 55 .then(v => { | |
| 56 assert_equals(v[0], 'foobar'); | |
| 57 }) | |
| 58 .then(() => { | |
| 59 frame.remove(); | |
| 60 return service_worker_unregister(test, SCOPE); | |
| 61 }); | |
| 62 }, 'Check User-Agent header generation for requests proxied by the forwarding worker'); | |
| 63 </script> | |
| OLD | NEW |