Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(162)

Unified Diff: third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp

Issue 1758783002: Revert of Reduce ActiveDOMObjects from modules/mediastream/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
diff --git a/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp b/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
index 7c4b0a718fc72e357028bebb577cac67740c1109..7a17bf6f74d7471ffb7c607d53c1c3af0198b1f7 100644
--- a/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
+++ b/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
@@ -43,13 +43,16 @@
MediaStreamTrack* MediaStreamTrack::create(ExecutionContext* context, MediaStreamComponent* component)
{
- return new MediaStreamTrack(context, component);
+ MediaStreamTrack* track = new MediaStreamTrack(context, component);
+ track->suspendIfNeeded();
+ return track;
}
MediaStreamTrack::MediaStreamTrack(ExecutionContext* context, MediaStreamComponent* component)
- : ContextLifecycleObserver(context)
+ : ActiveDOMObject(context)
, m_readyState(MediaStreamSource::ReadyStateLive)
, m_isIteratingRegisteredMediaStreams(false)
+ , m_stopped(false)
, m_component(component)
{
m_component->source()->addObserver(this);
@@ -168,7 +171,7 @@
bool MediaStreamTrack::ended() const
{
- return !executionContext() || (m_readyState == MediaStreamSource::ReadyStateEnded);
+ return m_stopped || (m_readyState == MediaStreamSource::ReadyStateEnded);
}
void MediaStreamTrack::sourceChangedState()
@@ -202,6 +205,11 @@
m_isIteratingRegisteredMediaStreams = false;
}
+void MediaStreamTrack::stop()
+{
+ m_stopped = true;
+}
+
bool MediaStreamTrack::hasPendingActivity() const
{
// If 'ended' listeners exist and the object hasn't yet reached
@@ -246,7 +254,7 @@
ExecutionContext* MediaStreamTrack::executionContext() const
{
- return ContextLifecycleObserver::executionContext();
+ return ActiveDOMObject::executionContext();
}
DEFINE_TRACE(MediaStreamTrack)
@@ -254,7 +262,7 @@
visitor->trace(m_registeredMediaStreams);
visitor->trace(m_component);
RefCountedGarbageCollectedEventTargetWithInlineData<MediaStreamTrack>::trace(visitor);
- ContextLifecycleObserver::trace(visitor);
+ ActiveDOMObject::trace(visitor);
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698