| <!DOCTYPE html> |
| <title>Service Worker responds with .body accessed response.</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="resources/test-helpers.sub.js"></script> |
| <script> |
| let frame; |
| |
| promise_test(t => { |
| const SCOPE = 'resources/respond-with-body-accessed-response-iframe.html'; |
| const SCRIPT = 'resources/respond-with-body-accessed-response-worker.js'; |
| |
| return service_worker_unregister_and_register(t, SCRIPT, SCOPE) |
| .then(reg => { |
| promise_test(t => { |
| if (frame) |
| frame.remove(); |
| return reg.unregister(); |
| }, 'restore global state'); |
| return wait_for_state(t, reg.installing, 'activated'); |
| }) |
| .then(() => { return with_iframe(SCOPE); }) |
| .then(f => { frame = f; }); |
| }, 'initialize global state'); |
| |
| const TEST_CASES = [ |
| "type=basic", |
| "type=opaque", |
| "type=default", |
| "type=basic&clone=1", |
| "type=opaque&clone=1", |
| "type=default&clone=1", |
| "type=basic&clone=2", |
| "type=opaque&clone=2", |
| "type=default&clone=2", |
| "type=basic&passThroughCache=true", |
| "type=opaque&passThroughCache=true", |
| "type=default&passThroughCache=true", |
| "type=basic&clone=1&passThroughCache=true", |
| "type=opaque&clone=1&passThroughCache=true", |
| "type=default&clone=1&passThroughCache=true", |
| "type=basic&clone=2&passThroughCache=true", |
| "type=opaque&clone=2&passThroughCache=true", |
| "type=default&clone=2&passThroughCache=true", |
| ]; |
| |
| TEST_CASES.forEach(param => { |
| promise_test(t => { |
| const url = 'TestRequest?' + param; |
| return frame.contentWindow.getJSONP(url) |
| .then(result => { assert_equals(result, 'OK'); }); |
| }, 'test: ' + param); |
| }); |
| </script> |