blob: d0a60a2f121de9ef59f682218c2fc0797f0932b0 [file] [log] [blame]
<!DOCTYPE html>
<title>WebBundle subresource loading for static elements with a base element</title>
<link
rel="help"
href="https://github.com/WICG/webpackage/blob/master/explainers/subresource-loading.md"
/>
<base href="../resources/wbn/static-element/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<link
rel="webbundle"
href="../static-element.wbn"
resources="
https://web-platform.test:8444/web-bundle/resources/wbn/static-element/resources/script.js
https://web-platform.test:8444/web-bundle/resources/wbn/static-element/resources/style.css
https://web-platform.test:8444/web-bundle/resources/wbn/static-element/resources/style-imported-from-file.css
https://web-platform.test:8444/web-bundle/resources/wbn/static-element/resources/style-imported-from-tag.css"
scopes="https://web-platform.test:8444/web-bundle/resources/wbn/static-element/scopes/"
/>
<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>
const onLoadPromise = new Promise((resolve) => {
window.addEventListener('load', resolve, false);
});
promise_test(async () => {
await onLoadPromise;
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>