<!DOCTYPE html>
<meta charset="utf-8">
<title>&lt;a download&gt; triggered download in sandbox is allowed by allow-downloads-without-user-activation.</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="/resources/testharness.js"></script>
<script src='/resources/testharnessreport.js'></script>
<script src="support/iframe_sandbox_download_helper.js"></script>
<body>
<script>
"use strict";

async_test(t => {
    const token = "{{$id:uuid()}}";
    var iframe = document.createElement("iframe");
    iframe.srcdoc = "<a>Download</a>";
    iframe.sandbox = "allow-same-origin allow-downloads-without-user-activation";
    iframe.onload = t.step_func(function () {
        iframe.contentWindow.addEventListener(
            "unload", t.unreached_func("Unexpected navigation."));
        var anchor = iframe.contentDocument.getElementsByTagName('a')[0];
        anchor.href = "support/download_stash.py?token=" + token;
        anchor.download = null;
        anchor.click();
        AssertDownloadSuccess(t, token, DownloadVerifyDelay());
    });

    document.body.appendChild(iframe);
}, "<a download> triggered download in sandbox is allowed by allow-downloads-without-user-activation.");
</script>
</body>
