Inconsistencies in WebRTC permissions in identity panel with Page Info or multiple same-origin tabs
Categories
(Firefox :: Site Permissions, defect, P3)
Tracking
()
People
(Reporter: karlt, Unassigned)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
659 bytes,
text/html
|
Details |
- Load testcase.
- Click "getUserMedia".
- "Allow" microphone use.
- Tools -> Page Info -> Permissions -> deselect "Use Default" under "Use the microphone", and select "Block".
- Click "getUserMedia". Microphone is blocked.
- Check the "You have granted this website additional permissions." identity permission panel.
Expect: Microphone "Blocked".
Actual: Microphone "Allowed Temporarily".
- Permissions -> select "Always Ask" under "Use the microphone".
- Reload page.
Expect: no "You have granted this website additional permissions." identity permission panel.
Actual: panel exists and says "Allowed Temporarily".
- Click getUserMedia
Expect: prompt/ask for microphone permission.
Actual: microphone allowed.
Reporter | ||
Comment 1•2 years ago
|
||
I suspect behaviors after 8 and 9, which are at least consistent with each other, regressed with changes for bug 1693677.
Firefox 87 behavior was to prompt for the microphone with no additional permissions at this point.
Firefox 87 already had the inconsistency in steps 5 and 6.
Updated•2 years ago
|
Comment 2•2 years ago
|
||
Set release status flags based on info from the regressing bug 1693677
:jib, since you are the author of the regressor, bug 1693677, could you take a look? Also, could you set the severity field?
For more information, please visit auto_nag documentation.
Updated•2 years ago
|
Comment 3•2 years ago
|
||
There are various permissions which states don't work well in the pageInfo window. Especially double-keyed once like external protocol and the here mentioned webrtc permissions. Perhaps we can deprecate the window at some point. Ideally we could integrate all the features into other existing surfaces, e.g. the permissions panel and the identity panel.
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Comment 4•2 years ago
•
|
||
Yes, the Page Info window is quite hidden without a default menubar and the identity/permissions panels and popups provide similar features, for WebRTC at least, with the difference that adding explicit block and allow features is only possible when the feature is requested by content. (In some ways that has similarities with Page Info being available for a domain only while a page is loaded from that domain.) Good to understand that Page Info is not so important now, thanks.
This is reproducible without the Page Info window, however, by replacing step 4 with
4.1 Open testcase in a second tab.
4.2 Click "getUserMedia".
4.3 Select "Remember this decision".
4.4. Select Block.
and replacing step 7 with
- Remove "Blocked" "Use the microphone" permission from the identity permission panel in the second tab.
The same inconsistency in steps 5 and 6 demonstrates in the first tab.
Perhaps arguably the same actual behavior after steps 8 and 9 feels more expected with the UI being associated with different tabs.
Reporter | ||
Updated•2 years ago
|
Comment 5•2 years ago
•
|
||
TIL about Tools/Page Info!
The inconsistency makes sense to me. It's easier to illustrate with self-view in a media element opened in TWO tabs.
- In each tab, click
Start Cam!
+ allow to watch yourself live in the video element - Tools -> Page Info -> Permissions -> deselect "Use Default" under "Use the camera", and select "Block".
Notice both video elements keep playing.
- In each tab, click
Start Cam!
again
You'll get NotAllowedError
, but the video element is still playing from before.
- In ONE tab, open the URL bar's Identity dropdown, and click to clear
Allowed Temporarily ✖
The ONE video freezes. The other video keeps playing.
IOW, Page Info appears to be strictly about origin permissions in a vaccuum, caring only about (new) requests from origins, whereas Identity, while also setting permissions affecting origin, is also tied to a specific page where it terminates current page usage for consistency.
Both models seem sound and defensible, depending on what users' expectations are, but the Identity one seems simpler for users to understand and superior for privacy.... — except it would arguably have been even better for privacy had it terminated usage in BOTH tabs. FWIW, Chrome blacks out both video elements when I open the fiddles in two tabs and set "blocked" permission from either's url bar (camera icon on the right), so maybe we should too?
Side-note: I seem to recall Chrome used to work more like Page Info years ago, but it appears they've fixed it to work more like Firefox's identity panel.
I also wonder how much functionality would be lost if we removed Tools/Page Info.
Updated•2 years ago
|
Comment 6•2 years ago
|
||
Set release status flags based on info from the regressing bug 1693677
Updated•2 years ago
|
Description
•