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