| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset=utf-8> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <style> |
| |
| iframe { |
| position: absolute; |
| left: 0; |
| top: 0; |
| width: 400px; |
| height: 400px; |
| touch-action: none; |
| } |
| |
| </style> |
| </head> |
| <body> |
| <iframe></iframe> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="../utils.js"></script> |
| <script> |
| |
| 'use strict'; |
| |
| async_test(test => { |
| const iframe = document.body.firstElementChild; |
| const link = iframe.contentDocument.body.appendChild(document.createElement("a")); |
| link.href = "../disabled.html"; |
| link.setAttribute("style", ` |
| position: absolute; |
| left: 0; |
| top: 0; |
| width: 100%; |
| height: 100%; |
| `); |
| |
| assert_equals(iframe.contentWindow.location.href, "about:blank", "The iframe initially has no URL."); |
| |
| const loaded = new Promise(resolve => { |
| iframe.addEventListener("load", () => { |
| assert_true(iframe.contentWindow.location.href.includes("disabled.html"), "Upon navigation the URL has a location."); |
| resolve(); |
| }); |
| }); |
| |
| const tapped = ui.tap({ x: 100, y: 100 }); |
| |
| Promise.all([loaded, tapped]).then(() => test.done()); |
| }, "Testing that setting touch-action: none allows link traversal."); |
| |
| </script> |
| </body> |
| </html> |