<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<script>
if (window.testRunner) {
    testRunner.dumpAsText();
}

function runTest()
{
    var para = document.getElementById("para");
    window.getSelection().setPosition(para.childNodes.item(1).childNodes.item(0), 15);
    eventSender.keyDown("rightArrow");
    eventSender.keyDown("rightArrow");

    document.getElementById("result").innerText = getSelection().baseOffset == 17 ? "PASS" : "FAIL";
}
</script>

<title>Test</title>
</head><body onLoad="runTest();">
<p id="para" style="-webkit-user-modify: read-write; width: 250px; height: 100px; border: 1px solid blue;">This is a test of <a href="https://bug-25676-attachments.webkit.org/foo.html">links which span multiple lines</a> for various and sundry reasons.</p>

<p id="result"></p>
</body></html>
