OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <!-- This test's file name is prefixed with `chromium.` because while a roughly |
| 3 equivalent version is available in the Web Platform Tests project, the |
| 4 limitations of the WPT infrastructure precludes the use of iframes for this |
| 5 purpose. This version should be maintained only insofar as the functionality |
| 6 under test concerns iframe contexts specifically; otherwise, modifications |
| 7 should be contributed to the shared version. --> |
2 <meta charset="utf-8"> | 8 <meta charset="utf-8"> |
3 <script src="../resources/testharness.js"></script> | 9 <script src="../resources/testharness.js"></script> |
4 <script src="../resources/testharnessreport.js"></script> | 10 <script src="../resources/testharnessreport.js"></script> |
5 <script src="../resources/get-host-info.js?pipe=sub"></script> | 11 <script src="../resources/get-host-info.js?pipe=sub"></script> |
6 <script src="resources/test-helpers.js"></script> | 12 <script src="resources/test-helpers.js"></script> |
7 <title>Insecure parent frame test</title> | 13 <title>Insecure parent frame test</title> |
8 <body></body> | 14 <body></body> |
9 <script> | 15 <script> |
10 // Asks |worker| to call clients.claim. Returns a promise that resolves when | 16 // Asks |worker| to call clients.claim. Returns a promise that resolves when |
11 // the worker acks that claim finished. | 17 // the worker acks that claim finished. |
(...skipping 21 matching lines...) Expand all Loading... |
33 } | 39 } |
34 | 40 |
35 // This test creates https iframes inside insecure http iframes. It registers a | 41 // This test creates https iframes inside insecure http iframes. It registers a |
36 // service worker that should not control the in-scope iframes. The iframes | 42 // service worker that should not control the in-scope iframes. The iframes |
37 // communicate whether they have a controller to the top-level frame. | 43 // communicate whether they have a controller to the top-level frame. |
38 promise_test(t => { | 44 promise_test(t => { |
39 var script = 'resources/claim-worker.js'; | 45 var script = 'resources/claim-worker.js'; |
40 var scope = 'resources/insecure-inscope'; | 46 var scope = 'resources/insecure-inscope'; |
41 var registration; | 47 var registration; |
42 var insecure_url = get_host_info().UNAUTHENTICATED_ORIGIN + | 48 var insecure_url = get_host_info().UNAUTHENTICATED_ORIGIN + |
43 '/serviceworker/resources/insecure-parent.html'; | 49 '/serviceworker/resources/insecure-parent-iframe.html'; |
44 var pre_registration_frame; | 50 var pre_registration_frame; |
45 var post_registration_frame; | 51 var post_registration_frame; |
46 | 52 |
47 return navigator.serviceWorker.getRegistration(scope) | 53 return navigator.serviceWorker.getRegistration(scope) |
48 // Unregister. | 54 // Unregister. |
49 .then(reg => { | 55 .then(reg => { |
50 if (reg) | 56 if (reg) |
51 return reg.unregister(); | 57 return reg.unregister(); |
52 }) | 58 }) |
53 | 59 |
(...skipping 22 matching lines...) Expand all Loading... |
76 'post_registration_frame should not be controlled')) | 82 'post_registration_frame should not be controlled')) |
77 | 83 |
78 // Attempt to claim. The iframes should still have no controllers. | 84 // Attempt to claim. The iframes should still have no controllers. |
79 .then(() => wait_for_claim(registration.active)) | 85 .then(() => wait_for_claim(registration.active)) |
80 .then(() => assert_no_controller(pre_registration_frame, | 86 .then(() => assert_no_controller(pre_registration_frame, |
81 'pre_registration_frame should not be claimed')) | 87 'pre_registration_frame should not be claimed')) |
82 .then(() => assert_no_controller(post_registration_frame, | 88 .then(() => assert_no_controller(post_registration_frame, |
83 'post_registration_frame should not be claimed')); | 89 'post_registration_frame should not be claimed')); |
84 }, 'Service worker does not control a subframe of an insecure frame'); | 90 }, 'Service worker does not control a subframe of an insecure frame'); |
85 </script> | 91 </script> |
OLD | NEW |