-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
allow="microphone" should authorize setSinkId #148
Comments
This isn't about consent.
<iframe src="iframe1.html" allow="camera;microphone"></iframe>
<iframe src="iframe2.html" allow="camera;microphone;speaker-selection"></iframe> Here, only What's proposed here would remove web developers' ability to prevent Firefox already follows the spec here. I'd prefer if Chrome fixed crbug 388544214 to do the same. |
They do in step 5.2: "Let descriptor be a PermissionDescriptor with its name set to "speaker-selection". ... If descriptor's permission state is "denied", reject p..." The policy check is in permission state: "4. If there exists a policy-controlled feature for feature ... If document is not allowed to use feature, return "denied"." |
It's a valid point, but many applications are already written assuming that allow="microphone" also authorizes output devices in the iframe, based on:
You are right about selectAudioOutput, so we can keep it as is. Should we use permission descriptor for setSinkId as well? |
I'd prefer if we change the spec to match Chrome's behavior, which has been in place for nearly 10 years and is what most applications on the Web have been using during that time. |
Which applications are these? Such applications would not work in Firefox so I highly doubt there are many of them or we would have heard about it. |
Last year Chromium landed a change requiring the speaker-selection policy and we got numerous breakage reports immediately. I don't remember all the applications that were affected, but enterprise users who had systems that embedded VC functionality in iframes were affected and IIRC also Google Meet. See https://issues.chromium.org/issues/331226135. |
IIRC, codepen.io is an example. If it proves difficult to align with the spec, the best option seems to have the default value of |
We have implicit consent via getUserMedia to get access to output devices. Arguably, that implicit consent should also apply to the
microphone
permission policy.Chrome supports this, as
setSinkId
predates thespeaker-selection
permission policy in the spec.The
setSinkId
steps currently mention only the speaker-selection policy and theselectAudioOutput
steps do not mention any policy. I think both of them should mention bothspeaker-selection
andmicrophone
.The text was updated successfully, but these errors were encountered: