84 lines
2.1 KiB
HTML
84 lines
2.1 KiB
HTML
<!DOCTYPE html> <!-- webkit-test-runner [ AsyncOverflowScrollingEnabled=true ] -->
|
|
<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>
|
|
|