Chromium Code Reviews| Index: Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp |
| diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp |
| index 060adfa418e16b994dc45a0c96f4b8d7fb5e0d35..2e14157926044d2809ec3b4882857c1d206d468a 100644 |
| --- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp |
| +++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp |
| @@ -29,22 +29,24 @@ |
| #if ENABLE(MEDIA_STREAM) |
| #include "Event.h" |
| +#include "MediaStream.h" |
| #include "MediaStreamCenter.h" |
| #include "MediaStreamComponent.h" |
| namespace WebCore { |
| -PassRefPtr<MediaStreamTrack> MediaStreamTrack::create(ScriptExecutionContext* context, MediaStreamComponent* component) |
| +PassRefPtr<MediaStreamTrack> MediaStreamTrack::create(ScriptExecutionContext* context, MediaStreamComponent* component, MediaStream* stream) |
| { |
| - RefPtr<MediaStreamTrack> track = adoptRef(new MediaStreamTrack(context, component)); |
| + RefPtr<MediaStreamTrack> track = adoptRef(new MediaStreamTrack(context, component, stream)); |
| track->suspendIfNeeded(); |
| return track.release(); |
| } |
| -MediaStreamTrack::MediaStreamTrack(ScriptExecutionContext* context, MediaStreamComponent* component) |
| +MediaStreamTrack::MediaStreamTrack(ScriptExecutionContext* context, MediaStreamComponent* component, MediaStream* stream) |
| : ActiveDOMObject(context) |
| , m_stopped(false) |
| , m_component(component) |
| + , m_stream(stream) |
| { |
| m_component->source()->addObserver(this); |
| } |
| @@ -135,6 +137,8 @@ void MediaStreamTrack::sourceChangedState() |
| break; |
| case MediaStreamSource::ReadyStateEnded: |
| dispatchEvent(Event::create(eventNames().endedEvent, false, false)); |
| + if (m_stream) |
| + m_stream->trackEndedNotification(); |
| break; |
| } |
| } |
| @@ -147,6 +151,8 @@ MediaStreamComponent* MediaStreamTrack::component() |
| void MediaStreamTrack::stop() |
| { |
| m_stopped = true; |
| + if (m_stream) |
| + m_stream->trackEndedNotification(); |
|
Tommy Widenflycht
2013/04/08 14:01:07
This is a bit overkill because when stop() is call
abarth-chromium
2013/04/08 16:58:41
Yeah.
|
| } |
| const AtomicString& MediaStreamTrack::interfaceName() const |