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

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

Issue 1375773004: Revert of [Oilpan] Move MediaStream{Source|Component|Descriptor} to Oilpan heap (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 9c8f7c946766e9d46e2600508d2644020323fc63..4b1fe41c63082edce7c7057775782fa25dc4f201 100644
--- a/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
+++ b/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
@@ -60,6 +60,7 @@
MediaStreamTrack::~MediaStreamTrack()
{
+ m_component->source()->removeObserver(this);
}
String MediaStreamTrack::kind() const
@@ -162,9 +163,9 @@
MediaStreamTrack* MediaStreamTrack::clone(ExecutionContext* context)
{
- MediaStreamComponent* clonedComponent = MediaStreamComponent::create(component()->source());
- MediaStreamTrack* clonedTrack = MediaStreamTrack::create(context, clonedComponent);
- MediaStreamCenter::instance().didCreateMediaStreamTrack(clonedComponent);
+ RefPtr<MediaStreamComponent> clonedComponent = MediaStreamComponent::create(component()->source());
+ MediaStreamTrack* clonedTrack = MediaStreamTrack::create(context, clonedComponent.get());
+ MediaStreamCenter::instance().didCreateMediaStreamTrack(clonedComponent.get());
return clonedTrack;
}
@@ -204,6 +205,11 @@
m_isIteratingRegisteredMediaStreams = false;
}
+MediaStreamComponent* MediaStreamTrack::component()
+{
+ return m_component.get();
+}
+
void MediaStreamTrack::stop()
{
m_stopped = true;
@@ -242,7 +248,6 @@
DEFINE_TRACE(MediaStreamTrack)
{
visitor->trace(m_registeredMediaStreams);
- visitor->trace(m_component);
RefCountedGarbageCollectedEventTargetWithInlineData<MediaStreamTrack>::trace(visitor);
ActiveDOMObject::trace(visitor);
}

Powered by Google App Engine
This is Rietveld 408576698