Prevent child frames from consuming scrolls during overscroll navigation

Desktop / Chromium - Kevin McNee [chromium.org] - 9 August 2017 10:42 EDT

Unconsumed scrolls in a child may bubble to the root and start an overscroll gesture (e.g. aura overscroll nav and android pull-to-refresh). During the overscroll gesture, the child is still the target for the scroll updates, so if the user changes direction, the child may start consuming the updates. This results in the child scrolling during an overscroll gesture in the root.

We now allow the root to consume the child's scroll updates if it is in an overscroll gesture.

Bug: 713368 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation Change-Id: I4d6f32d9ebb5cad989a3025bf2142d4c65cbfaae Reviewed-on: https://chromium-review.googlesource.com/594787 Commit-Queue: Kevin McNee

80e0a45 Prevent child frames from consuming scrolls during overscroll navigation.
.../render_widget_host_view_child_frame.cc | 20 +-
.../render_widget_host_view_android.cc | 15 ++
.../render_widget_host_view_android.h | 6 +
content/browser/site_per_process_browsertest.cc | 208 +++++++++++++++++++++
content/test/BUILD.gn | 12 ++
content/test/data/wide_page.html | 7 +
.../mock_overscroll_controller_delegate_aura.cc | 77 ++++++++
.../mock_overscroll_controller_delegate_aura.h | 53 ++++++
content/test/mock_overscroll_observer.h | 23 +++
.../mock_overscroll_refresh_handler_android.cc | 65 +++++++
.../test/mock_overscroll_refresh_handler_android.h | 48 +++++
11 files changed, 530 insertions(+), 4 deletions(-)

Upstream: git.chromium.org


  • Share