summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/mixed-content/resources/middle-frame.html
blob: 58d14d61ef944e9264ed34cb26abf57cf0a181e0 (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
30
31
32
33
34
35
36
37
38
39
<!DOCTYPE html>
<html>
  <head>
    <script src="/common/get-host-info.sub.js"></script>
  </head>
  <body>
    <script>
      onmessage = e => parent.postMessage(e.data, "*");

      const path = "/fetch/api/resources/cors-top.txt";
      const http_url = get_host_info().HTTP_ORIGIN + path;
      const https_url = get_host_info().HTTPS_ORIGIN + path;

      const ifr = document.createElement("iframe");
      ifr.src = `data:text/html,
        <!DOCTYPE html>
        <script>
          async function try_fetch(url) {
            try {
              const response = await fetch(url);
              return response.ok;
            } catch(e) {
              return false;
            }
          }
          async function try_fetch_and_report(url) {
            parent.postMessage({
              protocol: new URL(url).protocol,
              success: await try_fetch(url),
            }, "*");
          }
          try_fetch_and_report("${http_url}");
          try_fetch_and_report("${https_url}");
        <\/script>
      `;
      document.body.appendChild(ifr);
    </script>
  </body>
</html>