| Index: LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTo.html | 
| diff --git a/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTo.html b/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTo.html | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..7e2dbc7b30e69415781b6ddc4e00a4b35d18fd37 | 
| --- /dev/null | 
| +++ b/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTo.html | 
| @@ -0,0 +1,95 @@ | 
| +<!DOCTYPE html> | 
| +<html> | 
| +<head> | 
| +  <style> | 
| +    #container { | 
| +      width: 200px; | 
| +      height: 200px; | 
| +      overflow: scroll; | 
| +    } | 
| + | 
| +    #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 = {}; | 
| +      if (testCase.x) | 
| +        endPosition.x = testCase.x; | 
| +      else | 
| +        endPosition.x = startPosition.x; | 
| + | 
| +      if (testCase.y) | 
| +        endPosition.y = testCase.y; | 
| +      else | 
| +        endPosition.y = startPosition.y; | 
| + | 
| +      return endPosition; | 
| +    } | 
| + | 
| +    function jsScroll(testCase) { | 
| +      if (testCase.js) { | 
| +        var scrollToOptions = {behavior: testCase.js}; | 
| +        if (testCase.x) | 
| +          scrollToOptions.left = testCase.x; | 
| +        if (testCase.y) | 
| +          scrollToOptions.top = testCase.y; | 
| +        document.getElementById("container").scrollTo(scrollToOptions); | 
| +      } else { | 
| +        document.getElementById("container").scrollTo(testCase.x, testCase.y); | 
| +      } | 
| +    } | 
| + | 
| +    const testScrolls = [ | 
| +      {js: "instant", css: "auto", x: 1, y: 2}, | 
| +      {js: "instant", css: "smooth", x: 2, y: 3}, | 
| +      {js: "auto", css: "auto", x: 3, y: 4}, | 
| +      {js: "", css: "auto", x: 4, y: 5}, | 
| +      {js: "auto", css: "auto", x: 3}, | 
| +      {js: "auto", css: "auto", y: 4}, | 
| +      {js: "auto", css: "auto"}, | 
| +      {js: "smooth", css: "auto", waitForEnd: true, x: 10, y: 15}, | 
| +      {js: "smooth", css: "smooth", waitForEnd: true, x: 20, y: 25}, | 
| +      {js: "auto", css: "smooth", waitForEnd: true, x: 30, y: 35}, | 
| +      {js: "", css: "smooth", waitForEnd: true, x: 40, y: 45}, | 
| +      {js: "auto", css: "smooth", waitForEnd: true, x: 45}, | 
| +      {js: "auto", css: "smooth", waitForEnd: true, y: 40}, | 
| +      {js: "smooth", css: "auto", waitForEnd: false, x: 4000, y: 4100}, | 
| +      {js: "smooth", css: "smooth", waitForEnd: false, x: 15, y: 20}, | 
| +      {js: "auto", css: "smooth", waitForEnd: false, x: 4100, y: 4000}, | 
| +      {js: "", css: "smooth", waitForEnd: false, x: 10, y: 5}, | 
| +    ]; | 
| + | 
| +    function doTest() | 
| +    { | 
| +      var testCases = []; | 
| +      for (var i = 0; i < testScrolls.length; i++) { | 
| +        testCases.push(new ScrollBehaviorTestCase(testScrolls[i])); | 
| +      } | 
| + | 
| +      var element = document.getElementById("container"); | 
| +      var scrollBehaviorTest = new ScrollBehaviorTest(element, | 
| +                                                      element, | 
| +                                                      testCases, | 
| +                                                      getEndPosition, | 
| +                                                      jsScroll); | 
| +      scrollBehaviorTest.run(); | 
| +    } | 
| + | 
| +    window.addEventListener('load', doTest, false); | 
| +  </script> | 
| +</head> | 
| + | 
| +<body> | 
| +  <p>Test that calling scrollTo on an overflow:scroll element works with both scroll behaviors</p> | 
| +  <div id="container"> | 
| +    <div id="content"></div> | 
| +  </div> | 
| +</body> | 
| +</html> | 
|  |