<html> 
<head>
<script>
if (window.testRunner)
     testRunner.dumpEditingCallbacks();
</script>


<script>

function editingTest() {
    var target = document.getElementById("test");
    
    x = target.offsetLeft + 10;
    y = target.offsetTop + target.offsetHeight - 10;
    
    eventSender.mouseMoveTo(x, y);
    eventSender.mouseDown();
    eventSender.mouseUp();
}

</script>
</head>
<body>
<p>
    This is a test for <i><a href="https://bugs.webkit.org/show_bug.cgi?id=9978">http://bugzilla.opendarwin.org/show_bug.cgi?id=9978</a>
    REGRESSION (r12949-r12988): Clicking the first letter on a line places the caret at the end of the previous line</i>.
</p>
<p>
    To test interactively, click the left side of the W on the second line. The caret should be
    move to the start of that line.
</p>
<hr>
<div contenteditable id="test" style="font-size: 48; width: 250px;">
Alice in Wonderland
</div>
<script>
editingTest();
</script>
</html>
