Diff
Modified: trunk/LayoutTests/ChangeLog (139695 => 139696)
--- trunk/LayoutTests/ChangeLog 2013-01-15 01:31:34 UTC (rev 139695)
+++ trunk/LayoutTests/ChangeLog 2013-01-15 01:36:32 UTC (rev 139696)
@@ -1,3 +1,10 @@
+2013-01-14 Levi Weintraub <[email protected]>
+
+ Speculatively rolling out r139618. Appears to be causing sporadic crashes on Debug bots.
+
+ * fast/mediastream/MediaStreamTrack-expected.txt:
+ * fast/mediastream/MediaStreamTrack.html:
+
2013-01-14 Dima Gorbik <[email protected]>
Implement element type selectors for the WebVTT ::cue pseudo class
Modified: trunk/LayoutTests/fast/mediastream/MediaStreamTrack-expected.txt (139695 => 139696)
--- trunk/LayoutTests/fast/mediastream/MediaStreamTrack-expected.txt 2013-01-15 01:31:34 UTC (rev 139695)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamTrack-expected.txt 2013-01-15 01:36:32 UTC (rev 139696)
@@ -4,13 +4,9 @@
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 (139695 => 139696)
--- trunk/LayoutTests/fast/mediastream/MediaStreamTrack.html 2013-01-15 01:31:34 UTC (rev 139695)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamTrack.html 2013-01-15 01:36:32 UTC (rev 139696)
@@ -34,24 +34,18 @@
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;
}
@@ -61,8 +55,6 @@
stream = s;
track = stream.getVideoTracks()[0];
- shouldBeEqualToString('track.readyState', 'live');
-
track._onunmute_ = onTrackUnmute;
track._onmute_ = onTrackMute;
track._onended_ = onTrackEnded;
Modified: trunk/Source/WebCore/ChangeLog (139695 => 139696)
--- trunk/Source/WebCore/ChangeLog 2013-01-15 01:31:34 UTC (rev 139695)
+++ trunk/Source/WebCore/ChangeLog 2013-01-15 01:36:32 UTC (rev 139696)
@@ -1,5 +1,16 @@
2013-01-14 Levi Weintraub <[email protected]>
+ Rolling out r139618. Appears to be causing sporadic crashes on Debug bots.
+
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::processTrack):
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::readyState):
+ * Modules/mediastream/MediaStreamTrack.h:
+ * Modules/mediastream/MediaStreamTrack.idl:
+
+2013-01-14 Levi Weintraub <[email protected]>
+
Rolling out r139678. This triggered a number of WebAudio crashes on Debug bots.
* platform/audio/chromium/AudioDestinationChromium.cpp:
Modified: trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp (139695 => 139696)
--- trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp 2013-01-15 01:31:34 UTC (rev 139695)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp 2013-01-15 01:36:32 UTC (rev 139696)
@@ -48,7 +48,7 @@
static void processTrack(MediaStreamTrack* track, MediaStreamSourceVector& sourceVector)
{
- if (track->ended())
+ if (track->readyState() == MediaStreamTrack::ENDED)
return;
MediaStreamSource* source = track->component()->source();
Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp (139695 => 139696)
--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp 2013-01-15 01:31:34 UTC (rev 139695)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp 2013-01-15 01:36:32 UTC (rev 139696)
@@ -99,30 +99,24 @@
MediaStreamCenter::instance().didSetMediaStreamTrackEnabled(m_streamDescriptor.get(), m_component.get());
}
-String MediaStreamTrack::readyState() const
+MediaStreamTrack::ReadyState MediaStreamTrack::readyState() const
{
if (m_stopped)
- return ASCIILiteral("ended");
+ return ENDED;
switch (m_component->source()->readyState()) {
case MediaStreamSource::ReadyStateLive:
- return ASCIILiteral("live");
+ return LIVE;
case MediaStreamSource::ReadyStateMuted:
- return ASCIILiteral("muted");
+ return MUTED;
case MediaStreamSource::ReadyStateEnded:
- return ASCIILiteral("ended");
+ return ENDED;
}
ASSERT_NOT_REACHED();
- return String();
+ return ENDED;
}
-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 (139695 => 139696)
--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h 2013-01-15 01:31:34 UTC (rev 139695)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h 2013-01-15 01:36:32 UTC (rev 139696)
@@ -43,6 +43,12 @@
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();
@@ -53,7 +59,7 @@
bool enabled() const;
void setEnabled(bool);
- String readyState() const;
+ ReadyState readyState() const;
DEFINE_ATTRIBUTE_EVENT_LISTENER(mute);
DEFINE_ATTRIBUTE_EVENT_LISTENER(unmute);
@@ -61,7 +67,6 @@
MediaStreamDescriptor* streamDescriptor();
MediaStreamComponent* component();
- bool ended() const;
// EventTarget
virtual const AtomicString& interfaceName() const OVERRIDE;
Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl (139695 => 139696)
--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl 2013-01-15 01:31:34 UTC (rev 139695)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl 2013-01-15 01:36:32 UTC (rev 139696)
@@ -32,7 +32,10 @@
readonly attribute DOMString label;
attribute boolean enabled;
- readonly attribute DOMString readyState;
+ const unsigned short LIVE = 0;
+ const unsigned short MUTED = 1;
+ const unsigned short ENDED = 2;
+ readonly attribute unsigned short readyState;
attribute EventListener onmute;
attribute EventListener onunmute;