| OLD | NEW |
| 1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
| 2 <body style="width:30000px;height:30000px" onload="runTest()"> | 2 <body style="width:30000px;height:30000px" onload="runTest()"> |
| 3 </body> | 3 </body> |
| 4 | 4 |
| 5 <script src="../../resources/js-test.js"></script> | 5 <script src="../../resources/js-test.js"></script> |
| 6 <script> | 6 <script> |
| 7 description("Verifies that document scrolling supports fractional offset."); | 7 description("Verifies that document scrolling supports fractional offset."); |
| 8 | 8 |
| 9 var floatPrecision = 0.00001; | 9 var floatPrecision = 0.00001; |
| 10 var useIntegerScrollOffset = false; | 10 var useIntegerScrollOffset = true; |
| 11 function checkScrollOffset(offset_x, offset_y) | 11 function checkScrollOffset(offset_x, offset_y) |
| 12 { | 12 { |
| 13 if (useIntegerScrollOffset) { | 13 if (useIntegerScrollOffset) { |
| 14 offset_x = Math.floor(offset_x); | 14 offset_x = Math.floor(offset_x); |
| 15 offset_y = Math.floor(offset_y); | 15 offset_y = Math.floor(offset_y); |
| 16 } | 16 } |
| 17 shouldBeCloseTo('document.scrollingElement.scrollTop', offset_y, floatPrecis
ion); | 17 shouldBeCloseTo('document.scrollingElement.scrollTop', offset_y, floatPrecis
ion); |
| 18 shouldBeCloseTo('document.scrollingElement.scrollLeft', offset_x, floatPreci
sion); | 18 shouldBeCloseTo('document.scrollingElement.scrollLeft', offset_x, floatPreci
sion); |
| 19 } | 19 } |
| 20 | 20 |
| 21 function scroll() | 21 function scroll() |
| 22 { | 22 { |
| 23 window.scrollTo(0, 0); | 23 window.scrollTo(0, 0); |
| 24 eventSender.gestureScrollBegin(100.1, 300.2); | 24 eventSender.gestureScrollBegin(100.1, 300.2); |
| 25 checkScrollOffset(0, 0); | 25 checkScrollOffset(0, 0); |
| 26 eventSender.gestureScrollUpdate(-20.5, -10.2); | 26 eventSender.gestureScrollUpdate(-20.5, -10.2); |
| 27 checkScrollOffset(20.5, 10.2); | 27 checkScrollOffset(20.5, 10.2); |
| 28 eventSender.gestureScrollUpdate(10.9, -20.9); | 28 eventSender.gestureScrollUpdate(10.9, -20.9); |
| 29 checkScrollOffset(9.6, 31.1); | 29 checkScrollOffset(9.6, 31.1); |
| 30 eventSender.gestureScrollUpdate(100.4, 220.9); | 30 eventSender.gestureScrollUpdate(100.4, 220.9); |
| 31 checkScrollOffset(0.0, 0.0); | 31 checkScrollOffset(0.0, 0.0); |
| 32 eventSender.gestureScrollEnd(0, 0); | 32 eventSender.gestureScrollEnd(0, 0); |
| 33 } | 33 } |
| 34 | 34 |
| 35 function runTest() | 35 function runTest() |
| 36 { | 36 { |
| 37 if (window.eventSender) { | 37 if (window.eventSender) { |
| 38 debug("set PreferCompositingToLCDTextEnabled true"); | 38 if (window.internals.runtimeFlags.fractionalScrollOffsetsEnabled) { |
| 39 window.internals.settings.setPreferCompositingToLCDTextEnabled(true); | 39 debug("fractional scroll offset mode"); |
| 40 scroll(); | 40 window.internals.settings.setPreferCompositingToLCDTextEnabled(true); |
| 41 | 41 useIntegerScrollOffset = true; |
| 42 debug("set PreferCompositingToLCDTextEnabled false"); | 42 } |
| 43 window.internals.settings.setPreferCompositingToLCDTextEnabled(false); | |
| 44 useIntegerScrollOffset = true; | |
| 45 scroll(); | 43 scroll(); |
| 46 } | 44 } |
| 47 } | 45 } |
| 48 | 46 |
| 49 </script> | 47 </script> |
| 50 </html> | 48 </html> |
| OLD | NEW |