mirror of
https://github.com/servo/servo.git
synced 2025-06-25 17:44:33 +01:00
68 lines
2.6 KiB
HTML
68 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<title>WebBundle subresource loading for static elements</title>
|
|
<link
|
|
rel="help"
|
|
href="https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md"
|
|
/>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<body>
|
|
<script type="webbundle">
|
|
{
|
|
"source": "../resources/wbn/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/wbn/static-element/resources/style-imported-from-tag.css";
|
|
@import "../resources/wbn/static-element/scopes/style-imported-from-tag.css";
|
|
</style>
|
|
<link
|
|
href="../resources/wbn/static-element/resources/style.css"
|
|
rel="stylesheet"
|
|
/>
|
|
<link
|
|
href="../resources/wbn/static-element/scopes/style.css"
|
|
rel="stylesheet"
|
|
/>
|
|
<script src="../resources/wbn/static-element/resources/script.js"></script>
|
|
<script src="../resources/wbn/static-element/scopes/script.js"></script>
|
|
<script src="../resources/wbn/static-element/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>
|