Changeset 167868 in webkit


Ignore:
Timestamp:
Apr 27, 2014 7:37:42 PM (10 years ago)
Author:
commit-queue@webkit.org
Message:

[MediaStream] .ended shouldn't be part of MediaStream IDL
https://bugs.webkit.org/show_bug.cgi?id=132104

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-27
Reviewed by Eric Carlson.

Source/WebCore:
.ended attribute is spec'ed out of MediaStream IDL. Instead, .active
is introduced to handle more scenarios. This patch replaces all 'ended'
attribute calls with corresponding 'active' attributes.

MediaStream-add-remove-tracks.html is updated.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::addTrack): Replaced ended() with active().
(WebCore::MediaStream::removeTrack): setEnded() isn't called. setActive()
is retained which propagates oninactive event.
(WebCore::MediaStream::trackDidEnd): setEnded() isn't called.
(WebCore::MediaStream::removeRemoteSource): Replaced ended() with active().
(WebCore::MediaStream::addRemoteTrack): Replaced ended() with active().
(WebCore::MediaStream::removeRemoteTrack): Replaced ended() with active().
(WebCore::MediaStream::ended): Deleted.
(WebCore::MediaStream::setEnded): Deleted.
(WebCore::MediaStream::streamDidEnd): Deleted.

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/MediaStream.idl:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::didRemoveRemoteStream): Replaced setEnded()
with setActive().

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::MediaStreamPrivate):
(WebCore::MediaStreamPrivate::setActive): Updated comment from bug
https://bugs.webkit.org/show_bug.cgi?id=131973
(WebCore::MediaStreamPrivate::setEnded): Deleted.

  • platform/mediastream/MediaStreamPrivate.h:

(WebCore::MediaStreamPrivate::ended): Deleted.

LayoutTests:
.ended is not part of MediaStream IDL. Updated test case.

  • fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
  • fast/mediastream/MediaStream-add-remove-tracks.html:
Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r167862 r167868  
     12014-04-27  Praveen R Jadhav  <praveen.j@samsung.com>
     2
     3        [MediaStream] .ended shouldn't be part of MediaStream IDL
     4        https://bugs.webkit.org/show_bug.cgi?id=132104
     5
     6        Reviewed by Eric Carlson.
     7
     8        .ended is not part of MediaStream IDL. Updated test case.
     9
     10        * fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
     11        * fast/mediastream/MediaStream-add-remove-tracks.html:
     12
    1132014-04-27  Tim Horton  <timothy_horton@apple.com>
    214
  • trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks-expected.txt

    r167750 r167868  
    4848PASS stream2.getAudioTracks().length is 0
    4949PASS stream2.getVideoTracks().length is 0
    50 PASS stream2.ended is true
    5150
    5251*** it should be impossible to add a track after the stream has ended
  • trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html

    r167750 r167868  
    130130                shouldBe('stream2.getAudioTracks().length', '0');
    131131                shouldBe('stream2.getVideoTracks().length', '0');
    132                 shouldBeTrue('stream2.ended');
    133132
    134133                debug("<br>*** it should be impossible to add a track after the stream has ended");
  • trunk/Source/WebCore/ChangeLog

    r167863 r167868  
     12014-04-27  Praveen R Jadhav  <praveen.j@samsung.com>
     2
     3        [MediaStream] .ended shouldn't be part of MediaStream IDL
     4        https://bugs.webkit.org/show_bug.cgi?id=132104
     5
     6        Reviewed by Eric Carlson.
     7
     8        .ended attribute is spec'ed out of MediaStream IDL. Instead, .active
     9        is introduced to handle more scenarios. This patch replaces all 'ended'
     10        attribute calls with corresponding 'active' attributes.
     11
     12        MediaStream-add-remove-tracks.html is updated.
     13
     14        * Modules/mediastream/MediaStream.cpp:
     15        (WebCore::MediaStream::addTrack): Replaced ended() with active().
     16        (WebCore::MediaStream::removeTrack): setEnded() isn't called. setActive()
     17        is retained which propagates oninactive event.
     18        (WebCore::MediaStream::trackDidEnd): setEnded() isn't called.
     19        (WebCore::MediaStream::removeRemoteSource): Replaced ended() with active().
     20        (WebCore::MediaStream::addRemoteTrack): Replaced ended() with active().
     21        (WebCore::MediaStream::removeRemoteTrack): Replaced ended() with active().
     22        (WebCore::MediaStream::ended): Deleted.
     23        (WebCore::MediaStream::setEnded): Deleted.
     24        (WebCore::MediaStream::streamDidEnd): Deleted.
     25        * Modules/mediastream/MediaStream.h:
     26        * Modules/mediastream/MediaStream.idl:
     27        * Modules/mediastream/RTCPeerConnection.cpp:
     28        (WebCore::RTCPeerConnection::didRemoveRemoteStream): Replaced setEnded()
     29        with setActive().
     30        * platform/mediastream/MediaStreamPrivate.cpp:
     31        (WebCore::MediaStreamPrivate::MediaStreamPrivate):
     32        (WebCore::MediaStreamPrivate::setActive): Updated comment from bug
     33        https://bugs.webkit.org/show_bug.cgi?id=131973
     34        (WebCore::MediaStreamPrivate::setEnded): Deleted.
     35        * platform/mediastream/MediaStreamPrivate.h:
     36        (WebCore::MediaStreamPrivate::ended): Deleted.
     37
    1382014-04-25  Andy Estes  <aestes@apple.com>
    239
  • trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp

    r167750 r167868  
    115115}
    116116
    117 bool MediaStream::ended() const
    118 {
    119     return m_private->ended();
    120 }
    121 
    122 void MediaStream::setEnded()
    123 {
    124     if (ended())
    125         return;
    126     m_private->setEnded();
    127 }
    128 
    129117bool MediaStream::active() const
    130118{
     
    156144void MediaStream::addTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionCode& ec)
    157145{
    158     if (ended()) {
     146    if (!active()) {
    159147        ec = INVALID_STATE_ERR;
    160148        return;
     
    191179void MediaStream::removeTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionCode& ec)
    192180{
    193     if (ended()) {
     181    if (!active()) {
    194182        ec = INVALID_STATE_ERR;
    195183        return;
     
    228216
    229217    track->removeObserver(this);
    230     if (!m_audioTracks.size() && !m_videoTracks.size()) {
    231         setEnded(); // FIXME : to be removed in bug https://bugs.webkit.org/show_bug.cgi?id=132104
     218    if (!m_audioTracks.size() && !m_videoTracks.size())
    232219        setActive(false);
    233     }
    234220
    235221    return true;
     
    280266    }
    281267
    282     setEnded(); // FIXME : to be removed in bug https://bugs.webkit.org/show_bug.cgi?id=132104
    283 
    284268    if (!m_audioTracks.size() && !m_videoTracks.size())
    285269        setActive(false);
    286 }
    287 
    288 void MediaStream::streamDidEnd()
    289 {
    290     if (ended())
    291         return;
    292 
    293     scheduleDispatchEvent(Event::create(eventNames().endedEvent, false, false));
    294270}
    295271
     
    316292{
    317293    ASSERT(source);
    318     if (ended())
     294    if (!active())
    319295        return;
    320296
     
    338314{
    339315    ASSERT(privateTrack);
    340     if (ended())
     316    if (!active())
    341317        return;
    342318
     
    364340{
    365341    ASSERT(privateTrack);
    366     if (ended())
     342    if (!active())
    367343        return;
    368344
  • trunk/Source/WebCore/Modules/mediastream/MediaStream.h

    r167750 r167868  
    6868    Vector<RefPtr<MediaStreamTrack>> getVideoTracks() const { return m_videoTracks; }
    6969
    70     bool ended() const;
    71     void setEnded();
    7270    PassRefPtr<MediaStream> clone();
    7371
    74     DEFINE_ATTRIBUTE_EVENT_LISTENER(ended);
    7572    DEFINE_ATTRIBUTE_EVENT_LISTENER(addtrack);
    7673    DEFINE_ATTRIBUTE_EVENT_LISTENER(removetrack);
     
    110107    // MediaStreamPrivateClient
    111108    virtual void trackDidEnd() override final;
    112     virtual void streamDidEnd() override final;
    113109    virtual void setStreamIsActive(bool) override final;
    114110    virtual void addRemoteSource(MediaStreamSource*) override final;
  • trunk/Source/WebCore/Modules/mediastream/MediaStream.idl

    r167750 r167868  
    4343    MediaStream clone();
    4444
    45     readonly attribute boolean ended;
    46 
    47     attribute EventListener onended;
    48     attribute EventListener onaddtrack;
    49     attribute EventListener onremovetrack;
    50 
    5145    readonly attribute boolean active;
    5246
    5347    attribute EventListener onactive;
    5448    attribute EventListener oninactive;
     49    attribute EventListener onaddtrack;
     50    attribute EventListener onremovetrack;
    5551
    5652    // EventTarget interface
  • trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp

    r166325 r167868  
    652652    // FIXME: this class shouldn't know that the private stream client is a MediaStream!
    653653    RefPtr<MediaStream> stream = static_cast<MediaStream*>(privateStream->client());
    654     stream->setEnded();
     654    stream->setActive(false);
    655655
    656656    if (m_signalingState == SignalingStateClosed)
  • trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp

    r167750 r167868  
    129129    : m_client(0)
    130130    , m_id(id)
    131     , m_ended(false)
    132131    , m_isActive(false)
    133132{
     
    141140    unsigned providedSourcesSize = audioSources.size() + videoSources.size();
    142141    unsigned tracksSize = m_audioPrivateTracks.size() + m_videoPrivateTracks.size();
    143     // If sources were provided and no track was added to the MediaStreamPrivate's tracks, this means
    144     // that the tracks were all ended.
    145     // Deprecated. to be removed in bug https://bugs.webkit.org/show_bug.cgi?id=132104
    146     if (providedSourcesSize > 0 && !tracksSize)
    147         m_ended = true;
    148142
    149143    if (providedSourcesSize > 0 && tracksSize > 0)
     
    154148    : m_client(0)
    155149    , m_id(id)
    156     , m_ended(false)
    157150    , m_isActive(false)
    158151{
     
    166159    unsigned providedTracksSize = audioPrivateTracks.size() + videoPrivateTracks.size();
    167160    unsigned tracksSize = m_audioPrivateTracks.size() + m_videoPrivateTracks.size();
    168     // If tracks were provided and no one was added to the MediaStreamPrivate's tracks, this means
    169     // that the tracks were all ended
    170     // Deprecated. to be removed in bug https://bugs.webkit.org/show_bug.cgi?id=132104
    171     if (providedTracksSize > 0 && !tracksSize)
    172         m_ended = true;
    173161
    174162    if (providedTracksSize > 0 && tracksSize > 0)
     
    176164}
    177165
    178 void MediaStreamPrivate::setEnded()
    179 {
    180     if (m_client)
    181         m_client->streamDidEnd();
    182 
    183     m_ended = true;
    184 }
    185 
    186166void MediaStreamPrivate::setActive(bool active)
    187167{
    188     if (m_isActive != active) {
    189         m_isActive = active;
    190 
    191         if (m_client)
    192             m_client->setStreamIsActive(active);
    193     }
     168    if (m_isActive == active)
     169        return;
     170
     171    m_isActive = active;
     172
     173    if (m_client)
     174        m_client->setStreamIsActive(active);
    194175}
    195176
  • trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h

    r167750 r167868  
    5050    virtual ~MediaStreamPrivateClient() { }
    5151
    52     virtual void streamDidEnd() = 0;
    5352    virtual void setStreamIsActive(bool) = 0;
    5453    virtual void addRemoteSource(MediaStreamSource*) = 0;
     
    8887    void removeRemoteSource(MediaStreamSource*);
    8988
    90     // Deprecated. to be removed in bug https://bugs.webkit.org/show_bug.cgi?id=132104
    91     bool ended() const { return m_ended; }
    92     void setEnded();
    93 
    9489    bool active() const { return m_isActive; }
    9590    void setActive(bool);
     
    112107    Vector<RefPtr<MediaStreamTrackPrivate>> m_audioPrivateTracks;
    113108    Vector<RefPtr<MediaStreamTrackPrivate>> m_videoPrivateTracks;
    114     bool m_ended; // Deprecated. to be removed in bug https://bugs.webkit.org/show_bug.cgi?id=132104
    115109    bool m_isActive;
    116110};
Note: See TracChangeset for help on using the changeset viewer.