blob: c273230ac85d48c51b2f987b286b29df08f033be [file] [log] [blame]
<!DOCTYPE html>
<style>
#content {
width: 1000px;
height: 1000px;
}
</style>
<script src="../../resources/js-test.js"></script>
<div id="content">
<span id="select">This text is selected.</span>
</div>
<script type="text/javascript">
var scrollTopBefore;
jsTestIsAsync = true;
description("This is a test for http://crbug.com/516245. It ensures that pinch-zooming and selecting doesn't autoscroll the page. To manually test, on Mac, pinch-zoom in and select text below. The page should not autoscroll.");
function finishTest() {
eventSender.mouseUp();
if (document.scrollingElement.scrollTop == scrollTopBefore) {
testPassed("Scroll offset did not change when text selected.");
} else {
testFailed("Scroll offset changed when text selected.");
}
document.getElementById('content').style.display = 'none';
finishJSTest();
}
function MouseWheelHandler(e) {
return false;
}
window.onload = function () {
var element = document.getElementById('select');
// The autoscroll bug happens when there is a mousewheel event listener on
// the page.
element.addEventListener("mousewheel", MouseWheelHandler, false);
if (window.internals && internals.magnifyScaleAroundAnchor(2.5, 0, 30.2)) {
element.scrollIntoView();
scrollTopBefore = document.scrollingElement.scrollTop;
var y = element.offsetHeight / 2;
var endX = element.offsetWidth + 100;
eventSender.dragMode = false;
eventSender.mouseMoveTo(element.offsetLeft, y);
eventSender.mouseDown();
eventSender.mouseMoveTo(endX - 30, y);
eventSender.mouseMoveTo(endX, y);
// Wait for the autoscroll timer to fire.
window.requestAnimationFrame(finishTest);
}
}
</script>