Diff
Modified: trunk/LayoutTests/ChangeLog (139617 => 139618)
--- trunk/LayoutTests/ChangeLog 2013-01-14 17:25:04 UTC (rev 139617)
+++ trunk/LayoutTests/ChangeLog 2013-01-14 17:28:55 UTC (rev 139618)
@@ -1,3 +1,13 @@
+2013-01-14 Tommy Widenflycht <tom...@google.com>
+
+ MediaStream API: Update MediaStreamTrack::readyState to match specification
+ https://bugs.webkit.org/show_bug.cgi?id=106781
+
+ Reviewed by Adam Barth.
+
+ * fast/mediastream/MediaStreamTrack-expected.txt:
+ * fast/mediastream/MediaStreamTrack.html:
+
2013-01-14 Andrey Lushnikov <lushni...@chromium.org>
Web Inspector: add text editor formatter test
Modified: trunk/LayoutTests/fast/mediastream/MediaStreamTrack-expected.txt (139617 => 139618)
--- trunk/LayoutTests/fast/mediastream/MediaStreamTrack-expected.txt 2013-01-14 17:25:04 UTC (rev 139617)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamTrack-expected.txt 2013-01-14 17:28:55 UTC (rev 139618)
@@ -4,9 +4,13 @@
PASS getUserMedia succeeded.
+PASS track.readyState is "live"
PASS Track onmute callback succeeded.
+PASS track.readyState is "muted"
PASS Track onunmute callback succeeded.
+PASS track.readyState is "live"
PASS Track onended callback succeeded.
+PASS track.readyState is "ended"
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/LayoutTests/fast/mediastream/MediaStreamTrack.html (139617 => 139618)
--- trunk/LayoutTests/fast/mediastream/MediaStreamTrack.html 2013-01-14 17:25:04 UTC (rev 139617)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamTrack.html 2013-01-14 17:28:55 UTC (rev 139618)
@@ -34,18 +34,24 @@
function onTrackEnded() {
testPassed('Track onended callback succeeded.');
+ shouldBeEqualToString('track.readyState', 'ended');
+
finishJSTest();
}
function onTrackUnmute() {
testPassed('Track onunmute callback succeeded.');
+ shouldBeEqualToString('track.readyState', 'live');
+
stream.stop();
}
function onTrackMute() {
testPassed('Track onmute callback succeeded.');
+ shouldBeEqualToString('track.readyState', 'muted');
+
track.enabled = true;
}
@@ -55,6 +61,8 @@
stream = s;
track = stream.getVideoTracks()[0];
+ shouldBeEqualToString('track.readyState', 'live');
+
track._onunmute_ = onTrackUnmute;
track._onmute_ = onTrackMute;
track._onended_ = onTrackEnded;
Modified: trunk/Source/WebCore/ChangeLog (139617 => 139618)
--- trunk/Source/WebCore/ChangeLog 2013-01-14 17:25:04 UTC (rev 139617)
+++ trunk/Source/WebCore/ChangeLog 2013-01-14 17:28:55 UTC (rev 139618)
@@ -1,3 +1,24 @@
+2013-01-14 Tommy Widenflycht <tom...@google.com>
+
+ MediaStream API: Update MediaStreamTrack::readyState to match specification
+ https://bugs.webkit.org/show_bug.cgi?id=106781
+
+ Reviewed by Adam Barth.
+
+ MediaStreamTrack::readyState now returns a string like the rest of the RTC classes.
+
+ Existing tests expanded to cover patch.
+
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::processTrack):
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::readyState):
+ (WebCore::MediaStreamTrack::ended):
+ (WebCore):
+ * Modules/mediastream/MediaStreamTrack.h:
+ (MediaStreamTrack):
+ * Modules/mediastream/MediaStreamTrack.idl:
+
2013-01-14 Vsevolod Vlasov <vse...@chromium.org>
Web Inspector: Audit Tool's False Positive on Set-Cookie header
Modified: trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp (139617 => 139618)
--- trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp 2013-01-14 17:25:04 UTC (rev 139617)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp 2013-01-14 17:28:55 UTC (rev 139618)
@@ -48,7 +48,7 @@
static void processTrack(MediaStreamTrack* track, MediaStreamSourceVector& sourceVector)
{
- if (track->readyState() == MediaStreamTrack::ENDED)
+ if (track->ended())
return;
MediaStreamSource* source = track->component()->source();
Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp (139617 => 139618)
--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp 2013-01-14 17:25:04 UTC (rev 139617)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp 2013-01-14 17:28:55 UTC (rev 139618)
@@ -99,24 +99,30 @@
MediaStreamCenter::instance().didSetMediaStreamTrackEnabled(m_streamDescriptor.get(), m_component.get());
}
-MediaStreamTrack::ReadyState MediaStreamTrack::readyState() const
+String MediaStreamTrack::readyState() const
{
if (m_stopped)
- return ENDED;
+ return ASCIILiteral("ended");
switch (m_component->source()->readyState()) {
case MediaStreamSource::ReadyStateLive:
- return LIVE;
+ return ASCIILiteral("live");
case MediaStreamSource::ReadyStateMuted:
- return MUTED;
+ return ASCIILiteral("muted");
case MediaStreamSource::ReadyStateEnded:
- return ENDED;
+ return ASCIILiteral("ended");
}
ASSERT_NOT_REACHED();
- return ENDED;
+ return String();
}
+bool MediaStreamTrack::ended() const
+{
+ return m_stopped || (m_component->source()->readyState() == MediaStreamSource::ReadyStateEnded);
+}
+
+
void MediaStreamTrack::sourceChangedState()
{
if (m_stopped)
Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h (139617 => 139618)
--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h 2013-01-14 17:25:04 UTC (rev 139617)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h 2013-01-14 17:28:55 UTC (rev 139618)
@@ -43,12 +43,6 @@
class MediaStreamTrack : public RefCounted<MediaStreamTrack>, public ActiveDOMObject, public EventTarget, public MediaStreamSource::Observer {
public:
- enum ReadyState {
- LIVE = 0,
- MUTED = 1,
- ENDED = 2
- };
-
static PassRefPtr<MediaStreamTrack> create(ScriptExecutionContext*, PassRefPtr<MediaStreamDescriptor>, MediaStreamComponent*);
virtual ~MediaStreamTrack();
@@ -59,7 +53,7 @@
bool enabled() const;
void setEnabled(bool);
- ReadyState readyState() const;
+ String readyState() const;
DEFINE_ATTRIBUTE_EVENT_LISTENER(mute);
DEFINE_ATTRIBUTE_EVENT_LISTENER(unmute);
@@ -67,6 +61,7 @@
MediaStreamDescriptor* streamDescriptor();
MediaStreamComponent* component();
+ bool ended() const;
// EventTarget
virtual const AtomicString& interfaceName() const OVERRIDE;
Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl (139617 => 139618)
--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl 2013-01-14 17:25:04 UTC (rev 139617)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl 2013-01-14 17:28:55 UTC (rev 139618)
@@ -32,10 +32,7 @@
readonly attribute DOMString label;
attribute boolean enabled;
- const unsigned short LIVE = 0;
- const unsigned short MUTED = 1;
- const unsigned short ENDED = 2;
- readonly attribute unsigned short readyState;
+ readonly attribute DOMString readyState;
attribute EventListener onmute;
attribute EventListener onunmute;