blob: d5e6c4a690c163271ba7bd1e93d557ab4fc42573 [file] [log] [blame]
<!DOCTYPE HTML>
<script src='../../resources/gesture-util.js'></script>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<style>
body {
margin: 0px;
height: 100px;
width: 100px;
}
#parentDiv {
background-color: #FF7F7F;
height: 100px;
width: 100px;
overflow: scroll;
}
#content1 {
height: 120px;
width: 120px;
}
#childDiv {
background-color: #84BE6A;
height: 80px;
width: 80px;
overflow: scroll;
}
#content2 {
height: 100px;
width: 100px;
}
</style>
<div id="parentDiv">
<div id="content1">
<div id="childDiv">
<div id="content2">
</div>
</div>
</div>
</div>
<script>
var childDiv = document.getElementById('childDiv');
var parentDiv = document.getElementById('parentDiv');
var rect = childDiv.getBoundingClientRect();
const GESTURE_SOURCE_TYPE = GestureSourceType.MOUSE_INPUT;
promise_test(async t => {
await smoothScroll(1000, rect.right - 5, rect.bottom - 25, GESTURE_SOURCE_TYPE, 'down', 4000);
await waitForAnimationEndTimeBased( () => { return childDiv.scrollTop; } );
await waitForAnimationEndTimeBased( () => { return parentDiv.scrollTop; } );
assert_equals(childDiv.scrollTop, childDiv.scrollHeight - childDiv.clientHeight,
"childDiv must be fully scrolled");
assert_equals(parentDiv.scrollTop, 0, "parentDiv shouldn't scroll at all");
}, "Scrolling on scrollbar of the child div doesn't propagate to the parent.");
</script>