Closed
Bug 1458383
Opened 7 years ago
Closed 7 years ago
Pinned tabs and blocked autoplay
Categories
(Core :: Audio/Video: Playback, enhancement, P2)
Core
Audio/Video: Playback
Tracking
()
RESOLVED
FIXED
mozilla62
Tracking | Status | |
---|---|---|
firefox62 | --- | fixed |
People
(Reporter: cpearce, Assigned: cpearce)
References
Details
Attachments
(4 files)
Should pinned tabs be able to autoplay?
Our current default behaviour (before block-autoplay) is for tabs loaded in the background to have playback delayed until the user focuses the tab. So if a page tries to play before the page has been foregrounded, we'll only actually start to play the media when user brings the tab to the foreground.
This is different for pinned tabs, which are allowed to play upon session restore without being foregrounded first.
This was to enable pinned mail/chat tabs being able to play sounds when showing notifications for new messages etc.
Rationale/previous decision:
https://bugzilla.mozilla.org/show_bug.cgi?id=1347791#c25
Unfortunately some users pin tabs to enable quick re-access upon session restore, and some users pin tabs for sites that like to autoplay media, but the users don't want them to autoplay, for example YouTube tabs:
bug 1449022, and bug 1378172 comment 4.
Also note that many of these media sites we expect will be whitelisted to allow autoplay, further defeating some users' expectations. IMO, the whitelist should be consulted *after* we've checked whether the page has been in the foreground to avoid that issue.
Assignee | ||
Comment 1•7 years ago
|
||
I'd overlooked that the block-autoplay UX spec specifies that pinned tabs should no longer be able to autoplay, but should instead show an audio tab indicator:
https://mozilla.invisionapp.com/share/N8F2K0I93#/screens/287176980
Having discussed this with Cindy, we agreed this is a good behaviour. Coupled with delaying playback start, this ensures that pinned tabs, even if for whitelisted origins, will not be a nuisance. If a tab is trying to play sounds to cause a notification, the audio tab indicator will show which brings attention to the tab, including if it's pinned.
Assignee | ||
Comment 2•7 years ago
|
||
Resolving, as we've decided to not have any special handling for pinned tabs. So nothing to do here.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Assignee | ||
Comment 3•7 years ago
|
||
(In reply to Chris Pearce (:cpearce) from comment #2)
> So nothing to do here.
This is incorrect.
With media.autoplay.enabled=false and media.autoplay.enabled.user-gestures-needed=true we're still autoplay in pinned tabs in whitelisted origins upon session restore. We need to partially backout Bug 1347791 (I think just patch part 4, commit 49b533231388, to stop the block status being session restored), and also we need to change nsPIDOMWindowOuter::mMediaSuspend so that it's initialized by default to SUSPENDED_BLOCK when gesture activation is required.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 8•7 years ago
|
||
mozreview-review |
Comment on attachment 8974252 [details]
Bug 1458383 - Don't dispatch mediaBlockStop notification.
https://reviewboard.mozilla.org/r/242574/#review248484
Attachment #8974252 -
Flags: review?(amarchesini) → review+
Comment 9•7 years ago
|
||
mozreview-review |
Comment on attachment 8974253 [details]
Bug 1458383 - Assume tabs delay playback start of media.
https://reviewboard.mozilla.org/r/242576/#review248486
Attachment #8974253 -
Flags: review?(amarchesini) → review+
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 15•7 years ago
|
||
mozreview-review |
Comment on attachment 8974250 [details]
Bug 1458383 - Don't session restore browser.mediaBlocked.
https://reviewboard.mozilla.org/r/242570/#review249206
I trust that you can resolve the issue below without the need to have me check this again ;-)
::: browser/base/content/tabbrowser.js
(Diff revision 2)
> - };
> - break;
> case "userTypedValue":
> case "userTypedClear":
> - case "mediaBlocked":
> - getter = () => SessionStore.getLazyTabValue(aTab, name);
You're removing too much here! Please keep `getter = () => SessionStore.getLazyTabValue(aTab, name);`, otherwise urlbar content restoration will be broken.
Attachment #8974250 -
Flags: review?(mdeboer) → review+
Comment 16•7 years ago
|
||
mozreview-review |
Comment on attachment 8974251 [details]
Bug 1458383 - Remove browser mediaBlocked attribute.
https://reviewboard.mozilla.org/r/242572/#review249210
Cool! Nice cleanup.
Attachment #8974251 -
Flags: review?(mdeboer) → review+
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 25•7 years ago
|
||
Pushed by cpearce@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a80de077d740
Don't session restore browser.mediaBlocked. r=mikedeboer
https://hg.mozilla.org/integration/autoland/rev/510dfe436e4e
Remove browser mediaBlocked attribute. r=mikedeboer
https://hg.mozilla.org/integration/autoland/rev/97e9b87a9a55
Don't dispatch mediaBlockStop notification. r=baku
https://hg.mozilla.org/integration/autoland/rev/74dc3b5bb9aa
Assume tabs delay playback start of media. r=baku
Comment 26•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a80de077d740
https://hg.mozilla.org/mozilla-central/rev/510dfe436e4e
https://hg.mozilla.org/mozilla-central/rev/97e9b87a9a55
https://hg.mozilla.org/mozilla-central/rev/74dc3b5bb9aa
Status: REOPENED → RESOLVED
Closed: 7 years ago → 7 years ago
status-firefox62:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Updated•7 years ago
|
Assignee: nobody → cpearce
Comment 27•7 years ago
|
||
Hi Chris. I saw that here are some automated tests here. Does this require manual testing in these circumstances?
Flags: qe-verify?
Flags: needinfo?(cpearce)
Assignee | ||
Comment 28•7 years ago
|
||
I don't think we need any more manual QA here. Thanks!
Flags: needinfo?(cpearce)
Updated•7 years ago
|
Flags: qe-verify?
You need to log in
before you can comment on or make changes to this bug.
Description
•