New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 596979 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 817600
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Scrolling misbehaves if element has border radius and is within another scrollable container

Reported by dan...@danoc.me, Mar 22 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36

Example URL:
https://s.codepen.io/danoc/debug/XdMOPN

Steps to reproduce the problem:
1. Open webpage: https://s.codepen.io/danoc/debug/XdMOPN
2. Start with mouse outside of the inner div.
3. Scroll down.

What is the expected behavior?
The inner div should start scrolling. Instead, the entire page scrolls and the inner one never scrolls until you move the mouse into it and then scroll.

The behavior returns to normal if I disable border-radius within the inner div.

What went wrong?
There seems to be a bug related to border-radius.

It may be related to  bug 579741  but I'm not certain.
https://bugs.chromium.org/p/chromium/issues/detail?id=579741#

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? Yes 

Chrome version: 49.0.2623.87  Channel: stable
OS Version: OS X 10.11.3
Flash Version: Shockwave Flash 21.0 r0

I have tried this in 51.0.2687.0 canary (64-bit) and still see the issue.

My colleagues can reproduce the issue in project I'm working in, but can't reproduce in the CodePen. (I see the exact same behavior in both.)

See attached GIF and notice how it starts to scroll when I turn off border-radius.
 
border-radius-bug.gif
1.6 MB View Download

Comment 1 by meh...@chromium.org, Mar 22 2016

Components: Blink>Scroll
Labels: Needs-Bisect
Cc: meh...@chromium.org
Components: -Blink
mehmet, please remove the Blink component when adding a subcomponent label. Thanks!
Cc: bokan@chromium.org skobes@chromium.org
Labels: Hotlist-Input-Dev
Owner: ymalik@chromium.org
Status: Assigned (was: Unconfirmed)
Something is definitely a little wrong here with the targeting of the events to layers. I know that while a scroll is actively going on (has momentum phases) the scroll isn't necessarily targeted to what is under the mouse. But even if you wait a while and don't move the mouse the inner div doesn't scroll.
Cc: rnimmagadda@chromium.org
Labels: -Needs-Bisect M-50 OS-Linux OS-Windows
Able to repro this issue on Windows 7, MAC (10.11.3) & Ubuntu Trusty (14.04) for Google Chrome Stable Version - 49.0.2623.108

This is a Non-Regression issue existing from M30 - # 30.0.1549.0

Comment 6 by ymalik@chromium.org, Nov 16 2016

Cc: -skobes@chromium.org ymalik@chromium.org
Owner: skobes@chromium.org
Hmm so did some investigation and here's roughly what I got:

We have a main frame scroller #main, #div1 nested in #main and #div2 nested in #div1.

#div1 is composited, and #div2 is not. The space occupied by #div2 should be the non fast scrollable region for the layer in #div. This is the bit that is used by layer_tree_host_impl_ to determine whether the scroll should be handled on the impl thread or forwarded to the main thread (if the mouse is on the non fast region, scroll on main).

One problem is that the non fast scrolling region is set incorrectly. This is obvious if you turn on "Scrolling Performance Issues" under the rendering tab in dev tools.

This will require more investigation.
Cc: yigu@chromium.org majidvp@chromium.org

Comment 8 by skobes@chromium.org, Dec 16 2016

Status: Started (was: Assigned)

Comment 9 by skobes@chromium.org, Mar 16 2018

Mergedinto: 817600
Status: Duplicate (was: Started)

Sign in to add a comment