diff options
Diffstat (limited to 'testing/web-platform/tests/signed-exchange/sxg-double-prefetch.tentative.html')
-rw-r--r-- | testing/web-platform/tests/signed-exchange/sxg-double-prefetch.tentative.html | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/testing/web-platform/tests/signed-exchange/sxg-double-prefetch.tentative.html b/testing/web-platform/tests/signed-exchange/sxg-double-prefetch.tentative.html new file mode 100644 index 0000000000..d682741744 --- /dev/null +++ b/testing/web-platform/tests/signed-exchange/sxg-double-prefetch.tentative.html @@ -0,0 +1,37 @@ +<!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> |