Index: Source/modules/webaudio/ScriptProcessorNode.cpp |
diff --git a/Source/modules/webaudio/ScriptProcessorNode.cpp b/Source/modules/webaudio/ScriptProcessorNode.cpp |
index f57e72e52cbf3563665b016f6723fdca1e23d459..dbbcfdd595ff2cf5531ea001e28576afd3920f62 100644 |
--- a/Source/modules/webaudio/ScriptProcessorNode.cpp |
+++ b/Source/modules/webaudio/ScriptProcessorNode.cpp |
@@ -56,7 +56,7 @@ static size_t chooseBufferSize() |
return bufferSize; |
} |
-PassRefPtr<ScriptProcessorNode> ScriptProcessorNode::create(AudioContext* context, float sampleRate, size_t bufferSize, unsigned numberOfInputChannels, unsigned numberOfOutputChannels) |
+PassRefPtrWillBeRawPtr<ScriptProcessorNode> ScriptProcessorNode::create(AudioContext* context, float sampleRate, size_t bufferSize, unsigned numberOfInputChannels, unsigned numberOfOutputChannels) |
{ |
// Check for valid buffer size. |
switch (bufferSize) { |
@@ -84,7 +84,7 @@ PassRefPtr<ScriptProcessorNode> ScriptProcessorNode::create(AudioContext* contex |
if (numberOfOutputChannels > AudioContext::maxNumberOfChannels()) |
return nullptr; |
- return adoptRef(new ScriptProcessorNode(context, sampleRate, bufferSize, numberOfInputChannels, numberOfOutputChannels)); |
+ return adoptRefWillBeNoop(new ScriptProcessorNode(context, sampleRate, bufferSize, numberOfInputChannels, numberOfOutputChannels)); |
} |
ScriptProcessorNode::ScriptProcessorNode(AudioContext* context, float sampleRate, size_t bufferSize, unsigned numberOfInputChannels, unsigned numberOfOutputChannels) |
@@ -127,8 +127,8 @@ void ScriptProcessorNode::initialize() |
// Create double buffers on both the input and output sides. |
// These AudioBuffers will be directly accessed in the main thread by JavaScript. |
for (unsigned i = 0; i < 2; ++i) { |
- RefPtr<AudioBuffer> inputBuffer = m_numberOfInputChannels ? AudioBuffer::create(m_numberOfInputChannels, bufferSize(), sampleRate) : nullptr; |
- RefPtr<AudioBuffer> outputBuffer = m_numberOfOutputChannels ? AudioBuffer::create(m_numberOfOutputChannels, bufferSize(), sampleRate) : nullptr; |
+ RefPtrWillBeRawPtr<AudioBuffer> inputBuffer = m_numberOfInputChannels ? AudioBuffer::create(m_numberOfInputChannels, bufferSize(), sampleRate) : nullptr; |
+ RefPtrWillBeRawPtr<AudioBuffer> outputBuffer = m_numberOfOutputChannels ? AudioBuffer::create(m_numberOfOutputChannels, bufferSize(), sampleRate) : nullptr; |
m_inputBuffers.append(inputBuffer); |
m_outputBuffers.append(outputBuffer); |
@@ -284,6 +284,13 @@ double ScriptProcessorNode::latencyTime() const |
return std::numeric_limits<double>::infinity(); |
} |
+void ScriptProcessorNode::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_inputBuffers); |
+ visitor->trace(m_outputBuffers); |
+ AudioNode::trace(visitor); |
+} |
+ |
} // namespace WebCore |
#endif // ENABLE(WEB_AUDIO) |