Contact email
mus...@chromium.org
Summary
The goal is to define a user activation (or "user gesture") behavior that is simple enough for cross-browser implementation while supporting all major use cases.
Motivation
Browsers limit the use of "abusable" of APIs (e.g. opening popups or vibrating) through user activation. While this core concept is common for all browsers, details of the exposed behavior vary significantly between the browsers, and even between APIs of a single browser. For example,
popup blocking (which is the oldest use case of user activation) outcome varies significantly between Chrome, Edge, Firefox & Safari, and
in Chrome, popup and full-screen blockers behave differently.
The spec for user activation needs attention too: the current spec is minimal, and adding details to it seems impossible without first defining a consistent behavior that covers existing use cases and/or is backed by a few implementations.
To fix this fragmented state of user activation in the Web, we plan to redefine the behavior from the scratch. More precisely, we want to devise a user activation model that will support all major use cases, yet will be simple enough to motivate all major browsers to implement it.
Design doc
https://docs.google.com/document/d/1erpl1yqJlc1pH0QvVVmi1s3WzqQLsEXTLLh6VuYp228/edit?usp=sharing
The design aims to enhance/override the current spec: https://html.spec.whatwg.org/#triggered-by-user-activation
Not requesting a tag review yet because we need experiments to figure out the shape of a proposed API.
Interoperability risk
We have very little interop risk because major browsers are already different in many ways, see the motivation above.
Firefox: Mixed public signals
Edge: No public signals
Safari: No public signals
Web developers: No signals
Compatibility risk
There is a risk that the simple model will have to change existing behavior a bit, e.g., modifying the popup time-window after a user activity, or disallowing repeated full-screen requests for a single user gesture etc. The impact should be small because of current inconsistencies between major browsers.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
Link to entry on the Chrome Platform Status
https://www.chromestatus.com/features/5722065667620864
Requesting approval to ship?
No.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO5JWjwEvfGwX7ttC3Gihw%2Bh67ssjabfEa0sy-Y7%2B22Law%40mail.gmail.com.