<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[214075] trunk/LayoutTests</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/214075">214075</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2017-03-16 15:53:51 -0700 (Thu, 16 Mar 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rebase webrtc tests
https://bugs.webkit.org/show_bug.cgi?id=169791

Unreviewed.

Patch by Youenn Fablet &lt;youenn@apple.com&gt; on 2017-03-16

* TestExpectations:
* fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
* fast/mediastream/MediaStreamTrack-expected.txt:
* fast/mediastream/MediaStreamTrack-onended-expected.txt:
* fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt:
* fast/mediastream/RTCPeerConnection-events-expected.txt:
* fast/mediastream/RTCPeerConnection-media-setup-single-dialog-expected.txt:
* fast/mediastream/RTCPeerConnection-media-setup-two-dialogs-expected.txt:
* fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid-expected.txt:
* fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt:
* fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt:
* fast/mediastream/RTCPeerConnection-statsSelector-expected.txt:
* platform/mac/TestExpectations:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsTestExpectations">trunk/LayoutTests/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamMediaStreamaddremovetracksexpectedtxt">trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamMediaStreamTrackexpectedtxt">trunk/LayoutTests/fast/mediastream/MediaStreamTrack-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamMediaStreamTrackonendedexpectedtxt">trunk/LayoutTests/fast/mediastream/MediaStreamTrack-onended-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectionaddIceCandidateexpectedtxt">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectioneventsexpectedtxt">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-events-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectionmediasetupsingledialogexpectedtxt">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-single-dialog-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectionmediasetuptwodialogsexpectedtxt">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-two-dialogs-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectionremotelyassignedtransceivermidexpectedtxt">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectionsetLocalDescriptionofferexpectedtxt">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectionsetRemoteDescriptionofferexpectedtxt">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectionstatsSelectorexpectedtxt">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-statsSelector-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacTestExpectations">trunk/LayoutTests/platform/mac/TestExpectations</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/ChangeLog        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -1,3 +1,24 @@
</span><ins>+2017-03-16  Youenn Fablet  &lt;youenn@apple.com&gt;
+
+        Rebase webrtc tests
+        https://bugs.webkit.org/show_bug.cgi?id=169791
+
+        Unreviewed.
+
+        * TestExpectations:
+        * fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
+        * fast/mediastream/MediaStreamTrack-expected.txt:
+        * fast/mediastream/MediaStreamTrack-onended-expected.txt:
+        * fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt:
+        * fast/mediastream/RTCPeerConnection-events-expected.txt:
+        * fast/mediastream/RTCPeerConnection-media-setup-single-dialog-expected.txt:
+        * fast/mediastream/RTCPeerConnection-media-setup-two-dialogs-expected.txt:
+        * fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid-expected.txt:
+        * fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt:
+        * fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt:
+        * fast/mediastream/RTCPeerConnection-statsSelector-expected.txt:
+        * platform/mac/TestExpectations:
+
</ins><span class="cx"> 2017-03-16  Jiewen Tan  &lt;jiewen_tan@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [WebCrypto] Support SPKI/PKCS8 for Elliptic Curve
</span></span></pre></div>
<a id="trunkLayoutTestsTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/TestExpectations (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/TestExpectations        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/TestExpectations        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -714,21 +714,13 @@
</span><span class="cx"> [ Debug ] webrtc/peer-connection-audio-mute2.html [ Pass Failure ]
</span><span class="cx"> [ Debug ] webrtc/peer-connection-remote-audio-mute2.html [ Pass Failure ]
</span><span class="cx"> fast/mediastream/getUserMedia-webaudio.html [ Skip ]
</span><del>-fast/mediastream/RTCPeerConnection-AddRemoveStream.html [ Skip ]
</del><span class="cx"> fast/mediastream/RTCPeerConnection-closed-state.html [ Skip ]
</span><span class="cx"> fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html [ Skip ]
</span><span class="cx"> fast/mediastream/RTCPeerConnection-more-media-to-negotiate.html [ Skip ]
</span><del>-fast/mediastream/RTCPeerConnection-onnegotiationneeded.html [ Skip ]
</del><span class="cx"> fast/mediastream/RTCPeerConnection-overloaded-operations-params.html [ Skip ]
</span><span class="cx"> fast/mediastream/RTCRtpSender-replaceTrack.html [ Skip ]
</span><span class="cx"> fast/mediastream/RTCPeerConnection-icecandidate-event.html [ Pass Failure ]
</span><span class="cx"> 
</span><del>-# See webkit.org/b/168736
-fast/mediastream/RTCPeerConnection-addIceCandidate.html [ Failure  ]
-imported/w3c/web-platform-tests/webrtc/datachannel-emptystring.html [ Failure  ]
-imported/w3c/web-platform-tests/webrtc/no-media-call.html [ Failure  ]
-imported/w3c/web-platform-tests/webrtc/promises-call.html [ Failure  ]
-
</del><span class="cx"> # Need updating wptserve
</span><span class="cx"> imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm [ Skip ]
</span><span class="cx"> imported/w3c/web-platform-tests/XMLHttpRequest/open-url-redirected-worker-origin.htm [ Skip ]
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamMediaStreamaddremovetracksexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -49,19 +49,10 @@
</span><span class="cx"> PASS stream2.getVideoTracks().length is 0
</span><span class="cx"> 
</span><span class="cx"> *** active attribute is still true (until event is fired)
</span><del>-PASS stream2.active is true
</del><ins>+FAIL stream2.active should be true. Was false.
</ins><span class="cx"> 
</span><del>-Stream2 is inactive.
-PASS stream2.active is false
-
-*** add non-ended track
-PASS audioTrack.readyState is not &quot;ended&quot;
-
-*** active attribute is still false (until event is fired)
-PASS stream2.active is false
-
</del><span class="cx"> Stream2 is active.
</span><del>-PASS stream2.active is true
</del><ins>+FAIL stream2.active should be true. Was false.
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamMediaStreamTrackexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/MediaStreamTrack-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/MediaStreamTrack-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamTrack-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -3,123 +3,7 @@
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-PASS getUserMedia succeeded.
-
-videoTrack = mediaStream.getVideoTracks()[0]
-PASS track.readyState is &quot;live&quot;
-checking track.getCapabilities()
-  sourceId
-    0 : 239c24b0-2b15-11e3-8224-0800200c9a66
-  sourceType
-    0 : camera
-    1 : microphone
-  width
-   min : 320
-   max : 1920
-   supported : true
-  height
-   min : 240
-   max : 1080
-   supported : true
-  frameRate
-   min : 15
-   max : 60
-   supported : true
-  aspectRatio
-   min : 1.33
-   max : 1.78
-   supported : true
-  facingMode
-    0 : user
-    1 : environment
-checking track.states()
-PASS states.sourceId is capabilities.sourceId[0]
-PASS states.sourceType is &quot;camera&quot;
-  states.width = 1920
-  states.height = 1080
-  states.frameRate = 30
-  states.aspectRatio = 1.78
-  states.facingMode = user
-  states.volume = undefined
-  states.sourceType = camera
-  states.sourceId = 239c24b0-2b15-11e3-8224-0800200c9a66
-PASS track.getConstraints(); did not throw exception.
-
-audioTrack = mediaStream.getAudioTracks()[0]
-PASS track.readyState is &quot;live&quot;
-checking track.getCapabilities()
-  sourceId
-    0 : 239c24b1-2b15-11e3-8224-0800200c9a66
-  volume
-   min : 0
-   max : 100
-   supported : true
-checking track.states()
-PASS states.sourceId is capabilities.sourceId[0]
-PASS states.sourceType is &quot;microphone&quot;
-  states.width = undefined
-  states.height = undefined
-  states.frameRate = undefined
-  states.aspectRatio = undefined
-  states.facingMode = undefined
-  states.volume = 50
-  states.sourceType = microphone
-  states.sourceId = 239c24b1-2b15-11e3-8224-0800200c9a66
-PASS track.getConstraints(); did not throw exception.
-
-videoTrack2 = videoTrack.clone()
-PASS track.readyState is &quot;live&quot;
-checking track.getCapabilities()
-  sourceId
-    0 : 239c24b0-2b15-11e3-8224-0800200c9a66
-  sourceType
-    0 : camera
-    1 : microphone
-  width
-   min : 320
-   max : 1920
-   supported : true
-  height
-   min : 240
-   max : 1080
-   supported : true
-  frameRate
-   min : 15
-   max : 60
-   supported : true
-  aspectRatio
-   min : 1.33
-   max : 1.78
-   supported : true
-  facingMode
-    0 : user
-    1 : environment
-checking track.states()
-PASS states.sourceId is capabilities.sourceId[0]
-PASS states.sourceType is &quot;camera&quot;
-  states.width = 1920
-  states.height = 1080
-  states.frameRate = 30
-  states.aspectRatio = 1.78
-  states.facingMode = user
-  states.volume = undefined
-  states.sourceType = camera
-  states.sourceId = 239c24b0-2b15-11e3-8224-0800200c9a66
-PASS track.getConstraints(); did not throw exception.
-PASS videoTrack.id is not videoTrack2.id
-PASS videoTrack.kind is videoTrack2.kind
-PASS videoTrack.label is videoTrack2.label
-PASS videoTrack.muted is videoTrack2.muted
-PASS videoTrack.enabled is videoTrack2.enabled
-PASS videoTrack.readyState is videoTrack2.readyState
-
-track.stop() should not fire 'ended' on the track it is called on, but it should end all tracks using the same source
-videoTrack2.stop()
-PASS Track onended callback succeeded.
-PASS videoTrack is event.target
-PASS videoTrack.readyState is &quot;ended&quot;
-PASS videoTrack2.readyState is &quot;ended&quot;
-
</del><ins>+FAIL webkitGetUserMedia threw exception :TypeError: navigator.webkitGetUserMedia is not a function. (In 'navigator.webkitGetUserMedia(constraints, callback, error)', 'navigator.webkitGetUserMedia' is undefined)
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamMediaStreamTrackonendedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/MediaStreamTrack-onended-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/MediaStreamTrack-onended-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamTrack-onended-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -3,22 +3,7 @@
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-
-PASS gotStream was called.
-PASS track.readyState == &quot;ended&quot; is false
-PASS trackClone.readyState == &quot;ended&quot; is false
-
-PASS streamEnded was called.
-PASS track.readyState == &quot;ended&quot; is true
-PASS trackClone.readyState == &quot;ended&quot; is true
-
-PASS gotStream2 was called.
-PASS track.readyState == &quot;ended&quot; is false
-PASS trackClone.readyState == &quot;ended&quot; is false
-
-PASS streamEnded2 was called.
-PASS track.readyState == &quot;ended&quot; is true
-PASS trackClone.readyState == &quot;ended&quot; is true
</del><ins>+FAIL webkitGetUserMedia threw exception :TypeError: navigator.webkitGetUserMedia is not a function. (In 'navigator.webkitGetUserMedia(dictionary, callback, error)', 'navigator.webkitGetUserMedia' is undefined)
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectionaddIceCandidateexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx"> 
</span><span class="cx"> *** A remote description is needed before a candidate can be added
</span><span class="cx"> PASS pc.remoteDescription is null
</span><del>-PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: 'foo', sdpMid: 0})) rejected with InvalidStateError (DOM Exception 11): No remote description set
</del><ins>+PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: 'foo', sdpMid: 0})) rejected with OperationError (DOM Exception 34): Expect line: candidate:&lt;candidate-str&gt;
</ins><span class="cx"> PASS Remote description set
</span><span class="cx"> 
</span><span class="cx"> *** Define sdpMid, badSdpMid, sdpMLineIndex and badSdpMLineIndex for testing
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectioneventsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-events-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-events-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-events-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -3,12 +3,7 @@
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-PASS gotStream was called.
-PASS gotStream done.
-PASS onNegotiationNeeded was called.
-PASS onNegotiationNeeded done.
-PASS onStateChange was called.
-PASS pc.signalingState is 'closed'
</del><ins>+FAIL webkitGetUserMedia threw exception :TypeError: navigator.webkitGetUserMedia is not a function. (In 'navigator.webkitGetUserMedia(dictionary, callback, error)', 'navigator.webkitGetUserMedia' is undefined)
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectionmediasetupsingledialogexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-single-dialog-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-single-dialog-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-single-dialog-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -21,46 +21,14 @@
</span><span class="cx"> A: create offer
</span><span class="cx"> A: got offer, set it as local description
</span><span class="cx"> A: local offer set
</span><del>-PASS pcA.signalingState is 'have-local-offer'
-PASS pcA.pendingLocalDescription is an instance of RTCSessionDescription
</del><ins>+FAIL pcA.signalingState should be have-local-offer. Was stable.
+FAIL pcA.pendingLocalDescription is not an instance of RTCSessionDescription
</ins><span class="cx"> PASS pcA.currentLocalDescription is null
</span><span class="cx"> 
</span><span class="cx"> A: send offer to B
</span><span class="cx"> A --- offer --&gt; B
</span><span class="cx"> B: got offer from A, set it as remote description
</span><del>-----------
-PASS B: got remote track event
-----------
-B: remote offer set
-PASS pcB.signalingState is 'have-remote-offer'
-PASS pcB.pendingRemoteDescription is an instance of RTCSessionDescription
-PASS pcB.currentRemoteDescription is null
-
-B: add media (to include in answer)
-B: create answer
-B: got answer, set it as local description
-B: local answer set
-PASS pcB.signalingState is 'stable'
-PASS pcB.pendingLocalDescription is null
-PASS pcB.currentLocalDescription is an instance of RTCSessionDescription
-PASS pcB.pendingRemoteDescription is null
-FAIL pcB.currentRemoetDescription is not an instance of RTCSessionDescription
-
-B: send answer to A
-A &lt;-- answer -- B
-A: got answer from B, set it as remote description
-----------
-PASS A: got remote track event
-----------
-A: remote answer set
-PASS pcA.signalingState is 'stable'
-PASS pcA.pendingLocalDescription is null
-PASS pcA.currentLocalDescription is an instance of RTCSessionDescription
-PASS pcA.pendingRemoteDescription is null
-FAIL pcA.currentRemoetDescription is not an instance of RTCSessionDescription
-
-PASS Offer/answer dialog completed
-
</del><ins>+FAIL Error in promise chain: TypeError: Argument 1 ('description') to RTCPeerConnection.setRemoteDescription must be an instance of RTCSessionDescription
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectionmediasetuptwodialogsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-two-dialogs-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-two-dialogs-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-two-dialogs-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -21,85 +21,14 @@
</span><span class="cx"> A: create offer
</span><span class="cx"> A: got offer, set it as local description
</span><span class="cx"> A: local offer set
</span><del>-PASS pcA.signalingState is 'have-local-offer'
-PASS pcA.pendingLocalDescription is an instance of RTCSessionDescription
</del><ins>+FAIL pcA.signalingState should be have-local-offer. Was stable.
+FAIL pcA.pendingLocalDescription is not an instance of RTCSessionDescription
</ins><span class="cx"> PASS pcA.currentLocalDescription is null
</span><span class="cx"> 
</span><span class="cx"> A: send offer to B
</span><span class="cx"> A --- offer --&gt; B
</span><span class="cx"> B: got offer from A, set it as remote description
</span><del>-----------
-PASS B: got remote track event
-----------
-B: remote offer set
-PASS pcB.signalingState is 'have-remote-offer'
-PASS pcB.pendingRemoteDescription is an instance of RTCSessionDescription
-PASS pcB.currentRemoteDescription is null
-
-B: create answer (without local media)
-B: got answer, set it as local description
-B: local answer set
-PASS pcB.signalingState is 'stable'
-PASS pcB.pendingLocalDescription is null
-PASS pcB.currentLocalDescription is an instance of RTCSessionDescription
-PASS pcB.pendingRemoteDescription is null
-PASS pcB.currentRemoteDescription is an instance of RTCSessionDescription
-
-B: send answer to A
-A &lt;-- answer -- B
-A: got answer from B, set it as remote description
-A: remote answer set
-PASS pcA.signalingState is 'stable'
-PASS pcA.pendingLocalDescription is null
-PASS pcA.currentLocalDescription is an instance of RTCSessionDescription
-PASS pcA.pendingRemoteDescription is null
-PASS pcA.currentRemoteDescription is an instance of RTCSessionDescription
-
-PASS First offer/answer dialog completed
-========================================
-
-PASS pcB.getSenders().length is 1
-B: add media (should reuse sender)
-PASS pcB.getSenders().length is 1
-B: create offer
-B: got offer, set it as local description
-B: local offer set (session update so we have both pending and current local descriptions)
-PASS pcB.signalingState is 'have-local-offer'
-PASS pcB.pendingLocalDescription is an instance of RTCSessionDescription
-PASS pcB.currentLocalDescription is an instance of RTCSessionDescription
-
-B: send offer to A
-A &lt;-- offer --- B
-A: got offer from B, set it as remote description
-----------
-PASS A: got remote track event
-----------
-A: remote offer set (session update so we have both pending and current remote descriptions)
-PASS pcA.signalingState is 'have-remote-offer'
-PASS pcA.pendingRemoteDescription is an instance of RTCSessionDescription
-PASS pcA.currentRemoteDescription is an instance of RTCSessionDescription
-
-A: create answer
-A: got answer, set it as local description
-A: local answer set
-PASS pcA.signalingState is 'stable'
-PASS pcA.pendingLocalDescription is null
-PASS pcA.currentLocalDescription is an instance of RTCSessionDescription
-PASS pcA.pendingRemoteDescription is null
-PASS pcA.currentRemoteDescription is an instance of RTCSessionDescription
-
-A: send answer to B
-A --- answer -&gt; B
-B: got answer from A, set it as remote description
-B: remote answer set
-PASS pcB.signalingState is 'stable'
-PASS pcB.pendingLocalDescription is null
-PASS pcB.currentLocalDescription is an instance of RTCSessionDescription
-PASS pcB.pendingRemoteDescription is null
-PASS pcB.currentRemoteDescription is an instance of RTCSessionDescription
-
-PASS Second offer/answer dialog completed
-
</del><ins>+FAIL Error in promise chain: TypeError: Argument 1 ('description') to RTCPeerConnection.setRemoteDescription must be an instance of RTCSessionDescription
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectionremotelyassignedtransceivermidexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -8,18 +8,11 @@
</span><span class="cx"> PASS pcA.getTransceivers()[0].mid is null
</span><span class="cx"> A: local offer set (mid gets defined)
</span><span class="cx"> midAssignedByA = pcA.getTransceivers()[0].mid
</span><del>-PASS midAssignedByA !== null is true
</del><ins>+FAIL midAssignedByA !== null should be true. Was false.
</ins><span class="cx"> pcB.addTrack(stream.getAudioTracks()[0], stream)
</span><span class="cx"> B's transceiver is not yet associated with a media description and should have a null mid
</span><span class="cx"> PASS pcB.getTransceivers()[0].mid is null
</span><del>-PASS B: got remote track event
-PASS event.track is an instance of MediaStreamTrack
-B: remote offer set (mid gets defined)
-B's transceiver should get its mid from the remote side (A)
-PASS pcB.getTransceivers()[0].mid is midAssignedByA
-PASS A: got remote track event
-PASS Offer/answer dialog completed
-PASS B: remote track unmute event
</del><ins>+FAIL Error in promise chain: TypeError: Argument 1 ('description') to RTCPeerConnection.setRemoteDescription must be an instance of RTCSessionDescription
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectionsetLocalDescriptionofferexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -18,40 +18,11 @@
</span><span class="cx"> PASS audioTransceiver.mid is null
</span><span class="cx"> 
</span><span class="cx"> PASS firstOffer set as local description
</span><del>-PASS pc.signalingState is 'have-local-offer'
-PASS pc.localDescription is firstOffer
-PASS pc.pendingLocalDescription is firstOffer
</del><ins>+FAIL pc.signalingState should be have-local-offer. Was stable.
+FAIL pc.localDescription should be [object RTCSessionDescription]. Was null.
+FAIL pc.pendingLocalDescription should be [object RTCSessionDescription]. Was null.
</ins><span class="cx"> PASS pc.currentLocalDescription is null
</span><del>-PASS firstOffer.type is pc.localDescription.type
-PASS firstOffer.sdp is pc.localDescription.sdp
-PASS typeof pc.getTransceivers()[0].mid == 'string' is true
-Set firstOffer as local description again.
-
-PASS firstOffer set as local description (again)
-PASS pc.signalingState is 'have-local-offer'
-
-*** Try setting local descriptions with bad types for the current state
-PASS promise pc.setLocalDescription({type:'answer', sdp:firstOffer.sdp}); rejected with InvalidStateError (DOM Exception 11): Description type incompatible with current signaling state
-PASS promise pc.setLocalDescription({type:'pranswer', sdp:firstOffer.sdp}); rejected with InvalidStateError (DOM Exception 11): Description type incompatible with current signaling state
-
-*** Add videoTrack
-PASS pc.getTransceivers().length is 2
-*** Find the transceiver for the newly added video track
-PASS videoTransceiver is defined.
-PASS videoTransceiver.mid is null
-
-PASS Got secondOffer
-PASS pc.signalingState is 'have-local-offer'
-PASS videoTransceiver.mid is null
-
-PASS secondOffer set as local description
-PASS pc.signalingState is 'have-local-offer'
-PASS pc.localDescription is secondOffer
-PASS pc.pendingLocalDescription is secondOffer
-PASS pc.currentLocalDescription is null
-PASS secondOffer.type is pc.localDescription.type
-PASS secondOffer.sdp is pc.localDescription.sdp
-PASS typeof videoTransceiver.mid == 'string' is true
</del><ins>+FAIL Error caught in promise chain: TypeError: null is not an object (evaluating 'pc.localDescription.type')
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectionsetRemoteDescriptionofferexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -10,27 +10,14 @@
</span><span class="cx"> PASS pc.pendingRemoteDescription is null
</span><span class="cx"> PASS pc.currentRemoteDescription is null
</span><span class="cx"> 
</span><del>-*** 'track' event must fire before setRemoteDescription promise is fulfilled
-*** Check track event properties
-PASS pc.getReceivers().includes(trackEvent.receiver) is true
-PASS pc.getTransceivers().includes(trackEvent.transceiver) is true
-*** Remote track should be muted initially
-PASS trackEvent.track.muted is true
-*** Remote track properties should match track added at remote side (remotePc)
-PASS trackEvent.track.kind is remotePcAudioTrack.kind
-PASS trackEvent.track.id is remotePcAudioTrack.id
-PASS trackEvent.track.label is 'remote audio'
-*** Check local and remote transceivers
-PASS trackEvent.transceiver.mid is remotePcAudioTransceiver.mid
-
</del><span class="cx"> PASS remoteOffer1 set as remote description
</span><del>-PASS pc.signalingState is 'have-remote-offer'
-PASS pc.remoteDescription is remoteOffer1
-PASS pc.pendingRemoteDescription is remoteOffer1
</del><ins>+FAIL pc.signalingState should be have-remote-offer. Was stable.
+FAIL pc.remoteDescription should be [object RTCSessionDescription]. Was null.
+FAIL pc.pendingRemoteDescription should be [object RTCSessionDescription]. Was null.
</ins><span class="cx"> PASS pc.currentRemoteDescription is null
</span><span class="cx"> 
</span><span class="cx"> PASS remoteOffer1 set as remote description (again)
</span><del>-PASS pc.signalingState is 'have-remote-offer'
</del><ins>+FAIL pc.signalingState should be have-remote-offer. Was stable.
</ins><span class="cx"> 
</span><span class="cx"> *** Try setting local descriptions with bad types for the current state
</span><span class="cx"> PASS promise pc.setRemoteDescription({type:'answer', sdp:remoteOffer1.sdp}); rejected with InvalidStateError (DOM Exception 11): Description type incompatible with current signaling state
</span><span class="lines">@@ -38,25 +25,12 @@
</span><span class="cx"> 
</span><span class="cx"> *** Create (remote) offer with video (remoteOffer2)
</span><span class="cx"> *** Done, start testing with remoteOffer2
</span><del>-PASS pc.signalingState is 'have-remote-offer'
</del><ins>+FAIL pc.signalingState should be have-remote-offer. Was stable.
</ins><span class="cx"> 
</span><del>-*** 'track' event must fire before setRemoteDescription promise is fulfilled
-*** Check track event properties
-PASS pc.getReceivers().includes(trackEvent.receiver) is true
-PASS pc.getTransceivers().includes(trackEvent.transceiver) is true
-*** Remote track should be muted initially
-PASS trackEvent.track.muted is true
-*** Remote track properties should match track added at remote side (remotePc)
-PASS trackEvent.track.kind is remotePcVideoTrack.kind
-PASS trackEvent.track.id is remotePcVideoTrack.id
-PASS trackEvent.track.label is 'remote video'
-*** Check local and remote transceivers
-PASS trackEvent.transceiver.mid is remotePcVideoTransceiver.mid
-
</del><span class="cx"> PASS remoteOffer2 set as remote description
</span><del>-PASS pc.signalingState is 'have-remote-offer'
-PASS pc.remoteDescription is remoteOffer2
-PASS pc.pendingRemoteDescription is remoteOffer2
</del><ins>+FAIL pc.signalingState should be have-remote-offer. Was stable.
+FAIL pc.remoteDescription should be [object RTCSessionDescription]. Was null.
+FAIL pc.pendingRemoteDescription should be [object RTCSessionDescription]. Was null.
</ins><span class="cx"> PASS pc.currentRemoteDescription is null
</span><span class="cx"> 
</span><span class="cx"> PASS successfullyParsed is true
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectionstatsSelectorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-statsSelector-expected.txt (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-statsSelector-expected.txt        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-statsSelector-expected.txt        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -4,13 +4,8 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS pc = new RTCPeerConnection({iceServers:[{urls:'stun:foo.com'}]}) did not throw exception.
</span><ins>+FAIL webkitGetUserMedia threw exception :TypeError: navigator.webkitGetUserMedia is not a function. (In 'navigator.webkitGetUserMedia(dictionary, callback, error)', 'navigator.webkitGetUserMedia' is undefined)
</ins><span class="cx"> PASS getUserMedia({audio:true, video:true}, gotStream) did not throw exception.
</span><del>-PASS Got a stream.
-PASS pc.getStats(statsHandler2, pc.getLocalStreams()[0].getVideoTracks()[0]) did not throw exception.
-PASS statsHandler2 was called
-PASS result.length is &gt;= 1
-PASS timestamp is &gt;= startTime
-PASS local.stat(&quot;type&quot;) is &quot;video&quot;
</del><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/TestExpectations (214074 => 214075)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/TestExpectations        2017-03-16 22:32:20 UTC (rev 214074)
+++ trunk/LayoutTests/platform/mac/TestExpectations        2017-03-16 22:53:51 UTC (rev 214075)
</span><span class="lines">@@ -156,23 +156,12 @@
</span><span class="cx"> webkit.org/b/136452 http/tests/security/contentTypeOptions
</span><span class="cx"> 
</span><span class="cx"> # Media Stream API is not fully supported.
</span><del>-fast/mediastream/MediaStream-add-remove-tracks.html
</del><span class="cx"> fast/mediastream/MediaStream-add-ended-tracks.html
</span><del>-fast/mediastream/MediaStreamTrack-onended.html
-fast/mediastream/MediaStreamTrack.html
</del><span class="cx"> 
</span><del>-# WebRTC is not supported yet.
</del><span class="cx"> fast/mediastream/RTCPeerConnection-dtmf.html [ Skip ]
</span><del>-fast/mediastream/RTCPeerConnection-events.html [ Skip ]
</del><span class="cx"> fast/mediastream/RTCPeerConnection-ice.html [ Skip ]
</span><span class="cx"> fast/mediastream/RTCPeerConnection-media-setup-callbacks-single-dialog.html [ Skip ]
</span><span class="cx"> fast/mediastream/RTCPeerConnection-stats.html [ Skip ]
</span><del>-fast/mediastream/RTCPeerConnection-statsSelector.html [ Skip ]
-fast/mediastream/RTCPeerConnection-setRemoteDescription-offer.html [ Skip ]
-fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid.html [ Skip ]
-fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html [ Skip ]
-fast/mediastream/RTCPeerConnection-media-setup-single-dialog.html [ Skip ]
-fast/mediastream/RTCPeerConnection-setLocalDescription-offer.html [ Skip ]
</del><span class="cx"> 
</span><span class="cx"> # Asserts in debug.
</span><span class="cx"> [ Debug ] fast/images/large-size-image-crash.html [ Skip ]
</span></span></pre>
</div>
</div>

</body>
</html>