blob: 1a8f2732ed0942f7c2cdc582f1bb9c1bc2160a39 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
#subframe {
width: 200px;
height: 200px;
}
</style>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="resources/scroll-behavior-test.js"></script>
<script type="text/javascript">
function getEndPosition(testCase, startPosition) {
var endPosition = {};
endPosition.x = testCase.x;
endPosition.y = startPosition.y;
return endPosition;
}
function jsScroll(testCase) {
var subframe = document.getElementById("subframe");
subframe.contentDocument.scrollingElement.scrollLeft = testCase.x;
}
const testScrolls = [
{css: "auto", x: 1, y: 0},
{css: "auto", x: 4, y: 0},
{css: "smooth", waitForEnd: true, x: 20, y: 0},
{css: "smooth", waitForEnd: true, x: 40, y: 0},
{css: "smooth", waitForEnd: false, x: 4000, y: 0},
{css: "smooth", waitForEnd: false, x: 10, y: 0},
];
function doTest()
{
var testCases = [];
for (var i = 0; i < testScrolls.length; i++) {
testCases.push(new ScrollBehaviorTestCase(testScrolls[i]));
}
var subframe = document.getElementById("subframe");
var scrollBehaviorTest = new ScrollBehaviorTest(subframe.contentDocument.scrollingElement,
subframe.contentDocument,
testCases,
getEndPosition,
jsScroll);
scrollBehaviorTest.run();
}
window.addEventListener('load', doTest, false);
</script>
</head>
<body>
<p>Test that setting scrollLeft on a subframe works with both scroll behaviors</p>
<iframe id="subframe" src="resources/large-subframe.html"></iframe>
</body>
</html>