| Index: Source/modules/webaudio/AudioParam.h
 | 
| diff --git a/Source/modules/webaudio/AudioParam.h b/Source/modules/webaudio/AudioParam.h
 | 
| index d278d57cde6853c9b44916a5fdb9f9d12f520c75..32b67be7de2bd3bce2d187ab635cd29fa121a085 100644
 | 
| --- a/Source/modules/webaudio/AudioParam.h
 | 
| +++ b/Source/modules/webaudio/AudioParam.h
 | 
| @@ -42,7 +42,7 @@ namespace blink {
 | 
|  
 | 
|  class AudioNodeOutput;
 | 
|  
 | 
| -class AudioParamHandler final : public AudioSummingJunction, public ScriptWrappable {
 | 
| +class AudioParamHandler final : public GarbageCollectedFinalized<AudioParamHandler>, public AudioSummingJunction, public ScriptWrappable {
 | 
|      DEFINE_WRAPPERTYPEINFO();
 | 
|  public:
 | 
|      static const double DefaultSmoothingConstant;
 | 
| @@ -52,6 +52,8 @@ public:
 | 
|      {
 | 
|          return new AudioParamHandler(context, defaultValue);
 | 
|      }
 | 
| +    DECLARE_TRACE();
 | 
| +    AudioContext* context() const { return m_context; }
 | 
|  
 | 
|      // AudioSummingJunction
 | 
|      virtual void didUpdate() override { }
 | 
| @@ -116,10 +118,11 @@ public:
 | 
|  
 | 
|  private:
 | 
|      AudioParamHandler(AudioContext* context, double defaultValue)
 | 
| -        : AudioSummingJunction(context)
 | 
| +        : AudioSummingJunction(context->handler())
 | 
|          , m_value(defaultValue)
 | 
|          , m_defaultValue(defaultValue)
 | 
| -        , m_smoothedValue(defaultValue) { }
 | 
| +        , m_smoothedValue(defaultValue)
 | 
| +        , m_context(context) { }
 | 
|  
 | 
|      // sampleAccurate corresponds to a-rate (audio rate) vs. k-rate in the Web Audio specification.
 | 
|      void calculateFinalValues(float* values, unsigned numberOfValues, bool sampleAccurate);
 | 
| @@ -132,6 +135,7 @@ private:
 | 
|      double m_smoothedValue;
 | 
|  
 | 
|      AudioParamTimeline m_timeline;
 | 
| +    Member<AudioContext> m_context;
 | 
|  };
 | 
|  
 | 
|  // TODO(tkent): remove the type alias, and introduce a real AudioParam class to
 | 
| 
 |