blob: a7f57260bba5f674599a3b1f41a6db50cd5cfbea [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<script src="../../../../resources/testharness.js"></script>
<script src="../../../../resources/testharnessreport.js"></script>
<script src="../../../../resources/gesture-util.js"></script>
<style type="text/css">
#touchtarget {
width: 200px;
height: 200px;
position: relative;
background: white;
}
::-webkit-scrollbar {
width: 0px;
height: 0px;
}
</style>
<iframe id="touchtarget" src="resources/scroll-inside-iframe.html" scrolling="no"></iframe>
<p id="description"></p>
<div id="console"></div>
<script type="text/javascript">
var touchtarget = document.getElementById('touchtarget');
var expectedGesturesTotal = 2;
var gesturesOccurred = 0;
var scrollAmountX = [0, 0];
var scrollAmountY = [0, 0];
var scrollEventsOccurred = 0;
var expectedScrollEventsOccurred = 0;
var scrolledElement;
var x = 12;
var y = 150;
function firstGestureScroll() {
return smoothScroll(140, x, y, GestureSourceType.TOUCH_INPUT, "down",
SPEED_INSTANT);
}
function secondGestureScroll() {
y = 110;
return smoothScroll(60, x, y, GestureSourceType.TOUCH_INPUT, "down",
SPEED_INSTANT);
}
promise_test (async () => {
// Wait for the iframe to be ready before starting the test.
await iframeOnLoadPromise;
touchtarget.contentDocument.addEventListener("scroll", recordScroll);
scrolledElement = touchtarget.contentDocument.scrollingElement;
await firstGestureScroll();
await conditionHolds(() => { return notScrolled(); });
await secondGestureScroll();
await conditionHolds(() => { return notScrolled(); });
assert_equals(scrollEventsOccurred, expectedScrollEventsOccurred);
}, 'This tests that non-scrollable iframes cannot be scrolled with touch.');
</script>