| <!DOCTYPE html> |
| <script src="../../../../resources/testharness.js"></script> |
| <script src="../../../../resources/testharnessreport.js"></script> |
| <script src="../../../../resources/gesture-util.js"></script> |
| <style> |
| #spacer { |
| height: 1000px; |
| } |
| #target { |
| width: 50px; |
| height: 50px; |
| } |
| </style> |
| <object id=target></object> |
| <div id=spacer></div> |
| |
| <script> |
| // This promise gets resolved in the event handler. |
| var scrollHandlerResolve; |
| scrollHandlerPromise = new Promise(function(resolve) { |
| scrollHandlerResolve = resolve; |
| }); |
| |
| window.addEventListener('scroll', function(e) { |
| scrollHandlerResolve(); |
| }); |
| |
| promise_test (async () => { |
| var target = document.getElementById('target'); |
| var rect = target.getBoundingClientRect(); |
| var targetX = rect.left + rect.width / 2; |
| var targetY = rect.top + rect.height / 2; |
| await smoothScroll(20, targetX, targetY, GestureSourceType.TOUCH_INPUT, |
| "down", SPEED_INSTANT); |
| await waitFor( () => { return document.scrollingElement.scrollTop > 0; }); |
| await scrollHandlerPromise; |
| }, "Verifies that scrolling on top of a LayoutEmbeddedContent with null " + |
| "widget works and doesn't crash."); |
| </script> |