<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->

<html>
<meta name="viewport" content="initial-scale=1, width=device-width">
<head>
    <script src="../../../../resources/js-test.js"></script>
    <style>
        body {
            margin: none;
        }

        #target {
            border: 1px black solid;
            width: 200px;
            height: 200px;
        }
    </style>
</head>
<body>
    <div id="target">FAIL</div>
    <div id="console"></div>
    <p id="description"></p>
    <script>
        description("Verifies that tapping an element with a stylus dispatches a click event. To manually test, tap the black square above and check that the text in the square reads 'PASS'.");
        jsTestIsAsync = true;

        function tapUsingStylus(x, y) {
            return new Promise(resolve => {
                testRunner.runUIScript(`(() => {
                    uiController.stylusDownAtPoint(${x}, ${y}, 0, 0, 0, () => { });
                    uiController.stylusUpAtPoint(${x}, ${y}, () => uiController.uiScriptComplete());
                })()`, resolve);
            })
        }

        async function runTest() {
            if (window.testRunner)
                await tapUsingStylus(100, 100);
        }

        const target = document.getElementById("target");
        target.addEventListener("click", () => {
            target.textContent = "PASS";
            finishJSTest();
        });

        addEventListener("load", runTest, false);
    </script>
    <script src="../../../../resources/js-test-post.js"></script>
</body>
</html>
