Intent To Ship: Prevent fixed elements from moving during elastic overscroll.

350 views
Skip to first unread message

Rahul Arakeri

unread,
May 24, 2022, 1:27:53 PM5/24/22
to blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, Mike Jackson (EDGE), Ben Mathwig, Diego Gonzalez, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, wangxianzhu, p...@chromium.org

Contact emails: ara...@microsoft.com 

 

CSSWG discussion: [css-overscroll] Whether to move position:fixed elements during overscrolling · Issue #6299 · w3c/csswg-drafts (github.com) 

 

Summary: Currently, position:fixed elements move when the scroller is overscrolled. With this change, we intend to prevent fixed elements from moving during an elastic overscroll.

 

Blink component: Blink>Scroll 

 

Chromestatus: Prevent overscroll for fixed elements. - Chrome Platform Status (chromestatus.com)

 

Risks:

  • Interoperability: Firefox/Safari still moves fixed elements on overscroll. Interacting with websites will feel different (going forward) on platforms that support overscroll. This may lead to some web devs amending pages to preserve their original UX. We are currently running experiments in Microsoft Edge to determine user impact and would also discuss the possibility of doing origin trials in Chromium with Google engineers.

 

Debuggability: N/A 

Is this feature fully tested by web-platform-tests? 

Yes. We did a dry run with the feature turned on and noticed test failures. They will need to be addressed before the feature can be turned on. 

Flag name: FixedElementsDontOverscroll

  • Usage: chrome.exe --enable-features=ElasticOverscroll --enable-blink-features=FixedElementsDontOverscroll

 

Estimated milestone: 

105 

 

Tracking bugs:

 

Misc:

Robert Flack

unread,
May 24, 2022, 2:08:20 PM5/24/22
to Rahul Arakeri, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, Mike Jackson (EDGE), Ben Mathwig, Diego Gonzalez, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, wangxianzhu, p...@chromium.org
On Tue, May 24, 2022 at 1:27 PM 'Rahul Arakeri' via input-dev <inpu...@chromium.org> wrote:

Contact emails: ara...@microsoft.com 

 

CSSWG discussion: [css-overscroll] Whether to move position:fixed elements during overscrolling · Issue #6299 · w3c/csswg-drafts (github.com) 

 

Summary: Currently, position:fixed elements move when the scroller is overscrolled. With this change, we intend to prevent fixed elements from moving during an elastic overscroll.

 

Blink component: Blink>Scroll 

 

Chromestatus: Prevent overscroll for fixed elements. - Chrome Platform Status (chromestatus.com)

 

Risks:

  • Interoperability: Firefox/Safari still moves fixed elements on overscroll.
Just wanted to clarify, iOS Safari does not move fixed position elements on overscroll except when you start scrolling at the scroller edge in order to make room for the refresh affordance, so there's already some inconsistency here. 

Also it is considered a bug that fixed content does still move on Safari desktop so they would likely be willing to follow along with this change.

Yoav Weiss

unread,
May 25, 2022, 2:44:16 AM5/25/22
to Robert Flack, Rahul Arakeri, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, Mike Jackson (EDGE), Ben Mathwig, Diego Gonzalez, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, wangxianzhu, p...@chromium.org
Hey Rahul!

A few things missing with the intent:
  • An explainer would be helpful to clarify the motivation for this and if this has any web exposed impact (and e.g. how would developers that want to keep to current behavior could cope with different engines doing different things)
  • Is this specified? I see the WG discussion, but not sure if a spec change followed
  • Can you ask for official Mozilla and WebKit positions? (https://bit.ly/blink-signals)
Cheers :)
Yoav

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh39TOdn6Hksb1Zb8H5oqsUu0xvS%2BmqvypEghDsNtsQRFr1Nw%40mail.gmail.com.

Ben Mathwig

unread,
May 27, 2022, 2:38:36 PM5/27/22
to blink-dev, yoav...@chromium.org, ara...@microsoft.com, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, mjac...@microsoft.com, Ben Mathwig, luig...@microsoft.com, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, Xianzhu Wang, Philip Rogers, fla...@chromium.org
Explainer

Are the links to open bugs on Mozilla and WebKit an indication of position? It looks like comments on these threads point towards a positive position.

--Ben

Chris Harrelson

unread,
May 27, 2022, 2:40:22 PM5/27/22
to Ben Mathwig, yoav...@chromium.org, ara...@microsoft.com, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, mjac...@microsoft.com, Ben Mathwig, luig...@microsoft.com, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, Xianzhu Wang, Philip Rogers, fla...@chromium.org
On Fri, May 27, 2022 at 11:38 AM 'Ben Mathwig' via blink-dev <blin...@chromium.org> wrote:
Explainer

Are the links to open bugs on Mozilla and WebKit an indication of position? It looks like comments on these threads point towards a positive position.

No. it has to be done via the https://bit.ly/blink-signals process, because otherwise we might accidentally misconstrue their true organizational positions.
 

Emilio Cobos Álvarez

unread,
May 27, 2022, 4:46:31 PM5/27/22
to Chris Harrelson, Ben Mathwig, yoav...@chromium.org, ara...@microsoft.com, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, mjac...@microsoft.com, Ben Mathwig, luig...@microsoft.com, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, Xianzhu Wang, Philip Rogers, fla...@chromium.org
On 5/27/22 20:40, Chris Harrelson wrote:
> No. it has to be done via the https://bit.ly/blink-signals
> <https://bit.ly/blink-signals> process, because otherwise we might
> accidentally misconstrue their true organizational positions.

FWIW in case it saves some time, we're actively working on this in
<https://bugzilla.mozilla.org/show_bug.cgi?id=1760368>.

-- Emilio
OpenPGP_0xE1152D0994E4BF8A.asc

Chris Harrelson

unread,
May 27, 2022, 4:49:31 PM5/27/22
to Emilio Cobos Álvarez, Ben Mathwig, yoav...@chromium.org, ara...@microsoft.com, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, mjac...@microsoft.com, Ben Mathwig, luig...@microsoft.com, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, Xianzhu Wang, Philip Rogers, fla...@chromium.org
Ah yes! That counts, and saves filing a signal. Thanks Emilio!

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Yoav Weiss

unread,
Jun 1, 2022, 3:45:55 AM6/1/22
to blink-dev, Chris Harrelson, bema...@microsoft.com, Yoav Weiss, ara...@microsoft.com, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, mjac...@microsoft.com, Ben Mathwig, luig...@microsoft.com, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, Xianzhu Wang, Philip Rogers, Robert Flack, Emilio Cobos Alvarez
Thanks for the explainer. My question regarding a spec still stands :)

On Friday, May 27, 2022 at 10:49:31 PM UTC+2 Chris Harrelson wrote:
Ah yes! That counts, and saves filing a signal. Thanks Emilio!

On Fri, May 27, 2022 at 1:46 PM Emilio Cobos Álvarez <emi...@mozilla.com> wrote:
On 5/27/22 20:40, Chris Harrelson wrote:
> No. it has to be done via the https://bit.ly/blink-signals
> <https://bit.ly/blink-signals> process, because otherwise we might
> accidentally misconstrue their true organizational positions.

FWIW in case it saves some time, we're actively working on this in
<https://bugzilla.mozilla.org/show_bug.cgi?id=1760368>.

-- Emilio

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Chris Harrelson

unread,
Jun 1, 2022, 1:26:42 PM6/1/22
to Yoav Weiss, bema...@microsoft.com, ara...@microsoft.com, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, mjac...@microsoft.com, Ben Mathwig, luig...@microsoft.com, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, Xianzhu Wang, Philip Rogers, Robert Flack, Emilio Cobos Alvarez

A spec edit is indeed needed. However, I think it's a one-liner. I pinged the editor of the spec just now about it.

LGTM1 to ship; I'll make sure that the spec commit lands via my CSSWG hat.

On Wed, Jun 1, 2022 at 12:45 AM Yoav Weiss <yoav...@chromium.org> wrote:
Thanks for the explainer. My question regarding a spec still stands :)

On Friday, May 27, 2022 at 10:49:31 PM UTC+2 Chris Harrelson wrote:
Ah yes! That counts, and saves filing a signal. Thanks Emilio!

On Fri, May 27, 2022 at 1:46 PM Emilio Cobos Álvarez <emi...@mozilla.com> wrote:
On 5/27/22 20:40, Chris Harrelson wrote:
> No. it has to be done via the https://bit.ly/blink-signals
> <https://bit.ly/blink-signals> process, because otherwise we might
> accidentally misconstrue their true organizational positions.

FWIW in case it saves some time, we're actively working on this in
<https://bugzilla.mozilla.org/show_bug.cgi?id=1760368>.

-- Emilio

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4191983d-d0fd-4dce-beed-d12ee7115a46n%40chromium.org.

Mike Taylor

unread,
Jun 1, 2022, 4:13:31 PM6/1/22
to Chris Harrelson, Yoav Weiss, bema...@microsoft.com, ara...@microsoft.com, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, mjac...@microsoft.com, Ben Mathwig, luig...@microsoft.com, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, Xianzhu Wang, Philip Rogers, Robert Flack, Emilio Cobos Alvarez

Chris Harrelson

unread,
Jun 1, 2022, 5:07:35 PM6/1/22
to Mike Taylor, Yoav Weiss, bema...@microsoft.com, ara...@microsoft.com, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, mjac...@microsoft.com, Ben Mathwig, luig...@microsoft.com, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, Xianzhu Wang, Philip Rogers, Robert Flack, Emilio Cobos Alvarez

Yoav Weiss

unread,
Jun 1, 2022, 5:18:15 PM6/1/22
to Chris Harrelson, Mike Taylor, bema...@microsoft.com, ara...@microsoft.com, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, mjac...@microsoft.com, Ben Mathwig, luig...@microsoft.com, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, Xianzhu Wang, Philip Rogers, Robert Flack, Emilio Cobos Alvarez
LGTM3

Rahul Arakeri

unread,
Jun 6, 2022, 1:15:25 AM6/6/22
to Yoav Weiss, Chris Harrelson, Mike Taylor, Ben Mathwig, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, Mike Jackson (EDGE), Diego Gonzalez, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, wangxianzhu, Philip Rogers, Robert Flack, Emilio Cobos Alvarez

The failing tests have now been fixed. Thanks for the quick review Chris !

Now that this is done, can you please tell me what the process would look like to get this ON in stable? I have a CL for this but I assume you’d want to run experiments first?

 

Thanks,

Rahul

Daniel Bratell

unread,
Jun 8, 2022, 8:34:12 AM6/8/22
to Rahul Arakeri, Yoav Weiss, Chris Harrelson, Mike Taylor, Ben Mathwig, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, Mike Jackson (EDGE), Diego Gonzalez, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, wangxianzhu, Philip Rogers, Robert Flack, Emilio Cobos Alvarez

You have the approval needed for shipping on stable, i.e. land that patch. It will get some testing by going through Canary and Beta releases, but if you feel some uncertainty you can also add the plumbing that would let it be turned off remotely (flags, finch). You will need some assistance by Google employees for that though.

/Daniel

Rahul Arakeri

unread,
Jun 8, 2022, 6:51:43 PM6/8/22
to Daniel Bratell, Yoav Weiss, Chris Harrelson, Mike Taylor, Ben Mathwig, blin...@chromium.org, inpu...@chromium.org, Olga Gerchikov, Mike Jackson (EDGE), Diego Gonzalez, Amanda Baker, jsb...@google.com, Ajay Rahatekar, Hassan Talat, wangxianzhu, Philip Rogers, Robert Flack, Emilio Cobos Alvarez

Thanks Daniel, the CL has landed !

Also, I had added a base::Feature flag a couple of weeks ago. I’m assuming that should make it controllable remotely. If not, please let me know.

 

PS: Thank you all for your reviews on this feature. We appreciate it… 😊

I will keep an eye out for any issues that pop up in the coming days.

 

Thanks,

Rahul

Reply all
Reply to author
Forward
0 new messages