overscroll-behavior should consider OOPIF case |
||||||||
Issue descriptionCurrently, scroll-boundary-behavior simply cuts the scroll-chain whenever there is a node with the value "contain" or "none". This may not work for the OOPIF case. We need to make sure scroll-boundary-behavior in OOPIF affects the scroll-chain correctly as well.
,
Aug 29 2017
,
Aug 29 2017
,
Nov 11 2017
sunyunjia@: Is this a functional bug affecting current Chrome behavior? We're turning on OOPIFs for more cases, so I'm trying to track what the impact of this is for users.
,
Nov 11 2017
,
Nov 14 2017
,
Nov 17 2017
Friendly ping. I'm still trying to understand what this bug means, so we can determine its importance. Thanks!
,
Nov 20 2017
Hi this is the introduction to overscroll-behavior. https://developers.google.com/web/updates/2017/11/overscroll-behavior I'm investigating the bug's importance as well.
,
Nov 20 2017
Out of curiosity - does this bug apply to all platforms? AFAICT all the examples on the page linked in #c8 were using Android - is the customizable overscroll behavior applicable to desktop platforms (e.g. Windows or ChromeOS) as well?
,
Nov 20 2017
Yes. The scroll-chaining affects all the platforms wherever there is GestureScroll, on touch pad or touch screen. It also controls swipe-navigation on mac, and will cover swipe-navigation and pull-to-refresh on ChromeOS later.
,
Nov 20 2017
,
Nov 22 2017
I just applied overscroll-behavior to OOPIF and checked on desktop and Android. The feature is not working for OOPIF, but isn't affecting current Chrome behavior either. So this shouldn't be a functional bug.
,
Nov 22 2017
sunyunjia@: Can you be more specific what is not working exactly? Also what do you mean by "current Chrome behavior"? 1- I thought the scroll chaining for scrollable divs inside an OOPIF frame should still work. Or is that also broken? 2- Also I thought this really should not affect the top level frame. So if overscroll-behavior is applied to top level frame then it should still prevent pull-to-refresh on Android. So correct me, but is it just that when overscroll-behavior is applied to an OOPIF frame then it does not take effect? In another word, an OOPIF frame cannot prevent its scroll from chaining to its parent. If this is the case, I agree that it is not a major issue. The failure in this case will be that a scroll from an inner OOPIF frame will incorrectly chain to its parent. Also note that this is a brand new feature and there is not a lot of usage. So this is something to fix but p3 sounds about right to me.
,
Nov 22 2017
majidvp@: These are correct! 1. Scroll chaining for scrollable divs inside OOPIF is still working 2. Top level frame is not affected by overscroll-behavior inside OOPIF 3. However, when overscroll-behavior is defined inside OOPIF at its root element as 'none', the overscroll can still be propagated to the top level frame.
,
Nov 22 2017
c14: Which ack state is produced in the case of overscroll-behavior none? Perhaps RenderWidgetHostViewChildFrame::GestureEventAck thinks it should be bubbling the events. https://cs.chromium.org/chromium/src/content/browser/renderer_host/render_widget_host_view_child_frame.cc?rcl=34b0c9f166247ca3652886df178d3e8ac7eacb8a&l=474
,
Nov 22 2017
Thanks for the link! However overscroll-behavior doesn't modify the ack state, it adds parameters in DidOverscrollParams https://cs.chromium.org/chromium/src/ui/events/blink/did_overscroll_params.h Here is how it is used at cc side https://cs.chromium.org/chromium/src/content/renderer/input/input_handler_wrapper.cc?l=74
,
Dec 2 2017
,
Mar 14 2018
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by sunyunjia@chromium.org
, Aug 29 2017