| <!DOCTYPE html> |
| <script src='../../resources/testharness.js'></script> |
| <script src='../../resources/testharnessreport.js'></script> |
| <script src='../../resources/gesture-util.js'></script> |
| <style> |
| #scroller { |
| width: 300px; |
| height: 300px; |
| overflow: auto; |
| } |
| #spacer { |
| width: 1000px; |
| height: 1000px; |
| /* clip-path to force the scroller non-composited when live testing. */ |
| clip-path: inset(1px 1px); |
| background-image: linear-gradient(red, yellow); |
| } |
| </style> |
| <div id="scroller"> |
| <div id="spacer"></div> |
| </div> |
| |
| <script> |
| if (window.internals) |
| internals.settings.setPreferCompositingToLCDTextEnabled(false); |
| |
| window.onload = async () => { |
| // Wait until layer information has gone from Blink to CC's active tree. |
| await waitForCompositorCommit(); |
| |
| // Try scrolling the uncomposited #scroller div. |
| promise_test(async () => { |
| const distance = 500; |
| const x = 200; |
| const y = 200; |
| await smoothScroll(distance, |
| x, y, |
| GestureSourceType.MOUSE_INPUT, |
| 'down', |
| SPEED_INSTANT, |
| true /* precise scrolling deltas */); |
| |
| const scroller = document.getElementById('scroller'); |
| await waitFor(() => { return scroller.scrollTop > 0; }, |
| "Scroller wasn't scrolled by scroll gesture."); |
| }, 'Scrolling over non-composited scroller.'); |
| } |
| </script> |