<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
let originalScrollOffset;
let t = async_test("Scroll Offset Hasn't Changed");
function test()
{
setTimeout(autoscrollTestPart1, 0);
}
function autoscrollTestPart1()
{
var ta = document.getElementById('ta');
if (window.eventSender) {
ta.scrollIntoView();
var h = ta.offsetTop - document.scrollingElement.scrollTop + 10;
originalScrollOffset = window.scrollY;
eventSender.dragMode = false;
eventSender.mouseMoveTo(20, h);
eventSender.mouseDown();
eventSender.mouseMoveTo(20, h);
eventSender.mouseMoveTo(100, h);
}
setTimeout(autoscrollTestPart2, 100);
}
function autoscrollTestPart2()
{
if (window.eventSender)
eventSender.mouseUp();
t.step(() => {
assert_not_equals(window.getSelection().toString(), "");
assert_equals(window.scrollY, originalScrollOffset);
});
t.done();
}
function log(msg)
{
var res = document.getElementById('res');
res.innerHTML = res.innerHTML + msg + "<br>";
}
addEventListener('load', test);
</script>
<p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=12331">bug 12331</a>.</p>
<p>To test manually, scroll down until you find the input element. Select some text. If the bug occurs, the page will scroll back up to the top.</p>
<div style="height:3000px"></div>
<input id="ta" value="select some of this text"></input>
<p>If the bug does not occur, you'll be left down here at the bottom.</p>