OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <meta charset="utf-8"> | |
3 <script src="../resources/testharness.js"></script> | |
4 <script src="../resources/testharnessreport.js"></script> | |
5 <script src="../resources/get-host-info.js?pipe=sub"></script> | |
6 <script src="resources/test-helpers.js"></script> | |
7 <title>Page Title</title> | |
8 <body></body> | |
9 <script> | |
10 var host_info = get_host_info(); | |
11 | |
12 var saw_message = new Promise(resolve => { | |
13 window.addEventListener('message', e => resolve(e.data)); | |
14 }); | |
15 | |
16 // This test registers a service worker, then creates an in-scope | |
17 // https iframe inside an insecure http iframe. The in-scope iframe | |
18 // communicates whether it has a controller to the top-level frame. | |
19 promise_test(t => { | |
20 var script = 'resources/empty-worker.js'; | |
21 var scope = 'resources/insecure-inscope'; | |
22 return service_worker_unregister_and_register(t, script, scope) | |
23 .then(reg => { | |
24 add_completion_callback(() => reg.unregister()); | |
25 return wait_for_state(t, reg.installing, 'activated'); | |
26 }) | |
27 .then(() => { | |
28 var url = host_info.UNAUTHENTICATED_ORIGIN + | |
29 '/serviceworker/resources/insecure-parent.html'; | |
30 return with_iframe(url); | |
31 }) | |
32 .then(() => saw_message) | |
33 .then(data => assert_equals(data, 'PASS')); | |
34 }, 'Service worker does not control the subframe of an insecure frame'); | |
35 </script> | |
OLD | NEW |