mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
37 lines
1.2 KiB
HTML
37 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<title>Prefetching double SignedHTTPExchange files must not crash</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/common/get-host-info.sub.js"></script>
|
|
<script src="./resources/sxg-util.js"></script>
|
|
<body>
|
|
<script>
|
|
function addPrefetch(url) {
|
|
let link = document.createElement('link');
|
|
link.rel = 'prefetch';
|
|
link.href = url;
|
|
document.body.appendChild(link);
|
|
}
|
|
promise_test(async (t) => {
|
|
const sxg1_url =
|
|
get_host_info().HTTPS_ORIGIN + '/signed-exchange/resources/sxg/sxg-location.sxg?1';
|
|
const sxg2_url =
|
|
get_host_info().HTTPS_ORIGIN + '/signed-exchange/resources/sxg/sxg-location.sxg?2';
|
|
addPrefetch(sxg1_url);
|
|
addPrefetch(sxg2_url);
|
|
await new Promise(resolve => {
|
|
setInterval(() => {
|
|
const entries = performance.getEntriesByType("resource");
|
|
let hit_count = 0;
|
|
for (let i = 0; i < entries.length; ++i) {
|
|
const entry = entries[i];
|
|
if (entry.name == sxg1_url || entry.name == sxg2_url) {
|
|
if (++hit_count == 2)
|
|
resolve();
|
|
}
|
|
}
|
|
}, 100);
|
|
});
|
|
}, 'Prefetching double SignedHTTPExchange files must not crash');
|
|
</script>
|
|
</body>
|