1 /* vim: set ts=2 sw=2 sts=2 et tw=80: */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 var EXPORTED_SYMBOLS = ["AudioPlaybackParent"];
9 class AudioPlaybackParent extends JSWindowActorParent {
12 this._hasAudioPlayback = false;
13 this._hasBlockMedia = false;
15 receiveMessage(aMessage) {
16 const browser = this.browsingContext.top.embedderElement;
17 switch (aMessage.name) {
18 case "AudioPlayback:Start":
19 this._hasAudioPlayback = true;
20 browser.audioPlaybackStarted();
22 case "AudioPlayback:Stop":
23 this._hasAudioPlayback = false;
24 browser.audioPlaybackStopped();
26 case "AudioPlayback:ActiveMediaBlockStart":
27 this._hasBlockMedia = true;
28 browser.activeMediaBlockStarted();
30 case "AudioPlayback:ActiveMediaBlockStop":
31 this._hasBlockMedia = false;
32 browser.activeMediaBlockStopped();
37 const browser = this.browsingContext.top.embedderElement;
38 if (browser && this._hasAudioPlayback) {
39 browser.audioPlaybackStopped();
41 if (browser && this._hasBlockMedia) {
42 browser.activeMediaBlockStopped();