| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>Clicking on an <a> element with a download attribute and href that leads to 404 should not navigate</title> |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-a-element:activation-behaviour"> |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-download"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <body> |
| <script> |
| "use strict"; |
| if (window.testRunner && testRunner.setShouldDecideNavigationPolicyAfterDelay) |
| testRunner.setShouldDecideNavigationPolicyAfterDelay(true); |
| |
| async_test(t => { |
| const errorFrame = document.createElement("iframe"); |
| |
| errorFrame.addEventListener("load", function () { |
| errorFrame.contentWindow.addEventListener( |
| "beforeunload", t.unreached_func("Navigated instead of downloading")); |
| |
| errorFrame.contentDocument.querySelector("#error-url").click(); |
| t.step_timeout(() => t.done(), 1000); |
| }); |
| errorFrame.src = "resources/a-download-404.html"; |
| document.body.appendChild(errorFrame); |
| }, "Do not navigate to 404 for anchor with download"); |
| </script> |
| </body> |