128 lines
5.4 KiB
HTML
128 lines
5.4 KiB
HTML
<!DOCTYPE html> <!-- webkit-test-runner [ AsyncOverflowScrollingEnabled=true ] -->
|
|
<html>
|
|
<head>
|
|
<style>
|
|
.bordered {
|
|
border-top: 20px solid black;
|
|
border-bottom: 10px solid black;
|
|
border-left: 15px solid black;
|
|
border-right: 9px solid black;
|
|
}
|
|
.padded {
|
|
padding-left: 20px;
|
|
padding-right: 10px;
|
|
padding-top: 15px;
|
|
padding-bottom: 9px;
|
|
}
|
|
.horizontalGallery {
|
|
direction: rtl;
|
|
width: 100px;
|
|
height: 100px;
|
|
overflow-y: hidden;
|
|
overflow-x: auto;
|
|
margin: 2px;
|
|
-webkit-overflow-scrolling: touch;
|
|
scroll-snap-type: x mandatory;
|
|
}
|
|
.horizontalGalleryDrawer {
|
|
width: 600%;
|
|
height: 100%;
|
|
}
|
|
.colorBox {
|
|
scroll-snap-align: start;
|
|
height: 100px;
|
|
width: 100px;
|
|
float: left;
|
|
}
|
|
#itemH0, #itemV0 { background-color: red; }
|
|
#itemH1, #itemV1 { background-color: green; }
|
|
#itemH2, #itemV2 { background-color: blue; }
|
|
#itemH3, #itemV3 { background-color: aqua; }
|
|
#itemH4, #itemV4 { background-color: yellow; }
|
|
#itemH5, #itemV5 { background-color: fuchsia; }
|
|
</style>
|
|
<script src="../../resources/js-test.js"></script>
|
|
<script>
|
|
function reportResult(horizontalTargetID, verticalTargetID)
|
|
{
|
|
let horizontalTarget = document.getElementById(horizontalTargetID);
|
|
debug("Scroll-snap offsets for " + horizontalTargetID + ": " + window.internals.scrollSnapOffsets(horizontalTarget));
|
|
}
|
|
|
|
function runTest()
|
|
{
|
|
reportResult('horizontalTarget', 'verticalTarget');
|
|
reportResult('horizontalBorderedTarget', 'verticalBorderedTarget');
|
|
reportResult('horizontalPaddedTarget', 'verticalPaddedTarget');
|
|
reportResult('horizontalBorderedPaddedTarget', 'verticalBorderedPaddedTarget');
|
|
reportResult('horizontalRotatedTarget', 'verticalRotatedTarget')
|
|
|
|
finishJSTest();
|
|
}
|
|
|
|
function onLoad()
|
|
{
|
|
jsTestIsAsync = true;
|
|
if (window.testRunner)
|
|
setTimeout(runTest, 0);
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="onLoad();">
|
|
<div style="position: relative; width: 300px">
|
|
<div>Tests that the scroll-snap feature works properly in overflow regions.</div>
|
|
<div class="horizontalGallery" id="horizontalTarget">
|
|
<div class="horizontalGalleryDrawer">
|
|
<div id="itemH0" class="colorBox"></div>
|
|
<div id="itemH1" class="colorBox"></div>
|
|
<div id="itemH2" class="colorBox"></div>
|
|
<div id="itemH3" class="colorBox"></div>
|
|
<div id="itemH4" class="colorBox"></div>
|
|
<div id="itemH5" class="colorBox"></div>
|
|
</div>
|
|
</div>
|
|
<div class="horizontalGallery bordered" id="horizontalBorderedTarget">
|
|
<div class="horizontalGalleryDrawer">
|
|
<div id="itemH0" class="colorBox"></div>
|
|
<div id="itemH1" class="colorBox"></div>
|
|
<div id="itemH2" class="colorBox"></div>
|
|
<div id="itemH3" class="colorBox"></div>
|
|
<div id="itemH4" class="colorBox"></div>
|
|
<div id="itemH5" class="colorBox"></div>
|
|
</div>
|
|
</div>
|
|
<div class="horizontalGallery padded" id="horizontalPaddedTarget">
|
|
<div class="horizontalGalleryDrawer">
|
|
<div id="itemH0" class="colorBox"></div>
|
|
<div id="itemH1" class="colorBox"></div>
|
|
<div id="itemH2" class="colorBox"></div>
|
|
<div id="itemH3" class="colorBox"></div>
|
|
<div id="itemH4" class="colorBox"></div>
|
|
<div id="itemH5" class="colorBox"></div>
|
|
</div>
|
|
</div>
|
|
<div class="horizontalGallery bordered padded" id="horizontalBorderedPaddedTarget">
|
|
<div class="horizontalGalleryDrawer">
|
|
<div id="itemH0" class="colorBox"></div>
|
|
<div id="itemH1" class="colorBox"></div>
|
|
<div id="itemH2" class="colorBox"></div>
|
|
<div id="itemH3" class="colorBox"></div>
|
|
<div id="itemH4" class="colorBox"></div>
|
|
<div id="itemH5" class="colorBox"></div>
|
|
</div>
|
|
</div>
|
|
<div class="horizontalGallery bordered padded" id="horizontalRotatedTarget" style="transform: rotate(20deg)">
|
|
<div class="horizontalGalleryDrawer">
|
|
<div id="itemH0" class="colorBox"></div>
|
|
<div id="itemH1" class="colorBox"></div>
|
|
<div id="itemH2" class="colorBox"></div>
|
|
<div id="itemH3" class="colorBox"></div>
|
|
<div id="itemH4" class="colorBox"></div>
|
|
<div id="itemH5" class="colorBox"></div>
|
|
</div>
|
|
</div>
|
|
<div id="console"></div>
|
|
</div>
|
|
</body>
|
|
</html>
|