summaryrefslogtreecommitdiff
path: root/dom/webidl/BrowserElementAudioChannel.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webidl/BrowserElementAudioChannel.webidl')
-rw-r--r--dom/webidl/BrowserElementAudioChannel.webidl77
1 files changed, 77 insertions, 0 deletions
diff --git a/dom/webidl/BrowserElementAudioChannel.webidl b/dom/webidl/BrowserElementAudioChannel.webidl
new file mode 100644
index 0000000000..55dbe3fb48
--- /dev/null
+++ b/dom/webidl/BrowserElementAudioChannel.webidl
@@ -0,0 +1,77 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+[Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+interface BrowserElementAudioChannel : EventTarget {
+ readonly attribute AudioChannel name;
+
+ // This event is dispatched when this audiochannel is actually in used by the
+ // app or one of the sub-iframes.
+ attribute EventHandler onactivestatechanged;
+
+ [Throws]
+ DOMRequest getVolume();
+
+ [Throws]
+ DOMRequest setVolume(float aVolume);
+
+ [Throws]
+ DOMRequest getMuted();
+
+ [Throws]
+ DOMRequest setMuted(boolean aMuted);
+
+ [Throws]
+ DOMRequest isActive();
+};
+
+partial interface BrowserElementPrivileged {
+ [Pure, Cached, Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ readonly attribute sequence<BrowserElementAudioChannel> allowedAudioChannels;
+
+ /**
+ * Mutes all audio in this browser.
+ */
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ void mute();
+
+ /**
+ * Unmutes all audio in this browser.
+ */
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ void unmute();
+
+ /**
+ * Obtains whether or not the browser is muted.
+ */
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ DOMRequest getMuted();
+
+ /**
+ * Sets the volume for the browser.
+ */
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ void setVolume(float volume);
+
+ /**
+ * Gets the volume for the browser.
+ */
+ [Throws,
+ Pref="dom.mozBrowserFramesEnabled",
+ ChromeOnly]
+ DOMRequest getVolume();
+};