Scrolling misbehaves if element has border radius and is within another scrollable container
Reported by
dan...@danoc.me,
Mar 22 2016
|
|||||||||
Issue descriptionUserAgent: 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.
,
Mar 22 2016
,
Mar 23 2016
mehmet, please remove the Blink component when adding a subcomponent label. Thanks!
,
Mar 24 2016
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.
,
Mar 28 2016
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
,
Nov 16 2016
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.
,
Dec 15 2016
,
Dec 16 2016
,
Mar 16 2018
|
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by meh...@chromium.org
, Mar 22 2016