Title: [165248] trunk
Revision
165248
Author
[email protected]
Date
2014-03-06 21:42:57 -0800 (Thu, 06 Mar 2014)

Log Message

[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.

Source/WebCore:

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:

LayoutTests:

* fast/mediastream/RTCPeerConnection-stats.html:
* fast/mediastream/RTCPeerConnection-statsSelector.html:

Modified Paths

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() { }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to