Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / webaudio / PeriodicWave.h
index bcb5776..1e62820 100644 (file)
 
 namespace WebCore {
 
-class PeriodicWave : public ScriptWrappable, public RefCounted<PeriodicWave> {
+class PeriodicWave : public RefCountedWillBeGarbageCollectedFinalized<PeriodicWave>, public ScriptWrappable {
 public:
-    static PassRefPtr<PeriodicWave> createSine(float sampleRate);
-    static PassRefPtr<PeriodicWave> createSquare(float sampleRate);
-    static PassRefPtr<PeriodicWave> createSawtooth(float sampleRate);
-    static PassRefPtr<PeriodicWave> createTriangle(float sampleRate);
+    static PassRefPtrWillBeRawPtr<PeriodicWave> createSine(float sampleRate);
+    static PassRefPtrWillBeRawPtr<PeriodicWave> createSquare(float sampleRate);
+    static PassRefPtrWillBeRawPtr<PeriodicWave> createSawtooth(float sampleRate);
+    static PassRefPtrWillBeRawPtr<PeriodicWave> createTriangle(float sampleRate);
 
     // Creates an arbitrary periodic wave given the frequency components (Fourier coefficients).
-    static PassRefPtr<PeriodicWave> create(float sampleRate, Float32Array* real, Float32Array* imag);
+    static PassRefPtrWillBeRawPtr<PeriodicWave> create(float sampleRate, Float32Array* real, Float32Array* imag);
 
     // Returns pointers to the lower and higher wave data for the pitch range containing
     // the given fundamental frequency. These two tables are in adjacent "pitch" ranges
@@ -63,6 +63,8 @@ public:
 
     unsigned periodicWaveSize() const { return m_periodicWaveSize; }
 
+    void trace(Visitor*) { }
+
 private:
     explicit PeriodicWave(float sampleRate);