WebRTC: RTCPeerConnection constructor argument should be optional
authornael.ouedraogo@crf.canon.fr <nael.ouedraogo@crf.canon.fr@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Dec 2016 10:24:39 +0000 (10:24 +0000)
committernael.ouedraogo@crf.canon.fr <nael.ouedraogo@crf.canon.fr@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Dec 2016 10:24:39 +0000 (10:24 +0000)
https://bugs.webkit.org/show_bug.cgi?id=164057

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Update expectation of RTCPeerConnection constructor tests.

* web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt:

Source/WebCore:

Modify RTCPeerConnection JSBuiltin constructor to allow RTCPeerConfiguration
argument to be optional.

Update existing tests.

* Modules/mediastream/RTCPeerConnection.js:
(initializeRTCPeerConnection):

LayoutTests:

Remove tests since they are duplicated with WPT tests.

* fast/mediastream/RTCPeerConnection-expected.txt:
* fast/mediastream/RTCPeerConnection.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@210017 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/mediastream/RTCPeerConnection-expected.txt
LayoutTests/fast/mediastream/RTCPeerConnection.html
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/Modules/mediastream/RTCPeerConnection.js

index 07774d0..fff8c80 100644 (file)
@@ -1,3 +1,15 @@
+2016-12-20  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
+
+        WebRTC: RTCPeerConnection constructor argument should be optional
+        https://bugs.webkit.org/show_bug.cgi?id=164057
+
+        Reviewed by Youenn Fablet.
+
+        Remove tests since they are duplicated with WPT tests.
+
+        * fast/mediastream/RTCPeerConnection-expected.txt:
+        * fast/mediastream/RTCPeerConnection.html:
+
 2016-12-19  Ryan Haddad  <ryanhaddad@apple.com>
 
         Marking http/tests/fetch/fetching-same-resource-with-diffferent-options.html as flaky on macOS.
index 88c7be5..50ced2b 100644 (file)
@@ -4,8 +4,6 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 
 PASS new RTCPeerConnection(null); threw exception TypeError: RTCPeerConnection argument must be a valid dictionary.
-PASS new RTCPeerConnection(undefined); threw exception TypeError: RTCPeerConnection argument must be a valid dictionary.
-PASS new RTCPeerConnection(); threw exception TypeError: Not enough arguments.
 PASS new RTCPeerConnection(''); threw exception TypeError: RTCPeerConnection argument must be a valid dictionary.
 PASS new RTCPeerConnection({}); did not throw exception.
 PASS new RTCPeerConnection({iceServers:[]}); did not throw exception.
index be0b588..8881a8a 100644 (file)
@@ -8,8 +8,6 @@
             description("Tests the RTCPeerConnection constructor.");
 
             shouldThrow("new RTCPeerConnection(null);");
-            shouldThrow("new RTCPeerConnection(undefined);");
-            shouldThrow("new RTCPeerConnection();");
             shouldThrow("new RTCPeerConnection('');");
             shouldNotThrow("new RTCPeerConnection({});");
             shouldNotThrow("new RTCPeerConnection({iceServers:[]});");
index a20a4f8..e8f6a98 100644 (file)
@@ -1,3 +1,14 @@
+2016-12-20  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
+
+        WebRTC: RTCPeerConnection constructor argument should be optional
+        https://bugs.webkit.org/show_bug.cgi?id=164057
+
+        Reviewed by Youenn Fablet.
+
+        Update expectation of RTCPeerConnection constructor tests.
+
+        * web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt:
+
 2016-12-16  Youenn Fablet  <youenn@apple.com>
 
         [Fetch API] Improve resource loading console logging
index abc47cb..4265d1f 100644 (file)
@@ -1,8 +1,8 @@
 
 PASS RTCPeerConnection.length 
-FAIL new RTCPeerConnection() Not enough arguments
+PASS new RTCPeerConnection() 
 FAIL new RTCPeerConnection(null) RTCPeerConnection argument must be a valid dictionary
-FAIL new RTCPeerConnection(undefined) RTCPeerConnection argument must be a valid dictionary
+PASS new RTCPeerConnection(undefined) 
 PASS new RTCPeerConnection({}) 
 PASS new RTCPeerConnection({ iceServers: null }) 
 PASS new RTCPeerConnection({ iceServers: undefined }) 
@@ -93,15 +93,15 @@ FAIL new RTCPeerConnection({ iceCandidatePoolSize: toNumberThrows }) assert_thro
       }" did not throw
 FAIL new RTCPeerConnection({ certificates: [certificate] }) RTCPeerConnection.generateCertificate is not a function. (In 'RTCPeerConnection.generateCertificate({ name: "ECDSA", namedCurve: "P-256" })', 'RTCPeerConnection.generateCertificate' is undefined)
 FAIL new RTCPeerConnection({ certificates: [expiredCertificate] }) RTCPeerConnection.generateCertificate is not a function. (In 'RTCPeerConnection.generateCertificate({ name: "ECDSA", namedCurve: "P-256", expires: 0 })', 'RTCPeerConnection.generateCertificate' is undefined)
-FAIL localDescription initial value Not enough arguments
-FAIL currentLocalDescription initial value Not enough arguments
-FAIL pendingLocalDescription initial value Not enough arguments
-FAIL remoteDescription initial value Not enough arguments
-FAIL currentRemoteDescription initial value Not enough arguments
-FAIL pendingRemoteDescription initial value Not enough arguments
-FAIL signalingState initial value Not enough arguments
-FAIL iceGatheringState initial value Not enough arguments
-FAIL iceConnectionState initial value Not enough arguments
-FAIL connectionState initial value Not enough arguments
-FAIL canTrickleIceCandidates initial value Not enough arguments
+PASS localDescription initial value 
+PASS currentLocalDescription initial value 
+PASS pendingLocalDescription initial value 
+PASS remoteDescription initial value 
+PASS currentRemoteDescription initial value 
+PASS pendingRemoteDescription initial value 
+PASS signalingState initial value 
+PASS iceGatheringState initial value 
+PASS iceConnectionState initial value 
+FAIL connectionState initial value assert_equals: expected (string) "new" but got (undefined) undefined
+FAIL canTrickleIceCandidates initial value assert_equals: expected (object) null but got (undefined) undefined
 
index 1de1bd3..72d9067 100644 (file)
@@ -1,3 +1,18 @@
+2016-12-20  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
+
+        WebRTC: RTCPeerConnection constructor argument should be optional
+        https://bugs.webkit.org/show_bug.cgi?id=164057
+
+        Reviewed by Youenn Fablet.
+
+        Modify RTCPeerConnection JSBuiltin constructor to allow RTCPeerConfiguration
+        argument to be optional.
+
+        Update existing tests.
+
+        * Modules/mediastream/RTCPeerConnection.js:
+        (initializeRTCPeerConnection):
+
 2016-12-19  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         [ES6] Enable ES6 Modules
index bde72e4..558aa85 100644 (file)
@@ -34,10 +34,9 @@ function initializeRTCPeerConnection(configuration)
 {
     "use strict";
 
-    if (arguments.length < 1)
-        @throwTypeError("Not enough arguments");
-
-    if (!@isObject(configuration))
+    if (configuration === @undefined)
+        configuration = {};
+    else if (!@isObject(configuration))
         @throwTypeError("RTCPeerConnection argument must be a valid dictionary");
 
     // FIXME: Handle errors in a better way than catching and re-throwing (http://webkit.org/b/158936)
@@ -48,7 +47,6 @@ function initializeRTCPeerConnection(configuration)
             : "Error creating RTCPeerConnection";
         @throwTypeError(message);
     }
-
     this.@operations = [];
     this.@localStreams = [];