blob: 10d86ba6f4f8646e583cad9f2f60eace83c50455 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
#target {
width: 200px;
height: 200px;
background-color: silver;
margin: 20px;
}
#scroller {
margin: 20px;
width: 200px;
height: 200px;
border: 1px solid black;
overflow: scroll;
}
.contents {
height: 400%;
}
</style>
<script src="../../../resources/js-test-pre.js"></script>
<script src="../../../resources/ui-helper.js"></script>
<script>
jsTestIsAsync = true;
let windowScrollEventCount = 0;
let overflowScrollEventCount = 0;
let expectedMinOverflowScrollEventCount = testRunner.isWebKit2 ? 2 : 1;
async function testScroll()
{
shouldBe('windowScrollEventCount', '0');
shouldBe('overflowScrollEventCount', '0');
await UIHelper.mouseWheelScrollAt(100, 100);
shouldBe('windowScrollEventCount', '0');
shouldBeTrue('overflowScrollEventCount >= expectedMinOverflowScrollEventCount');
finishJSTest();
}
window.addEventListener('load', async () => {
let target = document.getElementById('target');
let scroller = document.getElementById('scroller');
window.addEventListener('scroll', () => {
++windowScrollEventCount;
}, false);
scroller.addEventListener('scroll', () => {
++overflowScrollEventCount;
}, false);
target.addEventListener('wheel', (event) => {
event.preventDefault();
let newWheelEvent = new event.constructor(event.type, event);
scroller.dispatchEvent(newWheelEvent);
}, false);
await testScroll();
}, false);
</script>
</head>
<body>
<div id="target"></div>
<div id="scroller">
<div class="contents"></div>
</div>
<div id="console"></div>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>