OLD | NEW |
| (Empty) |
1 <!doctype html> | |
2 <html> | |
3 <body> | |
4 <script src = "/resources/testharness.js"></script> | |
5 <script src = "/resources/testharnessreport.js"></script> | |
6 <script src = "/serviceworker/resources/test-helpers.js"></script> | |
7 <script src = "/fetch/resources/fetch-test-helpers.js"></script> | |
8 <script src = "/fetch/resources/fetch-test-options.js"></script> | |
9 <script> | |
10 const SCRIPT = '/fetch/referrer/resources/echo-referrer.js'; | |
11 const SCOPE = location.href; | |
12 | |
13 const URL = BASE_ORIGIN + '/fetch/resources/echo'; | |
14 const REFERRER_SOURCE = location.href; | |
15 | |
16 promise_test(t => { | |
17 return navigator.serviceWorker.register(SCRIPT, {scope: SCOPE}).then(r => { | |
18 return r.ready; | |
19 }).then(() => { | |
20 if (navigator.serviceWorker.controller === null) { | |
21 location.reload(); | |
22 } | |
23 }); | |
24 }); | |
25 | |
26 const TESTS = [ | |
27 [URL, 'about:client', | |
28 '', REFERRER_SOURCE, 'no-referrer-when-downgrade'], | |
29 [URL, 'about:client', 'no-referrer', | |
30 '', 'no-referrer'], | |
31 [URL, 'about:client', 'no-referrer-when-downgrade', | |
32 REFERRER_SOURCE, 'no-referrer-when-downgrade'], | |
33 [URL, 'about:client', 'origin', | |
34 BASE_ORIGIN + '/', 'origin'], | |
35 [URL, 'about:client', 'origin-when-cross-origin', | |
36 REFERRER_SOURCE, 'origin-when-cross-origin'], | |
37 [URL, 'about:client', 'unsafe-url', | |
38 REFERRER_SOURCE, 'unsafe-url'], | |
39 ]; | |
40 | |
41 for (let test of TESTS) { | |
42 let url = test[0]; | |
43 let referrer = test[1]; | |
44 let referrer_policy = test[2]; | |
45 let expected_referrer = test[3]; | |
46 let expected_referrer_policy = test[4]; | |
47 promise_test(t => { | |
48 return fetch(url, {referrer: referrer, referrerPolicy: referrer_policy}) | |
49 .then(res => res.text()) | |
50 .then(text => { | |
51 assert_equals(text, JSON.stringify({ | |
52 referrer: expected_referrer, | |
53 referrerPolicy: expected_referrer_policy, | |
54 })); | |
55 }); | |
56 }, `url = ${url}, referrer = ${referrer}, policy = ${referrer_policy}`); | |
57 } | |
58 | |
59 done(); | |
60 </script> | |
61 </body> | |
62 </html> | |
OLD | NEW |