blob: 0084df4f7d2ca01ebc7b132276563d511f35318d [file] [log] [blame]
<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
<html>
<head>
<script src="../../../../resources/js-test-pre.js"></script>
<style>
body {
margin: 0;
}
</style>
<meta name="viewport" content="initial-scale=1">
</head>
<body>
<div id="eventTarget" style="overflow: scroll; height: 200px">
<div style="height: 3000px"></div>
</div>
<p id="description"></p>
<div id="console">
</div>
<script>
description("Test scrolling on a block without -webkit-overflow-scrolling.");
window.jsTestIsAsync = true;
function getDragUIScript(startX, startY, endX, endY)
{
return `
(function() {
uiController.dragFromPointToPoint(${startX}, ${startY}, ${endX}, ${endY}, 0.15, function() {
uiController.uiScriptComplete("Dispatched Drag");
});
})();`
}
function runTest()
{
function scrollEventHandler(event) {
shouldBe("window.scrollX", "0");
shouldBe("window.scrollY", "0");
shouldBe("document.documentElement.scrollTop", "0");
shouldBe("document.documentElement.scrollLeft", "0");
shouldBeTrue("document.getElementById('eventTarget').scrollTop > 0");
shouldBe("document.getElementById('eventTarget').scrollLeft", "0");
finishJSTest();
}
let eventTarget = document.getElementById("eventTarget");
eventTarget.addEventListener("scroll", scrollEventHandler);
function touchEventHandler(event) {
if (event.touches.length)
debug("Received" + (event.cancelable ? " cancelable" : "") + " event " + event.type + " at " + event.touches[0].clientX + ", " + event.touches[0].clientY);
else
debug("Received" + (event.cancelable ? " cancelable" : "") + " event " + event.type);
}
eventTarget.addEventListener('touchstart', touchEventHandler, { 'passive': true });
eventTarget.addEventListener('touchmove', touchEventHandler, { 'passive': true });
eventTarget.addEventListener('touchend', touchEventHandler, { 'passive': true });
eventTarget.addEventListener('touchcancel', touchEventHandler, { 'passive': true });
if (window.testRunner) {
testRunner.runUIScript(getDragUIScript(50, 150, 50, 50), function(result) {
debug(result);
});
}
shouldBe("window.scrollX", "0");
shouldBe("window.scrollY", "0");
shouldBe("document.documentElement.scrollTop", "0");
shouldBe("document.documentElement.scrollLeft", "0");
shouldBe("document.getElementById('eventTarget').scrollTop", "0");
shouldBe("document.getElementById('eventTarget').scrollLeft", "0");
}
window.addEventListener('load', runTest, false);
</script>
<script src="../../../../resources/js-test-post.js"></script>
</body>
</html>