summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/signed-exchange/resources/sxg-subresource-mismatch-iframe.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/signed-exchange/resources/sxg-subresource-mismatch-iframe.html')
-rw-r--r--testing/web-platform/tests/signed-exchange/resources/sxg-subresource-mismatch-iframe.html29
1 files changed, 29 insertions, 0 deletions
diff --git a/testing/web-platform/tests/signed-exchange/resources/sxg-subresource-mismatch-iframe.html b/testing/web-platform/tests/signed-exchange/resources/sxg-subresource-mismatch-iframe.html
new file mode 100644
index 0000000000..f05fcc99f8
--- /dev/null
+++ b/testing/web-platform/tests/signed-exchange/resources/sxg-subresource-mismatch-iframe.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<body>
+<script>
+(async () => {
+ const sxg_path = 'sxg/sxg-subresource-header-integrity-mismatch.sxg';
+ const scipt_sxg_path = 'sxg/sxg-subresource-script.sxg';
+ const scipt_path = 'sxg-subresource-script.js';
+ const wait_for_prefetch = new Promise((resolve) => {
+ new PerformanceObserver((list) => {
+ for (let e of list.getEntries()) {
+ if (e.name.endsWith(scipt_sxg_path)) {
+ resolve();
+ } else if (e.name.endsWith(scipt_path)) {
+ window.parent.postMessage(
+ scipt_path + ' should not be prefetched', '*');
+ }
+ }
+ }).observe({ entryTypes: ['resource'] });
+ });
+
+ const link = document.createElement('link');
+ link.rel = 'prefetch';
+ link.href = sxg_path;
+ document.body.appendChild(link);
+ await wait_for_prefetch;
+ location.href = sxg_path;
+})()
+</script>
+</body>