<!DOCTYPE html> <html> <head> <style> #content { width: 7500px; height: 7500px; background-color: blue; } </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) { document.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 scrollBehaviorTest = new ScrollBehaviorTest(document.scrollingElement, document, testCases, getEndPosition, jsScroll); scrollBehaviorTest.run(); } window.addEventListener('load', doTest, false); </script> </head> <body> <p>Test that setting scrollLeft on the main frame works with both scroll behaviors</p> <div id="content"></div> </body> </html>