blob: 5fc1501d762e598df6bb127317752c5eb92d1d95 [file] [log] [blame]
<!DOCTYPE html>
<head>
<title>Subresource loading with Web Bundles</title>
<link rel="webbundle" href="../resources/wbn/hello.wbn"
resources="http://127.0.0.1:8000/loading/wbn/resources/wbn/server/hello/script.js
http://127.0.0.1:8000/loading/wbn/resources/wbn/server/hello/notfound.js">
</head>
<body>
<script>
(async () => {
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
// Delay running the test until "didFinishLoadForFrame" is printed.
// This is intended to avoid the flakiness of the result outputs.
await new Promise((resolve) => {
window.addEventListener('load', () => setTimeout(resolve, 0));
});
if (!document.createElement('link').relList.supports('webbundle')) {
console.error("Subresource Web Bundles is not supported");
testRunner.notifyDone();
return;
}
await new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = 'http://127.0.0.1:8000/loading/wbn/resources/wbn/server/hello/script.js';
script.onload = resolve;
script.onerror = reject;
document.body.appendChild(script);
});
await new Promise((resolve, reject) => {
// This request should fail rather than be loaded from the network.
const script = document.createElement('script');
script.src = 'http://127.0.0.1:8000/loading/wbn/resources/wbn/server/hello/notfound.js';
script.onload = reject;
script.onerror = () => {
// Wait for the console message to be logged.
setTimeout(resolve, 100);
}
document.body.appendChild(script);
});
testRunner.notifyDone();
})();
</script>
</body>