Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/stop-worker-during-respond-with.html |
| diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/stop-worker-during-respond-with.html b/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/stop-worker-during-respond-with.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..25af25532aa4c58c296ba1fe46905b01d04d8b0d |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/stop-worker-during-respond-with.html |
| @@ -0,0 +1,29 @@ |
| +<!DOCTYPE html> |
| +<title>Service Worker: Stopping the worker during responding to a fetch</title> |
| +<script src="../../resources/testharness.js"></script> |
| +<script src="../../resources/testharnessreport.js"></script> |
| +<script src="../resources/test-helpers.js"></script> |
| +<script> |
| + |
| +promise_test(t => { |
| + var SCOPE = 'resources/'; |
|
horo
2017/04/12 06:21:58
nit:
I prefer narrow scope to avoid interactions b
shimazu
2017/04/18 01:50:04
Done.
|
| + var SCRIPT = 'resources/respondwith-fetch-worker.js'; |
| + var IFRAME_URL = 'resources/slow-fetch-and-stop-worker-iframe.html'; |
| + return service_worker_unregister_and_register(t, SCRIPT, SCOPE) |
| + .then(r => { |
| + add_completion_callback(() => r.unregister()); |
| + return wait_for_state(t, r.installing, 'activated'); |
| + }) |
| + .then(() => { return with_iframe(IFRAME_URL, {auto_remove: true}); }) |
| + .then(f => { |
| + return new Promise(resolve => { |
| + addEventListener('message', resolve); |
| + f.contentWindow.postMessage('run', '*'); |
| + }) |
| + }) |
| + .then(e => { |
| + assert_equals(e.data, 'Rejected successfully'); |
| + }); |
| + }, 'Stopping the worker during responding fetch event cancels the request.'); |
| + |
| +</script> |