diff --git a/dom/media/webaudio/AnalyserNode.cpp b/dom/media/webaudio/AnalyserNode.cpp --- a/dom/media/webaudio/AnalyserNode.cpp +++ b/dom/media/webaudio/AnalyserNode.cpp @@ -89,9 +89,6 @@ /* static */ already_AddRefed AnalyserNode::Create( AudioContext& aAudioContext, const AnalyserOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } RefPtr analyserNode = new AnalyserNode(&aAudioContext); diff --git a/dom/media/webaudio/AudioBufferSourceNode.cpp b/dom/media/webaudio/AudioBufferSourceNode.cpp --- a/dom/media/webaudio/AudioBufferSourceNode.cpp +++ b/dom/media/webaudio/AudioBufferSourceNode.cpp @@ -608,9 +608,6 @@ AudioBufferSourceNode::Create(JSContext* aCx, AudioContext& aAudioContext, const AudioBufferSourceOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } RefPtr audioNode = new AudioBufferSourceNode(&aAudioContext); diff --git a/dom/media/webaudio/AudioContext.h b/dom/media/webaudio/AudioContext.h --- a/dom/media/webaudio/AudioContext.h +++ b/dom/media/webaudio/AudioContext.h @@ -309,8 +309,6 @@ BasicWaveFormCache* GetBasicWaveFormCache(); - bool CheckClosed(ErrorResult& aRv); - void Dispatch(already_AddRefed&& aRunnable); private: diff --git a/dom/media/webaudio/AudioContext.cpp b/dom/media/webaudio/AudioContext.cpp --- a/dom/media/webaudio/AudioContext.cpp +++ b/dom/media/webaudio/AudioContext.cpp @@ -323,15 +323,6 @@ return object.forget(); } -bool AudioContext::CheckClosed(ErrorResult& aRv) { - if (mAudioContextState == AudioContextState::Closed || mIsShutDown || - mIsDisconnecting) { - aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); - return true; - } - return false; -} - already_AddRefed AudioContext::CreateBufferSource( ErrorResult& aRv) { return AudioBufferSourceNode::Create(nullptr, *this, @@ -340,9 +331,6 @@ already_AddRefed AudioContext::CreateConstantSource( ErrorResult& aRv) { - if (CheckClosed(aRv)) { - return nullptr; - } RefPtr constantSourceNode = new ConstantSourceNode(this); return constantSourceNode.forget(); @@ -397,10 +385,6 @@ return nullptr; } - if (CheckClosed(aRv)) { - return nullptr; - } - RefPtr scriptProcessor = new ScriptProcessorNode( this, aBufferSize, aNumberOfInputChannels, aNumberOfOutputChannels); return scriptProcessor.forget(); diff --git a/dom/media/webaudio/AudioWorkletNode.cpp b/dom/media/webaudio/AudioWorkletNode.cpp --- a/dom/media/webaudio/AudioWorkletNode.cpp +++ b/dom/media/webaudio/AudioWorkletNode.cpp @@ -25,9 +25,6 @@ const GlobalObject& aGlobal, AudioContext& aAudioContext, const nsAString& aName, const AudioWorkletNodeOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } if (aOptions.mNumberOfInputs == 0 && aOptions.mNumberOfOutputs == 0) { aRv.Throw(NS_ERROR_DOM_NOT_SUPPORTED_ERR); diff --git a/dom/media/webaudio/BiquadFilterNode.cpp b/dom/media/webaudio/BiquadFilterNode.cpp --- a/dom/media/webaudio/BiquadFilterNode.cpp +++ b/dom/media/webaudio/BiquadFilterNode.cpp @@ -242,9 +242,6 @@ /* static */ already_AddRefed BiquadFilterNode::Create( AudioContext& aAudioContext, const BiquadFilterOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } RefPtr audioNode = new BiquadFilterNode(&aAudioContext); diff --git a/dom/media/webaudio/ChannelMergerNode.cpp b/dom/media/webaudio/ChannelMergerNode.cpp --- a/dom/media/webaudio/ChannelMergerNode.cpp +++ b/dom/media/webaudio/ChannelMergerNode.cpp @@ -67,9 +67,6 @@ /* static */ already_AddRefed ChannelMergerNode::Create( AudioContext& aAudioContext, const ChannelMergerOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } if (aOptions.mNumberOfInputs == 0 || aOptions.mNumberOfInputs > WebAudioUtils::MaxChannelCount) { diff --git a/dom/media/webaudio/ChannelSplitterNode.cpp b/dom/media/webaudio/ChannelSplitterNode.cpp --- a/dom/media/webaudio/ChannelSplitterNode.cpp +++ b/dom/media/webaudio/ChannelSplitterNode.cpp @@ -57,9 +57,6 @@ /* static */ already_AddRefed ChannelSplitterNode::Create( AudioContext& aAudioContext, const ChannelSplitterOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } if (aOptions.mNumberOfOutputs == 0 || aOptions.mNumberOfOutputs > WebAudioUtils::MaxChannelCount) { diff --git a/dom/media/webaudio/ConvolverNode.cpp b/dom/media/webaudio/ConvolverNode.cpp --- a/dom/media/webaudio/ConvolverNode.cpp +++ b/dom/media/webaudio/ConvolverNode.cpp @@ -395,9 +395,6 @@ /* static */ already_AddRefed ConvolverNode::Create( JSContext* aCx, AudioContext& aAudioContext, const ConvolverOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } RefPtr audioNode = new ConvolverNode(&aAudioContext); diff --git a/dom/media/webaudio/DelayNode.cpp b/dom/media/webaudio/DelayNode.cpp --- a/dom/media/webaudio/DelayNode.cpp +++ b/dom/media/webaudio/DelayNode.cpp @@ -184,9 +184,6 @@ /* static */ already_AddRefed DelayNode::Create( AudioContext& aAudioContext, const DelayOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } if (aOptions.mMaxDelayTime <= 0. || aOptions.mMaxDelayTime >= 180.) { aRv.Throw(NS_ERROR_DOM_NOT_SUPPORTED_ERR); diff --git a/dom/media/webaudio/DynamicsCompressorNode.cpp b/dom/media/webaudio/DynamicsCompressorNode.cpp --- a/dom/media/webaudio/DynamicsCompressorNode.cpp +++ b/dom/media/webaudio/DynamicsCompressorNode.cpp @@ -184,9 +184,6 @@ DynamicsCompressorNode::Create(AudioContext& aAudioContext, const DynamicsCompressorOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } RefPtr audioNode = new DynamicsCompressorNode(&aAudioContext); diff --git a/dom/media/webaudio/GainNode.cpp b/dom/media/webaudio/GainNode.cpp --- a/dom/media/webaudio/GainNode.cpp +++ b/dom/media/webaudio/GainNode.cpp @@ -118,9 +118,6 @@ /* static */ already_AddRefed GainNode::Create( AudioContext& aAudioContext, const GainOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } RefPtr audioNode = new GainNode(&aAudioContext); diff --git a/dom/media/webaudio/IIRFilterNode.cpp b/dom/media/webaudio/IIRFilterNode.cpp --- a/dom/media/webaudio/IIRFilterNode.cpp +++ b/dom/media/webaudio/IIRFilterNode.cpp @@ -158,9 +158,6 @@ /* static */ already_AddRefed IIRFilterNode::Create( AudioContext& aAudioContext, const IIRFilterOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } if (aOptions.mFeedforward.Length() == 0 || aOptions.mFeedforward.Length() > 20) { diff --git a/dom/media/webaudio/MediaElementAudioSourceNode.cpp b/dom/media/webaudio/MediaElementAudioSourceNode.cpp --- a/dom/media/webaudio/MediaElementAudioSourceNode.cpp +++ b/dom/media/webaudio/MediaElementAudioSourceNode.cpp @@ -25,10 +25,6 @@ return nullptr; } - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } - RefPtr node = new MediaElementAudioSourceNode(&aAudioContext); diff --git a/dom/media/webaudio/MediaStreamAudioDestinationNode.cpp b/dom/media/webaudio/MediaStreamAudioDestinationNode.cpp --- a/dom/media/webaudio/MediaStreamAudioDestinationNode.cpp +++ b/dom/media/webaudio/MediaStreamAudioDestinationNode.cpp @@ -99,10 +99,6 @@ return nullptr; } - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } - RefPtr audioNode = new MediaStreamAudioDestinationNode(&aAudioContext); diff --git a/dom/media/webaudio/MediaStreamAudioSourceNode.cpp b/dom/media/webaudio/MediaStreamAudioSourceNode.cpp --- a/dom/media/webaudio/MediaStreamAudioSourceNode.cpp +++ b/dom/media/webaudio/MediaStreamAudioSourceNode.cpp @@ -50,10 +50,6 @@ return nullptr; } - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } - if (aAudioContext.Graph() != aOptions.mMediaStream->GetPlaybackStream()->Graph()) { nsCOMPtr pWindow = aAudioContext.GetParentObject(); diff --git a/dom/media/webaudio/OscillatorNode.cpp b/dom/media/webaudio/OscillatorNode.cpp --- a/dom/media/webaudio/OscillatorNode.cpp +++ b/dom/media/webaudio/OscillatorNode.cpp @@ -389,9 +389,6 @@ /* static */ already_AddRefed OscillatorNode::Create( AudioContext& aAudioContext, const OscillatorOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } RefPtr audioNode = new OscillatorNode(&aAudioContext); diff --git a/dom/media/webaudio/PannerNode.cpp b/dom/media/webaudio/PannerNode.cpp --- a/dom/media/webaudio/PannerNode.cpp +++ b/dom/media/webaudio/PannerNode.cpp @@ -324,9 +324,6 @@ /* static */ already_AddRefed PannerNode::Create( AudioContext& aAudioContext, const PannerOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } RefPtr audioNode = new PannerNode(&aAudioContext); diff --git a/dom/media/webaudio/StereoPannerNode.cpp b/dom/media/webaudio/StereoPannerNode.cpp --- a/dom/media/webaudio/StereoPannerNode.cpp +++ b/dom/media/webaudio/StereoPannerNode.cpp @@ -167,9 +167,6 @@ /* static */ already_AddRefed StereoPannerNode::Create( AudioContext& aAudioContext, const StereoPannerOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } RefPtr audioNode = new StereoPannerNode(&aAudioContext); diff --git a/dom/media/webaudio/WaveShaperNode.cpp b/dom/media/webaudio/WaveShaperNode.cpp --- a/dom/media/webaudio/WaveShaperNode.cpp +++ b/dom/media/webaudio/WaveShaperNode.cpp @@ -295,9 +295,6 @@ /* static */ already_AddRefed WaveShaperNode::Create( AudioContext& aAudioContext, const WaveShaperOptions& aOptions, ErrorResult& aRv) { - if (aAudioContext.CheckClosed(aRv)) { - return nullptr; - } RefPtr audioNode = new WaveShaperNode(&aAudioContext); diff --git a/dom/media/webaudio/test/test_audioContextSuspendResumeClose.html b/dom/media/webaudio/test/test_audioContextSuspendResumeClose.html --- a/dom/media/webaudio/test/test_audioContextSuspendResumeClose.html +++ b/dom/media/webaudio/test/test_audioContextSuspendResumeClose.html @@ -41,7 +41,7 @@ return; } - expectException(function() { + expectNoException(function() { ctx[e.name].apply(ctx, e.args); }, DOMException.INVALID_STATE_ERR); });