New issue
Advanced search Search tips

Issue 759209 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

scroll-boundary-behavior should only affect scrollable elements.

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

Issue description

We would like the scroll-boundary-behavior
affects only the scrollable containers, not all the elements.

Specifically, if the body has scroll-boundary-behavior: contain, and it
hasn't been added to the scroll-chain because it's not scrollable, the
scroll-chain would be cut from that point. Then the overscroll message
won't be generated at all, because it is only generated at the
rootscroller level, which is the document. And we won't have the
glow-effect we would still like to see with the value "contain"

We don't need this check at cc side, because for now, cc handles
overscroll outside the scroll-chain. Cutting scroll-chain early won't
affect overscroll.

 
Project Member

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

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

commit 120f787186564f612ff45299d2aa6d4cf193c128
Author: Sandra Sun <sunyunjia@chromium.org>
Date: Tue Aug 29 16:10:21 2017

Scroll-boundary-behavior should only affect scrollable elements.

scroll-boundary-behavior is expected to cut the scroll-chain whenever
there is an element with the property value: contain or none. Therefore
we should only take into account scroll-boundary-behavior for nodes in
scroll-chain, but we are currently doing so for all nodes in
containing-block-chain. The patch fixes this.

In particular, this bug brings a problem when body is the viewport
defining element and has scroll-boundary-behavior=contain. In the
current implementation, the scroll-chain would be cut from that point.
Then the overscroll message won't be generated at all, because it is
only generated at the rootscroller level, which is the document. And we
won't have the glow-effect we would still like to see with the value
"contain".

In this patch, we would only apply scroll-boundary-behavior to
scrollable containers.

Bug:  759209 
Change-Id: I0e15fc68d44b8408fc314550734358c235251bf8
Reviewed-on: https://chromium-review.googlesource.com/636667
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Majid Valipour <majidvp@chromium.org>
Commit-Queue: Sandra Sun <sunyunjia@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498129}
[modify] https://crrev.com/120f787186564f612ff45299d2aa6d4cf193c128/third_party/WebKit/LayoutTests/fast/scroll-behavior/scroll-boundary-behavior.html
[modify] https://crrev.com/120f787186564f612ff45299d2aa6d4cf193c128/third_party/WebKit/Source/core/exported/WebFrameTest.cpp
[modify] https://crrev.com/120f787186564f612ff45299d2aa6d4cf193c128/third_party/WebKit/Source/core/input/ScrollManager.cpp

Status: Fixed (was: Started)

Sign in to add a comment