| Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/opaque-response-in-memorycache.html
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/opaque-response-in-memorycache.html b/third_party/WebKit/LayoutTests/http/tests/serviceworker/opaque-response-in-memorycache.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a723e241ebcaabc11a3d5df742ae831ccc2d13a8
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/opaque-response-in-memorycache.html
|
| @@ -0,0 +1,30 @@
|
| +<!DOCTYPE html>
|
| +<meta charset="utf-8">
|
| +<title>Opaque responses on MemoryCache should not be reused for XHRs</title>
|
| +<script src="/resources/testharness.js"></script>
|
| +<script src="/resources/testharnessreport.js"></script>
|
| +<script src="resources/test-helpers.js"></script>
|
| +<script>
|
| +const WORKER =
|
| + 'resources/opaque-response-in-memorycache-worker.js';
|
| +const SCOPE =
|
| + 'resources/opaque-response-in-memorycache-iframe.html';
|
| +var resolve_done;
|
| +var done_was_called = new Promise(resolve => resolve_done = resolve);
|
| +// Called by the iframe when done.
|
| +function done(result) { resolve_done(result); }
|
| +
|
| +// This test creates an controlled iframe that makes a fetch request. The
|
| +// service worker returns a response with a body stream containing an invalid
|
| +// chunk.
|
| +promise_test(t => {
|
| + return service_worker_unregister_and_register(t, WORKER, SCOPE)
|
| + .then(reg => {
|
| + add_completion_callback(() => reg.unregister());
|
| + return wait_for_state(t, reg.installing, 'activated');
|
| + })
|
| + .then(() => with_iframe(SCOPE))
|
| + .then(() => done_was_called)
|
| + .then(result => assert_equals(result, 'PASS'));
|
| + }, 'Opaque responses on MemoryCache should not be reused for XHRs');
|
| +</script>
|
|
|