| <!DOCTYPE html> |
| <title> |
| WebBundle subresource loading for static elements with a base element |
| </title> |
| <link |
| rel="help" |
| href="https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md" |
| /> |
| <base href="../resources/wbn/static-element/" /> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <body> |
| <script type="webbundle"> |
| { |
| "source": "../static-element.wbn", |
| "resources": [ |
| "https://{{domains[]}}:{{ports[https][0]}}/web-bundle/resources/wbn/static-element/resources/script.js", |
| "https://{{domains[]}}:{{ports[https][0]}}/web-bundle/resources/wbn/static-element/resources/style.css", |
| "https://{{domains[]}}:{{ports[https][0]}}/web-bundle/resources/wbn/static-element/resources/style-imported-from-file.css", |
| "https://{{domains[]}}:{{ports[https][0]}}/web-bundle/resources/wbn/static-element/resources/style-imported-from-tag.css" |
| ], |
| "scopes": [ |
| "https://{{domains[]}}:{{ports[https][0]}}/web-bundle/resources/wbn/static-element/scopes/" |
| ] |
| } |
| </script> |
| <style type="text/css"> |
| @import "resources/style-imported-from-tag.css"; |
| @import "scopes/style-imported-from-tag.css"; |
| </style> |
| <link href="resources/style.css" rel="stylesheet" /> |
| <link href="scopes/style.css" rel="stylesheet" /> |
| <script src="resources/script.js"></script> |
| <script src="scopes/script.js"></script> |
| <script src="out-of-scope/script.js"></script> |
| |
| <script> |
| setup(() => { |
| assert_true(HTMLScriptElement.supports("webbundle")); |
| }); |
| |
| promise_test(async () => { |
| assert_equals(resources_script_result, "loaded from webbundle"); |
| assert_equals(scopes_script_result, "loaded from webbundle"); |
| assert_equals(out_of_scope_script_result, "loaded from network"); |
| |
| ["resources_", "scopes_"].forEach((type) => { |
| [ |
| "style_target", |
| "style_imported_from_file_target", |
| "style_imported_from_tag_target", |
| ].forEach((target) => { |
| const element = document.createElement("div"); |
| element.id = type + target; |
| document.body.appendChild(element); |
| assert_equals( |
| window.getComputedStyle(element).color, |
| "rgb(0, 0, 255)", |
| element.id + " color must be blue" |
| ); |
| }); |
| }); |
| }, "Subresources from static elements should be loaded from web bundle."); |
| </script> |
| </body> |