Wheel scroll latching breaks some virtual list implementation
Reported by
albertx...@slack-corp.com,
Oct 3 2017
|
|||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3231.0 Safari/537.36 Example URL: http://jsfiddle.net/TXZJY/6/ Steps to reproduce the problem: 1. Open the JSFiddle linked above 2. Fling scroll on the pink elements What is the expected behavior? Inertial scrolling should activate, and scrolling should be smooth What went wrong? Scrolling stops abruptly when latched element is removed from the DOM Does it occur on multiple sites: Yes Is it a problem with a plugin? No Did this work before? Yes Before 62.0.3197.0 Does this work in other browsers? Yes Chrome version: 63.0.3231.0 Channel: canary OS Version: OS X 10.12.6 Flash Version: I believe this is an unintended side effect from: r497483 "Wheel scroll latching and async wheel events flags enabled in testing config" Please see related issues 770678 (recent, also related to scroll latching) and 312427 (old, for which mousewheel scroll latching was originally removed)
,
Oct 4 2017
Able to reproduce this issue on Mac 10.12.6 and Windows-10 using chrome latest canary #63.0.3232.0 and reported #63.0.3231.0 by following test case provided in the comment #0, but unable to reproduce the same on equivalent signed build #63.0.3232.0. Attached the screencast for reference. sahel@ As it seems to be similar to the Issue 770678 , could you please take a look into this issue? If it's not related to your change please feel free to reassign to the concerned dev. Note: Unable to reproduce on Ubuntu 14.04. Thanks!
,
Oct 4 2017
,
Oct 4 2017
,
Oct 4 2017
,
Oct 5 2017
I couldn't reproduce the bug locally, pnangunoori@, could you please send the variation list of the canary build? and/or please try to reproduce it by --disable-features=TouchpadAndWheelScrollLatching,AsyncWheelEvents for disabling both latching and async and disable-features=AsyncWheelEvents for disabling async only.
,
Oct 6 2017
@sahel -- Earlier Canary builds will not be available to us. So, we try to use equivalent signed builds. But, the issue is observed only on Canary builds but not on equivalent signed builds. Tested again on latest Canary #63.0.3233.0 and able to reproduce the issue. Other observations are: By disabling both latching and async - Issue is not reproduced. By disabling async - Issue is reproduced. Please refer the attached screencasts. Thanks!
,
Oct 12 2017
Hi, actually it is started on : Version 61.0.3163.100 (Official Build) (64-bit)
,
Oct 13 2017
https://bugs.chromium.org/p/chromium/issues/detail?id=769390 addresses the same issue.
,
Oct 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/209d2454442b33a913b53a902c0646062fa25bcc commit 209d2454442b33a913b53a902c0646062fa25bcc Author: Sahel Sharify <sahel@chromium.org> Date: Fri Oct 20 16:56:50 2017 Scrolling a new node when the latched node is removed. When the currently scrolling element gets removed, scrolling should continue with scrolling the next element even when scroll latching is enabled. This behavior is consistent with what both Safari and Firefox browsers do. This cl fixes the issue for both wheel and touch scrolling: When the latched element gets deleted in the middle of a scrolling sequence on main thread side, handling a synthetic GSB causes a new hittest to continue scrolling on a different element. Scrolling on the compositor side was already working for non-animated wheel scrolling since deleting the scrolling node forces the rest of the scrolling to be handled on main thread side. Before handling the rest of the GSUs in main thread side,a GSB gets sent to the main thread side to cause a hittesting. This cl adds transferring to the main thread side for touch scrolling as well. ScrollAnimation path for wheel scrolling is also changed to re-latch when the latched scrolling node gets deleted in the middle of scrolling. InputHandlerProxyTest.(Wheel/Touch)ScrollHandlingSwitchedToMainThread, WheelScrollLatchingBrowserTest.WheelScrollingRelatchWhenLatchedScrollerRemoved Bug: 771409 , 773986 Test: virtual/wheelscrolllatching/latched-scroll-node-removed.html, Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I24630a101a184fcd6a8480c553074808ffea6a35 Reviewed-on: https://chromium-review.googlesource.com/709658 Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Reviewed-by: weiliangc <weiliangc@chromium.org> Reviewed-by: David Bokan <bokan@chromium.org> Commit-Queue: Sahel Sharifymoghaddam <sahel@chromium.org> Cr-Commit-Position: refs/heads/master@{#510468} [modify] https://crrev.com/209d2454442b33a913b53a902c0646062fa25bcc/cc/trees/layer_tree_host_impl.cc [modify] https://crrev.com/209d2454442b33a913b53a902c0646062fa25bcc/cc/trees/layer_tree_host_impl.h [modify] https://crrev.com/209d2454442b33a913b53a902c0646062fa25bcc/content/browser/renderer_host/input/wheel_scroll_latching_browsertest.cc [modify] https://crrev.com/209d2454442b33a913b53a902c0646062fa25bcc/third_party/WebKit/LayoutTests/TestExpectations [add] https://crrev.com/209d2454442b33a913b53a902c0646062fa25bcc/third_party/WebKit/LayoutTests/fast/events/wheel/latched-scroll-node-removed.html [modify] https://crrev.com/209d2454442b33a913b53a902c0646062fa25bcc/third_party/WebKit/Source/core/input/ScrollManager.cpp [modify] https://crrev.com/209d2454442b33a913b53a902c0646062fa25bcc/third_party/WebKit/Source/core/input/ScrollManager.h [modify] https://crrev.com/209d2454442b33a913b53a902c0646062fa25bcc/ui/events/blink/input_handler_proxy.cc [modify] https://crrev.com/209d2454442b33a913b53a902c0646062fa25bcc/ui/events/blink/input_handler_proxy_unittest.cc
,
Oct 20 2017
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by nyerramilli@chromium.org
, Oct 4 2017