servo/tests/wpt/web-platform-tests/preload/fetch-destination.https.html

35 lines
1.4 KiB
HTML

<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/preload/resources/preload_helper.js"></script>
<script src="../service-workers/service-worker/resources/test-helpers.sub.js"></script>
<script>
async_test(function(t) {
var worker_url = 'resources/fetch-destination-worker.js';
var scope = 'resources/empty.html';
var registration;
verifyPreloadAndRTSupport();
service_worker_unregister_and_register(t, worker_url, scope)
.then(t.step_func(function(r) {
registration = r;
return wait_for_state(t, r.installing, 'activated');
}))
.then(t.step_func(function() {
return with_iframe(scope);
}))
.then(t.step_func(function(frame) {
var link = frame.contentWindow.document.createElement("link");
link.as = "fetch";
link.href = "resources/dummy.xml";
link.rel = "preload";
link.addEventListener("load", t.step_func_done(function() { registration.unregister(); }));
link.addEventListener("error", t.step_func_done(function() {
registration.unregister();
assert_unreached("Fetch destination preload errored");
}));
frame.contentWindow.document.body.appendChild(link);
}))
.catch(unreached_rejection(t));
}, 'Fetch destination preload');
</script>