mirror of
https://github.com/zen-browser/desktop.git
synced 2025-09-05 19:08:18 +00:00
update mute icon on tab mute
This commit is contained in:
@@ -88,8 +88,13 @@ class ZenMediaController {
|
||||
* @param {Object} browser - The browser associated with the media controller.
|
||||
*/
|
||||
activateMediaControls(mediaController, browser) {
|
||||
if (this._currentBrowser) this.updateMuteState();
|
||||
if (this._currentBrowser?.browserId === browser.browserId) return;
|
||||
else this._currentBrowser = browser;
|
||||
else {
|
||||
this.deinitMediaController(this._currentMediaController);
|
||||
this._currentMediaController = mediaController;
|
||||
this._currentBrowser = browser;
|
||||
}
|
||||
|
||||
mediaController.onpositionstatechange = this.onPositionstateChange.bind(this);
|
||||
mediaController.onplaybackstatechange = this.onPlaybackstateChange.bind(this);
|
||||
@@ -97,11 +102,6 @@ class ZenMediaController {
|
||||
mediaController.onmetadatachange = this.onMetadataChange.bind(this);
|
||||
mediaController.ondeactivated = this.onDeactivated.bind(this);
|
||||
|
||||
if (this._currentMediaController === mediaController) return;
|
||||
else this.deinitMediaController(this._currentMediaController);
|
||||
|
||||
this._currentMediaController = mediaController;
|
||||
|
||||
const metadata = mediaController.getMetadata();
|
||||
const positionState = mediaController.getPositionState();
|
||||
|
||||
@@ -258,6 +258,14 @@ class ZenMediaController {
|
||||
this._currentMediaController?.play();
|
||||
}
|
||||
}
|
||||
|
||||
updateMuteState() {
|
||||
if (this._currentBrowser._audioMuted) {
|
||||
this.mediaControlBar.setAttribute('muted', '');
|
||||
} else {
|
||||
this.mediaControlBar.removeAttribute('muted');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window.gZenMediaController = new ZenMediaController();
|
||||
|
@@ -1,8 +1,8 @@
|
||||
diff --git a/toolkit/actors/AudioPlaybackParent.sys.mjs b/toolkit/actors/AudioPlaybackParent.sys.mjs
|
||||
index db682fd90b2bb5330497d2cf2158ff4cac6bbc47..c44e39f47f9d9b13918930a6c96ee7aa39c51b36 100644
|
||||
index db682fd90b2bb5330497d2cf2158ff4cac6bbc47..4e6f891275d489418b8ea58a10345a1baa3a554c 100644
|
||||
--- a/toolkit/actors/AudioPlaybackParent.sys.mjs
|
||||
+++ b/toolkit/actors/AudioPlaybackParent.sys.mjs
|
||||
@@ -14,6 +14,7 @@ export class AudioPlaybackParent extends JSWindowActorParent {
|
||||
@@ -14,10 +14,12 @@ export class AudioPlaybackParent extends JSWindowActorParent {
|
||||
switch (aMessage.name) {
|
||||
case "AudioPlayback:Start":
|
||||
this._hasAudioPlayback = true;
|
||||
@@ -10,3 +10,8 @@ index db682fd90b2bb5330497d2cf2158ff4cac6bbc47..c44e39f47f9d9b13918930a6c96ee7aa
|
||||
browser.audioPlaybackStarted();
|
||||
break;
|
||||
case "AudioPlayback:Stop":
|
||||
this._hasAudioPlayback = false;
|
||||
+ browser.ownerGlobal.gZenMediaController.updateMuteState();
|
||||
browser.audioPlaybackStopped();
|
||||
break;
|
||||
case "AudioPlayback:ActiveMediaBlockStart":
|
||||
|
Reference in New Issue
Block a user