<!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 = startPosition.x; endPosition.y = testCase.y; return endPosition; } function jsScroll(testCase) { document.scrollingElement.scrollTop = testCase.y; } const testScrolls = [ {css: "auto", x: 0, y: 2}, {css: "auto", x: 0, y: 4}, {css: "smooth", waitForEnd: true, x: 0, y: 25}, {css: "smooth", waitForEnd: true, x: 0, y: 45}, {css: "smooth", waitForEnd: false, x: 0, y: 4100}, {css: "smooth", waitForEnd: false, x: 0, y: 20}, ]; 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 scrollTop on the main frame works with both scroll behaviors</p> <div id="content"></div> </body> </html>