summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/Source/modules/webaudio/AudioProcessingEvent.h
diff options
context:
space:
mode:
authorharaken@chromium.org <haraken@chromium.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538>2014-08-18 13:30:39 +0000
committerharaken@chromium.org <haraken@chromium.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538>2014-08-18 13:30:39 +0000
commit770a69e26ffdd1e0fbb2496c9c17096d5977f5df (patch)
tree61596eb429a8d61fe7a786a1277ccd53119753aa /third_party/WebKit/Source/modules/webaudio/AudioProcessingEvent.h
parent3d67891be4c9de048e35970d2460295822d37065 (diff)
downloadchromium_src-770a69e26ffdd1e0fbb2496c9c17096d5977f5df.zip
chromium_src-770a69e26ffdd1e0fbb2496c9c17096d5977f5df.tar.gz
chromium_src-770a69e26ffdd1e0fbb2496c9c17096d5977f5df.tar.bz2
Enable Oilpan by default for webaudio/
(1) This CL basically does the following two things: - Drop "WillBe" types from webaudio/. - Replace the hand-written reference counting system with RefCountedGarbageCollected. (2) Given that AudioNode inherits from EventTarget, which is still on-heap in non-oilpan builds, we need to make AudioNode RefCountedGarbageCollected. (3) Ideally the following collections should use strong Members, but we cannot do that because these collections are touched by audio threads (which are not registered to oilpan). Thus we use raw pointers with GC_PLUGIN_IGNORE. - AudioNodeInput::m_disabledOutputs - AudioSummingJunction::m_outputs - AudioSummingJunction::m_renderingOutputs - AudioContext::m_finishedNodes - AudioContext::m_referencedNodes - AudioContext::m_nodesMarkForDeletion - AudioContext::m_nodesToDelete - AudioContext::m_dirtySummingJunctions - AudioContext::m_dirtyAudioNodeOutputs - AudioContext::m_automaticPullNodes - AudioContext::m_renderingAutomaticPullNodes - AudioContext::m_deferredBreakConnectionList - AudioContext::m_deferredFinishDerefList (4) Ideally AudioDSPKernel should be moved to the heap and AudioDSPKernel::m_kernelProcessor should be a Member. However, we cannot do that because AudioDSPKernel can be allocated by audio threads. Thus we leave AudioDSPKernel::m_kernelProcessor as a raw pointer. This raw pointer is guaranteed to be safe. (5) This CL fixes leaks of webaudio tests in LeakExpectations. BUG=340522 Review URL: https://codereview.chromium.org/438293003 git-svn-id: svn://svn.chromium.org/blink/trunk@180457 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Diffstat (limited to 'third_party/WebKit/Source/modules/webaudio/AudioProcessingEvent.h')
-rw-r--r--third_party/WebKit/Source/modules/webaudio/AudioProcessingEvent.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/third_party/WebKit/Source/modules/webaudio/AudioProcessingEvent.h b/third_party/WebKit/Source/modules/webaudio/AudioProcessingEvent.h
index 1e5911d..a19d91b 100644
--- a/third_party/WebKit/Source/modules/webaudio/AudioProcessingEvent.h
+++ b/third_party/WebKit/Source/modules/webaudio/AudioProcessingEvent.h
@@ -37,7 +37,7 @@ class AudioBuffer;
class AudioProcessingEvent FINAL : public Event {
public:
static PassRefPtrWillBeRawPtr<AudioProcessingEvent> create();
- static PassRefPtrWillBeRawPtr<AudioProcessingEvent> create(PassRefPtrWillBeRawPtr<AudioBuffer> inputBuffer, PassRefPtrWillBeRawPtr<AudioBuffer> outputBuffer, double playbackTime);
+ static PassRefPtrWillBeRawPtr<AudioProcessingEvent> create(AudioBuffer* inputBuffer, AudioBuffer* outputBuffer, double playbackTime);
virtual ~AudioProcessingEvent();
@@ -51,10 +51,10 @@ public:
private:
AudioProcessingEvent();
- AudioProcessingEvent(PassRefPtrWillBeRawPtr<AudioBuffer> inputBuffer, PassRefPtrWillBeRawPtr<AudioBuffer> outputBuffer, double playbackTime);
+ AudioProcessingEvent(AudioBuffer* inputBuffer, AudioBuffer* outputBuffer, double playbackTime);
- RefPtrWillBeMember<AudioBuffer> m_inputBuffer;
- RefPtrWillBeMember<AudioBuffer> m_outputBuffer;
+ PersistentWillBeMember<AudioBuffer> m_inputBuffer;
+ PersistentWillBeMember<AudioBuffer> m_outputBuffer;
double m_playbackTime;
};