Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / webaudio / OfflineAudioDestinationNode.h
index ac93807..05dba11 100644 (file)
 #include "wtf/PassRefPtr.h"
 #include "wtf/RefPtr.h"
 
-namespace WebCore {
+namespace blink {
 
 class AudioBus;
 class AudioContext;
 
-class OfflineAudioDestinationNode : public AudioDestinationNode {
+class OfflineAudioDestinationNode final : public AudioDestinationNode {
 public:
-    static PassRefPtr<OfflineAudioDestinationNode> create(AudioContext* context, AudioBuffer* renderTarget)
+    static OfflineAudioDestinationNode* create(AudioContext* context, AudioBuffer* renderTarget)
     {
-        return adoptRef(new OfflineAudioDestinationNode(context, renderTarget));
+        return new OfflineAudioDestinationNode(context, renderTarget);
     }
 
     virtual ~OfflineAudioDestinationNode();
 
     // AudioNode
-    virtual void initialize() OVERRIDE;
-    virtual void uninitialize() OVERRIDE;
+    virtual void dispose() override;
+    virtual void initialize() override;
+    virtual void uninitialize() override;
 
     // AudioDestinationNode
-    virtual void enableInput(const String&) OVERRIDE { }
-    virtual void startRendering() OVERRIDE;
+    virtual void startRendering() override;
 
-    virtual float sampleRate()  const { return m_renderTarget->sampleRate(); }
+    virtual float sampleRate()  const override { return m_renderTarget->sampleRate(); }
 
-private:
-    class OfflineRenderingTask;
-    friend class OfflineRenderingTask;
+    virtual void trace(Visitor*) override;
 
+private:
     OfflineAudioDestinationNode(AudioContext*, AudioBuffer* renderTarget);
 
     // This AudioNode renders into this AudioBuffer.
-    RefPtr<AudioBuffer> m_renderTarget;
-
+    Member<AudioBuffer> m_renderTarget;
     // Temporary AudioBus for each render quantum.
     RefPtr<AudioBus> m_renderBus;
 
     // Rendering thread.
-    OwnPtr<WebKit::WebThread> m_renderThread;
+    OwnPtr<WebThread> m_renderThread;
     bool m_startedRendering;
     void offlineRender();
 
     // For completion callback on main thread.
-    static void notifyCompleteDispatch(void* userData);
     void notifyComplete();
 };
 
-} // namespace WebCore
+} // namespace blink
 
 #endif // OfflineAudioDestinationNode_h