blob: b728603d547582b15ff6b0d32bc39e8021fa2bae [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:h="http://www.w3.org/1999/xhtml">
<title>Clicking on an &lt;a> element with a download attribute must not throw an exception</title>
<metadata>
<h:link rel="help" href="https://svgwg.org/svg2-draft/linking.html#InterfaceSVGAElement"/>
</metadata>
<h:script src="/resources/testharness.js"/>
<h:script src="/resources/testharnessreport.js"/>
<script><![CDATA[
"use strict";
async_test(t => {
const frame = document.createElementNS("http://www.w3.org/1999/xhtml", "iframe");
const root = document.querySelector("svg");
frame.addEventListener("load", t.step_func(function () {
frame.contentWindow.addEventListener(
"beforeunload", t.unreached_func("Navigated instead of downloading"));
const string = "test";
const blob = new Blob([string], { type: "text/html" });
const link = frame.contentDocument.querySelector("#blob-url");
link.href.baseVal = URL.createObjectURL(blob);
link.dispatchEvent(new Event('click'));
t.step_timeout(() => t.done(), 1000);
}));
frame.src = "resources/a-download-click.svg";
root.appendChild(frame);
}, "Clicking on an <a> element with a download attribute must not throw an exception");
]]></script>
</svg>