OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <!-- This test is prefixed with `chromium.` because the equivalent version |
| 3 available in Web Platform Tests is known to cause timeout errors in the |
| 4 Chromium automated build system. This version should be maintained only to |
| 5 preserve test coverage until the corresponding version in Web Platform Tests |
| 6 can be made to pass consistently. See https://crbug.com/658997 --> |
2 <title>Service Worker: the response of FetchEvent using XMLHttpRequest</title> | 7 <title>Service Worker: the response of FetchEvent using XMLHttpRequest</title> |
3 <script src="../resources/testharness.js"></script> | 8 <script src="../resources/testharness.js"></script> |
4 <script src="../resources/testharnessreport.js"></script> | 9 <script src="../resources/testharnessreport.js"></script> |
5 <script src="../resources/get-host-info.js?pipe=sub"></script> | 10 <script src="../resources/get-host-info.js?pipe=sub"></script> |
6 <script src="resources/test-helpers.js"></script> | 11 <script src="resources/test-helpers.js"></script> |
7 <script> | 12 <script> |
8 async_test(function(t) { | 13 async_test(function(t) { |
9 var SCOPE = 'resources/fetch-response-xhr-iframe.html'; | 14 var SCOPE = 'resources/fetch-response-xhr-iframe.html'; |
10 var SCRIPT = 'resources/fetch-response-xhr-worker.js'; | 15 var SCRIPT = 'resources/fetch-response-xhr-worker.js'; |
11 var host_info = get_host_info(); | 16 var host_info = get_host_info(); |
12 service_worker_unregister_and_register(t, SCRIPT, SCOPE) | 17 service_worker_unregister_and_register(t, SCRIPT, SCOPE) |
13 .then(function(registration) { | 18 .then(function(registration) { |
14 return wait_for_state(t, registration.installing, 'activated'); | 19 return wait_for_state(t, registration.installing, 'activated'); |
15 }) | 20 }) |
16 .then(function() { return with_iframe(SCOPE); }) | 21 .then(function() { return with_iframe(SCOPE); }) |
17 .then(function(frame) { | 22 .then(function(frame) { |
| 23 t.add_cleanup(function() { |
| 24 frame.remove(); |
| 25 service_worker_unregister_and_done(t, SCOPE); |
| 26 }); |
18 var channel = new MessageChannel(); | 27 var channel = new MessageChannel(); |
19 channel.port1.onmessage = t.step_func(function(e) { | 28 channel.port1.onmessage = t.step_func(function(e) { |
20 assert_equals(e.data.results, 'finish'); | 29 assert_equals(e.data.results, 'finish'); |
21 frame.remove(); | 30 t.done(); |
22 service_worker_unregister_and_done(t, SCOPE); | |
23 }); | 31 }); |
24 frame.contentWindow.postMessage({}, | 32 frame.contentWindow.postMessage({}, |
25 host_info['HTTP_ORIGIN'], | 33 host_info['HTTP_ORIGIN'], |
26 [channel.port2]); | 34 [channel.port2]); |
27 }) | 35 }) |
28 .catch(unreached_rejection(t)); | 36 .catch(unreached_rejection(t)); |
29 }, 'Verify the response of FetchEvent using XMLHttpRequest'); | 37 }, 'Verify the response of FetchEvent using XMLHttpRequest'); |
30 </script> | 38 </script> |
OLD | NEW |