Chromium Code Reviews| Index: third_party/WebKit/Source/modules/webaudio/OfflineAudioContext.cpp |
| diff --git a/third_party/WebKit/Source/modules/webaudio/OfflineAudioContext.cpp b/third_party/WebKit/Source/modules/webaudio/OfflineAudioContext.cpp |
| index 1b310a9db147308bf597838d58b70511ed36e1ad..b7dcfba502017f5db926028a233f844fc4581fac 100644 |
| --- a/third_party/WebKit/Source/modules/webaudio/OfflineAudioContext.cpp |
| +++ b/third_party/WebKit/Source/modules/webaudio/OfflineAudioContext.cpp |
| @@ -212,6 +212,7 @@ ScriptPromise OfflineAudioContext::startOfflineRendering( |
| // Start rendering and return the promise. |
| is_rendering_started_ = true; |
| SetContextState(kRunning); |
| + DestinationHandler().InitializeOfflineRenderThread(); |
| DestinationHandler().StartRendering(); |
| return complete_resolver_->Promise(); |
| @@ -230,8 +231,8 @@ ScriptPromise OfflineAudioContext::suspendContext(ScriptState* script_state, |
| ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state); |
| ScriptPromise promise = resolver->Promise(); |
| - // The render thread does not exist; reject the promise. |
| - if (!DestinationHandler().OfflineRenderThread()) { |
| + // If the rendering is finished, reject the promise. |
| + if (ContextState() == AudioContextState::kClosed) { |
|
Raymond Toy
2017/05/23 20:37:34
Still need a test for this.
hongchan
2017/05/23 20:55:46
https://cs.chromium.org/chromium/src/third_party/W
|
| resolver->Reject(DOMException::Create(kInvalidStateError, |
| "the rendering is already finished")); |
| return promise; |