blob: e258aaa4f9059f0c909e154c80f90c13ec353a25 [file] [log] [blame]
<html>
<head>
<style>
.outer {
position: relative;
margin: 100px;
height: 400px;
width: 200px;
border: 1px solid blue;
}
#inner {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow-x: hidden;
overflow-y: auto;
}
.big {
height: 2000px;
}
</style>
<script src="../../resources/js-test-pre.js"></script>
<script>
function decreaseContentSize()
{
var content = document.getElementById('content');
content.classList.remove("big");
internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks();
var divTarget = document.getElementById('inner');
var divScrollPos = divTarget.scrollTop;
if (divScrollPos == 0)
testPassed("Re-sizing the content of the scrolled div correctly set a new scroll position.");
else
testFailed("Re-sizing the content of the scrolled div failed to correctly set a new scroll position. ");
testRunner.notifyDone();
}
function scrollTest()
{
var startPosX = 150;
var startPosY = 150;
eventSender.mouseMoveTo(startPosX, startPosY);
eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'began', 'none');
eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none');
eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'changed', 'none');
eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'ended', 'none');
eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'begin');
eventSender.mouseScrollByWithWheelAndMomentumPhases(0, -1, 'none', 'continue');
eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, 'none', 'end');
setTimeout(decreaseContentSize, 100);
}
function setUp() {
if (window.eventSender) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
setTimeout(scrollTest, 0);
}
}
</script>
</head>
<body onload="setUp();">
<div class="outer">
<div id="inner">
<div id="content" class="big">This test should be run in the test harness.</div>
</div>
</div>
</body>
</html>