Source code
Revision control
Copy as Markdown
Other Tools
<!DOCTYPE html>
<meta charset=utf-8>
<title>Early Hints preload with a matching integrity attribute</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="early-hints-helpers.sub.js"></script>
<body>
<script>
const preloads = getPreloadsFromSearchParams();
preloads.forEach((preload, i) => {
promise_test(() => {
return new Promise((resolve, reject) => {
assert_greater_than(preloads.length, i);
const el = document.createElement("script");
el.src = preload.url;
el.integrity = preload.integrity_attr;
el.onload = () => {
const name = new URL(preload.url, window.location);
assert_true(
isPreloadedByEarlyHints(name),
"resource should be preloaded via Early Hints");
resolve();
};
el.onerror =
() => reject(new Error("Failed to load " + preload.url));
document.body.appendChild(el);
});
}, `A preload with integrity='${preloads[i].integrity_attr}' in the ` +
`Early Hints Link header is preloaded and passes integrity checks`);
});
</script>
</body>