Index: third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp |
diff --git a/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp b/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp |
index 45252f810f6b3dddd53412aec3fd0fff6354f394..db2088794cdffae4c7f8a6f712ad226bacb2fb81 100644 |
--- a/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp |
+++ b/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp |
@@ -53,7 +53,7 @@ void AsyncAudioDecoder::decodeAsync(DOMArrayBuffer* audioData, float sampleRate, |
return; |
// The leak references to successCallback and errorCallback are picked up on notifyComplete. |
- m_thread->getWebTaskRunner()->postTask(BLINK_FROM_HERE, threadSafeBind(&AsyncAudioDecoder::decode, AllowCrossThreadAccess(audioData), sampleRate, successCallback, errorCallback, resolver, context)); |
+ m_thread->getWebTaskRunner()->postTask(BLINK_FROM_HERE, threadSafeBind(&AsyncAudioDecoder::decode, AllowCrossThreadAccess(audioData), sampleRate, wrapCrossThreadPersistent(successCallback), wrapCrossThreadPersistent(errorCallback), wrapCrossThreadPersistent(resolver), wrapCrossThreadPersistent(context))); |
kinuko
2016/05/13 09:27:27
If it's not too much work could we break lines for
hiroshige
2016/05/13 16:47:19
I'll keep this as-is to make the changes mechanica
|
} |
void AsyncAudioDecoder::decode(DOMArrayBuffer* audioData, float sampleRate, AudioBufferCallback* successCallback, AudioBufferCallback* errorCallback, ScriptPromiseResolver* resolver, AbstractAudioContext* context) |
@@ -62,7 +62,7 @@ void AsyncAudioDecoder::decode(DOMArrayBuffer* audioData, float sampleRate, Audi |
// Decoding is finished, but we need to do the callbacks on the main thread. |
// The leaked reference to audioBuffer is picked up in notifyComplete. |
- Platform::current()->mainThread()->getWebTaskRunner()->postTask(BLINK_FROM_HERE, threadSafeBind(&AsyncAudioDecoder::notifyComplete, AllowCrossThreadAccess(audioData), successCallback, errorCallback, bus.release().leakRef(), resolver, context)); |
+ Platform::current()->mainThread()->getWebTaskRunner()->postTask(BLINK_FROM_HERE, threadSafeBind(&AsyncAudioDecoder::notifyComplete, AllowCrossThreadAccess(audioData), wrapCrossThreadPersistent(successCallback), wrapCrossThreadPersistent(errorCallback), bus.release().leakRef(), wrapCrossThreadPersistent(resolver), wrapCrossThreadPersistent(context))); |
} |
void AsyncAudioDecoder::notifyComplete(DOMArrayBuffer*, AudioBufferCallback* successCallback, AudioBufferCallback* errorCallback, AudioBus* audioBus, ScriptPromiseResolver* resolver, AbstractAudioContext* context) |