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 From LayoutTests/fast/mediastream/RTCPeerConnection-addIceCandidate.html: [...] .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.
> *** 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. This should be working. I'll check that.
Created attachment 305658 [details] Patch
Comment on attachment 305658 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=305658&action=review > Source/WebCore/ChangeLog:3 > + [WebRTC] After r214441 addIceCandidate not longer accepts an RTCIceCandidateInit dictionary Typo: no* longer
Created attachment 305701 [details] Patch for landing
Comment on attachment 305701 [details] Patch for landing Clearing flags on attachment: 305701 Committed r214527: <http://trac.webkit.org/changeset/214527>
All reviewed patches have been landed. Closing bug.
Committed r214535: <http://trac.webkit.org/changeset/214535>