chromium/third_party/blink/web_tests/touchadjustment/focusout-on-touch.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Touch Adjustment : Fake mouse events not delivered when touching on a non-interactable node - bug 91012</title>
<style type="text/css">
div {
    width: 400px;
    height: 400px;
}
</style>
<script type="text/javascript">
function runTest()
{
/*
    WebKit generates fake mouse events on each touch event, here we test if
    the touch adjustment doesn't caused an early return not firing the fake
    mouse events used here to unfocus a simple text input.
*/
    if (!window.eventSender || !window.testRunner)
        return;

    testRunner.dumpAsText();

    // Focus the text field
    var textInput = document.getElementById("textInput");
    if (document.activeElement === textInput)
        alert("FAILED!");
    textInput.focus();
    if (document.activeElement != textInput)
        alert("FAILED!");

    // Try to lose the focus touching on a non-editable element.
    var theDiv = document.getElementById("theDiv");
    var w = theDiv.clientWidth;
    var h = theDiv.clientHeight;
    var x = theDiv.offsetLeft + w/2;
    var y = theDiv.offsetTop + h/2;

    eventSender.gestureTap(x, y, 10, 10);

    if (document.activeElement == document.body)
        alert("PASS!")
    else
        alert("FAILED, " + document.activeElement.id + " is focused.");

    testRunner.notifyDone();
}

</script>
</head>
<body onload="runTest()">
<div id="theDiv">You should see "ALERT: PASS!"</div>
<input id="textInput" type="text" value="Touch me please!" />
</body>
</html>