- From: jan-ivar via GitHub <sysbot+gh@w3.org>
- Date: Thu, 08 Sep 2016 20:05:54 +0000
- To: public-media-capture-logs@w3.org
> [Request permission to
use](https://w3c.github.io/permissions/#request-permission-to-use)
depends on [permission
state](https://w3c.github.io/permissions/#permission-state), but it
doesn't update the permission state unless the UA thinks that reflects
user intent.
@jyasskin Thanks, I missed that part. Might it be clearer if we add
(**in bold**):
*"4. If the user grants permission, return "granted"; otherwise return
"denied". If the user’s interaction indicates they intend this choice
to apply to* **this or** *other realms, then treat this as new
information about the user’s intent for ~~other~~ realms with the same
origin."* ?
I sort of read "other realms" as an implication that this
automatically affected the current realm, when it sounds like it only
affects the current request.
> That says that it needs to be apparent to the user whether the UA is
going to store each device separately, a class at a time, vs all
devices together, and doesn't apply to the part of Edge's https
behavior that we're talking about.
Ah, I read it differently, as the paragraph starts with a choice as
well, so there are two "choices" here (showing whole paragraph):
*"When permission is requested for a device, the User Agent may*
***choose*** *to store that permission, if granted, for later use by
the same origin, so that the user does not need to grant permission
again at a later time. [RTCWEB-SECURITY-ARCH] Section 5.2 requires
that such storing MUST only be done when the page is secure (served
over HTTPS and having no mixed content). It is a User Agent*
***choice*** *whether it* ***offers functionality to store***
*permission to each device separately, all devices of a given class,
or all devices; the* ***choice*** *needs to be apparent to the user,
and permission must have been granted for the entire set whose
permission is being stored, e.g., to store permission to use all
cameras the user must have given permission to use all cameras and not
just one."*
On rereading it, it probably refers to the latter, though how odd to
require a detail like what parts to store to be apparent, when whether
*it is being stored* is not?
Then there's the wording of the latter choice itself: "[UA] offers
functionality to store", which could be read as offering storage as a
user option only, making the whole thing inherently apparent.
There's additional non-normative support under [Privacy and Security
Considerations](https://w3c.github.io/mediacapture-main/getusermedia.html#privacy-and-security-considerations)
which would disqualify Edge's `https` same-realm behavior:
*"In the case of persistent authorization via a stored permission, it
is important that it is easy to find the list of granted permissions
and revoke permissions that the user wishes to revoke.*
*Once permission has been granted, the User Agent should make two
things readily apparent to the user:*
1. *That the page has access to the devices for which permission is
given*
2. *Whether or not any of the devices are presently recording ("on
air") indicator"*
I checked, and Edge has no permission indicator or list after streams
have stopped, while the page remains open, so this "temporary stored
permission" would not qualify.
Then again, this is all non-normative, and would disqualify Chrome
(persistence is not user apparent) and Firefox ("Always Allow" extends
to all same-kind devices) as well.
If Edge wants to pursue this instead of going "full-Chrome" I would
probably support it. :)
--
GitHub Notification of comment by jan-ivar
Please view or discuss this issue at
https://github.com/w3c/mediacapture-main/issues/387#issuecomment-245722868
using your GitHub account
Received on Thursday, 8 September 2016 20:06:01 UTC