Changeset 127485 in webkit


Ignore:
Timestamp:
Sep 4, 2012 12:43:51 PM (12 years ago)
Author:
tommyw@google.com
Message:

MediaStream API: Change the MediaStreamTrackList track added/removed signaling
https://bugs.webkit.org/show_bug.cgi?id=95721

Reviewed by Adam Barth.

Source/Platform:

Adding the signaling to the WebKit interface.

  • chromium/public/WebMediaStreamCenter.h:

(WebKit::WebMediaStreamCenter::didAddMediaStreamTrack):
(WebKit::WebMediaStreamCenter::didRemoveMediaStreamTrack):

Source/WebCore:

This allows the platform implementor to throw an NOT_SUPPORTED_ERR exception if it doesn support these methods.

Patch covered by expanded existing test.

  • Modules/mediastream/MediaStreamTrackList.cpp:

(WebCore::MediaStreamTrackList::add):
(WebCore::MediaStreamTrackList::remove):

  • platform/mediastream/MediaStreamCenter.h:

(MediaStreamCenter):

  • platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:

(WebCore::MediaStreamCenterBlackBerry::didAddMediaStreamTrack):
(WebCore):
(WebCore::MediaStreamCenterBlackBerry::didRemoveMediaStreamTrack):

  • platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:

(MediaStreamCenterBlackBerry):

  • platform/mediastream/chromium/MediaStreamCenterChromium.cpp:

(WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack):
(WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack):

  • platform/mediastream/chromium/MediaStreamCenterChromium.h:

(MediaStreamCenterChromium):

  • platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:

(WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack):
(WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack):

  • platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:

(MediaStreamCenterGStreamer):

Tools:

  • DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp:

(MockWebMediaStreamCenter::didAddMediaStreamTrack):
(MockWebMediaStreamCenter::didRemoveMediaStreamTrack):

  • DumpRenderTree/chromium/MockWebMediaStreamCenter.h:

(MockWebMediaStreamCenter):

LayoutTests:

  • fast/mediastream/MediaStreamTrackList.html:
Location:
trunk
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r127481 r127485  
     12012-09-04  Tommy Widenflycht  <tommyw@google.com>
     2
     3        MediaStream API: Change the MediaStreamTrackList track added/removed signaling
     4        https://bugs.webkit.org/show_bug.cgi?id=95721
     5
     6        Reviewed by Adam Barth.
     7
     8        * fast/mediastream/MediaStreamTrackList.html:
     9
    1102012-09-04  Christophe Dumez  <christophe.dumez@intel.com>
    211
  • trunk/LayoutTests/fast/mediastream/MediaStreamTrackList.html

    r121691 r127485  
    4343
    4444    stream1.videoTracks.onremovetrack = onRemoveTrack;
    45     stream1.videoTracks.remove(e.track);
     45    try {
     46        stream1.videoTracks.remove(e.track);
     47    } catch (exception) {
     48        testFailed("remove threw an exception.");
     49        finishJSTest();
     50    }
    4651}
    4752
     
    5055
    5156    stream1.videoTracks.onaddtrack = onAddTrack;
    52     stream1.videoTracks.add(stream2.videoTracks[0]);
     57
     58    try {
     59        stream1.videoTracks.add(stream2.videoTracks[0]);
     60    } catch (exception) {
     61        testFailed("add threw an exception.");
     62        finishJSTest();
     63    }
    5364}
    5465
  • trunk/Source/Platform/ChangeLog

    r127425 r127485  
     12012-09-04  Tommy Widenflycht  <tommyw@google.com>
     2
     3        MediaStream API: Change the MediaStreamTrackList track added/removed signaling
     4        https://bugs.webkit.org/show_bug.cgi?id=95721
     5
     6        Reviewed by Adam Barth.
     7
     8        Adding the signaling to the WebKit interface.
     9
     10        * chromium/public/WebMediaStreamCenter.h:
     11        (WebKit::WebMediaStreamCenter::didAddMediaStreamTrack):
     12        (WebKit::WebMediaStreamCenter::didRemoveMediaStreamTrack):
     13
    1142012-09-03  Tommy Widenflycht  <tommyw@google.com>
    215
  • trunk/Source/Platform/chromium/public/WebMediaStreamCenter.h

    r127365 r127485  
    4848    virtual void didEnableMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) = 0;
    4949    virtual void didDisableMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) = 0;
     50    virtual bool didAddMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) { return false; };
     51    virtual bool didRemoveMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) { return false; };
    5052    virtual void didStopLocalMediaStream(const WebMediaStreamDescriptor&) = 0;
    5153    virtual void didCreateMediaStream(WebMediaStreamDescriptor&) = 0;
  • trunk/Source/WebCore/ChangeLog

    r127483 r127485  
     12012-09-04  Tommy Widenflycht  <tommyw@google.com>
     2
     3        MediaStream API: Change the MediaStreamTrackList track added/removed signaling
     4        https://bugs.webkit.org/show_bug.cgi?id=95721
     5
     6        Reviewed by Adam Barth.
     7
     8        This allows the platform implementor to throw an NOT_SUPPORTED_ERR exception if it doesn support these methods.
     9
     10        Patch covered by expanded existing test.
     11
     12        * Modules/mediastream/MediaStreamTrackList.cpp:
     13        (WebCore::MediaStreamTrackList::add):
     14        (WebCore::MediaStreamTrackList::remove):
     15        * platform/mediastream/MediaStreamCenter.h:
     16        (MediaStreamCenter):
     17        * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
     18        (WebCore::MediaStreamCenterBlackBerry::didAddMediaStreamTrack):
     19        (WebCore):
     20        (WebCore::MediaStreamCenterBlackBerry::didRemoveMediaStreamTrack):
     21        * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
     22        (MediaStreamCenterBlackBerry):
     23        * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
     24        (WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack):
     25        (WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack):
     26        * platform/mediastream/chromium/MediaStreamCenterChromium.h:
     27        (MediaStreamCenterChromium):
     28        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
     29        (WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack):
     30        (WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack):
     31        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
     32        (MediaStreamCenterGStreamer):
     33
    1342012-09-04  Joanmarie Diggs  <jdiggs@igalia.com>
    235
  • trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp

    r121691 r127485  
    8989
    9090    m_trackVector.append(track);
    91     MediaStreamCenter::instance().didAddMediaStreamTrack(m_owner->descriptor(), track->component());
     91    if (!MediaStreamCenter::instance().didAddMediaStreamTrack(m_owner->descriptor(), track->component())) {
     92        ec = NOT_SUPPORTED_ERR;
     93        return;
     94    }
     95
    9296    dispatchEvent(MediaStreamTrackEvent::create(eventNames().addtrackEvent, false, false, track));
    9397}
     
    111115
    112116    m_trackVector.remove(index);
    113     MediaStreamCenter::instance().didRemoveMediaStreamTrack(m_owner->descriptor(), track->component());
     117    if (!MediaStreamCenter::instance().didRemoveMediaStreamTrack(m_owner->descriptor(), track->component())) {
     118        ec = NOT_SUPPORTED_ERR;
     119        return;
     120    }
     121
    114122    dispatchEvent(MediaStreamTrackEvent::create(eventNames().removetrackEvent, false, false, track));
    115123}
  • trunk/Source/WebCore/platform/mediastream/MediaStreamCenter.h

    r121691 r127485  
    5858    // Calls from the DOM objects to notify the platform
    5959    virtual void didSetMediaStreamTrackEnabled(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
    60     virtual void didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
    61     virtual void didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
     60    virtual bool didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
     61    virtual bool didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
    6262    virtual void didStopLocalMediaStream(MediaStreamDescriptor*) = 0;
    6363    virtual void didCreateMediaStream(MediaStreamDescriptor*) = 0;
  • trunk/Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp

    r120188 r127485  
    6969}
    7070
     71bool MediaStreamCenterBlackBerry::didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
     72{
     73    return false;
     74}
     75
     76bool MediaStreamCenterBlackBerry::didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
     77{
     78    return false;
     79}
     80
    7181void MediaStreamCenterBlackBerry::didStopLocalMediaStream(MediaStreamDescriptor*)
    7282{
  • trunk/Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h

    r120188 r127485  
    5656    virtual void queryMediaStreamSources(PassRefPtr<MediaStreamSourcesQueryClient>) OVERRIDE;
    5757    virtual void didSetMediaStreamTrackEnabled(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
     58    virtual bool didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
     59    virtual bool didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
    5860    virtual void didStopLocalMediaStream(MediaStreamDescriptor*) OVERRIDE;
    5961    virtual void didCreateMediaStream(MediaStreamDescriptor*) OVERRIDE;
  • trunk/Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.cpp

    r123627 r127485  
    8787}
    8888
    89 void MediaStreamCenterChromium::didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
     89bool MediaStreamCenterChromium::didAddMediaStreamTrack(MediaStreamDescriptor* stream, MediaStreamComponent* component)
    9090{
     91    return m_private ? m_private->didAddMediaStreamTrack(stream, component) : false;
    9192}
    9293
    93 void MediaStreamCenterChromium::didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
     94bool MediaStreamCenterChromium::didRemoveMediaStreamTrack(MediaStreamDescriptor* stream, MediaStreamComponent* component)
    9495{
     96    return m_private ? m_private->didRemoveMediaStreamTrack(stream, component) : false;
    9597}
    9698
  • trunk/Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.h

    r121691 r127485  
    6363    virtual void queryMediaStreamSources(PassRefPtr<MediaStreamSourcesQueryClient>) OVERRIDE;
    6464    virtual void didSetMediaStreamTrackEnabled(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
    65     virtual void didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
    66     virtual void didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
     65    virtual bool didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
     66    virtual bool didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
    6767    virtual void didStopLocalMediaStream(MediaStreamDescriptor*) OVERRIDE;
    6868    virtual void didCreateMediaStream(MediaStreamDescriptor*) OVERRIDE;
  • trunk/Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp

    r121691 r127485  
    6969}
    7070
    71 void MediaStreamCenterGStreamer::didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
     71bool MediaStreamCenterGStreamer::didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
    7272{
     73    return false;
    7374}
    7475
    75 void MediaStreamCenterGStreamer::didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
     76bool MediaStreamCenterGStreamer::didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
    7677{
     78    return false;
    7779}
    7880
  • trunk/Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h

    r121691 r127485  
    5656    virtual void queryMediaStreamSources(PassRefPtr<MediaStreamSourcesQueryClient>) OVERRIDE;
    5757    virtual void didSetMediaStreamTrackEnabled(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
    58     virtual void didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
    59     virtual void didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
     58    virtual bool didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
     59    virtual bool didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
    6060    virtual void didStopLocalMediaStream(MediaStreamDescriptor*) OVERRIDE;
    6161    virtual void didCreateMediaStream(MediaStreamDescriptor*) OVERRIDE;
  • trunk/Tools/ChangeLog

    r127482 r127485  
     12012-09-04  Tommy Widenflycht  <tommyw@google.com>
     2
     3        MediaStream API: Change the MediaStreamTrackList track added/removed signaling
     4        https://bugs.webkit.org/show_bug.cgi?id=95721
     5
     6        Reviewed by Adam Barth.
     7
     8        * DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp:
     9        (MockWebMediaStreamCenter::didAddMediaStreamTrack):
     10        (MockWebMediaStreamCenter::didRemoveMediaStreamTrack):
     11        * DumpRenderTree/chromium/MockWebMediaStreamCenter.h:
     12        (MockWebMediaStreamCenter):
     13
    1142012-09-04  Tony Chang  <tony@chromium.org>
    215
  • trunk/Tools/DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp

    r126341 r127485  
    6565}
    6666
     67bool MockWebMediaStreamCenter::didAddMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&)
     68{
     69    return true;
     70};
     71
     72bool MockWebMediaStreamCenter::didRemoveMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&)
     73{
     74    return true;
     75};
     76
    6777void MockWebMediaStreamCenter::didStopLocalMediaStream(const WebMediaStreamDescriptor& stream)
    6878{
  • trunk/Tools/DumpRenderTree/chromium/MockWebMediaStreamCenter.h

    r126341 r127485  
    4646    virtual void didEnableMediaStreamTrack(const WebKit::WebMediaStreamDescriptor&, const WebKit::WebMediaStreamComponent&) OVERRIDE;
    4747    virtual void didDisableMediaStreamTrack(const WebKit::WebMediaStreamDescriptor&, const WebKit::WebMediaStreamComponent&) OVERRIDE;
     48    virtual bool didAddMediaStreamTrack(const WebKit::WebMediaStreamDescriptor&, const WebKit::WebMediaStreamComponent&) OVERRIDE;
     49    virtual bool didRemoveMediaStreamTrack(const WebKit::WebMediaStreamDescriptor&, const WebKit::WebMediaStreamComponent&) OVERRIDE;
    4850    virtual void didStopLocalMediaStream(const WebKit::WebMediaStreamDescriptor&) OVERRIDE;
    4951    virtual void didCreateMediaStream(WebKit::WebMediaStreamDescriptor&) OVERRIDE;
Note: See TracChangeset for help on using the changeset viewer.