New issue
Advanced search Search tips

Issue 760209 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 3
Type: Bug

Blocking:
issue 791225
issue 672921



Sign in to add a comment

overscroll-behavior should consider OOPIF case

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

Issue description

Currently, 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. 

 
Summary: scroll-boundary-behavior should consider OOPIF case (was: scroll-boundary-behavior should consider OOPIF into consideration)

Comment 2 by dcheng@chromium.org, Aug 29 2017

Components: Internals>Sandbox>SiteIsolation
Status: Assigned (was: Untriaged)

Comment 4 by creis@chromium.org, 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.

Comment 5 by creis@chromium.org, Nov 11 2017

Cc: wjmaclean@chromium.org mcnee@chromium.org
Summary: overscroll-behavior should consider OOPIF case (was: scroll-boundary-behavior should consider OOPIF case)

Comment 7 by creis@chromium.org, Nov 17 2017

Friendly ping.  I'm still trying to understand what this bug means, so we can determine its importance.  Thanks!
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.
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?
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.
Labels: OS-Android OS-Chrome OS-Fuchsia OS-Linux OS-Mac OS-Windows
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.
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.

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.

Comment 15 by mcnee@chromium.org, 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
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
Blocking: 791225
Blocking: 672921

Sign in to add a comment