| OLD | NEW | 
|   1 <!DOCTYPE html> |   1 <!DOCTYPE html> | 
|   2 <html> |   2 <html> | 
|   3 <head> |   3 <head> | 
|   4   <style> |   4   <style> | 
|   5     #container { |   5     #container { | 
|   6       width: 200px; |   6       width: 200px; | 
|   7       height: 200px; |   7       height: 200px; | 
|   8       overflow: hidden; |   8       overflow: hidden; | 
|   9     } |   9     } | 
|  10  |  10  | 
|  11     #content { |  11     #content { | 
|  12       width: 7500px; |  12       width: 7500px; | 
|  13       height: 7500px; |  13       height: 7500px; | 
|  14       background-color: blue; |  14       background-color: blue; | 
|  15     } |  15     } | 
|  16   </style> |  16   </style> | 
|  17   <script src="../../resources/testharness.js"></script> |  17   <script src="../../resources/testharness.js"></script> | 
|  18   <script src="../../resources/testharnessreport.js"></script> |  18   <script src="../../resources/testharnessreport.js"></script> | 
|  19   <script src="resources/scroll-behavior-test.js"></script> |  19   <script src="resources/scroll-behavior-test.js"></script> | 
|  20   <script type="text/javascript"> |  20   <script type="text/javascript"> | 
|  21     function getEndPosition(testCase, startPosition) { |  21     function getEndPosition(testCase, startPosition) { | 
|  22       var endPosition = {}; |  22       var endPosition = {}; | 
|  23       endPosition.x = testCase.x; |  23       endPosition.x = testCase.x; | 
|  24       endPosition.y = startPosition.y; |  24       endPosition.y = startPosition.y; | 
|  25       return endPosition; |  25       return endPosition; | 
|  26     } |  26     } | 
|  27  |  27  | 
|  28     function jsScroll(testCase) { |  28     function jsScroll(testCase) { | 
|  29       var element = document.getElementById("container"); |  29       var element = document.getElementById("container"); | 
|  30       if (testCase.js) { |  30       element.scrollLeft = testCase.x; | 
|  31         element.scrollLeft = {x: testCase.x, behavior: testCase.js}; |  | 
|  32       } else { |  | 
|  33         element.scrollLeft = testCase.x; |  | 
|  34       } |  | 
|  35     } |  31     } | 
|  36  |  32  | 
|  37     const testScrolls = [ |  33     const testScrolls = [ | 
|  38       {js: "instant", css: "auto", x: 1, y: 0}, |  34       {css: "auto", x: 1, y: 0}, | 
|  39       {js: "instant", css: "smooth", x: 2, y: 0}, |  35       {css: "auto", x: 4, y: 0}, | 
|  40       {js: "auto", css: "auto", x: 3, y: 0}, |  36       {css: "smooth", waitForEnd: true, x: 20, y: 0}, | 
|  41       {js: "", css: "auto", x: 4, y: 0}, |  37       {css: "smooth", waitForEnd: true, x: 40, y: 0}, | 
|  42       {js: "smooth", css: "auto", waitForEnd: true, x: 10, y: 0}, |  38       {css: "smooth", waitForEnd: false, x: 4000, y: 0}, | 
|  43       {js: "smooth", css: "smooth", waitForEnd: true, x: 20, y: 0}, |  39       {css: "smooth", waitForEnd: false, x: 10, y: 0}, | 
|  44       {js: "auto", css: "smooth", waitForEnd: true, x: 30, y: 0}, |  | 
|  45       {js: "", css: "smooth", waitForEnd: true, x: 40, y: 0}, |  | 
|  46       {js: "smooth", css: "auto", waitForEnd: false, x: 4000, y: 0}, |  | 
|  47       {js: "smooth", css: "smooth", waitForEnd: false, x: 15, y: 0}, |  | 
|  48       {js: "auto", css: "smooth", waitForEnd: false, x: 4100, y: 0}, |  | 
|  49       {js: "", css: "smooth", waitForEnd: false, x: 10, y: 0}, |  | 
|  50     ]; |  40     ]; | 
|  51  |  41  | 
|  52     function doTest() |  42     function doTest() | 
|  53     { |  43     { | 
|  54       var testCases = []; |  44       var testCases = []; | 
|  55       for (var i = 0; i < testScrolls.length; i++) { |  45       for (var i = 0; i < testScrolls.length; i++) { | 
|  56         testCases.push(new ScrollBehaviorTestCase(testScrolls[i])); |  46         testCases.push(new ScrollBehaviorTestCase(testScrolls[i])); | 
|  57       } |  47       } | 
|  58  |  48  | 
|  59       var element = document.getElementById("container"); |  49       var element = document.getElementById("container"); | 
|  60       var scrollBehaviorTest = new ScrollBehaviorTest(element, |  50       var scrollBehaviorTest = new ScrollBehaviorTest(element, | 
|  61                                                       element, |  51                                                       element, | 
|  62                                                       testCases, |  52                                                       testCases, | 
|  63                                                       getEndPosition, |  53                                                       getEndPosition, | 
|  64                                                       jsScroll); |  54                                                       jsScroll); | 
|  65       scrollBehaviorTest.run(); |  55       scrollBehaviorTest.run(); | 
|  66     } |  56     } | 
|  67  |  57  | 
|  68     window.addEventListener('load', doTest, false); |  58     window.addEventListener('load', doTest, false); | 
|  69   </script> |  59   </script> | 
|  70 </head> |  60 </head> | 
|  71  |  61  | 
|  72 <body> |  62 <body> | 
|  73   <p>Test that setting scrollLeft on an overflow:hidden element works with both 
    scroll behaviors</p> |  63   <p>Test that setting scrollLeft on an overflow:hidden element works with both 
    scroll behaviors</p> | 
|  74   <div id="container"> |  64   <div id="container"> | 
|  75     <div id="content"></div> |  65     <div id="content"></div> | 
|  76   </div> |  66   </div> | 
|  77 </body> |  67 </body> | 
|  78 </html> |  68 </html> | 
| OLD | NEW |