In bug 1524619 <https://bugzilla.mozilla.org/show_bug.cgi?id=1524619> I plan to implement support for requiring a user gesture when calling Notification.requestPermission() [0] and PushManager.subscribe() [1].
The rationale is the increasing amount of unsolicited, out-of-context notification permission prompts users are receiving on a regular basis. Our telemetry shows that there is an extremely large gap between Notification prompt acceptance rate and, say, WebRTC prompts [2]. This will land disabled by default. However, we are planning to run experiments with this feature in Nightly 68, enabling it for a few weeks to gauge the resulting breakage and overall user experience changes (see bug 1534456 <https://bugzilla.mozilla.org/show_bug.cgi?id=1534456>). As a result of these changes, we expect to see a lot less prompting for notifications. This is what we want. However, in some cases there could be real breakage on sites that need to show notifications as part of their core user experience (e.g., chat apps). We have set up bug 1536413 <https://bugzilla.mozilla.org/show_bug.cgi?id=1536413> to track this breakage. Please keep an eye out and file bugs liberally, blocking that meta-bug. To reach the goal of better, more natural user interaction with Notification permission prompts, requiring a user gesture may not be sufficient (or too much). In another experiment, we are planning to further research the nature of user engagement with permission prompts to come up with good heuristics that we can ship on release. Both experiments will be further discussed in an upcoming blog post. As we ramp up automatic denial of permission prompts, in bug 1508961 <https://bugzilla.mozilla.org/show_bug.cgi?id=1508961>, we will also experiment with a post-prompt UI that will enable users to revert the automatic rejection by the browser. Note that because PushManager.subscribe() requires a ServiceWorkerRegistration, as part of this change, we will carry user-interaction flags through Promises that return ServiceWorkerRegistration objects. This enables popular examples such as this one [3] to continue to work when called from an event handler. Let me know if you have any thoughts. Thanks, Johann [0] https://developer.mozilla.org/en-US/docs/Web/API/Notification/requestPermission [1] https://developer.mozilla.org/en-US/docs/Web/API/PushManager/subscribe [2] https://mzl.la/2UAAaUd [3] https://developer.mozilla.org/en-US/docs/Web/API/PushManager/subscribe#Example _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform