Intent to Deprecate and Remove: Gesture Scroll DOM events

118 views
Skip to first unread message

Mehdi Kazemi

unread,
Jun 9, 2022, 12:11:04 PM6/9/22
to blin...@chromium.org, Steve Kobes, Robert Flack

Contact emails

sko...@chromium.org,meh...@chromium.org,blink-inter...@google.com


Explainer

None


Specification

None. Not a standard feature.


Summary

Gesture Scroll DOM events, namely “gesturescrollstart”, “gesturescrollupdate” and “gesturescrollend” are non-standard APIs, which were added to Blink for use in plugins, but it appears they were also exposed to the web unintentionally. Plugins are no longer web-exposed since the deprecation of Google Native Client (NaCl).

WebKit Bug: https://bugs.webkit.org/show_bug.cgi?id=92281

Changelog: https://bugs.webkit.org/attachment.cgi?id=155046&action=prettypatch


Motivation

Currently, this API doesn’t work in all situations. It only works when there is a non-composited scroller. These events are related to compositing state, and compositing state is not meant to have observable behavior impact and in Blink will vary depending on display type and other factors.


Blink component

Blink>Scroll


TAG review


TAG review status

Not applicable


Risks

No other engine supports these events, so we do not expect interoperability issues.

As for compatibility, usage data from Canary, Dev and Beta channels show that usage is very low, around 0.000015% (gesturescrollstart gesturescrollupdate gesturescrollend). For this reason we would like to just remove it, without any deprecation period.


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

No


Requires code in //chrome?

False


Tracking bug

https://crbug.com/1293994


Estimated milestones

No milestones specified






Rick Byers

unread,
Jun 9, 2022, 12:18:48 PM6/9/22
to Mehdi Kazemi, blin...@chromium.org, Steve Kobes, Robert Flack
Oh yikes, these got exposed to the web and we never noticed? Scary. I may have had a hand in that a long time ago, sorry! I forget the details, but remember something about NaCL and maybe Flash support for touch scrolling. Presumably none of that matters anymore now that Flash and NaCL are gone.

I can imagine scenarios where they might be useful to have, but I guess being main thread only makes them pretty useless (almost all gesture scrolls are threaded these days). Anyway, given the near zero usage, lack of a spec, main-thread only behavior and lack of evidence of anyone talking about these events I'd consider this extremely safe to remove (more of a bug fix than a deprecation).  LGTM1

Thanks for discovering this and cleaning it up!

--
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/CAASN_%3DmnFnKhp7WQNYiVztF%3Dhr1jpzSTo1x02nXZtysnO2GUMQ%40mail.gmail.com.

Chris Harrelson

unread,
Jun 9, 2022, 12:21:01 PM6/9/22
to Rick Byers, Mehdi Kazemi, blink-dev, Steve Kobes, Robert Flack

Daniel Bratell

unread,
Jun 9, 2022, 12:48:07 PM6/9/22
to Chris Harrelson, Rick Byers, Mehdi Kazemi, blink-dev, Steve Kobes, Robert Flack

K. Moon

unread,
Jun 9, 2022, 12:56:06 PM6/9/22
to Daniel Bratell, Chris Harrelson, Rick Byers, Mehdi Kazemi, blink-dev, Steve Kobes, Robert Flack
It's not quite true that plugins aren't Web-exposed anymore; PDF support still appears as a plugin. Is there any impact to PDF viewers?

Steve Kobes

unread,
Jun 9, 2022, 2:02:42 PM6/9/22
to K. Moon, Daniel Bratell, Chris Harrelson, Rick Byers, Mehdi Kazemi, blink-dev, Robert Flack
This change shouldn't impact Chromium's PDF viewer, which is currently doing its own gesture detection based on wheel and touch events.

(There has also been some discussion of adapting the PDF viewer to use "native" scrolling.  This change doesn't create any roadblocks for that effort, since the gesture scroll events would be handled in C++ and not in JS.)

K. Moon

unread,
Jun 9, 2022, 2:15:29 PM6/9/22
to Steve Kobes, Daniel Bratell, Chris Harrelson, Rick Byers, Mehdi Kazemi, blink-dev, Robert Flack
Thanks!

Rick Byers

unread,
Jun 9, 2022, 8:01:06 PM6/9/22
to K. Moon, Steve Kobes, Daniel Bratell, Chris Harrelson, Mehdi Kazemi, blink-dev, Robert Flack
Good point, thanks for asking!

Joe Medley

unread,
Jun 13, 2022, 1:19:58 PM6/13/22
to Mehdi Kazemi, blink-dev, Steve Kobes, Robert Flack
What are the milestones for deprecation and removal? Also does this have a status entry? I can't find one.
Joe Medley | Technical Writer, Chrome DevRel | jme...@google.com | 816-678-7195
If an API's not documented it doesn't exist.


On Thu, Jun 9, 2022 at 9:11 AM Mehdi Kazemi <meh...@chromium.org> wrote:

Steve Kobes

unread,
Jun 13, 2022, 2:13:00 PM6/13/22
to Joe Medley, Mehdi Kazemi, blink-dev, Robert Flack
On Mon, Jun 13, 2022 at 1:19 PM Joe Medley <jme...@google.com> wrote:
What are the milestones for deprecation and removal?

This removal is on track for M105.
 
Also does this have a status entry? I can't find one.

That's my fault, I had advised Mehdi that I did not think a chromestatus entry was needed here.

For my understanding: is it our policy to have a status entry for all removals (even if minor)?

Joe Medley

unread,
Jun 14, 2022, 10:55:06 AM6/14/22
to Steve Kobes, Mehdi Kazemi, blink-dev, Robert Flack
Yes, that is correct. 

Joe Medley | Technical Writer, Chrome DevRel | jme...@google.com | 816-678-7195
If an API's not documented it doesn't exist.

Joe Medley

unread,
Jun 14, 2022, 10:57:37 AM6/14/22
to Steve Kobes, Mehdi Kazemi, blink-dev, Robert Flack
FYI, the status entry would have let you generate the text for the intent. The marginal cost for using the status entry is small, but it boosts the profile of the deprecation/removal. Most deprecations/removals are pretty insignificant, but we don't like to assume that no one needs to know about it. 

Joe Medley | Technical Writer, Chrome DevRel | jme...@google.com | 816-678-7195
If an API's not documented it doesn't exist.

Reply all
Reply to author
Forward
0 new messages