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;