Index: Source/modules/webaudio/AudioContext.cpp |
diff --git a/Source/modules/webaudio/AudioContext.cpp b/Source/modules/webaudio/AudioContext.cpp |
index 1fa9d78d1487be98833b4ca9eed55da21e13c2ac..94847d12cba4c9537111179e5979139a2472d1fe 100644 |
--- a/Source/modules/webaudio/AudioContext.cpp |
+++ b/Source/modules/webaudio/AudioContext.cpp |
@@ -89,7 +89,7 @@ bool AudioContext::isSampleRateRangeGood(float sampleRate) |
const unsigned MaxHardwareContexts = 6; |
unsigned AudioContext::s_hardwareContextCount = 0; |
-PassRefPtr<AudioContext> AudioContext::create(Document& document, ExceptionState& exceptionState) |
+PassRefPtrWillBeRawPtr<AudioContext> AudioContext::create(Document& document, ExceptionState& exceptionState) |
{ |
ASSERT(isMainThread()); |
if (s_hardwareContextCount >= MaxHardwareContexts) { |
@@ -99,12 +99,12 @@ PassRefPtr<AudioContext> AudioContext::create(Document& document, ExceptionState |
return nullptr; |
} |
- RefPtr<AudioContext> audioContext(adoptRef(new AudioContext(&document))); |
+ RefPtrWillBeRawPtr<AudioContext> audioContext(adoptRefWillBeRefCountedGarbageCollected(new AudioContext(&document))); |
audioContext->suspendIfNeeded(); |
return audioContext.release(); |
} |
-PassRefPtr<AudioContext> AudioContext::create(Document& document, unsigned numberOfChannels, size_t numberOfFrames, float sampleRate, ExceptionState& exceptionState) |
+PassRefPtrWillBeRawPtr<AudioContext> AudioContext::create(Document& document, unsigned numberOfChannels, size_t numberOfFrames, float sampleRate, ExceptionState& exceptionState) |
{ |
document.addConsoleMessage(JSMessageSource, WarningMessageLevel, "Deprecated AudioContext constructor: use OfflineAudioContext instead"); |
return OfflineAudioContext::create(&document, numberOfChannels, numberOfFrames, sampleRate, exceptionState); |
@@ -276,9 +276,9 @@ void AudioContext::stop() |
callOnMainThread(stopDispatch, this); |
} |
-PassRefPtr<AudioBuffer> AudioContext::createBuffer(unsigned numberOfChannels, size_t numberOfFrames, float sampleRate, ExceptionState& exceptionState) |
+PassRefPtrWillBeRawPtr<AudioBuffer> AudioContext::createBuffer(unsigned numberOfChannels, size_t numberOfFrames, float sampleRate, ExceptionState& exceptionState) |
{ |
- RefPtr<AudioBuffer> audioBuffer = AudioBuffer::create(numberOfChannels, numberOfFrames, sampleRate); |
+ RefPtrWillBeRawPtr<AudioBuffer> audioBuffer = AudioBuffer::create(numberOfChannels, numberOfFrames, sampleRate); |
if (!audioBuffer.get()) { |
if (numberOfChannels > AudioContext::maxNumberOfChannels()) { |
exceptionState.throwDOMException( |
@@ -308,7 +308,7 @@ PassRefPtr<AudioBuffer> AudioContext::createBuffer(unsigned numberOfChannels, si |
return audioBuffer; |
} |
-PassRefPtr<AudioBuffer> AudioContext::createBuffer(ArrayBuffer* arrayBuffer, bool mixToMono, ExceptionState& exceptionState) |
+PassRefPtrWillBeRawPtr<AudioBuffer> AudioContext::createBuffer(ArrayBuffer* arrayBuffer, bool mixToMono, ExceptionState& exceptionState) |
{ |
ASSERT(arrayBuffer); |
if (!arrayBuffer) { |
@@ -318,7 +318,7 @@ PassRefPtr<AudioBuffer> AudioContext::createBuffer(ArrayBuffer* arrayBuffer, boo |
return nullptr; |
} |
- RefPtr<AudioBuffer> audioBuffer = AudioBuffer::createFromAudioFileData(arrayBuffer->data(), arrayBuffer->byteLength(), mixToMono, sampleRate()); |
+ RefPtrWillBeRawPtr<AudioBuffer> audioBuffer = AudioBuffer::createFromAudioFileData(arrayBuffer->data(), arrayBuffer->byteLength(), mixToMono, sampleRate()); |
if (!audioBuffer.get()) { |
exceptionState.throwDOMException( |
SyntaxError, |
@@ -606,7 +606,7 @@ PassRefPtr<OscillatorNode> AudioContext::createOscillator() |
return node; |
} |
-PassRefPtr<PeriodicWave> AudioContext::createPeriodicWave(Float32Array* real, Float32Array* imag, ExceptionState& exceptionState) |
+PassRefPtrWillBeRawPtr<PeriodicWave> AudioContext::createPeriodicWave(Float32Array* real, Float32Array* imag, ExceptionState& exceptionState) |
{ |
ASSERT(isMainThread()); |
@@ -1043,6 +1043,12 @@ void AudioContext::decrementActiveSourceCount() |
atomicDecrement(&m_activeSourceCount); |
} |
+void AudioContext::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_renderTarget); |
+ visitor->trace(m_listener); |
+} |
+ |
} // namespace WebCore |
#endif // ENABLE(WEB_AUDIO) |