Index: Source/modules/webaudio/AudioNode.h |
diff --git a/Source/modules/webaudio/AudioNode.h b/Source/modules/webaudio/AudioNode.h |
index 8bf98958866bcfb454808e36db0afaa9a729f0a6..89f1e370c6b31cd210a53d41c8308ce6f212363b 100644 |
--- a/Source/modules/webaudio/AudioNode.h |
+++ b/Source/modules/webaudio/AudioNode.h |
@@ -49,8 +49,8 @@ class ExceptionState; |
// An AudioDestinationNode has one input and no outputs and represents the final destination to the audio hardware. |
// Most processing nodes such as filters will have one input and one output, although multiple inputs and outputs are possible. |
-// AudioNode has its own ref-counting mechanism that use RefTypes so we cannot use RefCountedGarbageCollected. |
-class AudioNode : public NoBaseWillBeGarbageCollectedFinalized<AudioNode>, public EventTargetWithInlineData { |
+class AudioNode : public RefCountedGarbageCollectedWillBeGarbageCollectedFinalized<AudioNode>, public EventTargetWithInlineData { |
+ DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<AudioNode>); |
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(AudioNode); |
public: |
enum { ProcessingSizeInFrames = 128 }; |
@@ -97,12 +97,6 @@ public: |
String nodeTypeName() const; |
void setNodeType(NodeType); |
-#if !ENABLE(OILPAN) |
- // Can be called from main thread or context's audio thread. |
- void ref(); |
- void deref(); |
-#endif |
- |
// This object has been connected to another object. This might have |
// existing connections from others. |
// This function must be called after acquiring a connection reference. |
@@ -113,9 +107,6 @@ public: |
void breakConnection(); |
// Can be called from main thread or context's audio thread. It must be called while the context's graph lock is held. |
-#if !ENABLE(OILPAN) |
- void finishDeref(); |
-#endif |
void breakConnectionWithLock(); |
// The AudioNodeInput(s) (if any) will already have their input data available when process() is called. |
@@ -198,7 +189,7 @@ public: |
protected: |
// Inputs and outputs must be created before the AudioNode is initialized. |
void addInput(); |
- void addOutput(PassOwnPtrWillBeRawPtr<AudioNodeOutput>); |
+ void addOutput(AudioNodeOutput*); |
// Called by processIfNecessary() to cause all parts of the rendering graph connected to us to process. |
// Each rendering quantum, the audio data for each of the AudioNode's inputs will be available after this method is called. |
@@ -211,18 +202,14 @@ protected: |
private: |
volatile bool m_isInitialized; |
NodeType m_nodeType; |
- RefPtrWillBeMember<AudioContext> m_context; |
+ Member<AudioContext> m_context; |
float m_sampleRate; |
- WillBeHeapVector<OwnPtrWillBeMember<AudioNodeInput> > m_inputs; |
- WillBeHeapVector<OwnPtrWillBeMember<AudioNodeOutput> > m_outputs; |
+ HeapVector<Member<AudioNodeInput> > m_inputs; |
+ HeapVector<Member<AudioNodeOutput> > m_outputs; |
double m_lastProcessingTime; |
double m_lastNonSilentTime; |
-#if !ENABLE(OILPAN) |
- // Ref-counting |
- volatile int m_normalRefCount; |
-#endif |
volatile int m_connectionRefCount; |
bool m_isDisabled; |
@@ -234,11 +221,6 @@ private: |
#endif |
static unsigned s_instanceCount; |
-#if !ENABLE(OILPAN) |
- virtual void refEventTarget() OVERRIDE FINAL { ref(); } |
- virtual void derefEventTarget() OVERRIDE FINAL { deref(); } |
-#endif |
- |
protected: |
unsigned m_channelCount; |
ChannelCountMode m_channelCountMode; |