Diff
Modified: trunk/LayoutTests/ChangeLog (165247 => 165248)
--- trunk/LayoutTests/ChangeLog 2014-03-07 05:41:16 UTC (rev 165247)
+++ trunk/LayoutTests/ChangeLog 2014-03-07 05:42:57 UTC (rev 165248)
@@ -1,3 +1,15 @@
+2014-03-06 Thiago de Barros Lacerda <[email protected]>
+
+ [WebRTC] Updating RTCPeerConnection.idl
+ https://bugs.webkit.org/show_bug.cgi?id=129804
+
+ Reviewed by Eric Carlson.
+
+ Some methods signatures were wrong, marking some arguments as optional when they are mandatory.
+
+ * fast/mediastream/RTCPeerConnection-stats.html:
+ * fast/mediastream/RTCPeerConnection-statsSelector.html:
+
2014-03-06 Andy Estes <[email protected]>
Test that the screen orientation does not change when focusing a <textarea>
Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-stats.html (165247 => 165248)
--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-stats.html 2014-03-07 05:41:16 UTC (rev 165247)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-stats.html 2014-03-07 05:42:57 UTC (rev 165248)
@@ -40,7 +40,8 @@
stream = s;
pc.addStream(stream);
- shouldNotThrow('pc.getStats(statsHandler2)');
+ // FIXME: Test getStats error callback: https://webkit.org/b/129860
+ shouldNotThrow('pc.getStats(statsHandler2, statsError)');
}
function statsHandler2(status)
@@ -71,9 +72,16 @@
finishJSTest();
}
+ function statsError()
+ {
+ testFailed("Error in getStats.")
+ finishJSTest();
+ }
+
var startTime = new Date().getTime();
shouldNotThrow("pc = new webkitRTCPeerConnection({iceServers:[{urls:'stun:foo.com'}]})");
- shouldNotThrow('pc.getStats(statsHandler1)');
+ // FIXME: Test getStats error callback: https://webkit.org/b/129860
+ shouldNotThrow('pc.getStats(statsHandler1, statsError)');
window.jsTestIsAsync = true;
window.successfullyParsed = true;
Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-statsSelector.html (165247 => 165248)
--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-statsSelector.html 2014-03-07 05:41:16 UTC (rev 165247)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-statsSelector.html 2014-03-07 05:42:57 UTC (rev 165248)
@@ -12,6 +12,12 @@
var timestamp;
var local;
+ function statsError()
+ {
+ testFailed("Error in getStats.")
+ finishJSTest();
+ }
+
function getUserMedia(dictionary, callback) {
try {
navigator.webkitGetUserMedia(dictionary, callback, error);
@@ -31,7 +37,8 @@
stream = s;
pc.addStream(stream);
- shouldNotThrow('pc.getStats(statsHandler2, pc.getLocalStreams()[0].getVideoTracks()[0])');
+ // FIXME: Test getStats error callback: https://webkit.org/b/129860
+ shouldNotThrow('pc.getStats(statsHandler2, statsError, pc.getLocalStreams()[0].getVideoTracks()[0])');
}
function statsHandler2(status)
Modified: trunk/Source/WebCore/ChangeLog (165247 => 165248)
--- trunk/Source/WebCore/ChangeLog 2014-03-07 05:41:16 UTC (rev 165247)
+++ trunk/Source/WebCore/ChangeLog 2014-03-07 05:42:57 UTC (rev 165248)
@@ -1,5 +1,27 @@
2014-03-06 Thiago de Barros Lacerda <[email protected]>
+ [WebRTC] Updating RTCPeerConnection.idl
+ https://bugs.webkit.org/show_bug.cgi?id=129804
+
+ Reviewed by Eric Carlson.
+
+ Some methods signatures were wrong, marking some arguments as optional when they are mandatory.
+
+ Existing tests were updated.
+
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::getStats):
+ * Modules/mediastream/RTCPeerConnection.h:
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * Modules/mediastream/RTCStatsRequestImpl.cpp:
+ (WebCore::RTCStatsRequestImpl::create):
+ (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
+ (WebCore::RTCStatsRequestImpl::requestFailed):
+ * Modules/mediastream/RTCStatsRequestImpl.h:
+ * platform/mediastream/RTCStatsRequest.h:
+
+2014-03-06 Thiago de Barros Lacerda <[email protected]>
+
[WebRTC] Updating RTCIceServer to match spec
https://bugs.webkit.org/show_bug.cgi?id=129844
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp (165247 => 165248)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp 2014-03-07 05:41:16 UTC (rev 165247)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp 2014-03-07 05:42:57 UTC (rev 165248)
@@ -521,9 +521,9 @@
return nullptr;
}
-void RTCPeerConnection::getStats(PassRefPtr<RTCStatsCallback> successCallback, PassRefPtr<MediaStreamTrack> selector)
+void RTCPeerConnection::getStats(PassRefPtr<RTCStatsCallback> successCallback, PassRefPtr<RTCPeerConnectionErrorCallback> errorCallback, PassRefPtr<MediaStreamTrack> selector)
{
- RefPtr<RTCStatsRequestImpl> statsRequest = RTCStatsRequestImpl::create(scriptExecutionContext(), successCallback, selector);
+ RefPtr<RTCStatsRequestImpl> statsRequest = RTCStatsRequestImpl::create(scriptExecutionContext(), successCallback, errorCallback, selector);
// FIXME: Add passing selector as part of the statsRequest.
m_peerHandler->getStats(statsRequest.release());
}
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h (165247 => 165248)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h 2014-03-07 05:41:16 UTC (rev 165247)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h 2014-03-07 05:42:57 UTC (rev 165248)
@@ -93,7 +93,7 @@
void removeStream(PassRefPtr<MediaStream>, ExceptionCode&);
- void getStats(PassRefPtr<RTCStatsCallback> successCallback, PassRefPtr<MediaStreamTrack> selector);
+ void getStats(PassRefPtr<RTCStatsCallback> successCallback, PassRefPtr<RTCPeerConnectionErrorCallback>, PassRefPtr<MediaStreamTrack> selector);
PassRefPtr<RTCDataChannel> createDataChannel(String label, const Dictionary& dataChannelDict, ExceptionCode&);
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl (165247 => 165248)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl 2014-03-07 05:41:16 UTC (rev 165247)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl 2014-03-07 05:42:57 UTC (rev 165248)
@@ -39,19 +39,19 @@
EventTarget,
InterfaceName=webkitRTCPeerConnection,
] interface RTCPeerConnection {
- [RaisesException] void createOffer(RTCSessionDescriptionCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback, optional Dictionary offerOptions);
+ [RaisesException] void createOffer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, optional Dictionary offerOptions);
- [RaisesException] void createAnswer(RTCSessionDescriptionCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback, optional Dictionary answerOptions);
+ [RaisesException] void createAnswer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, optional Dictionary answerOptions);
- [RaisesException] void setLocalDescription(RTCSessionDescription description, [Default=Undefined] optional VoidCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback);
+ [RaisesException] void setLocalDescription(RTCSessionDescription description, VoidCallback successCallback, RTCPeerConnectionErrorCallback failureCallback);
[GetterRaisesException] readonly attribute RTCSessionDescription localDescription;
- [RaisesException] void setRemoteDescription(RTCSessionDescription description, [Default=Undefined] optional VoidCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback);
+ [RaisesException] void setRemoteDescription(RTCSessionDescription description, VoidCallback successCallback, RTCPeerConnectionErrorCallback failureCallback);
[GetterRaisesException] readonly attribute RTCSessionDescription remoteDescription;
readonly attribute DOMString signalingState;
- [RaisesException] void updateIce(optional Dictionary configuration);
+ [RaisesException] void updateIce(Dictionary configuration);
[RaisesException] void addIceCandidate(RTCIceCandidate candidate, VoidCallback successCallback, RTCPeerConnectionErrorCallback failureCallback);
@@ -65,7 +65,7 @@
[StrictTypeChecking, RaisesException] void addStream(MediaStream stream);
[StrictTypeChecking, RaisesException] void removeStream(MediaStream stream);
- void getStats(RTCStatsCallback successCallback, [Default=Undefined] optional MediaStreamTrack selector);
+ void getStats(RTCStatsCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, [Default=Undefined] optional MediaStreamTrack selector);
[RaisesException] RTCDataChannel createDataChannel([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString label, optional Dictionary options);
Modified: trunk/Source/WebCore/Modules/mediastream/RTCStatsRequestImpl.cpp (165247 => 165248)
--- trunk/Source/WebCore/Modules/mediastream/RTCStatsRequestImpl.cpp 2014-03-07 05:41:16 UTC (rev 165247)
+++ trunk/Source/WebCore/Modules/mediastream/RTCStatsRequestImpl.cpp 2014-03-07 05:42:57 UTC (rev 165248)
@@ -29,22 +29,24 @@
#include "RTCStatsRequestImpl.h"
#include "MediaStreamTrack.h"
+#include "RTCPeerConnectionErrorCallback.h"
#include "RTCStatsCallback.h"
#include "RTCStatsRequest.h"
#include "RTCStatsResponse.h"
namespace WebCore {
-PassRefPtr<RTCStatsRequestImpl> RTCStatsRequestImpl::create(ScriptExecutionContext* context, PassRefPtr<RTCStatsCallback> callback, PassRefPtr<MediaStreamTrack> selector)
+PassRefPtr<RTCStatsRequestImpl> RTCStatsRequestImpl::create(ScriptExecutionContext* context, PassRefPtr<RTCStatsCallback> successCallback, PassRefPtr<RTCPeerConnectionErrorCallback> errorCallback, PassRefPtr<MediaStreamTrack> selector)
{
- RefPtr<RTCStatsRequestImpl> request = adoptRef(new RTCStatsRequestImpl(context, callback, selector));
+ RefPtr<RTCStatsRequestImpl> request = adoptRef(new RTCStatsRequestImpl(context, successCallback, errorCallback, selector));
request->suspendIfNeeded();
return request.release();
}
-RTCStatsRequestImpl::RTCStatsRequestImpl(ScriptExecutionContext* context, PassRefPtr<RTCStatsCallback> callback, PassRefPtr<MediaStreamTrack> selector)
+RTCStatsRequestImpl::RTCStatsRequestImpl(ScriptExecutionContext* context, PassRefPtr<RTCStatsCallback> successCallback, PassRefPtr<RTCPeerConnectionErrorCallback> errorCallback, PassRefPtr<MediaStreamTrack> selector)
: ActiveDOMObject(context)
- , m_successCallback(callback)
+ , m_successCallback(successCallback)
+ , m_errorCallback(errorCallback)
, m_track(selector)
{
}
@@ -76,6 +78,14 @@
clear();
}
+void RTCStatsRequestImpl::requestFailed(const String& error)
+{
+ if (m_errorCallback)
+ m_errorCallback->handleEvent(DOMError::create(error).get());
+
+ clear();
+}
+
void RTCStatsRequestImpl::stop()
{
clear();
Modified: trunk/Source/WebCore/Modules/mediastream/RTCStatsRequestImpl.h (165247 => 165248)
--- trunk/Source/WebCore/Modules/mediastream/RTCStatsRequestImpl.h 2014-03-07 05:41:16 UTC (rev 165247)
+++ trunk/Source/WebCore/Modules/mediastream/RTCStatsRequestImpl.h 2014-03-07 05:42:57 UTC (rev 165248)
@@ -37,10 +37,11 @@
namespace WebCore {
class RTCStatsCallback;
+class RTCPeerConnectionErrorCallback;
class RTCStatsRequestImpl : public RTCStatsRequest, public ActiveDOMObject {
public:
- static PassRefPtr<RTCStatsRequestImpl> create(ScriptExecutionContext*, PassRefPtr<RTCStatsCallback>, PassRefPtr<MediaStreamTrack>);
+ static PassRefPtr<RTCStatsRequestImpl> create(ScriptExecutionContext*, PassRefPtr<RTCStatsCallback>, PassRefPtr<RTCPeerConnectionErrorCallback>, PassRefPtr<MediaStreamTrack>);
virtual ~RTCStatsRequestImpl();
virtual PassRefPtr<RTCStatsResponseBase> createResponse() override;
@@ -48,16 +49,18 @@
virtual MediaStreamTrack* track() override;
virtual void requestSucceeded(PassRefPtr<RTCStatsResponseBase>) override;
+ virtual void requestFailed(const String&) override;
// ActiveDOMObject
virtual void stop() override;
private:
- RTCStatsRequestImpl(ScriptExecutionContext*, PassRefPtr<RTCStatsCallback>, PassRefPtr<MediaStreamTrack>);
+ RTCStatsRequestImpl(ScriptExecutionContext*, PassRefPtr<RTCStatsCallback>, PassRefPtr<RTCPeerConnectionErrorCallback>, PassRefPtr<MediaStreamTrack>);
void clear();
RefPtr<RTCStatsCallback> m_successCallback;
+ RefPtr<RTCPeerConnectionErrorCallback> m_errorCallback;
RefPtr<MediaStreamTrack> m_track;
};
Modified: trunk/Source/WebCore/platform/mediastream/RTCStatsRequest.h (165247 => 165248)
--- trunk/Source/WebCore/platform/mediastream/RTCStatsRequest.h 2014-03-07 05:41:16 UTC (rev 165247)
+++ trunk/Source/WebCore/platform/mediastream/RTCStatsRequest.h 2014-03-07 05:42:57 UTC (rev 165248)
@@ -50,6 +50,7 @@
virtual bool hasSelector() = 0;
virtual MediaStreamTrack* track() = 0;
virtual void requestSucceeded(PassRefPtr<RTCStatsResponseBase>) = 0;
+ virtual void requestFailed(const String&) = 0;
protected:
RTCStatsRequest() { }