| OLD | NEW | 
|---|
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> | 
| 2 <html> | 2 <html> | 
| 3 <head> | 3 <head> | 
| 4   <style> | 4   <style> | 
| 5     #subframe { | 5     #subframe { | 
| 6       width: 200px; | 6       width: 200px; | 
| 7       height: 200px; | 7       height: 200px; | 
| 8     } | 8     } | 
| 9   </style> | 9   </style> | 
| 10   <script src="../../resources/testharness.js"></script> | 10   <script src="../../resources/testharness.js"></script> | 
| 11   <script src="../../resources/testharnessreport.js"></script> | 11   <script src="../../resources/testharnessreport.js"></script> | 
| 12   <script src="resources/scroll-behavior-test.js"></script> | 12   <script src="resources/scroll-behavior-test.js"></script> | 
| 13   <script type="text/javascript"> | 13   <script type="text/javascript"> | 
| 14     function getEndPosition(testCase, startPosition) { | 14     function getEndPosition(testCase, startPosition) { | 
| 15       var endPosition = {}; | 15       var endPosition = {}; | 
| 16       endPosition.x = testCase.x; | 16       if (testCase.x) | 
| 17       endPosition.y = testCase.y; | 17         endPosition.x = testCase.x; | 
|  | 18       else | 
|  | 19         endPosition.x = startPosition.x; | 
|  | 20 | 
|  | 21       if (testCase.y) | 
|  | 22         endPosition.y = testCase.y; | 
|  | 23       else | 
|  | 24         endPosition.y = startPosition.y; | 
|  | 25 | 
| 18       return endPosition; | 26       return endPosition; | 
| 19     } | 27     } | 
| 20 | 28 | 
| 21     function jsScroll(testCase) { | 29     function jsScroll(testCase) { | 
| 22       var subframe = document.getElementById("subframe"); | 30       var subframe = document.getElementById("subframe"); | 
| 23       if (testCase.js) { | 31       if (testCase.js) { | 
| 24         subframe.contentWindow.scroll(testCase.x, testCase.y, {behavior: testCas
    e.js}); | 32         var scrollToOptions = {behavior: testCase.js}; | 
|  | 33         if (testCase.x) | 
|  | 34           scrollToOptions.left = testCase.x; | 
|  | 35         if (testCase.y) | 
|  | 36           scrollToOptions.top = testCase.y; | 
|  | 37         subframe.contentWindow.scroll(scrollToOptions); | 
| 25       } else { | 38       } else { | 
| 26         subframe.contentWindow.scroll(testCase.x, testCase.y); | 39         subframe.contentWindow.scroll(testCase.x, testCase.y); | 
| 27       } | 40       } | 
| 28     } | 41     } | 
| 29 | 42 | 
| 30     const testScrolls = [ | 43     const testScrolls = [ | 
| 31       {js: "instant", css: "auto", x: 1, y: 2}, | 44       {js: "instant", css: "auto", x: 1, y: 2}, | 
| 32       {js: "instant", css: "smooth", x: 2, y: 3}, | 45       {js: "instant", css: "smooth", x: 2, y: 3}, | 
| 33       {js: "auto", css: "auto", x: 3, y: 4}, | 46       {js: "auto", css: "auto", x: 3, y: 4}, | 
| 34       {js: "", css: "auto", x: 4, y: 5}, | 47       {js: "", css: "auto", x: 4, y: 5}, | 
|  | 48       {js: "auto", css: "auto", x: 3}, | 
|  | 49       {js: "auto", css: "auto", y: 4}, | 
|  | 50       {js: "auto", css: "auto"}, | 
| 35       {js: "smooth", css: "auto", waitForEnd: true, x: 10, y: 15}, | 51       {js: "smooth", css: "auto", waitForEnd: true, x: 10, y: 15}, | 
| 36       {js: "smooth", css: "smooth", waitForEnd: true, x: 20, y: 25}, | 52       {js: "smooth", css: "smooth", waitForEnd: true, x: 20, y: 25}, | 
| 37       {js: "auto", css: "smooth", waitForEnd: true, x: 30, y: 35}, | 53       {js: "auto", css: "smooth", waitForEnd: true, x: 30, y: 35}, | 
| 38       {js: "", css: "smooth", waitForEnd: true, x: 40, y: 45}, | 54       {js: "", css: "smooth", waitForEnd: true, x: 40, y: 45}, | 
|  | 55       {js: "auto", css: "smooth", waitForEnd: true, x: 45}, | 
|  | 56       {js: "auto", css: "smooth", waitForEnd: true, y: 40}, | 
| 39       {js: "smooth", css: "auto", waitForEnd: false, x: 4000, y: 4100}, | 57       {js: "smooth", css: "auto", waitForEnd: false, x: 4000, y: 4100}, | 
| 40       {js: "smooth", css: "smooth", waitForEnd: false, x: 15, y: 20}, | 58       {js: "smooth", css: "smooth", waitForEnd: false, x: 15, y: 20}, | 
| 41       {js: "auto", css: "smooth", waitForEnd: false, x: 4100, y: 4000}, | 59       {js: "auto", css: "smooth", waitForEnd: false, x: 4100, y: 4000}, | 
| 42       {js: "", css: "smooth", waitForEnd: false, x: 10, y: 5}, | 60       {js: "", css: "smooth", waitForEnd: false, x: 10, y: 5}, | 
| 43     ]; | 61     ]; | 
| 44 | 62 | 
| 45     function doTest() | 63     function doTest() | 
| 46     { | 64     { | 
| 47       var testCases = []; | 65       var testCases = []; | 
| 48       for (var i = 0; i < testScrolls.length; i++) { | 66       for (var i = 0; i < testScrolls.length; i++) { | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 60 | 78 | 
| 61     window.addEventListener('load', doTest, false); | 79     window.addEventListener('load', doTest, false); | 
| 62   </script> | 80   </script> | 
| 63 </head> | 81 </head> | 
| 64 | 82 | 
| 65 <body> | 83 <body> | 
| 66   <p>Test that calling scroll on a subframe works with both scroll behaviors</p> | 84   <p>Test that calling scroll on a subframe works with both scroll behaviors</p> | 
| 67   <iframe id="subframe" src="resources/large-subframe.html"></iframe> | 85   <iframe id="subframe" src="resources/large-subframe.html"></iframe> | 
| 68 </body> | 86 </body> | 
| 69 </html> | 87 </html> | 
| OLD | NEW | 
|---|