summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/mixed-content/resources/middle-frame.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/mixed-content/resources/middle-frame.html')
-rw-r--r--testing/web-platform/tests/mixed-content/resources/middle-frame.html39
1 files changed, 39 insertions, 0 deletions
diff --git a/testing/web-platform/tests/mixed-content/resources/middle-frame.html b/testing/web-platform/tests/mixed-content/resources/middle-frame.html
new file mode 100644
index 0000000000..58d14d61ef
--- /dev/null
+++ b/testing/web-platform/tests/mixed-content/resources/middle-frame.html
@@ -0,0 +1,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>