Index: Source/modules/webaudio/AudioContext.idl |
diff --git a/Source/modules/webaudio/AudioContext.idl b/Source/modules/webaudio/AudioContext.idl |
index 22ad99468564e6f48001ef98c005a2cc7f49b9e6..89b05e13ccae361256897d756535cf5900875359 100644 |
--- a/Source/modules/webaudio/AudioContext.idl |
+++ b/Source/modules/webaudio/AudioContext.idl |
@@ -23,6 +23,12 @@ |
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
+enum AudioContextState { |
+ "suspended", |
+ "running", |
+ "closed" |
+}; |
+ |
[ |
GarbageCollected, |
ActiveDOMObject, |
@@ -44,6 +50,9 @@ |
// All panning is relative to this listener. |
readonly attribute AudioListener listener; |
+ // Current state of the AudioContext |
+ readonly attribute AudioContextState state; |
+ |
[RaisesException] AudioBuffer createBuffer(unsigned long numberOfChannels, unsigned long numberOfFrames, float sampleRate); |
// Asynchronous audio file data decoding. |
@@ -73,4 +82,8 @@ |
// Channel splitting and merging |
[RaisesException] ChannelSplitterNode createChannelSplitter(optional unsigned long numberOfOutputs); |
[RaisesException] ChannelMergerNode createChannelMerger(optional unsigned long numberOfInputs); |
+ |
+ // Pause/resume |
+ [CallWith=ScriptState, ImplementedAs=suspendContext] Promise suspend(); |
+ [CallWith=ScriptState, ImplementedAs=resumeContext] Promise resume(); |
}; |