blob: 4cf6a5f9064102f754adbdc94942ce0a8ddd3dca [file] [log] [blame]
<!DOCTYPE html>
<html>
<link rel="match" href="reset-scroll-in-onscroll-expected.html">
<script src='../../resources/gesture-util.js'></script>
<head>
<style>
body, html {
margin: 0;
}
#scroller {
position: absolute;
clip: rect(0, 1000px, 1000px, 0);
width: 300px;
height: 300px;
overflow: auto;
}
#spacer {
height: 1000px;
}
#topbox {
height: 5px;
width: 100%;
background-color: green;
}
</style>
<script>
window.onload = async () => {
if (window.testRunner)
window.testRunner.waitUntilDone();
await waitForCompositorCommit();
const scroller = document.getElementById('scroller');
scroller.addEventListener('scroll', () => {
scroller.scrollTop = 0;
if (window.testRunner)
window.testRunner.notifyDone();
});
// Scroll the scroller an arbitrary amount. The scroll should be reset
// as soon as the scroll handler is run. The reftest will ensure the
// value gets correctly pushed through compositing and the output
// appears correctly to the user.
const delta = 400;
const location = elementCenter(scroller);
await smoothScroll(delta,
location.x,
location.y,
GestureSourceType.TOUCH_INPUT,
'down',
SPEED_INSTANT);
};
</script>
</head>
<body>
<div id="scroller">
<div id="topbox"></div>
<div id="spacer"></div>
</div>
</body>
</html>