No subject


Tue May 3 15:05:30 PDT 2016


[...]
            .then(function () {
                debug("<br>*** Test some OK input");
                // Testing passing a RTCIceCandidateInit
                return promiseShouldResolve("pc.addIceCandidate({candidate: validCandidate, sdpMid: sdpMid})");
[...]

My understanding is that the promise should work. And it was working before r214441.
I double-checked it: reverting r214441 locally makes the test pass back again.


Referenced Bugs:

https://bugs.webkit.org/show_bug.cgi?id=170118
[Bug 170118] addIceCandidate should not throw if passed null or undefined
-- 
You are receiving this mail because:
You are the assignee for the bug.

--Boundary_(ID_NkBh0wjntrrvYwdWm+3nOw)
Date: Tue, 28 Mar 2017 12:57:16 -0700
Auto-submitted: auto-generated
MIME-version: 1.0
Content-type: text/html; CHARSET=US-ASCII
Content-transfer-encoding: 7BIT
X-Bugzilla-URL: https://bugs.webkit.org/

<html>
    <head>
      <base href="https://bugs.webkit.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [WebRTC] After r214441 addIceCandidate not longer accepts an RTCIceCandidateInit dictionary"
   href="https://bugs.webkit.org/show_bug.cgi?id=170192">170192</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[WebRTC] After r214441 addIceCandidate not longer accepts an RTCIceCandidateInit dictionary
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Nightly Build
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Media Elements
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>clopez&#64;igalia.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>alex&#64;igalia.com, aperez&#64;igalia.com, bugs-noreply&#64;webkitgtk.org, eric.carlson&#64;apple.com, youennf&#64;gmail.com
          </td>
        </tr>

        <tr>
          <th>Blocks</th>
          <td>170118
          </td>
        </tr></table>
      <p>
        <div>
        <pre>I have detected this layout test failure on the WebKitGTK+ (OpenWebRTC) port caused by r214441 &lt;<a href="https://trac.webkit.org/r214441">https://trac.webkit.org/r214441</a>&gt;


$ 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
&#64;&#64; -1,34 +1,34 &#64;&#64;
 Test behavior of RTCPeerConnection.addIceCandidate

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



 *** 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: <a href="https://www.w3.org/TR/webrtc/#dom-rtcicecandidateinit">https://www.w3.org/TR/webrtc/#dom-rtcicecandidateinit</a>



More information about the webkit-unassigned mailing list