<html>
<head>
    <script>
    function test() {
        var pass = document.getElementById('tf');
        var res = document.getElementById('res');

        if (window.testRunner) {
            testRunner.dumpAsText();
            eventSender.mouseMoveTo(45, 25);
            eventSender.mouseDown();
            eventSender.mouseUp();
            eventSender.mouseDown();
            eventSender.mouseUp();
            if (pass.selectionStart == 0 && pass.selectionEnd == 11)
                res.innerHTML = "Test Passed.";
            else
                res.innerHTML = "Test Failed.  SelectionStart index = " + pass.selectionStart + ".  SelectionEnd index = " + pass.selectionEnd + ".";
        }
    }
    </script>
</head>
<body onload="test()">
    <input type="password" value="123 456 789" id="tf"></input>
    This tests that double clicking in a password field will not expose word boundaries.<br>
    <br><div id="res"></div>
</body>
</html>
