<!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>[213992] trunk/Source/WebCore</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/213992">213992</a></dd>
<dt>Author</dt> <dd>jonlee@apple.com</dd>
<dt>Date</dt> <dd>2017-03-15 11:15:31 -0700 (Wed, 15 Mar 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Clean up RTCPeerConnection IDL
https://bugs.webkit.org/show_bug.cgi?id=169660

Reviewed by Youenn Fablet.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addTransceiver): Refactor to use RTCRtpTransceiverInit.
(WebCore::RTCPeerConnection::completeAddTransceiver):
* Modules/mediastream/RTCPeerConnection.h: Remove redundant definitions.
* Modules/mediastream/RTCPeerConnection.idl: Using 13 March 2017 Editor's Draft of
WebRTC spec. Move RTCOfferAnswerOptions out to separate IDLs. Keep RTCDataChannelInit and
RTCRtpTransceiverInit since they appear to be used only in RTCPeerConnection.
    Reorder the properties, functions, and events based on their appearance in the spec.
Legacy MediaStream calls are placed at the end. I tried to use &quot;partial interface&quot; in the
same file, but in the end nothing was generated, so everything is contained in one interface
block.

* Modules/mediastream/RTCEnums.h: Added. This will be an all-in-one header to hold the
enums.

Move RTCAnswerOptions, RTCOfferAnswerOptions, RTCOfferOptions, RTCRtpTransceiverDirection
out to their own IDL's.
* CMakeLists.txt:
* DerivedSources.make:
* Modules/mediastream/RTCAnswerOptions.h: Added.
* Modules/mediastream/RTCAnswerOptions.idl: Added.
* Modules/mediastream/RTCOfferAnswerOptions.h:
* Modules/mediastream/RTCOfferAnswerOptions.idl: Added.
* Modules/mediastream/RTCOfferOptions.h: Added. Remove |offerToReceiveVideo| and
|offerToReceiveAudio|, which are not used.
* Modules/mediastream/RTCOfferOptions.idl: Added.
* Modules/mediastream/RTCRtpTransceiverDirection.h: Added.
* Modules/mediastream/RTCRtpTransceiverDirection.idl: Added. Use a typedef for
RTCRtpTransceiverDirection to prevent the code generator from prefixing RTCRtpTransceiver.
* Modules/mediastream/RTCRtpTransceiver.idl: Move RTCRtpTransceiverDirection.
* WebCore.xcodeproj/project.pbxproj: Add IDLs and derived sources. Remove unused
HTMLMediaElementMediaStream.h. Reorder.

Refactor.
* Modules/mediastream/RTCRtpTransceiver.h: Use RTCRtpTransceiverDirection.
* Modules/mediastream/MediaEndpointPeerConnection.cpp:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaEndpointPeerConnectioncpp">trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCOfferAnswerOptionsh">trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCPeerConnectioncpp">trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCPeerConnectionh">trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCPeerConnectionidl">trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCRtpTransceiverh">trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiver.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCRtpTransceiveridl">trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiver.idl</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCAnswerOptionsh">trunk/Source/WebCore/Modules/mediastream/RTCAnswerOptions.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCAnswerOptionsidl">trunk/Source/WebCore/Modules/mediastream/RTCAnswerOptions.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCEnumsh">trunk/Source/WebCore/Modules/mediastream/RTCEnums.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCOfferAnswerOptionsidl">trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCOfferOptionsh">trunk/Source/WebCore/Modules/mediastream/RTCOfferOptions.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCOfferOptionsidl">trunk/Source/WebCore/Modules/mediastream/RTCOfferOptions.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCRtpTransceiverDirectionh">trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCRtpTransceiverDirectionidl">trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/CMakeLists.txt        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -233,6 +233,7 @@
</span><span class="cx">     Modules/mediastream/NavigatorUserMedia.idl
</span><span class="cx">     Modules/mediastream/OverconstrainedError.idl
</span><span class="cx">     Modules/mediastream/OverconstrainedErrorEvent.idl
</span><ins>+    Modules/mediastream/RTCAnswerOptions.idl
</ins><span class="cx">     Modules/mediastream/RTCConfiguration.idl
</span><span class="cx">     Modules/mediastream/RTCDTMFSender.idl
</span><span class="cx">     Modules/mediastream/RTCDTMFToneChangeEvent.idl
</span><span class="lines">@@ -241,10 +242,13 @@
</span><span class="cx">     Modules/mediastream/RTCIceCandidate.idl
</span><span class="cx">     Modules/mediastream/RTCIceCandidateEvent.idl
</span><span class="cx">     Modules/mediastream/RTCIceServer.idl
</span><ins>+    Modules/mediastream/RTCOfferAnswerOptions.idl
+    Modules/mediastream/RTCOfferOptions.idl
</ins><span class="cx">     Modules/mediastream/RTCPeerConnection.idl
</span><span class="cx">     Modules/mediastream/RTCRtpReceiver.idl
</span><span class="cx">     Modules/mediastream/RTCRtpSender.idl
</span><span class="cx">     Modules/mediastream/RTCRtpTransceiver.idl
</span><ins>+    Modules/mediastream/RTCRtpTransceiverDirection.idl
</ins><span class="cx">     Modules/mediastream/RTCSessionDescription.idl
</span><span class="cx">     Modules/mediastream/RTCStatsReport.idl
</span><span class="cx">     Modules/mediastream/RTCTrackEvent.idl
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/ChangeLog        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -1,3 +1,47 @@
</span><ins>+2017-03-14  Jon Lee  &lt;jonlee@apple.com&gt;
+
+        Clean up RTCPeerConnection IDL
+        https://bugs.webkit.org/show_bug.cgi?id=169660
+
+        Reviewed by Youenn Fablet.
+
+        * Modules/mediastream/RTCPeerConnection.cpp:
+        (WebCore::RTCPeerConnection::addTransceiver): Refactor to use RTCRtpTransceiverInit.
+        (WebCore::RTCPeerConnection::completeAddTransceiver):
+        * Modules/mediastream/RTCPeerConnection.h: Remove redundant definitions.
+        * Modules/mediastream/RTCPeerConnection.idl: Using 13 March 2017 Editor's Draft of
+        WebRTC spec. Move RTCOfferAnswerOptions out to separate IDLs. Keep RTCDataChannelInit and
+        RTCRtpTransceiverInit since they appear to be used only in RTCPeerConnection.
+            Reorder the properties, functions, and events based on their appearance in the spec.
+        Legacy MediaStream calls are placed at the end. I tried to use &quot;partial interface&quot; in the
+        same file, but in the end nothing was generated, so everything is contained in one interface
+        block.
+
+        * Modules/mediastream/RTCEnums.h: Added. This will be an all-in-one header to hold the
+        enums.
+
+        Move RTCAnswerOptions, RTCOfferAnswerOptions, RTCOfferOptions, RTCRtpTransceiverDirection
+        out to their own IDL's.
+        * CMakeLists.txt:
+        * DerivedSources.make:
+        * Modules/mediastream/RTCAnswerOptions.h: Added.
+        * Modules/mediastream/RTCAnswerOptions.idl: Added.
+        * Modules/mediastream/RTCOfferAnswerOptions.h:
+        * Modules/mediastream/RTCOfferAnswerOptions.idl: Added.
+        * Modules/mediastream/RTCOfferOptions.h: Added. Remove |offerToReceiveVideo| and
+        |offerToReceiveAudio|, which are not used.
+        * Modules/mediastream/RTCOfferOptions.idl: Added.
+        * Modules/mediastream/RTCRtpTransceiverDirection.h: Added.
+        * Modules/mediastream/RTCRtpTransceiverDirection.idl: Added. Use a typedef for
+        RTCRtpTransceiverDirection to prevent the code generator from prefixing RTCRtpTransceiver.
+        * Modules/mediastream/RTCRtpTransceiver.idl: Move RTCRtpTransceiverDirection.
+        * WebCore.xcodeproj/project.pbxproj: Add IDLs and derived sources. Remove unused
+        HTMLMediaElementMediaStream.h. Reorder.
+
+        Refactor.
+        * Modules/mediastream/RTCRtpTransceiver.h: Use RTCRtpTransceiverDirection.
+        * Modules/mediastream/MediaEndpointPeerConnection.cpp:
+
</ins><span class="cx"> 2017-03-15  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GTK] Initialize m_button, m_clickCount members in PlatformMouseEvent constructors
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/DerivedSources.make        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -177,6 +177,7 @@
</span><span class="cx">     $(WebCore)/Modules/mediastream/NavigatorUserMedia.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/OverconstrainedError.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/OverconstrainedErrorEvent.idl \
</span><ins>+    $(WebCore)/Modules/mediastream/RTCAnswerOptions.idl \
</ins><span class="cx">     $(WebCore)/Modules/mediastream/RTCConfiguration.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCDTMFSender.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCDTMFToneChangeEvent.idl \
</span><span class="lines">@@ -185,10 +186,13 @@
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCIceCandidate.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCIceCandidateEvent.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCIceServer.idl \
</span><ins>+    $(WebCore)/Modules/mediastream/RTCOfferAnswerOptions.idl \
+    $(WebCore)/Modules/mediastream/RTCOfferOptions.idl \
</ins><span class="cx">     $(WebCore)/Modules/mediastream/RTCPeerConnection.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCRtpReceiver.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCRtpSender.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCRtpTransceiver.idl \
</span><ins>+    $(WebCore)/Modules/mediastream/RTCRtpTransceiverDirection.idl \
</ins><span class="cx">     $(WebCore)/Modules/mediastream/RTCSessionDescription.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCStatsReport.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCTrackEvent.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaEndpointPeerConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -42,10 +42,11 @@
</span><span class="cx"> #include &quot;MediaStreamTrack.h&quot;
</span><span class="cx"> #include &quot;NotImplemented.h&quot;
</span><span class="cx"> #include &quot;PeerMediaDescription.h&quot;
</span><ins>+#include &quot;RTCAnswerOptions.h&quot;
</ins><span class="cx"> #include &quot;RTCConfiguration.h&quot;
</span><span class="cx"> #include &quot;RTCIceCandidate.h&quot;
</span><span class="cx"> #include &quot;RTCIceCandidateEvent.h&quot;
</span><del>-#include &quot;RTCOfferAnswerOptions.h&quot;
</del><ins>+#include &quot;RTCOfferOptions.h&quot;
</ins><span class="cx"> #include &quot;RTCPeerConnection.h&quot;
</span><span class="cx"> #include &quot;RTCRtpTransceiver.h&quot;
</span><span class="cx"> #include &quot;RTCTrackEvent.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCAnswerOptionsh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/mediastream/RTCAnswerOptions.h (0 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCAnswerOptions.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCAnswerOptions.h        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEB_RTC)
+
+#include &quot;RTCOfferAnswerOptions.h&quot;
+
+namespace WebCore {
+
+struct RTCAnswerOptions : public RTCOfferAnswerOptions {
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_RTC)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCAnswerOptionsidl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/mediastream/RTCAnswerOptions.idl (0 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCAnswerOptions.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCAnswerOptions.idl        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    Conditional=WEB_RTC,
+    EnabledAtRuntime=PeerConnection
+] dictionary RTCAnswerOptions : RTCOfferAnswerOptions {
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCEnumsh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/mediastream/RTCEnums.h (0 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCEnums.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCEnums.h        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include &quot;PeerConnectionStates.h&quot;
+#include &quot;RTCRtpTransceiverDirection.h&quot;
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCOfferAnswerOptionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.h (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.h        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.h        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -34,15 +34,6 @@
</span><span class="cx">     bool voiceActivityDetection { true };
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-struct RTCOfferOptions : RTCOfferAnswerOptions {
-    int64_t offerToReceiveVideo { 0 };
-    int64_t offerToReceiveAudio { 0 };
-    bool iceRestart { false };
-};
-
-struct RTCAnswerOptions : RTCOfferAnswerOptions {
-};
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(WEB_RTC)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCOfferAnswerOptionsidl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.idl (0 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.idl        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    Conditional=WEB_RTC,
+    EnabledAtRuntime=PeerConnection,
+    ImplementedAs=RTCOfferAnswerOptions
+] dictionary RTCOfferAnswerOptions {
+    boolean voiceActivityDetection = true;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCOfferOptionsh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/mediastream/RTCOfferOptions.h (0 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCOfferOptions.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCOfferOptions.h        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEB_RTC)
+
+#include &quot;RTCOfferAnswerOptions.h&quot;
+
+namespace WebCore {
+
+struct RTCOfferOptions : RTCOfferAnswerOptions {
+    bool iceRestart { false };
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_RTC)
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCOfferOptionsidl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/mediastream/RTCOfferOptions.idl (0 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCOfferOptions.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCOfferOptions.idl        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    Conditional=WEB_RTC,
+    EnabledAtRuntime=PeerConnection
+] dictionary RTCOfferOptions : RTCOfferAnswerOptions {
+    boolean iceRestart = false;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCPeerConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -2,6 +2,7 @@
</span><span class="cx">  * Copyright (C) 2012 Google Inc. All rights reserved.
</span><span class="cx">  * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
</span><span class="cx">  * Copyright (C) 2015, 2016 Ericsson AB. All rights reserved.
</span><ins>+ * Copyright (C) 2017 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -48,7 +49,6 @@
</span><span class="cx"> #include &quot;RTCDataChannel.h&quot;
</span><span class="cx"> #include &quot;RTCIceCandidate.h&quot;
</span><span class="cx"> #include &quot;RTCIceCandidateEvent.h&quot;
</span><del>-#include &quot;RTCOfferAnswerOptions.h&quot;
</del><span class="cx"> #include &quot;RTCSessionDescription.h&quot;
</span><span class="cx"> #include &quot;RTCTrackEvent.h&quot;
</span><span class="cx"> #include &quot;UUID.h&quot;
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ExceptionOr&lt;Ref&lt;RTCRtpTransceiver&gt;&gt; RTCPeerConnection::addTransceiver(Ref&lt;MediaStreamTrack&gt;&amp;&amp; track, const RtpTransceiverInit&amp; init)
</del><ins>+ExceptionOr&lt;Ref&lt;RTCRtpTransceiver&gt;&gt; RTCPeerConnection::addTransceiver(Ref&lt;MediaStreamTrack&gt;&amp;&amp; track, const RTCRtpTransceiverInit&amp; init)
</ins><span class="cx"> {
</span><span class="cx">     if (m_signalingState == SignalingState::Closed)
</span><span class="cx">         return Exception { INVALID_STATE_ERR };
</span><span class="lines">@@ -190,7 +190,7 @@
</span><span class="cx">     return WTFMove(transceiver);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ExceptionOr&lt;Ref&lt;RTCRtpTransceiver&gt;&gt; RTCPeerConnection::addTransceiver(const String&amp; kind, const RtpTransceiverInit&amp; init)
</del><ins>+ExceptionOr&lt;Ref&lt;RTCRtpTransceiver&gt;&gt; RTCPeerConnection::addTransceiver(const String&amp; kind, const RTCRtpTransceiverInit&amp; init)
</ins><span class="cx"> {
</span><span class="cx">     if (m_signalingState == SignalingState::Closed)
</span><span class="cx">         return Exception { INVALID_STATE_ERR };
</span><span class="lines">@@ -210,7 +210,7 @@
</span><span class="cx">     return WTFMove(transceiver);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RTCPeerConnection::completeAddTransceiver(RTCRtpTransceiver&amp; transceiver, const RtpTransceiverInit&amp; init)
</del><ins>+void RTCPeerConnection::completeAddTransceiver(RTCRtpTransceiver&amp; transceiver, const RTCRtpTransceiverInit&amp; init)
</ins><span class="cx"> {
</span><span class="cx">     transceiver.setDirection(static_cast&lt;RTCRtpTransceiver::Direction&gt;(init.direction));
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCPeerConnectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -2,6 +2,7 @@
</span><span class="cx">  * Copyright (C) 2012 Google Inc. All rights reserved.
</span><span class="cx">  * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
</span><span class="cx">  * Copyright (C) 2015 Ericsson AB. All rights reserved.
</span><ins>+ * Copyright (C) 2017 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -37,9 +38,11 @@
</span><span class="cx"> #include &quot;ActiveDOMObject.h&quot;
</span><span class="cx"> #include &quot;EventTarget.h&quot;
</span><span class="cx"> #include &quot;MediaStream.h&quot;
</span><ins>+#include &quot;RTCAnswerOptions.h&quot;
</ins><span class="cx"> #include &quot;RTCConfiguration.h&quot;
</span><span class="cx"> #include &quot;RTCDataChannel.h&quot;
</span><del>-#include &quot;RTCOfferAnswerOptions.h&quot;
</del><ins>+#include &quot;RTCEnums.h&quot;
+#include &quot;RTCOfferOptions.h&quot;
</ins><span class="cx"> #include &quot;RTCRtpTransceiver.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -52,6 +55,10 @@
</span><span class="cx"> class RTCSessionDescription;
</span><span class="cx"> class RTCStatsCallback;
</span><span class="cx"> 
</span><ins>+struct RTCRtpTransceiverInit {
+    RTCRtpTransceiverDirection direction;
+};
+
</ins><span class="cx"> class RTCPeerConnection final : public RefCounted&lt;RTCPeerConnection&gt;, public RTCRtpSenderClient, public EventTargetWithInlineData, public ActiveDOMObject {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;RTCPeerConnection&gt; create(ScriptExecutionContext&amp;);
</span><span class="lines">@@ -74,16 +81,9 @@
</span><span class="cx">     ExceptionOr&lt;Ref&lt;RTCRtpSender&gt;&gt; addTrack(Ref&lt;MediaStreamTrack&gt;&amp;&amp;, const Vector&lt;std::reference_wrapper&lt;MediaStream&gt;&gt;&amp;);
</span><span class="cx">     ExceptionOr&lt;void&gt; removeTrack(RTCRtpSender&amp;);
</span><span class="cx"> 
</span><del>-    // This enum is mirrored in RTCRtpTransceiver.h
-    enum class RtpTransceiverDirection { Sendrecv, Sendonly, Recvonly, Inactive };
</del><ins>+    ExceptionOr&lt;Ref&lt;RTCRtpTransceiver&gt;&gt; addTransceiver(Ref&lt;MediaStreamTrack&gt;&amp;&amp;, const RTCRtpTransceiverInit&amp;);
+    ExceptionOr&lt;Ref&lt;RTCRtpTransceiver&gt;&gt; addTransceiver(const String&amp; kind, const RTCRtpTransceiverInit&amp;);
</ins><span class="cx"> 
</span><del>-    struct RtpTransceiverInit {
-        RtpTransceiverDirection direction;
-    };
-
-    ExceptionOr&lt;Ref&lt;RTCRtpTransceiver&gt;&gt; addTransceiver(Ref&lt;MediaStreamTrack&gt;&amp;&amp;, const RtpTransceiverInit&amp;);
-    ExceptionOr&lt;Ref&lt;RTCRtpTransceiver&gt;&gt; addTransceiver(const String&amp; kind, const RtpTransceiverInit&amp;);
-
</del><span class="cx">     void queuedCreateOffer(RTCOfferOptions&amp;&amp;, PeerConnection::SessionDescriptionPromise&amp;&amp;);
</span><span class="cx">     void queuedCreateAnswer(RTCAnswerOptions&amp;&amp;, PeerConnection::SessionDescriptionPromise&amp;&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx"> private:
</span><span class="cx">     RTCPeerConnection(ScriptExecutionContext&amp;);
</span><span class="cx"> 
</span><del>-    void completeAddTransceiver(RTCRtpTransceiver&amp;, const RtpTransceiverInit&amp;);
</del><ins>+    void completeAddTransceiver(RTCRtpTransceiver&amp;, const RTCRtpTransceiverInit&amp;);
</ins><span class="cx"> 
</span><span class="cx">     RTCController&amp; rtcController();
</span><span class="cx">     void registerToController();
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCPeerConnectionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -2,6 +2,7 @@
</span><span class="cx">  * Copyright (C) 2012 Google Inc. All rights reserved.
</span><span class="cx">  * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
</span><span class="cx">  * Copyright (C) 2015, 2016 Ericsson AB. All rights reserved.
</span><ins>+ * Copyright (C) 2017 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -30,101 +31,93 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-dictionary RTCOfferAnswerOptions {
-    boolean voiceActivityDetection = true;
-};
-
-dictionary RTCOfferOptions : RTCOfferAnswerOptions {
-    boolean iceRestart = false;
-};
-
-dictionary RTCAnswerOptions : RTCOfferAnswerOptions {
-};
-
-dictionary RTCDataChannelInit {
</del><ins>+[
+    Conditional=WEB_RTC,
+    EnabledAtRuntime=PeerConnection
+] dictionary RTCDataChannelInit {
</ins><span class="cx">     boolean ordered = true;
</span><ins>+    // FIXME 169644: rename to maxPacketLifeTime;
</ins><span class="cx">     unsigned short maxRetransmitTime;
</span><span class="cx">     unsigned short maxRetransmits;
</span><span class="cx">     USVString protocol = &quot;&quot;;
</span><span class="cx">     boolean negotiated = false;
</span><span class="cx">     unsigned short id;
</span><ins>+    // FIXME 169644: missing priority
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> [
</span><ins>+    Conditional=WEB_RTC,
+    EnabledAtRuntime=PeerConnection,
+    ImplementedAs=RTCRtpTransceiverInit
+] dictionary RTCRtpTransceiverInit {
+    RTCRtpTransceiverDirection direction = &quot;sendrecv&quot;;
+};
+
+[
</ins><span class="cx">     ActiveDOMObject,
</span><span class="cx">     Conditional=WEB_RTC,
</span><span class="cx">     ConstructorCallWith=ScriptExecutionContext,
</span><span class="cx">     EnabledAtRuntime=PeerConnection,
</span><span class="cx">     ExportMacro=WEBCORE_EXPORT,
</span><del>-    JSBuiltinConstructor,
</del><ins>+    JSBuiltinConstructor
</ins><span class="cx"> ] interface RTCPeerConnection : EventTarget {
</span><ins>+    // FIXME 169644: update Constructor to take optional RTCConfiguration
</ins><span class="cx">     // Private initializer
</span><span class="cx">     [PrivateIdentifier, CallWith=Document, MayThrowException] void initializeWith(RTCConfiguration configuration);
</span><span class="cx"> 
</span><del>-    // RTP Media API extensions
-    [PrivateIdentifier, PublicIdentifier] sequence&lt;RTCRtpSender&gt; getSenders();
-    sequence&lt;RTCRtpReceiver&gt; getReceivers();
-    sequence&lt;RTCRtpTransceiver&gt; getTransceivers();
</del><span class="cx"> 
</span><del>-    [PrivateIdentifier, PublicIdentifier, MayThrowException] RTCRtpSender addTrack(MediaStreamTrack track, MediaStream... streams);
-    [PrivateIdentifier, PublicIdentifier, MayThrowException] void removeTrack(RTCRtpSender sender);
-
-    [MayThrowException] RTCRtpTransceiver addTransceiver(MediaStreamTrack track, optional RTCRtpTransceiverInit init);
-    [MayThrowException] RTCRtpTransceiver addTransceiver(DOMString kind, optional RTCRtpTransceiverInit init);
-
-    // Legacy MediaSream-based API (implemented on top of the RTP Media API)
-    [JSBuiltin] sequence&lt;MediaStream&gt; getLocalStreams();
-    [PrivateIdentifier, PublicIdentifier] sequence&lt;MediaStream&gt; getRemoteStreams();
-    [JSBuiltin] MediaStream getStreamById(DOMString streamId);
-
-    [JSBuiltin] void addStream(MediaStream stream);
-    [JSBuiltin] void removeStream(MediaStream stream);
-
</del><ins>+    // 4.3.2 Interface Definition
+    // JSBuiltins provide support for legacy signatures
</ins><span class="cx">     [JSBuiltin] Promise&lt;RTCSessionDescriptionInit&gt; createOffer(optional RTCOfferOptions offerOptions);
</span><del>-    // Legacy signature: Promise&lt;void&gt; createOffer(RTCSessionDescriptionCallback successCallback
-    //                                       RTCPeerConnectionErrorCallback errorCallback,
-    //                                       optional Dictionary offerOptions);
-
</del><span class="cx">     [JSBuiltin] Promise&lt;RTCSessionDescriptionInit&gt; createAnswer(optional RTCAnswerOptions answerOptions);
</span><del>-    // Legacy signature: Promise&lt;void&gt; createAnswer(RTCSessionDescriptionCallback successCallback
-    //                                        RTCPeerConnectionErrorCallback errorCallback,
-    //                                        optional Dictionary answerOptions);
</del><span class="cx"> 
</span><ins>+    // FIXME 169644: change to RTCSessionDescriptionInit
</ins><span class="cx">     [JSBuiltin] Promise&lt;void&gt; setLocalDescription(RTCSessionDescription description);
</span><del>-    // Legacy signature: Promise&lt;void&gt; setLocalDescription(RTCSessionDescription description
-    //                                               VoidCallback successCallback,
-    //                                               RTCPeerConnectionErrorCallback errorCallback);
-
</del><ins>+    // FIXME 169644: change to nullable
</ins><span class="cx">     readonly attribute RTCSessionDescription localDescription;
</span><ins>+    // FIXME 169644: change to nullable
</ins><span class="cx">     readonly attribute RTCSessionDescription currentLocalDescription;
</span><ins>+    // FIXME 169644: change to nullable
</ins><span class="cx">     readonly attribute RTCSessionDescription pendingLocalDescription;
</span><span class="cx"> 
</span><ins>+    // FIXME 169644: change to RTCSessionDescriptionInit
</ins><span class="cx">     [JSBuiltin] Promise&lt;void&gt; setRemoteDescription(RTCSessionDescription description);
</span><del>-    // Legacy signature: Promise&lt;void&gt; setRemoteDescription(RTCSessionDescription description
-    //                                                VoidCallback successCallback,
-    //                                                RTCPeerConnectionErrorCallback errorCallback);
-
</del><ins>+    // FIXME 169644: change to nullable
</ins><span class="cx">     readonly attribute RTCSessionDescription remoteDescription;
</span><ins>+    // FIXME 169644: change to nullable
</ins><span class="cx">     readonly attribute RTCSessionDescription currentRemoteDescription;
</span><ins>+    // FIXME 169644: change to nullable
</ins><span class="cx">     readonly attribute RTCSessionDescription pendingRemoteDescription;
</span><span class="cx"> 
</span><del>-    readonly attribute DOMString signalingState;
-
</del><ins>+    // FIXME 169644: update parameter to (RTCIceCandidateInit or RTCIceCandidate)
</ins><span class="cx">     [JSBuiltin] Promise&lt;void&gt; addIceCandidate(RTCIceCandidate candidate);
</span><del>-    // Legacy signature: Promise&lt;void&gt; addIceCandidate(RTCIceCandidate candidate
-    //                                           VoidCallback successCallback,
-    //                                           RTCPeerConnectionErrorCallback errorCallback);
</del><span class="cx"> 
</span><ins>+    // FIXME 169644: convert to enum
+    readonly attribute DOMString signalingState;
+    // FIXME 169644: convert to enum
</ins><span class="cx">     readonly attribute DOMString iceGatheringState;
</span><ins>+    // FIXME 169644: convert to enum
</ins><span class="cx">     readonly attribute DOMString iceConnectionState;
</span><span class="cx"> 
</span><ins>+    // FIXME 169644: missing connectionState
+    // FIXME 169644: missing canTrickleIceCandidates
+    // FIXME 169644: missing defaultIceServers
+
</ins><span class="cx">     RTCConfiguration getConfiguration();
</span><span class="cx">     [MayThrowException] void setConfiguration(RTCConfiguration configuration);
</span><ins>+    void close();
</ins><span class="cx"> 
</span><del>-    Promise&lt;RTCStatsReport&gt; getStats(optional MediaStreamTrack? selector = null);
</del><ins>+    attribute EventHandler onnegotiationneeded;
+    attribute EventHandler onicecandidate;
+    // FIXME 169644: missing onicecandidateerror
+    attribute EventHandler onsignalingstatechange;
+    attribute EventHandler oniceconnectionstatechange;
+    attribute EventHandler onicegatheringstatechange;
+    // FIXME 169644: missing onconnectionstatechanged
+    // FIXME 169644: missing onfingerprintfailure
</ins><span class="cx"> 
</span><del>-    // Private API used to implement the overloaded operations above. Queued functions are called by
-    // runQueuedOperation() (defined in RTCPeerConnectionInternals.js).
</del><ins>+    // Private API used to implement the overloaded operations above. Queued functions are called by runQueuedOperation().
+    // See RTCPeerConnectionInternals.js.
</ins><span class="cx">     [PrivateIdentifier] Promise&lt;RTCSessionDescriptionInit&gt; queuedCreateOffer(optional RTCOfferOptions offerOptions);
</span><span class="cx">     [PrivateIdentifier] Promise&lt;RTCSessionDescriptionInit&gt; queuedCreateAnswer(optional RTCAnswerOptions answerOptions);
</span><span class="cx">     [PrivateIdentifier] Promise&lt;void&gt; queuedSetLocalDescription(RTCSessionDescription description);
</span><span class="lines">@@ -131,25 +124,58 @@
</span><span class="cx">     [PrivateIdentifier] Promise&lt;void&gt; queuedSetRemoteDescription(RTCSessionDescription description);
</span><span class="cx">     [PrivateIdentifier] Promise&lt;void&gt; queuedAddIceCandidate(RTCIceCandidate candidate);
</span><span class="cx"> 
</span><del>-    [CallWith=ScriptExecutionContext, MayThrowException] RTCDataChannel createDataChannel([TreatNullAs=EmptyString] DOMString label, optional RTCDataChannelInit options);
</del><span class="cx"> 
</span><del>-    void close();
</del><ins>+    // 4.3.3.1 Legacy extensions supported
+    // JSBuiltin attributes above handles support of the extensions
+    // FIXME 169646: wrap legacy calls in runtime flag
</ins><span class="cx"> 
</span><del>-    attribute EventHandler onnegotiationneeded;
-    attribute EventHandler onicecandidate;
-    attribute EventHandler onsignalingstatechange;
</del><ins>+
+    // 4.11 Certificate management
+    // FIXME 169644: missing generateCertificate
+
+
+    // 5.1 RTCPeerConnection extensions
+    // RTP Media API extensions
+    [PrivateIdentifier, PublicIdentifier] sequence&lt;RTCRtpSender&gt; getSenders();
+    sequence&lt;RTCRtpReceiver&gt; getReceivers();
+    sequence&lt;RTCRtpTransceiver&gt; getTransceivers();
+
+    [PrivateIdentifier, PublicIdentifier, MayThrowException] RTCRtpSender addTrack(MediaStreamTrack track, MediaStream... streams);
+    [PrivateIdentifier, PublicIdentifier, MayThrowException] void removeTrack(RTCRtpSender sender);
+
+    // FIXME 169644: convert to (MediaStreamTrack or DOMString)
+    [MayThrowException] RTCRtpTransceiver addTransceiver(MediaStreamTrack track, optional RTCRtpTransceiverInit init);
+    [MayThrowException] RTCRtpTransceiver addTransceiver(DOMString kind, optional RTCRtpTransceiverInit init);
+
</ins><span class="cx">     attribute EventHandler ontrack;
</span><del>-    attribute EventHandler oniceconnectionstatechange;
-    attribute EventHandler onicegatheringstatechange;
</del><ins>+
+
+    // 6.1 Peer-to-peer data API
+    // FIXME 169644: missing sctp
+
+    // FIXME 169644: convert to USVString
+    [CallWith=ScriptExecutionContext, MayThrowException] RTCDataChannel createDataChannel([TreatNullAs=EmptyString] DOMString label, optional RTCDataChannelInit options);
</ins><span class="cx">     attribute EventHandler ondatachannel;
</span><span class="cx"> 
</span><ins>+
+    // 8.2 Statistics API
+    // FIXME 169644: |selector| may go away in a future version of the spec
+    Promise&lt;RTCStatsReport&gt; getStats(optional MediaStreamTrack? selector = null);
+
+
+    // 9.6 Identity Provider API
+    // FIXME 169644: missing IdP
+
+
+    // Legacy MediaStream API
+    // FIXME 169646: wrap this in runtime flag
+    [JSBuiltin] sequence&lt;MediaStream&gt; getLocalStreams();
+    [PrivateIdentifier, PublicIdentifier] sequence&lt;MediaStream&gt; getRemoteStreams();
+    [JSBuiltin] MediaStream getStreamById(DOMString streamId);
+
+    [JSBuiltin] void addStream(MediaStream stream);
+    [JSBuiltin] void removeStream(MediaStream stream);
+
</ins><span class="cx">     // Legacy event handler (MediaStream-based API)
</span><span class="cx">     attribute EventHandler onaddstream;
</span><span class="cx"> };
</span><del>-
-// This enum is mirrored in RTCRtpTransceiver.idl
-enum RTCRtpTransceiverDirection { &quot;sendrecv&quot;, &quot;sendonly&quot;, &quot;recvonly&quot;, &quot;inactive&quot; };
-
-dictionary RTCRtpTransceiverInit {
-    RTCRtpTransceiverDirection direction = &quot;sendrecv&quot;;
-};
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCRtpTransceiverh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiver.h (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiver.h        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiver.h        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_RTC)
</span><span class="cx"> 
</span><ins>+#include &quot;RTCEnums.h&quot;
</ins><span class="cx"> #include &quot;RTCIceTransport.h&quot;
</span><span class="cx"> #include &quot;RTCRtpReceiver.h&quot;
</span><span class="cx"> #include &quot;RTCRtpSender.h&quot;
</span><span class="lines">@@ -45,7 +46,7 @@
</span><span class="cx"> class RTCRtpTransceiver : public RefCounted&lt;RTCRtpTransceiver&gt;, public ScriptWrappable {
</span><span class="cx"> public:
</span><span class="cx">     // This enum is mirrored in RTCPeerConnection.h
</span><del>-    enum class Direction { Sendrecv, Sendonly, Recvonly, Inactive };
</del><ins>+    using Direction = RTCRtpTransceiverDirection;
</ins><span class="cx"> 
</span><span class="cx">     static Ref&lt;RTCRtpTransceiver&gt; create(Ref&lt;RTCRtpSender&gt;&amp;&amp; sender, Ref&lt;RTCRtpReceiver&gt;&amp;&amp; receiver) { return adoptRef(*new RTCRtpTransceiver(WTFMove(sender), WTFMove(receiver))); }
</span><span class="cx">     virtual ~RTCRtpTransceiver() { }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCRtpTransceiveridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiver.idl (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiver.idl        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiver.idl        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2016 Ericsson AB. All rights reserved.
</span><ins>+ * Copyright (C) 2017 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -28,19 +29,18 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+typedef RTCRtpTransceiverDirection RtpTransceiverDirection;
+
</ins><span class="cx"> [
</span><span class="cx">     Conditional=WEB_RTC,
</span><del>-    EnabledAtRuntime=PeerConnection,
</del><ins>+    EnabledAtRuntime=PeerConnection
</ins><span class="cx"> ] interface RTCRtpTransceiver {
</span><span class="cx">     readonly attribute DOMString? mid;
</span><span class="cx">     readonly attribute RTCRtpSender sender;
</span><span class="cx">     readonly attribute RTCRtpReceiver receiver;
</span><span class="cx">     readonly attribute boolean stopped;
</span><del>-    readonly attribute RTCRtpTransceiverDirection direction;
</del><ins>+    readonly attribute RtpTransceiverDirection direction;
</ins><span class="cx"> 
</span><del>-    void setDirection(RTCRtpTransceiverDirection direction);
</del><ins>+    void setDirection(RtpTransceiverDirection direction);
</ins><span class="cx">     void stop();
</span><span class="cx"> };
</span><del>-
-// This enum is mirrored in RTCPeerConnection.idl
-enum RTCRtpTransceiverDirection { &quot;sendrecv&quot;, &quot;sendonly&quot;, &quot;recvonly&quot;, &quot;inactive&quot; };
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCRtpTransceiverDirectionh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.h (0 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.h        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEB_RTC)
+
+namespace WebCore {
+
+enum class RTCRtpTransceiverDirection {
+    Sendrecv,
+    Sendonly,
+    Recvonly,
+    Inactive
+};
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCRtpTransceiverDirectionidl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.idl (0 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.idl        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    Conditional=WEB_RTC,
+    EnabledAtRuntime=PeerConnection
+] enum RTCRtpTransceiverDirection {
+    &quot;sendrecv&quot;,
+    &quot;sendonly&quot;,
+    &quot;recvonly&quot;,
+    &quot;inactive&quot;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (213991 => 213992)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2017-03-15 18:15:21 UTC (rev 213991)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2017-03-15 18:15:31 UTC (rev 213992)
</span><span class="lines">@@ -165,7 +165,6 @@
</span><span class="cx">                 076F0D0E12B8192700C26AA4 /* MediaPlayerPrivateAVFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 076F0D0A12B8192700C26AA4 /* MediaPlayerPrivateAVFoundation.h */; };
</span><span class="cx">                 077664FC183E6B5C00133B92 /* JSQuickTimePluginReplacement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 077664FA183E6B5C00133B92 /* JSQuickTimePluginReplacement.cpp */; };
</span><span class="cx">                 077664FD183E6B5C00133B92 /* JSQuickTimePluginReplacement.h in Headers */ = {isa = PBXBuildFile; fileRef = 077664FB183E6B5C00133B92 /* JSQuickTimePluginReplacement.h */; };
</span><del>-                0779BF0E18453168000B6AE7 /* HTMLMediaElementMediaStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 0779BF0B18453168000B6AE7 /* HTMLMediaElementMediaStream.h */; };
</del><span class="cx">                 077AF14018F4AE400001ED61 /* SerializedPlatformRepresentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 077AF13E18F4AE400001ED61 /* SerializedPlatformRepresentation.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 077AF14318F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 077AF14118F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.h */; };
</span><span class="cx">                 077AF14418F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 077AF14218F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.mm */; };
</span><span class="lines">@@ -1420,6 +1419,12 @@
</span><span class="cx">                 316BDC0B1E76344E00DE0D5A /* GPURenderPipelineColorAttachmentDescriptorMetal.mm in Sources */ = {isa = PBXBuildFile; fileRef = 316BDC0A1E76343600DE0D5A /* GPURenderPipelineColorAttachmentDescriptorMetal.mm */; };
</span><span class="cx">                 316BDC0C1E7634CF00DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316BDC081E76342700DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.cpp */; };
</span><span class="cx">                 316BDC0D1E7634D200DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 316BDC091E76342700DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                316DCB1F1E78CA55001B5F87 /* JSRTCOfferAnswerOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316DCB191E78CA55001B5F87 /* JSRTCOfferAnswerOptions.cpp */; };
+                316DCB201E78CA55001B5F87 /* JSRTCOfferAnswerOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 316DCB1A1E78CA55001B5F87 /* JSRTCOfferAnswerOptions.h */; };
+                316DCB211E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316DCB1B1E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.cpp */; };
+                316DCB221E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.h in Headers */ = {isa = PBXBuildFile; fileRef = 316DCB1C1E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.h */; };
+                316DCB311E78FB6C001B5F87 /* JSRTCAnswerOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316DCB2D1E78F496001B5F87 /* JSRTCAnswerOptions.cpp */; };
+                316DCB321E78FB70001B5F87 /* JSRTCOfferOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316DCB2F1E78F496001B5F87 /* JSRTCOfferOptions.cpp */; };
</ins><span class="cx">                 316FE0710E6CCBEE00BF6088 /* JSCSSKeyframeRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316FE06D0E6CCBEE00BF6088 /* JSCSSKeyframeRule.cpp */; };
</span><span class="cx">                 316FE0720E6CCBEE00BF6088 /* JSCSSKeyframeRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 316FE06E0E6CCBEE00BF6088 /* JSCSSKeyframeRule.h */; };
</span><span class="cx">                 316FE0730E6CCBEE00BF6088 /* JSCSSKeyframesRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316FE06F0E6CCBEE00BF6088 /* JSCSSKeyframesRule.cpp */; };
</span><span class="lines">@@ -7493,8 +7498,6 @@
</span><span class="cx">                 076F0D0A12B8192700C26AA4 /* MediaPlayerPrivateAVFoundation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaPlayerPrivateAVFoundation.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 077664FA183E6B5C00133B92 /* JSQuickTimePluginReplacement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSQuickTimePluginReplacement.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 077664FB183E6B5C00133B92 /* JSQuickTimePluginReplacement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSQuickTimePluginReplacement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                0779BF0B18453168000B6AE7 /* HTMLMediaElementMediaStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLMediaElementMediaStream.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                0779BF0C18453168000B6AE7 /* HTMLMediaElementMediaStream.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = HTMLMediaElementMediaStream.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 077AF13E18F4AE400001ED61 /* SerializedPlatformRepresentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedPlatformRepresentation.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 077AF14118F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedPlatformRepresentationMac.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 077AF14218F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SerializedPlatformRepresentationMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -8896,6 +8899,22 @@
</span><span class="cx">                 316BDC081E76342700DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GPURenderPipelineColorAttachmentDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 316BDC091E76342700DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GPURenderPipelineColorAttachmentDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 316BDC0A1E76343600DE0D5A /* GPURenderPipelineColorAttachmentDescriptorMetal.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GPURenderPipelineColorAttachmentDescriptorMetal.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                316DCB121E78BE43001B5F87 /* RTCOfferAnswerOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCOfferAnswerOptions.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB161E78C330001B5F87 /* RTCRtpTransceiverDirection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCRtpTransceiverDirection.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB171E78C330001B5F87 /* RTCRtpTransceiverDirection.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = RTCRtpTransceiverDirection.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB181E78C453001B5F87 /* RTCEnums.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCEnums.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB191E78CA55001B5F87 /* JSRTCOfferAnswerOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCOfferAnswerOptions.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB1A1E78CA55001B5F87 /* JSRTCOfferAnswerOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCOfferAnswerOptions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB1B1E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCRtpTransceiverDirection.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB1C1E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCRtpTransceiverDirection.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB281E78F395001B5F87 /* RTCOfferOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCOfferOptions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB291E78F395001B5F87 /* RTCOfferOptions.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = RTCOfferOptions.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB2B1E78F3A9001B5F87 /* RTCAnswerOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCAnswerOptions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB2C1E78F3A9001B5F87 /* RTCAnswerOptions.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = RTCAnswerOptions.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB2D1E78F496001B5F87 /* JSRTCAnswerOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCAnswerOptions.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB2E1E78F496001B5F87 /* JSRTCAnswerOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCAnswerOptions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB2F1E78F496001B5F87 /* JSRTCOfferOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCOfferOptions.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                316DCB301E78F496001B5F87 /* JSRTCOfferOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCOfferOptions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 316FE06D0E6CCBEE00BF6088 /* JSCSSKeyframeRule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSKeyframeRule.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 316FE06E0E6CCBEE00BF6088 /* JSCSSKeyframeRule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCSSKeyframeRule.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 316FE06F0E6CCBEE00BF6088 /* JSCSSKeyframesRule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSKeyframesRule.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -15789,8 +15808,6 @@
</span><span class="cx">                                 073794EE19EE364200E5A045 /* DOMURLMediaStream.idl */,
</span><span class="cx">                                 93A806111E03B51C008A1F26 /* DoubleRange.h */,
</span><span class="cx">                                 93A806121E03B51C008A1F26 /* DoubleRange.idl */,
</span><del>-                                0779BF0B18453168000B6AE7 /* HTMLMediaElementMediaStream.h */,
-                                0779BF0C18453168000B6AE7 /* HTMLMediaElementMediaStream.idl */,
</del><span class="cx">                                 93A806131E03B51C008A1F26 /* LongRange.h */,
</span><span class="cx">                                 93A806141E03B51C008A1F26 /* LongRange.idl */,
</span><span class="cx">                                 07221B4A17CEC32700848E51 /* MediaConstraintsImpl.cpp */,
</span><span class="lines">@@ -15839,6 +15856,8 @@
</span><span class="cx">                                 072A703F1D6E8F6200DF0AFC /* OverconstrainedErrorEvent.idl */,
</span><span class="cx">                                 41E408381DCB747900EFCE19 /* PeerConnectionBackend.cpp */,
</span><span class="cx">                                 5E2C434D1BCEE2E50001E2BC /* PeerConnectionBackend.h */,
</span><ins>+                                316DCB2B1E78F3A9001B5F87 /* RTCAnswerOptions.h */,
+                                316DCB2C1E78F3A9001B5F87 /* RTCAnswerOptions.idl */,
</ins><span class="cx">                                 07AB996518DA3C010018771E /* RTCConfiguration.h */,
</span><span class="cx">                                 07AB996618DA3C010018771E /* RTCConfiguration.idl */,
</span><span class="cx">                                 418205481E53EAAD00D62207 /* RTCController.cpp */,
</span><span class="lines">@@ -15855,6 +15874,7 @@
</span><span class="cx">                                 07221B6C17CEC32700848E51 /* RTCDTMFToneChangeEvent.cpp */,
</span><span class="cx">                                 07221B6D17CEC32700848E51 /* RTCDTMFToneChangeEvent.h */,
</span><span class="cx">                                 07221B6E17CEC32700848E51 /* RTCDTMFToneChangeEvent.idl */,
</span><ins>+                                316DCB181E78C453001B5F87 /* RTCEnums.h */,
</ins><span class="cx">                                 07221B7117CEC32700848E51 /* RTCIceCandidate.cpp */,
</span><span class="cx">                                 07221B7217CEC32700848E51 /* RTCIceCandidate.h */,
</span><span class="cx">                                 07221B7317CEC32700848E51 /* RTCIceCandidate.idl */,
</span><span class="lines">@@ -15865,6 +15885,9 @@
</span><span class="cx">                                 07AB996818DA3C010018771E /* RTCIceServer.idl */,
</span><span class="cx">                                 5E6653091DA437BF00FDD84C /* RTCIceTransport.h */,
</span><span class="cx">                                 073794DC19EE2C5200E5A045 /* RTCOfferAnswerOptions.h */,
</span><ins>+                                316DCB121E78BE43001B5F87 /* RTCOfferAnswerOptions.idl */,
+                                316DCB281E78F395001B5F87 /* RTCOfferOptions.h */,
+                                316DCB291E78F395001B5F87 /* RTCOfferOptions.idl */,
</ins><span class="cx">                                 07221B7717CEC32700848E51 /* RTCPeerConnection.cpp */,
</span><span class="cx">                                 07221B7817CEC32700848E51 /* RTCPeerConnection.h */,
</span><span class="cx">                                 07221B7917CEC32700848E51 /* RTCPeerConnection.idl */,
</span><span class="lines">@@ -15880,6 +15903,8 @@
</span><span class="cx">                                 5E5E2B101CFC3E4B000C0D85 /* RTCRtpTransceiver.cpp */,
</span><span class="cx">                                 5E5E2B111CFC3E4B000C0D85 /* RTCRtpTransceiver.h */,
</span><span class="cx">                                 5E5E2B121CFC3E4B000C0D85 /* RTCRtpTransceiver.idl */,
</span><ins>+                                316DCB161E78C330001B5F87 /* RTCRtpTransceiverDirection.h */,
+                                316DCB171E78C330001B5F87 /* RTCRtpTransceiverDirection.idl */,
</ins><span class="cx">                                 07221B7A17CEC32700848E51 /* RTCSessionDescription.cpp */,
</span><span class="cx">                                 07221B7B17CEC32700848E51 /* RTCSessionDescription.h */,
</span><span class="cx">                                 07221B7C17CEC32700848E51 /* RTCSessionDescription.idl */,
</span><span class="lines">@@ -16062,6 +16087,8 @@
</span><span class="cx">                                 0704A40A1D6DFC690086DCDB /* JSOverconstrainedError.h */,
</span><span class="cx">                                 0704A4131D6F39FB0086DCDB /* JSOverconstrainedErrorEvent.cpp */,
</span><span class="cx">                                 0704A4141D6F39FB0086DCDB /* JSOverconstrainedErrorEvent.h */,
</span><ins>+                                316DCB2D1E78F496001B5F87 /* JSRTCAnswerOptions.cpp */,
+                                316DCB2E1E78F496001B5F87 /* JSRTCAnswerOptions.h */,
</ins><span class="cx">                                 073794E319EE2FF200E5A045 /* JSRTCConfiguration.cpp */,
</span><span class="cx">                                 073794E419EE2FF200E5A045 /* JSRTCConfiguration.h */,
</span><span class="cx">                                 07969D9117D14151007FF842 /* JSRTCDataChannel.cpp */,
</span><span class="lines">@@ -16078,6 +16105,10 @@
</span><span class="cx">                                 07969D9E17D14151007FF842 /* JSRTCIceCandidateEvent.h */,
</span><span class="cx">                                 073794E919EE341E00E5A045 /* JSRTCIceServer.cpp */,
</span><span class="cx">                                 073794EA19EE341E00E5A045 /* JSRTCIceServer.h */,
</span><ins>+                                316DCB191E78CA55001B5F87 /* JSRTCOfferAnswerOptions.cpp */,
+                                316DCB1A1E78CA55001B5F87 /* JSRTCOfferAnswerOptions.h */,
+                                316DCB2F1E78F496001B5F87 /* JSRTCOfferOptions.cpp */,
+                                316DCB301E78F496001B5F87 /* JSRTCOfferOptions.h */,
</ins><span class="cx">                                 07969D9F17D14151007FF842 /* JSRTCPeerConnection.cpp */,
</span><span class="cx">                                 07969DA017D14151007FF842 /* JSRTCPeerConnection.h */,
</span><span class="cx">                                 5E2C436D1BCF0D690001E2BC /* JSRTCRtpReceiver.cpp */,
</span><span class="lines">@@ -16086,6 +16117,8 @@
</span><span class="cx">                                 5E2C43701BCF0D690001E2BC /* JSRTCRtpSender.h */,
</span><span class="cx">                                 5E2C436D1BCF0D690001E2BD /* JSRTCRtpTransceiver.cpp */,
</span><span class="cx">                                 5E2C436E1BCF0D690001E2BD /* JSRTCRtpTransceiver.h */,
</span><ins>+                                316DCB1B1E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.cpp */,
+                                316DCB1C1E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.h */,
</ins><span class="cx">                                 07969DA117D14151007FF842 /* JSRTCSessionDescription.cpp */,
</span><span class="cx">                                 07969DA217D14151007FF842 /* JSRTCSessionDescription.h */,
</span><span class="cx">                                 07969DA717D14151007FF842 /* JSRTCStatsReport.cpp */,
</span><span class="lines">@@ -27046,7 +27079,6 @@
</span><span class="cx">                                 E44613A50CD6331000FADA75 /* HTMLMediaElement.h in Headers */,
</span><span class="cx">                                 CD5209E61B0BD9E10077184E /* HTMLMediaElementEnums.h in Headers */,
</span><span class="cx">                                 C937FE8D1B1F6821008ECC5D /* HTMLMediaElementMediaSession.h in Headers */,
</span><del>-                                0779BF0E18453168000B6AE7 /* HTMLMediaElementMediaStream.h in Headers */,
</del><span class="cx">                                 A8EA79F40A1916DF00A8EF5F /* HTMLMenuElement.h in Headers */,
</span><span class="cx">                                 2BE8E2C712A589EC00FAD550 /* HTMLMetaCharsetParser.h in Headers */,
</span><span class="cx">                                 A871DC240A15205700B12A68 /* HTMLMetaElement.h in Headers */,
</span><span class="lines">@@ -27144,6 +27176,7 @@
</span><span class="cx">                                 5185FC8F1BB4C4E80012898F /* IDBGetResult.h in Headers */,
</span><span class="cx">                                 5185FC911BB4C4E80012898F /* IDBIndex.h in Headers */,
</span><span class="cx">                                 51F798F01BE880E7008AE491 /* IDBIndexInfo.h in Headers */,
</span><ins>+                                316DCB201E78CA55001B5F87 /* JSRTCOfferAnswerOptions.h in Headers */,
</ins><span class="cx">                                 51E269371DD3BD9B006B6A58 /* IDBIterateCursorData.h in Headers */,
</span><span class="cx">                                 5185FC951BB4C4E80012898F /* IDBKey.h in Headers */,
</span><span class="cx">                                 5185FC971BB4C4E80012898F /* IDBKeyData.h in Headers */,
</span><span class="lines">@@ -27333,6 +27366,7 @@
</span><span class="cx">                                 FDA15EA212B03EE1003A583A /* JSChannelMergerNode.h in Headers */,
</span><span class="cx">                                 FDA15EA412B03EE1003A583A /* JSChannelSplitterNode.h in Headers */,
</span><span class="cx">                                 65DF31F409D1CC60000BE325 /* JSCharacterData.h in Headers */,
</span><ins>+                                316DCB221E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.h in Headers */,
</ins><span class="cx">                                 BCC065880F3CE2A700CD2D87 /* JSClientRect.h in Headers */,
</span><span class="cx">                                 BCC0658A0F3CE2A700CD2D87 /* JSClientRectList.h in Headers */,
</span><span class="cx">                                 836D03321DA8A14200FFD96B /* JSClipboardEvent.h in Headers */,
</span><span class="lines">@@ -30504,6 +30538,7 @@
</span><span class="cx">                                 946D374D1D6D08A60077084F /* CSSParserTokenRange.cpp in Sources */,
</span><span class="cx">                                 9418278E1D8CAF9200492764 /* CSSPendingSubstitutionValue.cpp in Sources */,
</span><span class="cx">                                 977B3862122883E900B81FF8 /* CSSPreloadScanner.cpp in Sources */,
</span><ins>+                                316DCB1F1E78CA55001B5F87 /* JSRTCOfferAnswerOptions.cpp in Sources */,
</ins><span class="cx">                                 A80E6D050A1989CA007FB8C5 /* CSSPrimitiveValue.cpp in Sources */,
</span><span class="cx">                                 A80E6CF70A1989CA007FB8C5 /* CSSProperty.cpp in Sources */,
</span><span class="cx">                                 78D02BC5154A18DF00B62D05 /* CSSPropertyAnimation.cpp in Sources */,
</span><span class="lines">@@ -30846,6 +30881,7 @@
</span><span class="cx">                                 515BE1911D54F5FB00DD7C68 /* GamepadProvider.cpp in Sources */,
</span><span class="cx">                                 1432E8490C51493F00B1500F /* GCController.cpp in Sources */,
</span><span class="cx">                                 4FB390AD15EF61F3007AD51F /* GeneratedImage.cpp in Sources */,
</span><ins>+                                316DCB211E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.cpp in Sources */,
</ins><span class="cx">                                 830030F51B7D33B500ED3AAC /* GenericCachedHTMLCollection.cpp in Sources */,
</span><span class="cx">                                 0720B0A014D3323500642955 /* GenericEventQueue.cpp in Sources */,
</span><span class="cx">                                 CD4BE52A1CE136EF009D87DA /* GenericTaskQueue.cpp in Sources */,
</span><span class="lines">@@ -31623,6 +31659,7 @@
</span><span class="cx">                                 E51A81DF17298D7700BFCA61 /* JSPerformance.cpp in Sources */,
</span><span class="cx">                                 CB38FD511CCF938900592A3F /* JSPerformanceEntry.cpp in Sources */,
</span><span class="cx">                                 CB38FD571CD21E2A00592A3F /* JSPerformanceEntryCustom.cpp in Sources */,
</span><ins>+                                316DCB311E78FB6C001B5F87 /* JSRTCAnswerOptions.cpp in Sources */,
</ins><span class="cx">                                 A58C59D01E382EAC0047859C /* JSPerformanceMark.cpp in Sources */,
</span><span class="cx">                                 A58C59D21E382EB00047859C /* JSPerformanceMeasure.cpp in Sources */,
</span><span class="cx">                                 8A9A587011E84C36008ACFD1 /* JSPerformanceNavigation.cpp in Sources */,
</span><span class="lines">@@ -31998,6 +32035,7 @@
</span><span class="cx">                                 A456FA2611AD4A830020B420 /* LabelsNodeList.cpp in Sources */,
</span><span class="cx">                                 E18772F1126E2629003DD586 /* Language.cpp in Sources */,
</span><span class="cx">                                 2917B5611473496C0052C9D0 /* LayerFlushScheduler.cpp in Sources */,
</span><ins>+                                316DCB321E78FB70001B5F87 /* JSRTCOfferOptions.cpp in Sources */,
</ins><span class="cx">                                 2917B566147349950052C9D0 /* LayerFlushSchedulerMac.cpp in Sources */,
</span><span class="cx">                                 7AA3A69F194B59B6001CBD24 /* LayerPool.cpp in Sources */,
</span><span class="cx">                                 0F36E7371BD1837A002DB891 /* LayoutPoint.cpp in Sources */,
</span></span></pre>
</div>
</div>

</body>
</html>