| Index: third_party/WebKit/Source/modules/mediastream/RTCDTMFSender.cpp
|
| diff --git a/third_party/WebKit/Source/modules/mediastream/RTCDTMFSender.cpp b/third_party/WebKit/Source/modules/mediastream/RTCDTMFSender.cpp
|
| index a45f886eae28fbd24caaf0ee857454afb5f87c8b..ea8d03f9ffc506bc1d8ec8a26efc96355d538c68 100644
|
| --- a/third_party/WebKit/Source/modules/mediastream/RTCDTMFSender.cpp
|
| +++ b/third_party/WebKit/Source/modules/mediastream/RTCDTMFSender.cpp
|
| @@ -51,18 +51,15 @@ RTCDTMFSender* RTCDTMFSender::create(ExecutionContext* context, WebRTCPeerConnec
|
| return nullptr;
|
| }
|
|
|
| - RTCDTMFSender* dtmfSender = new RTCDTMFSender(context, track, handler.release());
|
| - dtmfSender->suspendIfNeeded();
|
| - return dtmfSender;
|
| + return new RTCDTMFSender(context, track, handler.release());
|
| }
|
|
|
| RTCDTMFSender::RTCDTMFSender(ExecutionContext* context, MediaStreamTrack* track, PassOwnPtr<WebRTCDTMFSenderHandler> handler)
|
| - : ActiveDOMObject(context)
|
| + : ContextLifecycleObserver(context)
|
| , m_track(track)
|
| , m_duration(defaultToneDurationMs)
|
| , m_interToneGap(defaultInterToneGapMs)
|
| , m_handler(handler)
|
| - , m_stopped(false)
|
| , m_scheduledEventTimer(this, &RTCDTMFSender::scheduledEventTimerFired)
|
| {
|
| m_handler->setClient(this);
|
| @@ -133,12 +130,11 @@ const AtomicString& RTCDTMFSender::interfaceName() const
|
|
|
| ExecutionContext* RTCDTMFSender::executionContext() const
|
| {
|
| - return ActiveDOMObject::executionContext();
|
| + return ContextLifecycleObserver::executionContext();
|
| }
|
|
|
| -void RTCDTMFSender::stop()
|
| +void RTCDTMFSender::contextDestroyed()
|
| {
|
| - m_stopped = true;
|
| m_handler->setClient(0);
|
| }
|
|
|
| @@ -152,7 +148,7 @@ void RTCDTMFSender::scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event> event)
|
|
|
| void RTCDTMFSender::scheduledEventTimerFired(Timer<RTCDTMFSender>*)
|
| {
|
| - if (m_stopped)
|
| + if (!executionContext())
|
| return;
|
|
|
| WillBeHeapVector<RefPtrWillBeMember<Event>> events;
|
| @@ -168,7 +164,7 @@ DEFINE_TRACE(RTCDTMFSender)
|
| visitor->trace(m_track);
|
| visitor->trace(m_scheduledEvents);
|
| RefCountedGarbageCollectedEventTargetWithInlineData<RTCDTMFSender>::trace(visitor);
|
| - ActiveDOMObject::trace(visitor);
|
| + ContextLifecycleObserver::trace(visitor);
|
| }
|
|
|
| } // namespace blink
|
|
|