75 lines
1.7 KiB
HTML
75 lines
1.7 KiB
HTML
<!DOCTYPE HTML><!-- webkit-test-runner [ CSSOMViewSmoothScrollingEnabled=true ] -->
|
|
<style>
|
|
#scroller {
|
|
width: 200px;
|
|
height: 200px;
|
|
border: 1px solid black;
|
|
overflow: scroll;
|
|
scroll-behavior: smooth;
|
|
}
|
|
|
|
#innerDiv {
|
|
width: 400px;
|
|
height: 400px;
|
|
}
|
|
</style>
|
|
|
|
<body style="margin:0" onload="startTest()">
|
|
<div id="scroller">
|
|
<div id="innerDiv">
|
|
|
|
</div>
|
|
</div>
|
|
<div id="log"></div>
|
|
</body>
|
|
|
|
<script>
|
|
var initialScrollTop;
|
|
var startYPosition;
|
|
var endYPosition;
|
|
var scroller = document.getElementById('scroller');
|
|
|
|
function log(msg)
|
|
{
|
|
document.getElementById('log').appendChild(document.createTextNode(msg + '\n'));
|
|
}
|
|
function testDragScrollResult()
|
|
{
|
|
if (window.eventSender) {
|
|
// Try to prevent momentum scroll
|
|
eventSender.mouseMoveTo(50, endYPosition - 50);
|
|
eventSender.mouseUp();
|
|
}
|
|
if (scroller.scrollTop > initialScrollTop)
|
|
log("PASS: Test drag scroll-behavior:smooth element");
|
|
else
|
|
log("FAIL: Test drag scroll-behavior:smooth element");
|
|
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
function startTest() {
|
|
if (window.testRunner) {
|
|
testRunner.waitUntilDone();
|
|
testRunner.dumpAsText();
|
|
}
|
|
|
|
startYPosition = scroller.offsetHeight - 50;
|
|
endYPosition = scroller.offsetHeight + 100;
|
|
initialScrollTop = scroller.scrollTop;
|
|
|
|
if (window.eventSender) {
|
|
eventSender.dragMode = false;
|
|
eventSender.mouseMoveTo(50, startYPosition);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseMoveTo(50, startYPosition + 20);
|
|
eventSender.mouseMoveTo(50, endYPosition);
|
|
setTimeout(testDragScrollResult, 100);
|
|
} else {
|
|
log("Test can't run without eventSender");
|
|
}
|
|
}
|
|
|
|
</script>
|