Index: Source/modules/mediastream/MediaStreamTrack.cpp |
diff --git a/Source/modules/mediastream/MediaStreamTrack.cpp b/Source/modules/mediastream/MediaStreamTrack.cpp |
index ebdb8a9e588b3bfa3a613e26a6283f7bffa9b752..0ab4f5f479c3f794f9bec0d066c17e94a842bb1c 100644 |
--- a/Source/modules/mediastream/MediaStreamTrack.cpp |
+++ b/Source/modules/mediastream/MediaStreamTrack.cpp |
@@ -59,7 +59,6 @@ MediaStreamTrack::MediaStreamTrack(ExecutionContext* context, MediaStreamCompone |
MediaStreamTrack::~MediaStreamTrack() |
{ |
- m_component->source()->removeObserver(this); |
} |
String MediaStreamTrack::kind() const |
@@ -147,9 +146,9 @@ void MediaStreamTrack::stopTrack(ExceptionState& exceptionState) |
MediaStreamTrack* MediaStreamTrack::clone(ExecutionContext* context) |
{ |
- RefPtr<MediaStreamComponent> clonedComponent = MediaStreamComponent::create(component()->source()); |
- MediaStreamTrack* clonedTrack = MediaStreamTrack::create(context, clonedComponent.get()); |
- MediaStreamCenter::instance().didCreateMediaStreamTrack(clonedComponent.get()); |
+ MediaStreamComponent* clonedComponent = MediaStreamComponent::create(component()->source()); |
+ MediaStreamTrack* clonedTrack = MediaStreamTrack::create(context, clonedComponent); |
+ MediaStreamCenter::instance().didCreateMediaStreamTrack(clonedComponent); |
return clonedTrack; |
} |
@@ -230,7 +229,9 @@ ExecutionContext* MediaStreamTrack::executionContext() const |
void MediaStreamTrack::trace(Visitor* visitor) |
{ |
visitor->trace(m_registeredMediaStreams); |
+ visitor->trace(m_component); |
EventTargetWithInlineData::trace(visitor); |
+ MediaStreamSource::Observer::trace(visitor); |
} |
} // namespace blink |