| Index: Source/modules/webaudio/OfflineAudioDestinationNode.h
 | 
| diff --git a/Source/modules/webaudio/OfflineAudioDestinationNode.h b/Source/modules/webaudio/OfflineAudioDestinationNode.h
 | 
| index d6a09534c138239275838150e044987b6b20f748..736810419fec638606130531b0f0b04ff8aef2c2 100644
 | 
| --- a/Source/modules/webaudio/OfflineAudioDestinationNode.h
 | 
| +++ b/Source/modules/webaudio/OfflineAudioDestinationNode.h
 | 
| @@ -27,7 +27,6 @@
 | 
|  
 | 
|  #include "modules/webaudio/AudioBuffer.h"
 | 
|  #include "modules/webaudio/AudioDestinationNode.h"
 | 
| -#include "modules/webaudio/OfflineAudioContext.h"
 | 
|  #include "public/platform/WebThread.h"
 | 
|  #include "wtf/PassRefPtr.h"
 | 
|  #include "wtf/RefPtr.h"
 | 
| @@ -36,7 +35,6 @@
 | 
|  
 | 
|  class AbstractAudioContext;
 | 
|  class AudioBus;
 | 
| -class OfflineAudioContext;
 | 
|  
 | 
|  class OfflineAudioDestinationHandler final : public AudioDestinationHandler {
 | 
|  public:
 | 
| @@ -48,32 +46,16 @@
 | 
|      void initialize() override;
 | 
|      void uninitialize() override;
 | 
|  
 | 
| -    OfflineAudioContext* context() const final;
 | 
| -
 | 
| -    // Override the one from AudioContext. Create a rendering thread and
 | 
| -    // initiate rendering loop or resume rendering if already started and
 | 
| -    // suspended.
 | 
| +    // AudioDestinationHandler
 | 
|      void startRendering() override;
 | 
| -
 | 
| -    // There is no support of the explicit stopping in OfflineAudioContext. This
 | 
| -    // is just to match the class method signature.
 | 
|      void stopRendering() override;
 | 
|  
 | 
| -    float sampleRate() const override { return m_renderTarget->sampleRate(); }
 | 
| -
 | 
| -    // Return the frame position by quantizing the time (in seconds) and
 | 
| -    // rounding it down to the nearest render quantum boundary.
 | 
| -    size_t quantizeTimeToRenderQuantum(double when) const;
 | 
| -
 | 
| -    WebThread* offlineRenderThread();
 | 
| +    float sampleRate()  const override { return m_renderTarget->sampleRate(); }
 | 
|  
 | 
|  private:
 | 
|      OfflineAudioDestinationHandler(AudioNode&, AudioBuffer* renderTarget);
 | 
| -
 | 
| -    // For start/suspend/resume rendering in the destination node.
 | 
| -    void startOfflineRendering();
 | 
| -    void runOfflineRendering();
 | 
| -    void finishOfflineRendering();
 | 
| +    void offlineRender();
 | 
| +    void offlineRenderInternal();
 | 
|  
 | 
|      // For completion callback on main thread.
 | 
|      void notifyComplete();
 | 
| @@ -87,11 +69,7 @@
 | 
|  
 | 
|      // Rendering thread.
 | 
|      OwnPtr<WebThread> m_renderThread;
 | 
| -
 | 
| -    size_t m_framesProcessed;
 | 
| -    size_t m_framesToProcess;
 | 
| -
 | 
| -    bool m_isRenderingStarted;
 | 
| +    bool m_startedRendering;
 | 
|  };
 | 
|  
 | 
|  class OfflineAudioDestinationNode final : public AudioDestinationNode {
 | 
| 
 |