blob: 2d6df81c0bc5da4ea5711b104130110e7158883d [file] [log] [blame]
<!DOCTYPE html>
<!-- This test is prefixed with `chromium.` because the equivalent version
available in Web Platform Tests is known to cause timeout errors in the
Chromium automated build system. This version should be maintained only to
preserve test coverage until the corresponding version in Web Platform Tests
can be made to pass consistently. See https://crbug.com/658997 -->
<title>Service Worker: the response of FetchEvent using XMLHttpRequest</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="../resources/get-host-info.js?pipe=sub"></script>
<script src="resources/test-helpers.js"></script>
<script>
async_test(function(t) {
var SCOPE = 'resources/fetch-response-xhr-iframe.html';
var SCRIPT = 'resources/fetch-response-xhr-worker.js';
var host_info = get_host_info();
service_worker_unregister_and_register(t, SCRIPT, SCOPE)
.then(function(registration) {
return wait_for_state(t, registration.installing, 'activated');
})
.then(function() { return with_iframe(SCOPE); })
.then(function(frame) {
t.add_cleanup(function() {
frame.remove();
service_worker_unregister_and_done(t, SCOPE);
});
var channel = new MessageChannel();
channel.port1.onmessage = t.step_func(function(e) {
assert_equals(e.data.results, 'finish');
t.done();
});
frame.contentWindow.postMessage({},
host_info['HTTP_ORIGIN'],
[channel.port2]);
})
.catch(unreached_rejection(t));
}, 'Verify the response of FetchEvent using XMLHttpRequest');
</script>