<p>
    Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=14911">http://bugs.webkit.org/show_bug.cgi?id=14911</a>
    REGRESSION: Clicking in pasted text doesn't position the insertion point correctly</i>.
</p>
<p>
    You should be able to select individual letters in &ldquo;ipsum&rdquo; by dragging in the yellow
    area <em>above</em> them.
</p>
<div id="target" style="float: left; background: #ffa; line-height: 5;">
    <span style="background: white;">Lorem <!-- comment --> ipsum</span>
</div>
<script>
    if (window.eventSender) {
        var target = document.getElementById("target");
        var startX = document.body.offsetLeft + target.offsetLeft + target.offsetWidth - 15;
        var endX = document.body.offsetLeft + target.offsetLeft + 15;
        var y = document.body.offsetTop + target.offsetTop + 5;

        eventSender.mouseMoveTo(startX, y);
        eventSender.mouseDown();
        eventSender.mouseMoveTo(startX - 1, y);
        eventSender.mouseMoveTo(endX, y);
        eventSender.mouseUp();
    }    
</script>
