<html>
<head>
    <title>Highlighting a selected image in scrolled block</title>
    <script type="text/javascript">
        function test()
        {
            var t = document.getElementById('target');
            window.getSelection().setBaseAndExtent(t.childNodes[0],58,t.childNodes[2],11);
            t.scrollTop = 40;
        }
    </script>
</head>
<body onload="test()">
    <p>
        This tests for a regression against <i><a href="https://bugs.webkit.org/show_bug.cgi?id=6673">http://bugzilla.opendarwin.org/show_bug.cgi?id=6673</a>
        Selection highlight doesn't scroll along with an image contained in an overflow:scroll block</i>.
    </p>
    <p>
        There should be one contiguous highlight from &ldquo;elit&rdquo; to &ldquo;Etiam&rdquo;,
        including the orange square, and no other highlighted areas.
    </p>
    <hr>
    <div id="target" style="overflow: auto; width: 100px; height: 200px;">
     Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    <img src="data:image/gif;base64,R0lGODlhCgAKAIAAAP/MAAAAACH5BAAAAAAALAAAAAAKAAoAAAIIhI+py+0PYysAOw==">
     Etiam et ipsum. Nam consectetuer mi eget velit.
     Sed nec risus vitae felis auctor ultricies. Pellentesque
     aliquet...
     </div>
</body>
