New issue
Advanced search Search tips

Issue 754397 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 672921



Sign in to add a comment

Scroll should not be propagated if there is delta on the direction prevented by ScrollBoundaryBehavior

Project Member Reported by sunyunjia@chromium.org, Aug 10 2017

Issue description

Currently, we decide whether to propagate a scroll by looking at the dominant axis of the scroll, and see if scroll-boundary-behavior prevents the propagation in that direction. This brings complexity to the code, and confusions to the user, but was a compromise because railing wasn't present in GestureScrollBegin.

Now we have railing in GestureScrollBegin, so any scroll_delta passed to the renderer is a non-trival scroll and should be taken into account. We should prevent the scroll being propagated if the scroll has any delta on the direction prevented by scroll-boundary-behavior.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c6339c08822ef7cc2cf305126125ed86b1b9078e

commit c6339c08822ef7cc2cf305126125ed86b1b9078e
Author: Sandra Sun <sunyunjia@chromium.org>
Date: Tue Aug 22 22:57:21 2017

Simplify ScrollBoundaryBehavior logic with railed delta.

Currently, we decide whether to propagate a scroll by looking at the dominant
axis of the scroll, and see if scroll-boundary-behavior prevents the
propagation in that direction. This brings complexity to the code, and
confusions to the user, but was a compromise because railing wasn't present in
GestureScrollBegin.

Now we have railing in GestureScrollBegin(r492983), so any scroll_delta passed
to the renderer is a non-trival scroll and should be taken into account. This
patch prevents the scroll being propagated if the scroll has any delta on the
direction prevented by scroll-boundary-behavior.

Bug:  754397 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ie0a0681a0d6e515adc6f2e28ccf482cf13b70771
Reviewed-on: https://chromium-review.googlesource.com/611092
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: Ali Juma <ajuma@chromium.org>
Commit-Queue: Sandra Sun <sunyunjia@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496483}
[modify] https://crrev.com/c6339c08822ef7cc2cf305126125ed86b1b9078e/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/c6339c08822ef7cc2cf305126125ed86b1b9078e/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/c6339c08822ef7cc2cf305126125ed86b1b9078e/third_party/WebKit/Source/core/BUILD.gn
[add] https://crrev.com/c6339c08822ef7cc2cf305126125ed86b1b9078e/third_party/WebKit/Source/core/input/ScrollBoundaryBehaviorTest.cpp
[modify] https://crrev.com/c6339c08822ef7cc2cf305126125ed86b1b9078e/third_party/WebKit/Source/core/input/ScrollManager.cpp

Status: Fixed (was: Assigned)
Blocking: 672921

Sign in to add a comment