blob: 122be24a24c976f6514cc3ae0bbd35f4795c002f [file] [log] [blame]
<!DOCTYPE html>
<!-- This test cannot be upstreamed to WPT because it tests we don't crash when a
request body blob is constructed asyncronously. -->
<meta charset="utf-8">
<title>request body</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/test-helpers.js"></script>
<script>
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 does a request with a request
// body blob. The service worker confirms it can read the blob and responds
// with 'Pass'.
promise_test(t => {
var worker = 'resources/request-body-blob-crash-worker.js';
var scope = 'resources/request-body-blob-crash-iframe.html';
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'));
}, 'Service worker can read the request body blob and we dont crash');
</script>