Skip to content
  • tommyw@google.com's avatar
    MediaStream API: Update MediaStreamTrackList to match the specification · d0e4be33
    tommyw@google.com authored
    https://bugs.webkit.org/show_bug.cgi?id=90171
    
    Reviewed by Adam Barth.
    
    Source/Platform:
    
    The latest update to the specification added add and remove methods with corresponding callbacks.
    The callbacks can be triggered both from JS and from the platform layer.
    
    * chromium/public/WebMediaStreamCenterClient.h:
    (WebKit):
    (WebMediaStreamCenterClient):
    
    Source/WebCore:
    
    The latest update to the specification added add and remove methods with corresponding callbacks.
    The callbacks can be triggered both from JS and from the platform layer.
    
    Test: fast/mediastream/MediaStreamTrackList.html
    
    * CMakeLists.txt:
    * GNUmakefile.list.am:
    * Modules/mediastream/MediaStream.cpp:
    (WebCore::MediaStream::MediaStream):
    (WebCore::MediaStream::~MediaStream):
    (WebCore::MediaStream::streamEnded):
    (WebCore::MediaStream::addTrack):
    (WebCore):
    (WebCore::MediaStream::removeTrack):
    * Modules/mediastream/MediaStream.h:
    (MediaStream):
    * Modules/mediastream/MediaStreamTrackEvent.cpp: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp.
    (WebCore):
    (WebCore::MediaStreamTrackEvent::create):
    (WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
    (WebCore::MediaStreamTrackEvent::~MediaStreamTrackEvent):
    (WebCore::MediaStreamTrackEvent::track):
    (WebCore::MediaStreamTrackEvent::interfaceName):
    * Modules/mediastream/MediaStreamTrackEvent.h: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.h.
    (WebCore):
    (MediaStreamTrackEvent):
    * Modules/mediastream/MediaStreamTrackEvent.idl: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.idl.
    * Modules/mediastream/MediaStreamTrackList.cpp:
    (WebCore::MediaStreamTrackList::create):
    (WebCore::MediaStreamTrackList::MediaStreamTrackList):
    (WebCore::MediaStreamTrackList::detachOwner):
    (WebCore):
    (WebCore::MediaStreamTrackList::add):
    (WebCore::MediaStreamTrackList::remove):
    (WebCore::MediaStreamTrackList::stop):
    (WebCore::MediaStreamTrackList::interfaceName):
    (WebCore::MediaStreamTrackList::scriptExecutionContext):
    (WebCore::MediaStreamTrackList::eventTargetData):
    (WebCore::MediaStreamTrackList::ensureEventTargetData):
    * Modules/mediastream/MediaStreamTrackList.h:
    (MediaStreamTrackList):
    * Modules/mediastream/MediaStreamTrackList.idl:
    * WebCore.gypi:
    * dom/EventNames.h:
    (WebCore):
    * dom/EventNames.in:
    * dom/EventTargetFactory.in:
    * platform/mediastream/MediaStreamCenter.cpp:
    (WebCore::MediaStreamCenter::addMediaStreamTrack):
    (WebCore):
    (WebCore::MediaStreamCenter::removeMediaStreamTrack):
    * platform/mediastream/MediaStreamCenter.h:
    (MediaStreamCenter):
    * platform/mediastream/MediaStreamDescriptor.h:
    (MediaStreamDescriptorOwner):
    * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
    (WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack):
    (WebCore):
    (WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack):
    (WebCore::MediaStreamCenterChromium::addMediaStreamTrack):
    (WebCore::MediaStreamCenterChromium::removeMediaStreamTrack):
    * platform/mediastream/chromium/MediaStreamCenterChromium.h:
    (WebKit):
    (MediaStreamCenterChromium):
    * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
    (WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack):
    (WebCore):
    (WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack):
    * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
    (MediaStreamCenterGStreamer):
    
    LayoutTests:
    
    * fast/mediastream/MediaStreamTrackList-expected.txt: Added.
    * fast/mediastream/MediaStreamTrackList.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    d0e4be33