[Webkit-unassigned] [Bug 170192] New: [WebRTC] After r214441 addIceCandidate not longer accepts an RTCIceCandidateInit dictionary

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Mar 28 12:56:54 PDT 2017


https://bugs.webkit.org/show_bug.cgi?id=170192

            Bug ID: 170192
           Summary: [WebRTC] After r214441 addIceCandidate not longer
                    accepts an RTCIceCandidateInit dictionary
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Media Elements
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: clopez at igalia.com
                CC: alex at igalia.com, aperez at igalia.com,
                    bugs-noreply at webkitgtk.org, eric.carlson at apple.com,
                    youennf at gmail.com
            Blocks: 170118

I have detected this layout test failure on the WebKitGTK+ (OpenWebRTC) port caused by r214441 <https://trac.webkit.org/r214441>


$ diff -U100 -u LayoutTests/platform/gtk/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt layout-test-results/fast/mediastream/RTCPeerConnection-addIceCandidate-actual.txt 
--- LayoutTests/platform/gtk/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt    2017-03-16 17:49:20.780620966 +0100
+++ layout-test-results/fast/mediastream/RTCPeerConnection-addIceCandidate-actual.txt   2017-03-28 21:30:45.797590203 +0200
@@ -1,34 +1,34 @@
 Test behavior of RTCPeerConnection.addIceCandidate

 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".



 *** A remote description is needed before a candidate can be added
 PASS pc.remoteDescription is null
 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: 'foo', sdpMid: 0})) rejected with InvalidStateError (DOM Exception 11): No remote description set
 PASS Remote description set

 *** Define sdpMid, badSdpMid, sdpMLineIndex and badSdpMLineIndex for testing
 PASS sdpMLineIndex is not badSdpMLineIndex
 PASS sdpMid is not null
 PASS sdpMid is not badSdpMid
 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: validCandidate, sdpMid: badSdpMid})) rejected with OperationError (DOM Exception 34): sdpMid did not match any media description
 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: validCandidate, sdpMLineIndex: badSdpMLineIndex})) rejected with OperationError (DOM Exception 34): sdpMLineIndex is out of range
 *** A (bad) sdpMid takes precedesce over valid sdpMLineIndex
 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: validCandidate, sdpMid: badSdpMid, sdpMLineIndex: sdpMLineIndex})) rejected with OperationError (DOM Exception 34): sdpMid did not match any media description
 *** Test bad candidate content with valid sdpMid
 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: 'bad content', sdpMid: sdpMid})) rejected with OperationError (DOM Exception 34): Invalid candidate content
 *** Test bad candidate content with valid sdpMLineIndex
 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: 'bad content', sdpMLineIndex: sdpMLineIndex})) rejected with OperationError (DOM Exception 34): Invalid candidate content

 *** Test some OK input
-PASS promise pc.addIceCandidate({candidate: validCandidate, sdpMid: sdpMid}) fulfilled with undefined
+FAIL promise pc.addIceCandidate({candidate: validCandidate, sdpMid: sdpMid}) rejected unexpectedly.
 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: validCandidate, sdpMLineIndex: sdpMLineIndex})) fulfilled with undefined
 *** A valid sdpMid takes precedesce over a bad sdpMLineIndex
 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: validCandidate, sdpMid: sdpMid, sdpMLineIndex: badSdpMLineIndex})) fulfilled with undefined
 PASS End of test promise chain
 PASS successfullyParsed is true

 TEST COMPLETE



Note that the GTK port has a different expectation for this test than the mac port.


The test tries to call RTCPeerConnection.addIceCandidate() passing a Dictionary with some of the values allowed as per the definition of RTCIceCandidateInit here: https://www.w3.org/TR/webrtc/#dom-rtcicecandidateinit


More information about the webkit-unassigned mailing list