Re: [mediacapture-output] Switch to transient activation. (#118)

> @domenic This is a promise resolved by user interaction. Is that not covered?

No; as you can see from the relevant sections of the HTML Standard, there is no special treatment for promises.

> I wonder if there's a general problem here with (permission) prompts interfering with transient activation, since it takes time for users to answer prompts. Was this considered when we switched to a time-based activation model?

Yes. Existing APIs usually handle this in a few ways:

- The permissions prompt requires user activation. After permission is granted, no user activation is necessary, often because the API bundles the permission-granting with the action itself. (Examples: `IdleDetector.requestPermission()` + use the `IdleDetector`; `paymentRequest.show()`; `navigator.share()`; `element.requestPointerLock()`)

- The permission grant does not require user activation. Examples: `Notification.requestPermission()`; `navigator.geolocation.getCurrentPosition()`; `navigator.wakeLock.request()`; `screen.orientation.lock()`

- The permission grant does not require user activation (and sometimes doesn't show a prompt), but  using the relevant permission afterward requires user activation. Example: `navigator.clipboard`.

You seem to have a special case new situation where you want user activation required *both* for showing the permission request, and then using the resulted granted permission afterward. If you want to share the user activation across both things, then a special-case mechanism like I described above makes the most sense.

> Sure, but that sounds like recreating a transient activation mechanism for media. We'd probably want a broader name, and reuse this for getDisplayMedia, as well as getUserMedia pending w3c/mediacapture-extensions#11.

Maybe, if those things also require a second user activation to start playing the media. I'd be surprised if they did; I suspect that if the user has granted you screen sharing or video call permissions or whatever, that the browser isn't going to need a further user activation restriction on actually using those. But this is outside my domain and you would know better.

-- 
GitHub Notification of comment by domenic
Please view or discuss this issue at https://github.com/w3c/mediacapture-output/pull/118#issuecomment-809693014 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Monday, 29 March 2021 20:34:12 UTC