Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2054)

Unified Diff: Source/modules/webaudio/AudioBufferSourceNode.cpp

Issue 349213007: WebAudio: Remove AudioNode::RefType. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix webaudio/delaynode-max-nondefault-delay.html Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/modules/webaudio/AudioBufferSourceNode.h ('k') | Source/modules/webaudio/AudioContext.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/modules/webaudio/AudioBufferSourceNode.cpp
diff --git a/Source/modules/webaudio/AudioBufferSourceNode.cpp b/Source/modules/webaudio/AudioBufferSourceNode.cpp
index f0abe553f0de66f8fcc6bb9200a0f0feb28314d1..ece7407abbbd4f8dfdd6abf5cb509d2e6d026bcf 100644
--- a/Source/modules/webaudio/AudioBufferSourceNode.cpp
+++ b/Source/modules/webaudio/AudioBufferSourceNode.cpp
@@ -62,7 +62,6 @@ AudioBufferSourceNode::AudioBufferSourceNode(AudioContext* context, float sample
, m_isGrain(false)
, m_grainOffset(0.0)
, m_grainDuration(DefaultGrainDuration)
- , m_pannerNode(0)
{
ScriptWrappable::init(this);
setNodeType(NodeTypeAudioBufferSource);
@@ -450,20 +449,20 @@ bool AudioBufferSourceNode::propagatesSilence() const
void AudioBufferSourceNode::setPannerNode(PannerNode* pannerNode)
{
if (m_pannerNode != pannerNode && !hasFinished()) {
- if (pannerNode)
- pannerNode->ref(AudioNode::RefTypeConnection);
- if (m_pannerNode)
- m_pannerNode->deref(AudioNode::RefTypeConnection);
-
+ RefPtr<PannerNode> oldPannerNode(m_pannerNode.release());
m_pannerNode = pannerNode;
+ if (pannerNode)
+ pannerNode->makeConnection();
+ if (oldPannerNode)
+ oldPannerNode->breakConnection();
}
}
void AudioBufferSourceNode::clearPannerNode()
{
if (m_pannerNode) {
- m_pannerNode->deref(AudioNode::RefTypeConnection);
- m_pannerNode = 0;
+ m_pannerNode->breakConnection();
+ m_pannerNode.clear();
}
}
« no previous file with comments | « Source/modules/webaudio/AudioBufferSourceNode.h ('k') | Source/modules/webaudio/AudioContext.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698