Chromium Code Reviews| Index: Source/modules/webaudio/AudioContext.cpp |
| diff --git a/Source/modules/webaudio/AudioContext.cpp b/Source/modules/webaudio/AudioContext.cpp |
| index 8e158420c3968f859fb1c0f0f9f52045cba40eaf..8ac2f5b9e48ee01008634697d7b5993b696b03ea 100644 |
| --- a/Source/modules/webaudio/AudioContext.cpp |
| +++ b/Source/modules/webaudio/AudioContext.cpp |
| @@ -628,7 +628,7 @@ ScriptPromise AudioContext::suspendContext(ScriptState* scriptState) |
| "cannot suspend an OfflineAudioContext")); |
| } |
| - RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptState); |
| + RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptState); |
| ScriptPromise promise = resolver->promise(); |
| // Save the resolver which will get resolved at the end of the rendering quantum. |
| @@ -650,7 +650,7 @@ ScriptPromise AudioContext::resumeContext(ScriptState* scriptState) |
| "cannot resume an OfflineAudioContext")); |
| } |
| - RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptState); |
| + RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptState); |
| ScriptPromise promise = resolver->promise(); |
| // Restart the destination node to pull on the audio graph. |
| @@ -952,7 +952,7 @@ void AudioContext::resolvePromisesForResumeOnMainThread() |
| ASSERT(isMainThread()); |
| AutoLocker locker(this); |
| - for (RefPtr<ScriptPromiseResolver> resolver : m_resumeResolvers) { |
| + for (RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver : m_resumeResolvers) { |
|
haraken
2014/12/16 09:43:29
Can we use auto? Or we should use RefPtrWillBeMemb
tasak
2014/12/16 11:54:28
Done.
|
| if (m_contextState == Closed) { |
| resolver->reject( |
| DOMException::create(InvalidStateError, "Cannot resume a context that has been closed")); |
| @@ -989,7 +989,7 @@ void AudioContext::resolvePromisesForSuspendOnMainThread() |
| if (m_destinationNode) |
| stopRendering(); |
| - for (RefPtr<ScriptPromiseResolver> resolver : m_suspendResolvers) { |
| + for (RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver : m_suspendResolvers) { |
| if (m_contextState == Closed) { |
| resolver->reject( |
| DOMException::create(InvalidStateError, "Cannot suspend a context that has been closed")); |
| @@ -1020,12 +1020,12 @@ void AudioContext::rejectPendingResolvers() |
| // Audio context is closing down so reject any suspend or resume promises that are still |
| // pending. |
| - for (RefPtr<ScriptPromiseResolver> resolver : m_suspendResolvers) { |
| + for (RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver : m_suspendResolvers) { |
| resolver->reject(DOMException::create(InvalidStateError, "Audio context is going away")); |
| } |
| m_suspendResolvers.clear(); |
| - for (RefPtr<ScriptPromiseResolver> resolver : m_resumeResolvers) { |
| + for (RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver : m_resumeResolvers) { |
| resolver->reject(DOMException::create(InvalidStateError, "Audio context is going away")); |
| } |
| m_resumeResolvers.clear(); |
| @@ -1100,6 +1100,8 @@ void AudioContext::trace(Visitor* visitor) |
| } else { |
| visitor->trace(m_referencedNodes); |
| } |
| + visitor->trace(m_resumeResolvers); |
| + visitor->trace(m_suspendResolvers); |
| visitor->trace(m_liveNodes); |
| visitor->trace(m_liveAudioSummingJunctions); |
| EventTargetWithInlineData::trace(visitor); |