Diff
Modified: trunk/LayoutTests/ChangeLog (144747 => 144748)
--- trunk/LayoutTests/ChangeLog 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/LayoutTests/ChangeLog 2013-03-05 11:34:38 UTC (rev 144748)
@@ -1,3 +1,14 @@
+2013-03-05 Tommy Widenflycht <[email protected]>
+
+ MediaStream API: Add the getStreamById method on RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=111311
+
+ Reviewed by Adam Barth.
+
+ * fast/mediastream/MediaStream-add-remove-tracks.html:
+ * fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt:
+ * fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
+
2013-03-05 Antoine Quint <[email protected]>
Web Inspector: allow retrieval of composited layers in a given DOM subtree
Modified: trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html (144747 => 144748)
--- trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html 2013-03-05 11:34:38 UTC (rev 144748)
@@ -83,7 +83,7 @@
// (re-)add tracks
tryAddTrack(stream1, audioTrack);
- tryAddTrack(stream1, videoTrack);
+ tryAddTrack(stream1, videoTrack);
// verify added tracks
shouldBe('stream1.getAudioTracks().length', '1');
Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt (144747 => 144748)
--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt 2013-03-05 11:34:38 UTC (rev 144748)
@@ -5,7 +5,10 @@
PASS Got a stream.
PASS Got another stream.
+PASS stream.id === stream2.id is false
PASS onAddStream was called.
+PASS pc.getStreamById(stream.id) is stream
+PASS pc.getStreamById(stream2.id) is null
PASS pc.getLocalStreams().length is 1
PASS pc.getLocalStreams().length is 1
PASS onRemoveStream was called.
Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-AddRemoveStream.html (144747 => 144748)
--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-AddRemoveStream.html 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-AddRemoveStream.html 2013-03-05 11:34:38 UTC (rev 144748)
@@ -25,8 +25,8 @@
}
}
-function onErroneousRemoveStream() {
- testFailed('onErroneousRemoveStream was called.');
+function onErroneousNegotiationNeeded() {
+ testFailed('onErroneousNegotiationNeeded was called.');
finishJSTest();
}
@@ -38,23 +38,19 @@
finishJSTest();
}
-function onErroneousAddStream() {
- testFailed('onErroneousAddStream was called.');
- finishJSTest();
-}
-
function onAddStream(event) {
testPassed('onAddStream was called.');
- pc._onaddstream_ = onErroneousAddStream;
+ shouldBe('pc.getStreamById(stream.id)', 'stream');
+ shouldBe('pc.getStreamById(stream2.id)', 'null');
+
+ pc._onnegotiationneeded_ = onErroneousNegotiationNeeded;
pc.addStream(stream);
shouldBe('pc.getLocalStreams().length', '1');
-
- pc._onremovestream_ = onErroneousRemoveStream;
pc.removeStream(stream2);
shouldBe('pc.getLocalStreams().length', '1');
- pc._onremovestream_ = onRemoveStream;
+ pc._onnegotiationneeded_ = onRemoveStream;
pc.removeStream(stream);
}
@@ -62,9 +58,10 @@
testPassed('Got another stream.');
stream2 = s;
- pc = new webkitRTCPeerConnection(null, null);
+ shouldBeFalse("stream.id === stream2.id");
- pc._onaddstream_ = onAddStream;
+ pc = new webkitRTCPeerConnection(null, null);
+ pc._onnegotiationneeded_ = onAddStream;
pc.addStream(stream);
}
Modified: trunk/LayoutTests/platform/chromium/TestExpectations (144747 => 144748)
--- trunk/LayoutTests/platform/chromium/TestExpectations 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-03-05 11:34:38 UTC (rev 144748)
@@ -4412,7 +4412,4 @@
# These test are failing since r144519
webkit.org/b/109769 [ Mac ] fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html [ Failure ]
-webkit.org/b/109769 [ Mac ] fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html [ Failure ]
-
-# New crashing test since r144610
-webkit.org/b/111410 [ Debug ] fast/mediastream/MediaStream-add-remove-tracks.html [ Crash ]
+webkit.org/b/109769 [ Mac ] fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html [ Failure ]
Modified: trunk/Source/Platform/ChangeLog (144747 => 144748)
--- trunk/Source/Platform/ChangeLog 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Source/Platform/ChangeLog 2013-03-05 11:34:38 UTC (rev 144748)
@@ -1,3 +1,16 @@
+2013-03-05 Tommy Widenflycht <[email protected]>
+
+ MediaStream API: Add the getStreamById method on RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=111311
+
+ Reviewed by Adam Barth.
+
+ Added an initial initialize method which doesn't take an id;
+ the id will be generated for you.
+
+ * chromium/public/WebMediaStream.h:
+ (WebMediaStream):
+
2013-03-04 Chris Rogers <[email protected]>
Add audio hardware support for multi-channel by implementing AudioDestinationNode.maxChannelCount
Modified: trunk/Source/Platform/chromium/public/WebMediaStream.h (144747 => 144748)
--- trunk/Source/Platform/chromium/public/WebMediaStream.h 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Source/Platform/chromium/public/WebMediaStream.h 2013-03-05 11:34:38 UTC (rev 144748)
@@ -62,6 +62,7 @@
// DEPRECATED
WEBKIT_EXPORT void initialize(const WebString& label, const WebVector<WebMediaStreamSource>& audioSources, const WebVector<WebMediaStreamSource>& videoSources);
+ WEBKIT_EXPORT void initialize(const WebVector<WebMediaStreamTrack>& audioTracks, const WebVector<WebMediaStreamTrack>& videoTracks);
WEBKIT_EXPORT void initialize(const WebString& label, const WebVector<WebMediaStreamTrack>& audioTracks, const WebVector<WebMediaStreamTrack>& videoTracks);
WEBKIT_EXPORT void reset();
Modified: trunk/Source/WebCore/ChangeLog (144747 => 144748)
--- trunk/Source/WebCore/ChangeLog 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Source/WebCore/ChangeLog 2013-03-05 11:34:38 UTC (rev 144748)
@@ -1,3 +1,27 @@
+2013-03-05 Tommy Widenflycht <[email protected]>
+
+ MediaStream API: Add the getStreamById method on RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=111311
+
+ Reviewed by Adam Barth.
+
+ Adding the missing method on RTCPeerConnection defined here:
+ http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCPeerConnection-getStreamById-MediaStream-DOMString-streamId
+
+ Existing tests have been extended to cover patch.
+
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::getStreamById):
+ (WebCore):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * platform/chromium/support/WebMediaStream.cpp:
+ (WebKit::WebMediaStream::initialize):
+ (WebKit):
+ * platform/mediastream/MediaStreamSource.cpp:
+ (WebCore::MediaStreamSource::setReadyState):
+
2013-03-05 Antoine Quint <[email protected]>
Web Inspector: allow retrieval of composited layers in a given DOM subtree
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp (144747 => 144748)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp 2013-03-05 11:34:38 UTC (rev 144748)
@@ -431,6 +431,21 @@
return m_remoteStreams;
}
+MediaStream* RTCPeerConnection::getStreamById(const String& streamId)
+{
+ for (MediaStreamVector::iterator iter = m_localStreams.begin(); iter != m_localStreams.end(); ++iter) {
+ if ((*iter)->id() == streamId)
+ return iter->get();
+ }
+
+ for (MediaStreamVector::iterator iter = m_remoteStreams.begin(); iter != m_remoteStreams.end(); ++iter) {
+ if ((*iter)->id() == streamId)
+ return iter->get();
+ }
+
+ return 0;
+}
+
void RTCPeerConnection::getStats(PassRefPtr<RTCStatsCallback> successCallback, PassRefPtr<MediaStreamTrack> selector)
{
RefPtr<RTCStatsRequestImpl> statsRequest = RTCStatsRequestImpl::create(scriptExecutionContext(), successCallback, selector);
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h (144747 => 144748)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h 2013-03-05 11:34:38 UTC (rev 144748)
@@ -89,6 +89,8 @@
MediaStreamVector getRemoteStreams() const;
+ MediaStream* getStreamById(const String& streamId);
+
void addStream(PassRefPtr<MediaStream>, const Dictionary& mediaConstraints, ExceptionCode&);
void removeStream(PassRefPtr<MediaStream>, ExceptionCode&);
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl (144747 => 144748)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl 2013-03-05 11:34:38 UTC (rev 144748)
@@ -68,6 +68,7 @@
sequence<MediaStream> getLocalStreams();
sequence<MediaStream> getRemoteStreams();
+ MediaStream getStreamById(DOMString streamId);
[StrictTypeChecking] void addStream(in MediaStream stream, in [Optional] Dictionary mediaConstraints)
raises(DOMException);
Modified: trunk/Source/WebCore/platform/chromium/support/WebMediaStream.cpp (144747 => 144748)
--- trunk/Source/WebCore/platform/chromium/support/WebMediaStream.cpp 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Source/WebCore/platform/chromium/support/WebMediaStream.cpp 2013-03-05 11:34:38 UTC (rev 144748)
@@ -31,6 +31,7 @@
#include "MediaStreamComponent.h"
#include "MediaStreamDescriptor.h"
#include "MediaStreamSource.h"
+#include "UUID.h"
#include <public/WebMediaStreamSource.h>
#include <public/WebMediaStreamTrack.h>
#include <public/WebString.h>
@@ -142,6 +143,11 @@
m_private = MediaStreamDescriptor::create(label, audio, video);
}
+void WebMediaStream::initialize(const WebVector<WebMediaStreamTrack>& audioTracks, const WebVector<WebMediaStreamTrack>& videoTracks)
+{
+ initialize(createCanonicalUUIDString(), audioTracks, videoTracks);
+}
+
void WebMediaStream::initialize(const WebString& label, const WebVector<WebMediaStreamTrack>& audioTracks, const WebVector<WebMediaStreamTrack>& videoTracks)
{
MediaStreamComponentVector audio, video;
Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamSource.cpp (144747 => 144748)
--- trunk/Source/WebCore/platform/mediastream/MediaStreamSource.cpp 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamSource.cpp 2013-03-05 11:34:38 UTC (rev 144748)
@@ -53,8 +53,7 @@
void MediaStreamSource::setReadyState(ReadyState readyState)
{
- ASSERT(m_readyState != ReadyStateEnded);
- if (m_readyState != readyState) {
+ if (m_readyState != ReadyStateEnded && m_readyState != readyState) {
m_readyState = readyState;
for (Vector<Observer*>::iterator i = m_observers.begin(); i != m_observers.end(); ++i)
(*i)->sourceChangedState();
Modified: trunk/Tools/ChangeLog (144747 => 144748)
--- trunk/Tools/ChangeLog 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Tools/ChangeLog 2013-03-05 11:34:38 UTC (rev 144748)
@@ -1,3 +1,18 @@
+2013-03-05 Tommy Widenflycht <[email protected]>
+
+ MediaStream API: Add the getStreamById method on RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=111311
+
+ Reviewed by Adam Barth.
+
+ Changing mocks to be more realistic.
+
+ * DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp:
+ (WebTestRunner::MockWebRTCPeerConnectionHandler::addStream):
+ (WebTestRunner::MockWebRTCPeerConnectionHandler::removeStream):
+ * DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp:
+ (WebTestRunner::WebUserMediaClientMock::requestUserMedia):
+
2013-03-05 Jochen Eisinger <[email protected]>
Add content shell bots to garden-o-matic for general failurse
Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp (144747 => 144748)
--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp 2013-03-05 11:34:38 UTC (rev 144748)
@@ -255,16 +255,14 @@
bool MockWebRTCPeerConnectionHandler::addStream(const WebMediaStream& stream, const WebMediaConstraints&)
{
- m_streamCount += 1;
- m_client->didAddRemoteStream(stream);
+ ++m_streamCount;
m_client->negotiationNeeded();
return true;
}
void MockWebRTCPeerConnectionHandler::removeStream(const WebMediaStream& stream)
{
- m_streamCount -= 1;
- m_client->didRemoveRemoteStream(stream);
+ --m_streamCount;
m_client->negotiationNeeded();
}
Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp (144747 => 144748)
--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp 2013-03-05 11:31:28 UTC (rev 144747)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp 2013-03-05 11:34:38 UTC (rev 144748)
@@ -121,7 +121,7 @@
}
WebMediaStream stream;
- stream.initialize("foobar", audioTracks, videoTracks);
+ stream.initialize(audioTracks, videoTracks);
stream.setExtraData(new MockExtraData());