Bug 1458039 - Implement ability to mute/unmute a selection of tabs. r=jaws
MozReview-Commit-ID: 7aw08gxOOtk
This commit is contained in:
@@ -3704,6 +3704,30 @@ window._gBrowser = {
|
||||
this._lastMultiSelectedTabRef = Cu.getWeakReference(aTab);
|
||||
},
|
||||
|
||||
toggleMuteAudioOnMultiSelectedTabs(aTab) {
|
||||
const selectedTabs = ChromeUtils.nondeterministicGetWeakSetKeys(this._multiSelectedTabsSet)
|
||||
.filter(tab => tab.isConnected);
|
||||
let tabsToToggle;
|
||||
|
||||
if (aTab.activeMediaBlocked) {
|
||||
tabsToToggle = selectedTabs.filter(tab =>
|
||||
tab.activeMediaBlocked || tab.linkedBrowser.audioMuted
|
||||
);
|
||||
} else {
|
||||
let tabMuted = aTab.linkedBrowser.audioMuted;
|
||||
tabsToToggle = selectedTabs.filter(tab =>
|
||||
// When a user is looking to mute selected tabs, then media-blocked tabs
|
||||
// should not be toggled. Otherwise those media-blocked tabs are going into a
|
||||
// playing and unmuted state.
|
||||
tab.linkedBrowser.audioMuted == tabMuted && !tab.activeMediaBlocked ||
|
||||
tab.activeMediaBlocked && tabMuted
|
||||
);
|
||||
}
|
||||
for (let tab of tabsToToggle) {
|
||||
tab.toggleMuteAudio();
|
||||
}
|
||||
},
|
||||
|
||||
activateBrowserForPrintPreview(aBrowser) {
|
||||
this._printPreviewBrowsers.add(aBrowser);
|
||||
if (this._switcher) {
|
||||
|
||||
Reference in New Issue
Block a user