summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_window_open_download_allow_downloads.tentative.https.html
blob: 158fc4f947bae135e7501566e94a1553d9ce9e51 (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>
<meta charset="utf-8">
<title>Downloads triggered by window.open from sandbox are blocked.</title>
<link rel="help" href="https://html.spec.whatwg.org/multipage/#attr-iframe-sandbox">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-iframe-element">
<script src="/common/utils.js"></script>
<script src="/resources/testharness.js"></script>
<script src='/resources/testharnessreport.js'></script>
<script src="support/iframe_sandbox_download_helper.js"></script>
<body>
<script>
"use strict";

['', '"_blank"', '"_blank", "noopener"'].forEach(options =>
  async_test(t => {
    const download_token = token();
    let iframe = document.createElement("iframe");
    const download_link = `support/download_stash.py?token=${download_token}` +
          `&finish-delay=${StreamDownloadFinishDelay()}`;
    iframe.srcdoc = `<script>window.open("${download_link}", ${options})</scr` +
      `ipt>`;
    iframe.sandbox = "allow-same-origin allow-popups allow-scripts " +
      "allow-downloads";
    AssertDownloadSuccess(t, download_token, DownloadVerifyDelay());
    document.body.appendChild(iframe);
  }, `window.open(download, ${options}) triggering download in ` +
             'sandbox is allowed by allow-downloads.'));
</script>
</body>