summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/signed-exchange/resources/sxg-subresource-mismatch-iframe.html
blob: f05fcc99f83a5715f88b198a8e90ea4d5637107a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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>