summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/content-security-policy/support/prefetch-with-csp.html
blob: 4b4243eb70bbf7202feaa062d662753551f3ee19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
  <html>
    <head>
      <script>
        let link = document.createElement("link");
        link.rel = "prefetch";
        const bc = new BroadcastChannel(new URLSearchParams(location.search).get("uid"));
        link.addEventListener("error", e => bc.postMessage(false));
        link.href = "pass.png";
        document.head.appendChild(link);
        const observer = new PerformanceObserver(entries => {
          const found = entries.getEntriesByName(new URL("pass.png", location.href).href);
          if (found.length)
            bc.postMessage(found[0].encodedBodySize > 0);
        });
        observer.observe({entryTypes: ["resource"]});
      </script>
    </head>
  </html>