| Index: third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp b/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
|
| index 114f3d7514c6c000c4110a7a6a4a48ff0b58bd23..352a8d9953faac194869f5e97e05f11644f43aaa 100644
|
| --- a/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
|
| +++ b/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
|
| @@ -30,6 +30,8 @@
|
| #include "bindings/core/v8/ExceptionState.h"
|
| #include "bindings/core/v8/ScriptPromiseResolver.h"
|
| #include "bindings/core/v8/ScriptState.h"
|
| +#include "bindings/modules/v8/DecodeErrorCallback.h"
|
| +#include "bindings/modules/v8/DecodeSuccessCallback.h"
|
| #include "core/dom/DOMException.h"
|
| #include "core/dom/Document.h"
|
| #include "core/dom/ExceptionCode.h"
|
| @@ -41,7 +43,6 @@
|
| #include "modules/mediastream/MediaStream.h"
|
| #include "modules/webaudio/AnalyserNode.h"
|
| #include "modules/webaudio/AudioBuffer.h"
|
| -#include "modules/webaudio/AudioBufferCallback.h"
|
| #include "modules/webaudio/AudioBufferSourceNode.h"
|
| #include "modules/webaudio/AudioContext.h"
|
| #include "modules/webaudio/AudioListener.h"
|
| @@ -272,8 +273,25 @@ AudioBuffer* BaseAudioContext::createBuffer(unsigned number_of_channels,
|
| ScriptPromise BaseAudioContext::decodeAudioData(
|
| ScriptState* script_state,
|
| DOMArrayBuffer* audio_data,
|
| - AudioBufferCallback* success_callback,
|
| - AudioBufferCallback* error_callback,
|
| + ExceptionState& exception_state) {
|
| + return decodeAudioData(script_state, audio_data, nullptr, nullptr,
|
| + exception_state);
|
| +}
|
| +
|
| +ScriptPromise BaseAudioContext::decodeAudioData(
|
| + ScriptState* script_state,
|
| + DOMArrayBuffer* audio_data,
|
| + DecodeSuccessCallback* success_callback,
|
| + ExceptionState& exception_state) {
|
| + return decodeAudioData(script_state, audio_data, success_callback, nullptr,
|
| + exception_state);
|
| +}
|
| +
|
| +ScriptPromise BaseAudioContext::decodeAudioData(
|
| + ScriptState* script_state,
|
| + DOMArrayBuffer* audio_data,
|
| + DecodeSuccessCallback* success_callback,
|
| + DecodeErrorCallback* error_callback,
|
| ExceptionState& exception_state) {
|
| DCHECK(IsMainThread());
|
| DCHECK(audio_data);
|
| @@ -292,7 +310,7 @@ ScriptPromise BaseAudioContext::decodeAudioData(
|
| kDataCloneError, "Cannot decode detached ArrayBuffer");
|
| resolver->Reject(error);
|
| if (error_callback) {
|
| - error_callback->handleEvent(error);
|
| + error_callback->call(this, error);
|
| }
|
| } else {
|
| // Detach the audio array buffer from the main thread and start
|
| @@ -312,22 +330,22 @@ ScriptPromise BaseAudioContext::decodeAudioData(
|
| void BaseAudioContext::HandleDecodeAudioData(
|
| AudioBuffer* audio_buffer,
|
| ScriptPromiseResolver* resolver,
|
| - AudioBufferCallback* success_callback,
|
| - AudioBufferCallback* error_callback) {
|
| + DecodeSuccessCallback* success_callback,
|
| + DecodeErrorCallback* error_callback) {
|
| DCHECK(IsMainThread());
|
|
|
| if (audio_buffer) {
|
| // Resolve promise successfully and run the success callback
|
| resolver->Resolve(audio_buffer);
|
| if (success_callback)
|
| - success_callback->handleEvent(audio_buffer);
|
| + success_callback->call(this, audio_buffer);
|
| } else {
|
| // Reject the promise and run the error callback
|
| DOMException* error =
|
| DOMException::Create(kEncodingError, "Unable to decode audio data");
|
| resolver->Reject(error);
|
| if (error_callback)
|
| - error_callback->handleEvent(error);
|
| + error_callback->call(this, error);
|
| }
|
|
|
| // We've resolved the promise. Remove it now.
|
|
|