45 lines
1.9 KiB
HTML
45 lines
1.9 KiB
HTML
<!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';
|
|
|
|
function assertNoScroll()
|
|
{
|
|
assert_equals(window.pageXOffset, 0, "The page was not scrolled in the x-axis.");
|
|
assert_equals(window.pageYOffset, 0, "The page was not scrolled in the y-axis.");
|
|
}
|
|
|
|
target_test({ width: "200px", height: "200px" }, (target, test) => {
|
|
document.body.style.width = "2000px";
|
|
document.body.style.height = "2000px";
|
|
|
|
target.style.touchAction = "pinch-zoom";
|
|
|
|
const overlap = document.body.insertBefore(document.createElement("div"), target.nextElementSibling);
|
|
overlap.setAttribute("style", "position: absolute; left: 50px; top: 50px; width: 100px; height: 100px;");
|
|
|
|
// Swipe over the "touch-action: pinch-zoom" element and around the overlapping element.
|
|
ui.swipe({ x: 25, y: 175 }, { x: 25, y: 25 }).then(assertNoScroll)
|
|
.then(() => ui.swipe({ x: 175, y: 175 }, { x: 175, y: 25 })).then(assertNoScroll)
|
|
.then(() => ui.swipe({ x: 175, y: 25 }, { x: 25, y: 25 })).then(assertNoScroll)
|
|
.then(() => ui.swipe({ x: 175, y: 175 }, { x: 25, y: 175 })).then(assertNoScroll)
|
|
// Now swipe over the overlapping element, this should scroll.
|
|
.then(() => ui.swipe({ x: 125, y: 125 }, { x: 75, y: 75 })).then(() => {
|
|
assert_not_equals(window.pageXOffset, 0, "The page was scrolled in the x-axis.");
|
|
assert_not_equals(window.pageYOffset, 0, "The page was scrolled in the y-axis.");
|
|
test.done();
|
|
});
|
|
}, "Testing that an element overlapping an element with touch-action: pinch-zoom allows for scrolling while the touch-action: pinch-zoom element correctly prevents scrolling.");
|
|
|
|
</script>
|
|
</body>
|
|
</html> |