| Index: Source/modules/webaudio/OscillatorNode.cpp
|
| diff --git a/Source/modules/webaudio/OscillatorNode.cpp b/Source/modules/webaudio/OscillatorNode.cpp
|
| index a2d95dcb4a3508320a64deda6a12e2f669a2c7b4..139bca4a082aef6ddeb6701437be9ee7705c0c02 100644
|
| --- a/Source/modules/webaudio/OscillatorNode.cpp
|
| +++ b/Source/modules/webaudio/OscillatorNode.cpp
|
| @@ -43,9 +43,9 @@ namespace WebCore {
|
|
|
| using namespace VectorMath;
|
|
|
| -PassRefPtr<OscillatorNode> OscillatorNode::create(AudioContext* context, float sampleRate)
|
| +PassRefPtrWillBeRawPtr<OscillatorNode> OscillatorNode::create(AudioContext* context, float sampleRate)
|
| {
|
| - return adoptRef(new OscillatorNode(context, sampleRate));
|
| + return adoptRefWillBeNoop(new OscillatorNode(context, sampleRate));
|
| }
|
|
|
| OscillatorNode::OscillatorNode(AudioContext* context, float sampleRate)
|
| @@ -118,22 +118,22 @@ bool OscillatorNode::setType(unsigned type)
|
|
|
| switch (type) {
|
| case SINE: {
|
| - DEFINE_STATIC_REF(PeriodicWave, periodicWaveSine, (PeriodicWave::createSine(sampleRate)));
|
| + DEFINE_STATIC_REF_WILL_BE_PERSISTENT(PeriodicWave, periodicWaveSine, (PeriodicWave::createSine(sampleRate)));
|
| periodicWave = periodicWaveSine;
|
| break;
|
| }
|
| case SQUARE: {
|
| - DEFINE_STATIC_REF(PeriodicWave, periodicWaveSquare, (PeriodicWave::createSquare(sampleRate)));
|
| + DEFINE_STATIC_REF_WILL_BE_PERSISTENT(PeriodicWave, periodicWaveSquare, (PeriodicWave::createSquare(sampleRate)));
|
| periodicWave = periodicWaveSquare;
|
| break;
|
| }
|
| case SAWTOOTH: {
|
| - DEFINE_STATIC_REF(PeriodicWave, periodicWaveSawtooth, (PeriodicWave::createSawtooth(sampleRate)));
|
| + DEFINE_STATIC_REF_WILL_BE_PERSISTENT(PeriodicWave, periodicWaveSawtooth, (PeriodicWave::createSawtooth(sampleRate)));
|
| periodicWave = periodicWaveSawtooth;
|
| break;
|
| }
|
| case TRIANGLE: {
|
| - DEFINE_STATIC_REF(PeriodicWave, periodicWaveTriangle, (PeriodicWave::createTriangle(sampleRate)));
|
| + DEFINE_STATIC_REF_WILL_BE_PERSISTENT(PeriodicWave, periodicWaveTriangle, (PeriodicWave::createTriangle(sampleRate)));
|
| periodicWave = periodicWaveTriangle;
|
| break;
|
| }
|
| @@ -343,6 +343,14 @@ bool OscillatorNode::propagatesSilence() const
|
| return !isPlayingOrScheduled() || hasFinished() || !m_periodicWave.get();
|
| }
|
|
|
| +void OscillatorNode::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_frequency);
|
| + visitor->trace(m_detune);
|
| + visitor->trace(m_periodicWave);
|
| + AudioScheduledSourceNode::trace(visitor);
|
| +}
|
| +
|
| } // namespace WebCore
|
|
|
| #endif // ENABLE(WEB_AUDIO)
|
|
|