Title: [139598] trunk
Revision
139598
Author
[email protected]
Date
2013-01-14 02:15:25 -0800 (Mon, 14 Jan 2013)

Log Message

MediaStream API: Change MediaStream::readyState to an boolean attribute called ended.
https://bugs.webkit.org/show_bug.cgi?id=106568

Reviewed by Adam Barth.

Source/WebCore:

See specification: http://dev.w3.org/2011/webrtc/editor/getusermedia.html

Existings tests updated to cover patch.

* Modules/mediastream/LocalMediaStream.cpp:
(WebCore::LocalMediaStream::stop):
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::ended):
(WebCore::MediaStream::streamEnded):
* Modules/mediastream/MediaStream.h:
(MediaStream):
(WebCore::MediaStream::isLocal):
* Modules/mediastream/MediaStream.idl:
* Modules/mediastream/MediaStreamTrackList.cpp:
(WebCore::MediaStreamTrackList::add):
(WebCore::MediaStreamTrackList::remove):

LayoutTests:

* fast/mediastream/LocalMediaStream-onended-expected.txt:
* fast/mediastream/LocalMediaStream-onended.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (139597 => 139598)


--- trunk/LayoutTests/ChangeLog	2013-01-14 10:13:20 UTC (rev 139597)
+++ trunk/LayoutTests/ChangeLog	2013-01-14 10:15:25 UTC (rev 139598)
@@ -1,3 +1,13 @@
+2013-01-14  Tommy Widenflycht  <[email protected]>
+
+        MediaStream API: Change MediaStream::readyState to an boolean attribute called ended.
+        https://bugs.webkit.org/show_bug.cgi?id=106568
+
+        Reviewed by Adam Barth.
+
+        * fast/mediastream/LocalMediaStream-onended-expected.txt:
+        * fast/mediastream/LocalMediaStream-onended.html:
+
 2013-01-14  Andrei Bucur  <[email protected]>
 
         Crash caused by incomplete cleanup of regions information for anonymous block

Modified: trunk/LayoutTests/fast/mediastream/LocalMediaStream-onended-expected.txt (139597 => 139598)


--- trunk/LayoutTests/fast/mediastream/LocalMediaStream-onended-expected.txt	2013-01-14 10:13:20 UTC (rev 139597)
+++ trunk/LayoutTests/fast/mediastream/LocalMediaStream-onended-expected.txt	2013-01-14 10:15:25 UTC (rev 139598)
@@ -3,7 +3,9 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
+PASS stream.ended is false
 PASS streamEnded was called.
+PASS stream.ended is true
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/mediastream/LocalMediaStream-onended.html (139597 => 139598)


--- trunk/LayoutTests/fast/mediastream/LocalMediaStream-onended.html	2013-01-14 10:13:20 UTC (rev 139597)
+++ trunk/LayoutTests/fast/mediastream/LocalMediaStream-onended.html	2013-01-14 10:15:25 UTC (rev 139598)
@@ -24,13 +24,17 @@
     }
 }
 
+var stream;
+
 function streamEnded() {
     testPassed('streamEnded was called.');
+    shouldBeTrue('stream.ended');
     finishJSTest();
 }
 
 function gotStream(s) {
     stream = s;
+    shouldBeFalse('stream.ended');
     try {
         stream._onended_ = streamEnded;
         stream.stop();

Modified: trunk/Source/WebCore/ChangeLog (139597 => 139598)


--- trunk/Source/WebCore/ChangeLog	2013-01-14 10:13:20 UTC (rev 139597)
+++ trunk/Source/WebCore/ChangeLog	2013-01-14 10:15:25 UTC (rev 139598)
@@ -1,3 +1,27 @@
+2013-01-14  Tommy Widenflycht  <[email protected]>
+
+        MediaStream API: Change MediaStream::readyState to an boolean attribute called ended.
+        https://bugs.webkit.org/show_bug.cgi?id=106568
+
+        Reviewed by Adam Barth.
+
+        See specification: http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+
+        Existings tests updated to cover patch.
+
+        * Modules/mediastream/LocalMediaStream.cpp:
+        (WebCore::LocalMediaStream::stop):
+        * Modules/mediastream/MediaStream.cpp:
+        (WebCore::MediaStream::ended):
+        (WebCore::MediaStream::streamEnded):
+        * Modules/mediastream/MediaStream.h:
+        (MediaStream):
+        (WebCore::MediaStream::isLocal):
+        * Modules/mediastream/MediaStream.idl:
+        * Modules/mediastream/MediaStreamTrackList.cpp:
+        (WebCore::MediaStreamTrackList::add):
+        (WebCore::MediaStreamTrackList::remove):
+
 2013-01-14  Alexander Pavlov  <[email protected]>
 
         Web Inspector: [Styles] HTML color names not converted to RGB/HEX/HSL when "Color format" feature used

Modified: trunk/Source/WebCore/Modules/mediastream/LocalMediaStream.cpp (139597 => 139598)


--- trunk/Source/WebCore/Modules/mediastream/LocalMediaStream.cpp	2013-01-14 10:13:20 UTC (rev 139597)
+++ trunk/Source/WebCore/Modules/mediastream/LocalMediaStream.cpp	2013-01-14 10:15:25 UTC (rev 139598)
@@ -50,7 +50,7 @@
 
 void LocalMediaStream::stop()
 {
-    if (readyState() == ENDED)
+    if (ended())
         return;
 
     MediaStreamCenter::instance().didStopLocalMediaStream(descriptor());

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp (139597 => 139598)


--- trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp	2013-01-14 10:13:20 UTC (rev 139597)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp	2013-01-14 10:15:25 UTC (rev 139598)
@@ -131,14 +131,14 @@
     m_videoTracks->detachOwner();
 }
 
-MediaStream::ReadyState MediaStream::readyState() const
+bool MediaStream::ended() const
 {
-    return m_descriptor->ended() ? ENDED : LIVE;
+    return m_descriptor->ended();
 }
 
 void MediaStream::streamEnded()
 {
-    if (readyState() == ENDED)
+    if (ended())
         return;
 
     m_descriptor->setEnded();

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStream.h (139597 => 139598)


--- trunk/Source/WebCore/Modules/mediastream/MediaStream.h	2013-01-14 10:13:20 UTC (rev 139597)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStream.h	2013-01-14 10:15:25 UTC (rev 139598)
@@ -39,21 +39,12 @@
 
 class MediaStream : public RefCounted<MediaStream>, public MediaStreamDescriptorClient, public EventTarget, public ContextDestructionObserver {
 public:
-    enum ReadyState {
-        LIVE = 1,
-        ENDED = 2
-    };
-
     static PassRefPtr<MediaStream> create(ScriptExecutionContext*);
     static PassRefPtr<MediaStream> create(ScriptExecutionContext*, PassRefPtr<MediaStream>);
     static PassRefPtr<MediaStream> create(ScriptExecutionContext*, const MediaStreamTrackVector&);
     static PassRefPtr<MediaStream> create(ScriptExecutionContext*, PassRefPtr<MediaStreamDescriptor>);
     virtual ~MediaStream();
 
-    DEFINE_ATTRIBUTE_EVENT_LISTENER(ended);
-
-    ReadyState readyState() const;
-
     // DEPRECATED
     String label() const { return m_descriptor->id(); }
 
@@ -62,11 +53,15 @@
     MediaStreamTrackList* audioTracks() { return m_audioTracks.get(); }
     MediaStreamTrackList* videoTracks() { return m_videoTracks.get(); }
 
-    virtual bool isLocal() const { return false; }
+    bool ended() const;
 
+    DEFINE_ATTRIBUTE_EVENT_LISTENER(ended);
+
     // MediaStreamDescriptorClient
     virtual void streamEnded() OVERRIDE;
 
+    virtual bool isLocal() const { return false; }
+
     MediaStreamDescriptor* descriptor() const { return m_descriptor.get(); }
 
     // EventTarget

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStream.idl (139597 => 139598)


--- trunk/Source/WebCore/Modules/mediastream/MediaStream.idl	2013-01-14 10:13:20 UTC (rev 139597)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStream.idl	2013-01-14 10:15:25 UTC (rev 139598)
@@ -39,11 +39,10 @@
     readonly attribute MediaStreamTrackList audioTracks;
     readonly attribute MediaStreamTrackList videoTracks;
 
-    const unsigned short LIVE = 1;
-    const unsigned short ENDED = 2;
-    readonly attribute unsigned short readyState;
-             attribute EventListener onended;
+    readonly attribute boolean ended;
 
+    attribute EventListener onended;
+
     // EventTarget interface
     void addEventListener(in DOMString type,
                           in EventListener listener,

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp (139597 => 139598)


--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp	2013-01-14 10:13:20 UTC (rev 139597)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp	2013-01-14 10:15:25 UTC (rev 139598)
@@ -73,7 +73,7 @@
 
 void MediaStreamTrackList::add(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionCode& ec)
 {
-    if (!m_owner || m_owner->readyState() == MediaStream::ENDED) {
+    if (!m_owner || m_owner->ended()) {
         ec = INVALID_STATE_ERR;
         return;
     }
@@ -98,7 +98,7 @@
 
 void MediaStreamTrackList::remove(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionCode& ec)
 {
-    if (!m_owner || m_owner->readyState() == MediaStream::ENDED) {
+    if (!m_owner || m_owner->ended()) {
         ec = INVALID_STATE_ERR;
         return;
     }
@@ -124,7 +124,7 @@
 
 void MediaStreamTrackList::remove(MediaStreamComponent* component)
 {
-    if (!m_owner || m_owner->readyState() == MediaStream::ENDED)
+    if (!m_owner || m_owner->ended())
         return;
 
     size_t index = notFound;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to