<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../utils.js"></script>
<script>

'use strict';

target_test((target, test) => {
    target.style.overflowY = "scroll";
    target.style.webkitOverflowScrolling = "touch";
    target.appendChild(document.createElement("div")).setAttribute("style", "width: 100%; height: 200%");

    const initialScrollTop = target.scrollTop;
    target.addEventListener("pointerdown", event => event.preventDefault());
    ui.swipe({ x: 100, y: 100 }, { x: 100, y: 50 }).then(() => {
        assert_not_equals(target.scrollTop, initialScrollTop);
        test.done();
    });
}, "Scrolling of content cannot be disabled by calling preventDefault() on a pointer event.");

</script>
</body>
</html>