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

<html>
<head>
    <meta name="viewport" content="initial-scale=0.5">
    <style>
        input[type="text"] {
            margin: 800px 20px;
        }
    </style>
    
    <script src="resources/zooming-test-utils.js"></script>
    <script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    function doTest()
    {
        testZoomAfterTap(document.getElementById('input'), 300, 10);
    }

    window.addEventListener('load', doTest, false);
    </script>
</head>
<body>

<p>Tests zooming to an offset in a wide text input on tap.</p>
<input id="input" type="text" size="100" value="abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz">

</body>
</html>
