| <!DOCTYPE html> |
| <title>A nested bundle is not supported</title> |
| <link rel="help" href="https://github.com/WICG/webpackage/blob/master/explainers/subresource-loading.md" /> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <body> |
| <link rel="webbundle" href="https://web-platform.test:8444/web-bundle/resources/wbn/nested-main.wbn" |
| resources="https://web-platform.test:8444/web-bundle/resources/wbn/nested-sub.wbn" /> |
| <script> |
| promise_test(async () => { |
| const response = await fetch( |
| "https://web-platform.test:8444/web-bundle/resources/wbn/nested-sub.wbn" |
| ); |
| assert_true(response.ok); |
| }, "A nested bundle can be fetched"); |
| |
| promise_test(async () => { |
| await addLinkAndWaitForError( |
| "https://web-platform.test:8444/web-bundle/resources/wbn/nested-sub.wbn", |
| "https://web-platform.test:8444/web-bundle/resources/wbn/root.js" |
| ); |
| const response = await fetch( |
| "https://web-platform.test:8444/web-bundle/resources/wbn/root.js" |
| ); |
| assert_false(response.ok); |
| }, "Subresources in a nested bundle should not be loaded"); |
| |
| function addLinkAndWaitForError(url, resources) { |
| return new Promise((resolve, reject) => { |
| const link = document.createElement("link"); |
| link.rel = "webbundle"; |
| link.href = url; |
| link.resources = resources; |
| link.onload = reject; |
| link.onerror = () => resolve(); |
| document.body.appendChild(link); |
| }); |
| } |
| </script> |
| </body> |