| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <title>Service Worker: Fetch event network error</title> | 2 <title>Service Worker: FetchEvent.respondWith() argument type test.</title> |
| 3 <script src="../resources/testharness.js"></script> | 3 <script src="../resources/testharness.js"></script> |
| 4 <script src="../resources/testharness-helpers.js"></script> | 4 <script src="../resources/testharness-helpers.js"></script> |
| 5 <script src="../resources/testharnessreport.js"></script> | 5 <script src="../resources/testharnessreport.js"></script> |
| 6 <script src="resources/test-helpers.js"></script> | 6 <script src="resources/test-helpers.js"></script> |
| 7 <script> | 7 <script> |
| 8 var resolve_test_done; | 8 var resolve_test_done; |
| 9 | 9 |
| 10 var test_done_promise = new Promise(function(resolve) { | 10 var test_done_promise = new Promise(function(resolve) { |
| 11 resolve_test_done = resolve; | 11 resolve_test_done = resolve; |
| 12 }); | 12 }); |
| 13 | 13 |
| 14 // Called by the child frame. | 14 // Called by the child frame. |
| 15 function notify_test_done(result) { | 15 function notify_test_done(result) { |
| 16 resolve_test_done(result); | 16 resolve_test_done(result); |
| 17 } | 17 } |
| 18 | 18 |
| 19 promise_test(function(t) { | 19 promise_test(function(t) { |
| 20 var scope = 'resources/fetch-event-network-error-controllee-iframe.html'; | 20 var scope = 'resources/fetch-event-respond-with-argument-iframe.html'; |
| 21 var script = 'resources/fetch-event-network-error-worker.js'; | 21 var script = 'resources/fetch-event-respond-with-argument-worker.js'; |
| 22 var frame; | 22 var frame; |
| 23 | 23 |
| 24 return service_worker_unregister_and_register(t, script, scope) | 24 return service_worker_unregister_and_register(t, script, scope) |
| 25 .then(function(registration) { | 25 .then(function(registration) { |
| 26 return wait_for_state(t, registration.installing, 'activated'); | 26 return wait_for_state(t, registration.installing, 'activated'); |
| 27 }) | 27 }) |
| 28 .then(function() { | 28 .then(function() { |
| 29 return with_iframe(scope); | 29 return with_iframe(scope); |
| 30 }) | 30 }) |
| 31 .then(function(f) { | 31 .then(function(f) { |
| 32 frame = f; | 32 frame = f; |
| 33 return test_done_promise; | 33 return test_done_promise; |
| 34 }) | 34 }) |
| 35 .then(function(result) { | 35 .then(function(result) { |
| 36 frame.remove(); | 36 frame.remove(); |
| 37 assert_equals(result, 'PASS'); | 37 assert_equals(result, 'PASS'); |
| 38 return service_worker_unregister_and_done(t, scope); | 38 return service_worker_unregister_and_done(t, scope); |
| 39 }); | 39 }); |
| 40 }, 'Rejecting the fetch event or using preventDefault() causes a network ' + | 40 }, 'respondWith() takes either a Response or a promise that resolves ' + |
| 41 'error'); | 41 'with a Response. Other values should raise a network error.'); |
| 42 </script> | 42 </script> |
| OLD | NEW |