| <!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> |