Title: [213992] trunk/Source/WebCore
Revision
213992
Author
jon...@apple.com
Date
2017-03-15 11:15:31 -0700 (Wed, 15 Mar 2017)

Log Message

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 "partial interface" 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:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (213991 => 213992)


--- 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)
@@ -233,6 +233,7 @@
     Modules/mediastream/NavigatorUserMedia.idl
     Modules/mediastream/OverconstrainedError.idl
     Modules/mediastream/OverconstrainedErrorEvent.idl
+    Modules/mediastream/RTCAnswerOptions.idl
     Modules/mediastream/RTCConfiguration.idl
     Modules/mediastream/RTCDTMFSender.idl
     Modules/mediastream/RTCDTMFToneChangeEvent.idl
@@ -241,10 +242,13 @@
     Modules/mediastream/RTCIceCandidate.idl
     Modules/mediastream/RTCIceCandidateEvent.idl
     Modules/mediastream/RTCIceServer.idl
+    Modules/mediastream/RTCOfferAnswerOptions.idl
+    Modules/mediastream/RTCOfferOptions.idl
     Modules/mediastream/RTCPeerConnection.idl
     Modules/mediastream/RTCRtpReceiver.idl
     Modules/mediastream/RTCRtpSender.idl
     Modules/mediastream/RTCRtpTransceiver.idl
+    Modules/mediastream/RTCRtpTransceiverDirection.idl
     Modules/mediastream/RTCSessionDescription.idl
     Modules/mediastream/RTCStatsReport.idl
     Modules/mediastream/RTCTrackEvent.idl

Modified: trunk/Source/WebCore/ChangeLog (213991 => 213992)


--- 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)
@@ -1,3 +1,47 @@
+2017-03-14  Jon Lee  <jon...@apple.com>
+
+        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 "partial interface" 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:
+
 2017-03-15  Zan Dobersek  <zdober...@igalia.com>
 
         [GTK] Initialize m_button, m_clickCount members in PlatformMouseEvent constructors

Modified: trunk/Source/WebCore/DerivedSources.make (213991 => 213992)


--- 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)
@@ -177,6 +177,7 @@
     $(WebCore)/Modules/mediastream/NavigatorUserMedia.idl \
     $(WebCore)/Modules/mediastream/OverconstrainedError.idl \
     $(WebCore)/Modules/mediastream/OverconstrainedErrorEvent.idl \
+    $(WebCore)/Modules/mediastream/RTCAnswerOptions.idl \
     $(WebCore)/Modules/mediastream/RTCConfiguration.idl \
     $(WebCore)/Modules/mediastream/RTCDTMFSender.idl \
     $(WebCore)/Modules/mediastream/RTCDTMFToneChangeEvent.idl \
@@ -185,10 +186,13 @@
     $(WebCore)/Modules/mediastream/RTCIceCandidate.idl \
     $(WebCore)/Modules/mediastream/RTCIceCandidateEvent.idl \
     $(WebCore)/Modules/mediastream/RTCIceServer.idl \
+    $(WebCore)/Modules/mediastream/RTCOfferAnswerOptions.idl \
+    $(WebCore)/Modules/mediastream/RTCOfferOptions.idl \
     $(WebCore)/Modules/mediastream/RTCPeerConnection.idl \
     $(WebCore)/Modules/mediastream/RTCRtpReceiver.idl \
     $(WebCore)/Modules/mediastream/RTCRtpSender.idl \
     $(WebCore)/Modules/mediastream/RTCRtpTransceiver.idl \
+    $(WebCore)/Modules/mediastream/RTCRtpTransceiverDirection.idl \
     $(WebCore)/Modules/mediastream/RTCSessionDescription.idl \
     $(WebCore)/Modules/mediastream/RTCStatsReport.idl \
     $(WebCore)/Modules/mediastream/RTCTrackEvent.idl \

Modified: trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp (213991 => 213992)


--- 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)
@@ -42,10 +42,11 @@
 #include "MediaStreamTrack.h"
 #include "NotImplemented.h"
 #include "PeerMediaDescription.h"
+#include "RTCAnswerOptions.h"
 #include "RTCConfiguration.h"
 #include "RTCIceCandidate.h"
 #include "RTCIceCandidateEvent.h"
-#include "RTCOfferAnswerOptions.h"
+#include "RTCOfferOptions.h"
 #include "RTCPeerConnection.h"
 #include "RTCRtpTransceiver.h"
 #include "RTCTrackEvent.h"

Added: trunk/Source/WebCore/Modules/mediastream/RTCAnswerOptions.h (0 => 213992)


--- 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)
@@ -0,0 +1,39 @@
+/*
+ * 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 "RTCOfferAnswerOptions.h"
+
+namespace WebCore {
+
+struct RTCAnswerOptions : public RTCOfferAnswerOptions {
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_RTC)

Added: trunk/Source/WebCore/Modules/mediastream/RTCAnswerOptions.idl (0 => 213992)


--- 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)
@@ -0,0 +1,30 @@
+/*
+ * 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 {
+};

Added: trunk/Source/WebCore/Modules/mediastream/RTCEnums.h (0 => 213992)


--- 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)
@@ -0,0 +1,29 @@
+/*
+ * 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 "PeerConnectionStates.h"
+#include "RTCRtpTransceiverDirection.h"

Modified: trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.h (213991 => 213992)


--- 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)
@@ -34,15 +34,6 @@
     bool voiceActivityDetection { true };
 };
 
-struct RTCOfferOptions : RTCOfferAnswerOptions {
-    int64_t offerToReceiveVideo { 0 };
-    int64_t offerToReceiveAudio { 0 };
-    bool iceRestart { false };
-};
-
-struct RTCAnswerOptions : RTCOfferAnswerOptions {
-};
-
 } // namespace WebCore
 
 #endif // ENABLE(WEB_RTC)

Added: trunk/Source/WebCore/Modules/mediastream/RTCOfferAnswerOptions.idl (0 => 213992)


--- 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)
@@ -0,0 +1,32 @@
+/*
+ * 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;
+};

Added: trunk/Source/WebCore/Modules/mediastream/RTCOfferOptions.h (0 => 213992)


--- 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)
@@ -0,0 +1,40 @@
+/*
+ * 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 "RTCOfferAnswerOptions.h"
+
+namespace WebCore {
+
+struct RTCOfferOptions : RTCOfferAnswerOptions {
+    bool iceRestart { false };
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_RTC)

Added: trunk/Source/WebCore/Modules/mediastream/RTCOfferOptions.idl (0 => 213992)


--- 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)
@@ -0,0 +1,31 @@
+/*
+ * 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;
+};

Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp (213991 => 213992)


--- 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)
@@ -2,6 +2,7 @@
  * Copyright (C) 2012 Google Inc. All rights reserved.
  * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
  * Copyright (C) 2015, 2016 Ericsson AB. All rights reserved.
+ * 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
@@ -48,7 +49,6 @@
 #include "RTCDataChannel.h"
 #include "RTCIceCandidate.h"
 #include "RTCIceCandidateEvent.h"
-#include "RTCOfferAnswerOptions.h"
 #include "RTCSessionDescription.h"
 #include "RTCTrackEvent.h"
 #include "UUID.h"
@@ -172,7 +172,7 @@
     return { };
 }
 
-ExceptionOr<Ref<RTCRtpTransceiver>> RTCPeerConnection::addTransceiver(Ref<MediaStreamTrack>&& track, const RtpTransceiverInit& init)
+ExceptionOr<Ref<RTCRtpTransceiver>> RTCPeerConnection::addTransceiver(Ref<MediaStreamTrack>&& track, const RTCRtpTransceiverInit& init)
 {
     if (m_signalingState == SignalingState::Closed)
         return Exception { INVALID_STATE_ERR };
@@ -190,7 +190,7 @@
     return WTFMove(transceiver);
 }
 
-ExceptionOr<Ref<RTCRtpTransceiver>> RTCPeerConnection::addTransceiver(const String& kind, const RtpTransceiverInit& init)
+ExceptionOr<Ref<RTCRtpTransceiver>> RTCPeerConnection::addTransceiver(const String& kind, const RTCRtpTransceiverInit& init)
 {
     if (m_signalingState == SignalingState::Closed)
         return Exception { INVALID_STATE_ERR };
@@ -210,7 +210,7 @@
     return WTFMove(transceiver);
 }
 
-void RTCPeerConnection::completeAddTransceiver(RTCRtpTransceiver& transceiver, const RtpTransceiverInit& init)
+void RTCPeerConnection::completeAddTransceiver(RTCRtpTransceiver& transceiver, const RTCRtpTransceiverInit& init)
 {
     transceiver.setDirection(static_cast<RTCRtpTransceiver::Direction>(init.direction));
 

Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h (213991 => 213992)


--- 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)
@@ -2,6 +2,7 @@
  * Copyright (C) 2012 Google Inc. All rights reserved.
  * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
  * Copyright (C) 2015 Ericsson AB. All rights reserved.
+ * 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
@@ -37,9 +38,11 @@
 #include "ActiveDOMObject.h"
 #include "EventTarget.h"
 #include "MediaStream.h"
+#include "RTCAnswerOptions.h"
 #include "RTCConfiguration.h"
 #include "RTCDataChannel.h"
-#include "RTCOfferAnswerOptions.h"
+#include "RTCEnums.h"
+#include "RTCOfferOptions.h"
 #include "RTCRtpTransceiver.h"
 
 namespace WebCore {
@@ -52,6 +55,10 @@
 class RTCSessionDescription;
 class RTCStatsCallback;
 
+struct RTCRtpTransceiverInit {
+    RTCRtpTransceiverDirection direction;
+};
+
 class RTCPeerConnection final : public RefCounted<RTCPeerConnection>, public RTCRtpSenderClient, public EventTargetWithInlineData, public ActiveDOMObject {
 public:
     static Ref<RTCPeerConnection> create(ScriptExecutionContext&);
@@ -74,16 +81,9 @@
     ExceptionOr<Ref<RTCRtpSender>> addTrack(Ref<MediaStreamTrack>&&, const Vector<std::reference_wrapper<MediaStream>>&);
     ExceptionOr<void> removeTrack(RTCRtpSender&);
 
-    // This enum is mirrored in RTCRtpTransceiver.h
-    enum class RtpTransceiverDirection { Sendrecv, Sendonly, Recvonly, Inactive };
+    ExceptionOr<Ref<RTCRtpTransceiver>> addTransceiver(Ref<MediaStreamTrack>&&, const RTCRtpTransceiverInit&);
+    ExceptionOr<Ref<RTCRtpTransceiver>> addTransceiver(const String& kind, const RTCRtpTransceiverInit&);
 
-    struct RtpTransceiverInit {
-        RtpTransceiverDirection direction;
-    };
-
-    ExceptionOr<Ref<RTCRtpTransceiver>> addTransceiver(Ref<MediaStreamTrack>&&, const RtpTransceiverInit&);
-    ExceptionOr<Ref<RTCRtpTransceiver>> addTransceiver(const String& kind, const RtpTransceiverInit&);
-
     void queuedCreateOffer(RTCOfferOptions&&, PeerConnection::SessionDescriptionPromise&&);
     void queuedCreateAnswer(RTCAnswerOptions&&, PeerConnection::SessionDescriptionPromise&&);
 
@@ -143,7 +143,7 @@
 private:
     RTCPeerConnection(ScriptExecutionContext&);
 
-    void completeAddTransceiver(RTCRtpTransceiver&, const RtpTransceiverInit&);
+    void completeAddTransceiver(RTCRtpTransceiver&, const RTCRtpTransceiverInit&);
 
     RTCController& rtcController();
     void registerToController();

Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl (213991 => 213992)


--- 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)
@@ -2,6 +2,7 @@
  * Copyright (C) 2012 Google Inc. All rights reserved.
  * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
  * Copyright (C) 2015, 2016 Ericsson AB. All rights reserved.
+ * 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
@@ -30,101 +31,93 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-dictionary RTCOfferAnswerOptions {
-    boolean voiceActivityDetection = true;
-};
-
-dictionary RTCOfferOptions : RTCOfferAnswerOptions {
-    boolean iceRestart = false;
-};
-
-dictionary RTCAnswerOptions : RTCOfferAnswerOptions {
-};
-
-dictionary RTCDataChannelInit {
+[
+    Conditional=WEB_RTC,
+    EnabledAtRuntime=PeerConnection
+] dictionary RTCDataChannelInit {
     boolean ordered = true;
+    // FIXME 169644: rename to maxPacketLifeTime;
     unsigned short maxRetransmitTime;
     unsigned short maxRetransmits;
     USVString protocol = "";
     boolean negotiated = false;
     unsigned short id;
+    // FIXME 169644: missing priority
 };
 
 [
+    Conditional=WEB_RTC,
+    EnabledAtRuntime=PeerConnection,
+    ImplementedAs=RTCRtpTransceiverInit
+] dictionary RTCRtpTransceiverInit {
+    RTCRtpTransceiverDirection direction = "sendrecv";
+};
+
+[
     ActiveDOMObject,
     Conditional=WEB_RTC,
     ConstructorCallWith=ScriptExecutionContext,
     EnabledAtRuntime=PeerConnection,
     ExportMacro=WEBCORE_EXPORT,
-    JSBuiltinConstructor,
+    JSBuiltinConstructor
 ] interface RTCPeerConnection : EventTarget {
+    // FIXME 169644: update Constructor to take optional RTCConfiguration
     // Private initializer
     [PrivateIdentifier, CallWith=Document, MayThrowException] void initializeWith(RTCConfiguration configuration);
 
-    // RTP Media API extensions
-    [PrivateIdentifier, PublicIdentifier] sequence<RTCRtpSender> getSenders();
-    sequence<RTCRtpReceiver> getReceivers();
-    sequence<RTCRtpTransceiver> getTransceivers();
 
-    [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<MediaStream> getLocalStreams();
-    [PrivateIdentifier, PublicIdentifier] sequence<MediaStream> getRemoteStreams();
-    [JSBuiltin] MediaStream getStreamById(DOMString streamId);
-
-    [JSBuiltin] void addStream(MediaStream stream);
-    [JSBuiltin] void removeStream(MediaStream stream);
-
+    // 4.3.2 Interface Definition
+    // JSBuiltins provide support for legacy signatures
     [JSBuiltin] Promise<RTCSessionDescriptionInit> createOffer(optional RTCOfferOptions offerOptions);
-    // Legacy signature: Promise<void> createOffer(RTCSessionDescriptionCallback successCallback
-    //                                       RTCPeerConnectionErrorCallback errorCallback,
-    //                                       optional Dictionary offerOptions);
-
     [JSBuiltin] Promise<RTCSessionDescriptionInit> createAnswer(optional RTCAnswerOptions answerOptions);
-    // Legacy signature: Promise<void> createAnswer(RTCSessionDescriptionCallback successCallback
-    //                                        RTCPeerConnectionErrorCallback errorCallback,
-    //                                        optional Dictionary answerOptions);
 
+    // FIXME 169644: change to RTCSessionDescriptionInit
     [JSBuiltin] Promise<void> setLocalDescription(RTCSessionDescription description);
-    // Legacy signature: Promise<void> setLocalDescription(RTCSessionDescription description
-    //                                               VoidCallback successCallback,
-    //                                               RTCPeerConnectionErrorCallback errorCallback);
-
+    // FIXME 169644: change to nullable
     readonly attribute RTCSessionDescription localDescription;
+    // FIXME 169644: change to nullable
     readonly attribute RTCSessionDescription currentLocalDescription;
+    // FIXME 169644: change to nullable
     readonly attribute RTCSessionDescription pendingLocalDescription;
 
+    // FIXME 169644: change to RTCSessionDescriptionInit
     [JSBuiltin] Promise<void> setRemoteDescription(RTCSessionDescription description);
-    // Legacy signature: Promise<void> setRemoteDescription(RTCSessionDescription description
-    //                                                VoidCallback successCallback,
-    //                                                RTCPeerConnectionErrorCallback errorCallback);
-
+    // FIXME 169644: change to nullable
     readonly attribute RTCSessionDescription remoteDescription;
+    // FIXME 169644: change to nullable
     readonly attribute RTCSessionDescription currentRemoteDescription;
+    // FIXME 169644: change to nullable
     readonly attribute RTCSessionDescription pendingRemoteDescription;
 
-    readonly attribute DOMString signalingState;
-
+    // FIXME 169644: update parameter to (RTCIceCandidateInit or RTCIceCandidate)
     [JSBuiltin] Promise<void> addIceCandidate(RTCIceCandidate candidate);
-    // Legacy signature: Promise<void> addIceCandidate(RTCIceCandidate candidate
-    //                                           VoidCallback successCallback,
-    //                                           RTCPeerConnectionErrorCallback errorCallback);
 
+    // FIXME 169644: convert to enum
+    readonly attribute DOMString signalingState;
+    // FIXME 169644: convert to enum
     readonly attribute DOMString iceGatheringState;
+    // FIXME 169644: convert to enum
     readonly attribute DOMString iceConnectionState;
 
+    // FIXME 169644: missing connectionState
+    // FIXME 169644: missing canTrickleIceCandidates
+    // FIXME 169644: missing defaultIceServers
+
     RTCConfiguration getConfiguration();
     [MayThrowException] void setConfiguration(RTCConfiguration configuration);
+    void close();
 
-    Promise<RTCStatsReport> getStats(optional MediaStreamTrack? selector = null);
+    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
 
-    // Private API used to implement the overloaded operations above. Queued functions are called by
-    // runQueuedOperation() (defined in RTCPeerConnectionInternals.js).
+    // Private API used to implement the overloaded operations above. Queued functions are called by runQueuedOperation().
+    // See RTCPeerConnectionInternals.js.
     [PrivateIdentifier] Promise<RTCSessionDescriptionInit> queuedCreateOffer(optional RTCOfferOptions offerOptions);
     [PrivateIdentifier] Promise<RTCSessionDescriptionInit> queuedCreateAnswer(optional RTCAnswerOptions answerOptions);
     [PrivateIdentifier] Promise<void> queuedSetLocalDescription(RTCSessionDescription description);
@@ -131,25 +124,58 @@
     [PrivateIdentifier] Promise<void> queuedSetRemoteDescription(RTCSessionDescription description);
     [PrivateIdentifier] Promise<void> queuedAddIceCandidate(RTCIceCandidate candidate);
 
-    [CallWith=ScriptExecutionContext, MayThrowException] RTCDataChannel createDataChannel([TreatNullAs=EmptyString] DOMString label, optional RTCDataChannelInit options);
 
-    void close();
+    // 4.3.3.1 Legacy extensions supported
+    // JSBuiltin attributes above handles support of the extensions
+    // FIXME 169646: wrap legacy calls in runtime flag
 
-    attribute EventHandler onnegotiationneeded;
-    attribute EventHandler onicecandidate;
-    attribute EventHandler onsignalingstatechange;
+
+    // 4.11 Certificate management
+    // FIXME 169644: missing generateCertificate
+
+
+    // 5.1 RTCPeerConnection extensions
+    // RTP Media API extensions
+    [PrivateIdentifier, PublicIdentifier] sequence<RTCRtpSender> getSenders();
+    sequence<RTCRtpReceiver> getReceivers();
+    sequence<RTCRtpTransceiver> 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);
+
     attribute EventHandler ontrack;
-    attribute EventHandler oniceconnectionstatechange;
-    attribute EventHandler onicegatheringstatechange;
+
+
+    // 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);
     attribute EventHandler ondatachannel;
 
+
+    // 8.2 Statistics API
+    // FIXME 169644: |selector| may go away in a future version of the spec
+    Promise<RTCStatsReport> 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<MediaStream> getLocalStreams();
+    [PrivateIdentifier, PublicIdentifier] sequence<MediaStream> getRemoteStreams();
+    [JSBuiltin] MediaStream getStreamById(DOMString streamId);
+
+    [JSBuiltin] void addStream(MediaStream stream);
+    [JSBuiltin] void removeStream(MediaStream stream);
+
     // Legacy event handler (MediaStream-based API)
     attribute EventHandler onaddstream;
 };
-
-// This enum is mirrored in RTCRtpTransceiver.idl
-enum RTCRtpTransceiverDirection { "sendrecv", "sendonly", "recvonly", "inactive" };
-
-dictionary RTCRtpTransceiverInit {
-    RTCRtpTransceiverDirection direction = "sendrecv";
-};

Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiver.h (213991 => 213992)


--- 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)
@@ -32,6 +32,7 @@
 
 #if ENABLE(WEB_RTC)
 
+#include "RTCEnums.h"
 #include "RTCIceTransport.h"
 #include "RTCRtpReceiver.h"
 #include "RTCRtpSender.h"
@@ -45,7 +46,7 @@
 class RTCRtpTransceiver : public RefCounted<RTCRtpTransceiver>, public ScriptWrappable {
 public:
     // This enum is mirrored in RTCPeerConnection.h
-    enum class Direction { Sendrecv, Sendonly, Recvonly, Inactive };
+    using Direction = RTCRtpTransceiverDirection;
 
     static Ref<RTCRtpTransceiver> create(Ref<RTCRtpSender>&& sender, Ref<RTCRtpReceiver>&& receiver) { return adoptRef(*new RTCRtpTransceiver(WTFMove(sender), WTFMove(receiver))); }
     virtual ~RTCRtpTransceiver() { }

Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiver.idl (213991 => 213992)


--- 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)
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2016 Ericsson AB. All rights reserved.
+ * 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
@@ -28,19 +29,18 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+typedef RTCRtpTransceiverDirection RtpTransceiverDirection;
+
 [
     Conditional=WEB_RTC,
-    EnabledAtRuntime=PeerConnection,
+    EnabledAtRuntime=PeerConnection
 ] interface RTCRtpTransceiver {
     readonly attribute DOMString? mid;
     readonly attribute RTCRtpSender sender;
     readonly attribute RTCRtpReceiver receiver;
     readonly attribute boolean stopped;
-    readonly attribute RTCRtpTransceiverDirection direction;
+    readonly attribute RtpTransceiverDirection direction;
 
-    void setDirection(RTCRtpTransceiverDirection direction);
+    void setDirection(RtpTransceiverDirection direction);
     void stop();
 };
-
-// This enum is mirrored in RTCPeerConnection.idl
-enum RTCRtpTransceiverDirection { "sendrecv", "sendonly", "recvonly", "inactive" };

Added: trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.h (0 => 213992)


--- 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)
@@ -0,0 +1,41 @@
+/*
+ * 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

Added: trunk/Source/WebCore/Modules/mediastream/RTCRtpTransceiverDirection.idl (0 => 213992)


--- 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)
@@ -0,0 +1,34 @@
+/*
+ * 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 {
+    "sendrecv",
+    "sendonly",
+    "recvonly",
+    "inactive"
+};

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (213991 => 213992)


--- 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)
@@ -165,7 +165,6 @@
 		076F0D0E12B8192700C26AA4 /* MediaPlayerPrivateAVFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 076F0D0A12B8192700C26AA4 /* MediaPlayerPrivateAVFoundation.h */; };
 		077664FC183E6B5C00133B92 /* JSQuickTimePluginReplacement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 077664FA183E6B5C00133B92 /* JSQuickTimePluginReplacement.cpp */; };
 		077664FD183E6B5C00133B92 /* JSQuickTimePluginReplacement.h in Headers */ = {isa = PBXBuildFile; fileRef = 077664FB183E6B5C00133B92 /* JSQuickTimePluginReplacement.h */; };
-		0779BF0E18453168000B6AE7 /* HTMLMediaElementMediaStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 0779BF0B18453168000B6AE7 /* HTMLMediaElementMediaStream.h */; };
 		077AF14018F4AE400001ED61 /* SerializedPlatformRepresentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 077AF13E18F4AE400001ED61 /* SerializedPlatformRepresentation.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		077AF14318F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 077AF14118F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.h */; };
 		077AF14418F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 077AF14218F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.mm */; };
@@ -1420,6 +1419,12 @@
 		316BDC0B1E76344E00DE0D5A /* GPURenderPipelineColorAttachmentDescriptorMetal.mm in Sources */ = {isa = PBXBuildFile; fileRef = 316BDC0A1E76343600DE0D5A /* GPURenderPipelineColorAttachmentDescriptorMetal.mm */; };
 		316BDC0C1E7634CF00DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316BDC081E76342700DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.cpp */; };
 		316BDC0D1E7634D200DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 316BDC091E76342700DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		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 */; };
 		316FE0710E6CCBEE00BF6088 /* JSCSSKeyframeRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316FE06D0E6CCBEE00BF6088 /* JSCSSKeyframeRule.cpp */; };
 		316FE0720E6CCBEE00BF6088 /* JSCSSKeyframeRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 316FE06E0E6CCBEE00BF6088 /* JSCSSKeyframeRule.h */; };
 		316FE0730E6CCBEE00BF6088 /* JSCSSKeyframesRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316FE06F0E6CCBEE00BF6088 /* JSCSSKeyframesRule.cpp */; };
@@ -7493,8 +7498,6 @@
 		076F0D0A12B8192700C26AA4 /* MediaPlayerPrivateAVFoundation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaPlayerPrivateAVFoundation.h; sourceTree = "<group>"; };
 		077664FA183E6B5C00133B92 /* JSQuickTimePluginReplacement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSQuickTimePluginReplacement.cpp; sourceTree = "<group>"; };
 		077664FB183E6B5C00133B92 /* JSQuickTimePluginReplacement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSQuickTimePluginReplacement.h; sourceTree = "<group>"; };
-		0779BF0B18453168000B6AE7 /* HTMLMediaElementMediaStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLMediaElementMediaStream.h; sourceTree = "<group>"; };
-		0779BF0C18453168000B6AE7 /* HTMLMediaElementMediaStream.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = HTMLMediaElementMediaStream.idl; sourceTree = "<group>"; };
 		077AF13E18F4AE400001ED61 /* SerializedPlatformRepresentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedPlatformRepresentation.h; sourceTree = "<group>"; };
 		077AF14118F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedPlatformRepresentationMac.h; sourceTree = "<group>"; };
 		077AF14218F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SerializedPlatformRepresentationMac.mm; sourceTree = "<group>"; };
@@ -8896,6 +8899,22 @@
 		316BDC081E76342700DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GPURenderPipelineColorAttachmentDescriptor.cpp; sourceTree = "<group>"; };
 		316BDC091E76342700DE0D5A /* GPURenderPipelineColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GPURenderPipelineColorAttachmentDescriptor.h; sourceTree = "<group>"; };
 		316BDC0A1E76343600DE0D5A /* GPURenderPipelineColorAttachmentDescriptorMetal.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GPURenderPipelineColorAttachmentDescriptorMetal.mm; sourceTree = "<group>"; };
+		316DCB121E78BE43001B5F87 /* RTCOfferAnswerOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCOfferAnswerOptions.idl; sourceTree = "<group>"; };
+		316DCB161E78C330001B5F87 /* RTCRtpTransceiverDirection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCRtpTransceiverDirection.h; sourceTree = "<group>"; };
+		316DCB171E78C330001B5F87 /* RTCRtpTransceiverDirection.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = RTCRtpTransceiverDirection.idl; sourceTree = "<group>"; };
+		316DCB181E78C453001B5F87 /* RTCEnums.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCEnums.h; sourceTree = "<group>"; };
+		316DCB191E78CA55001B5F87 /* JSRTCOfferAnswerOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCOfferAnswerOptions.cpp; sourceTree = "<group>"; };
+		316DCB1A1E78CA55001B5F87 /* JSRTCOfferAnswerOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCOfferAnswerOptions.h; sourceTree = "<group>"; };
+		316DCB1B1E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCRtpTransceiverDirection.cpp; sourceTree = "<group>"; };
+		316DCB1C1E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCRtpTransceiverDirection.h; sourceTree = "<group>"; };
+		316DCB281E78F395001B5F87 /* RTCOfferOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCOfferOptions.h; sourceTree = "<group>"; };
+		316DCB291E78F395001B5F87 /* RTCOfferOptions.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = RTCOfferOptions.idl; sourceTree = "<group>"; };
+		316DCB2B1E78F3A9001B5F87 /* RTCAnswerOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCAnswerOptions.h; sourceTree = "<group>"; };
+		316DCB2C1E78F3A9001B5F87 /* RTCAnswerOptions.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = RTCAnswerOptions.idl; sourceTree = "<group>"; };
+		316DCB2D1E78F496001B5F87 /* JSRTCAnswerOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCAnswerOptions.cpp; sourceTree = "<group>"; };
+		316DCB2E1E78F496001B5F87 /* JSRTCAnswerOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCAnswerOptions.h; sourceTree = "<group>"; };
+		316DCB2F1E78F496001B5F87 /* JSRTCOfferOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCOfferOptions.cpp; sourceTree = "<group>"; };
+		316DCB301E78F496001B5F87 /* JSRTCOfferOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCOfferOptions.h; sourceTree = "<group>"; };
 		316FE06D0E6CCBEE00BF6088 /* JSCSSKeyframeRule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSKeyframeRule.cpp; sourceTree = "<group>"; };
 		316FE06E0E6CCBEE00BF6088 /* JSCSSKeyframeRule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCSSKeyframeRule.h; sourceTree = "<group>"; };
 		316FE06F0E6CCBEE00BF6088 /* JSCSSKeyframesRule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSKeyframesRule.cpp; sourceTree = "<group>"; };
@@ -15789,8 +15808,6 @@
 				073794EE19EE364200E5A045 /* DOMURLMediaStream.idl */,
 				93A806111E03B51C008A1F26 /* DoubleRange.h */,
 				93A806121E03B51C008A1F26 /* DoubleRange.idl */,
-				0779BF0B18453168000B6AE7 /* HTMLMediaElementMediaStream.h */,
-				0779BF0C18453168000B6AE7 /* HTMLMediaElementMediaStream.idl */,
 				93A806131E03B51C008A1F26 /* LongRange.h */,
 				93A806141E03B51C008A1F26 /* LongRange.idl */,
 				07221B4A17CEC32700848E51 /* MediaConstraintsImpl.cpp */,
@@ -15839,6 +15856,8 @@
 				072A703F1D6E8F6200DF0AFC /* OverconstrainedErrorEvent.idl */,
 				41E408381DCB747900EFCE19 /* PeerConnectionBackend.cpp */,
 				5E2C434D1BCEE2E50001E2BC /* PeerConnectionBackend.h */,
+				316DCB2B1E78F3A9001B5F87 /* RTCAnswerOptions.h */,
+				316DCB2C1E78F3A9001B5F87 /* RTCAnswerOptions.idl */,
 				07AB996518DA3C010018771E /* RTCConfiguration.h */,
 				07AB996618DA3C010018771E /* RTCConfiguration.idl */,
 				418205481E53EAAD00D62207 /* RTCController.cpp */,
@@ -15855,6 +15874,7 @@
 				07221B6C17CEC32700848E51 /* RTCDTMFToneChangeEvent.cpp */,
 				07221B6D17CEC32700848E51 /* RTCDTMFToneChangeEvent.h */,
 				07221B6E17CEC32700848E51 /* RTCDTMFToneChangeEvent.idl */,
+				316DCB181E78C453001B5F87 /* RTCEnums.h */,
 				07221B7117CEC32700848E51 /* RTCIceCandidate.cpp */,
 				07221B7217CEC32700848E51 /* RTCIceCandidate.h */,
 				07221B7317CEC32700848E51 /* RTCIceCandidate.idl */,
@@ -15865,6 +15885,9 @@
 				07AB996818DA3C010018771E /* RTCIceServer.idl */,
 				5E6653091DA437BF00FDD84C /* RTCIceTransport.h */,
 				073794DC19EE2C5200E5A045 /* RTCOfferAnswerOptions.h */,
+				316DCB121E78BE43001B5F87 /* RTCOfferAnswerOptions.idl */,
+				316DCB281E78F395001B5F87 /* RTCOfferOptions.h */,
+				316DCB291E78F395001B5F87 /* RTCOfferOptions.idl */,
 				07221B7717CEC32700848E51 /* RTCPeerConnection.cpp */,
 				07221B7817CEC32700848E51 /* RTCPeerConnection.h */,
 				07221B7917CEC32700848E51 /* RTCPeerConnection.idl */,
@@ -15880,6 +15903,8 @@
 				5E5E2B101CFC3E4B000C0D85 /* RTCRtpTransceiver.cpp */,
 				5E5E2B111CFC3E4B000C0D85 /* RTCRtpTransceiver.h */,
 				5E5E2B121CFC3E4B000C0D85 /* RTCRtpTransceiver.idl */,
+				316DCB161E78C330001B5F87 /* RTCRtpTransceiverDirection.h */,
+				316DCB171E78C330001B5F87 /* RTCRtpTransceiverDirection.idl */,
 				07221B7A17CEC32700848E51 /* RTCSessionDescription.cpp */,
 				07221B7B17CEC32700848E51 /* RTCSessionDescription.h */,
 				07221B7C17CEC32700848E51 /* RTCSessionDescription.idl */,
@@ -16062,6 +16087,8 @@
 				0704A40A1D6DFC690086DCDB /* JSOverconstrainedError.h */,
 				0704A4131D6F39FB0086DCDB /* JSOverconstrainedErrorEvent.cpp */,
 				0704A4141D6F39FB0086DCDB /* JSOverconstrainedErrorEvent.h */,
+				316DCB2D1E78F496001B5F87 /* JSRTCAnswerOptions.cpp */,
+				316DCB2E1E78F496001B5F87 /* JSRTCAnswerOptions.h */,
 				073794E319EE2FF200E5A045 /* JSRTCConfiguration.cpp */,
 				073794E419EE2FF200E5A045 /* JSRTCConfiguration.h */,
 				07969D9117D14151007FF842 /* JSRTCDataChannel.cpp */,
@@ -16078,6 +16105,10 @@
 				07969D9E17D14151007FF842 /* JSRTCIceCandidateEvent.h */,
 				073794E919EE341E00E5A045 /* JSRTCIceServer.cpp */,
 				073794EA19EE341E00E5A045 /* JSRTCIceServer.h */,
+				316DCB191E78CA55001B5F87 /* JSRTCOfferAnswerOptions.cpp */,
+				316DCB1A1E78CA55001B5F87 /* JSRTCOfferAnswerOptions.h */,
+				316DCB2F1E78F496001B5F87 /* JSRTCOfferOptions.cpp */,
+				316DCB301E78F496001B5F87 /* JSRTCOfferOptions.h */,
 				07969D9F17D14151007FF842 /* JSRTCPeerConnection.cpp */,
 				07969DA017D14151007FF842 /* JSRTCPeerConnection.h */,
 				5E2C436D1BCF0D690001E2BC /* JSRTCRtpReceiver.cpp */,
@@ -16086,6 +16117,8 @@
 				5E2C43701BCF0D690001E2BC /* JSRTCRtpSender.h */,
 				5E2C436D1BCF0D690001E2BD /* JSRTCRtpTransceiver.cpp */,
 				5E2C436E1BCF0D690001E2BD /* JSRTCRtpTransceiver.h */,
+				316DCB1B1E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.cpp */,
+				316DCB1C1E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.h */,
 				07969DA117D14151007FF842 /* JSRTCSessionDescription.cpp */,
 				07969DA217D14151007FF842 /* JSRTCSessionDescription.h */,
 				07969DA717D14151007FF842 /* JSRTCStatsReport.cpp */,
@@ -27046,7 +27079,6 @@
 				E44613A50CD6331000FADA75 /* HTMLMediaElement.h in Headers */,
 				CD5209E61B0BD9E10077184E /* HTMLMediaElementEnums.h in Headers */,
 				C937FE8D1B1F6821008ECC5D /* HTMLMediaElementMediaSession.h in Headers */,
-				0779BF0E18453168000B6AE7 /* HTMLMediaElementMediaStream.h in Headers */,
 				A8EA79F40A1916DF00A8EF5F /* HTMLMenuElement.h in Headers */,
 				2BE8E2C712A589EC00FAD550 /* HTMLMetaCharsetParser.h in Headers */,
 				A871DC240A15205700B12A68 /* HTMLMetaElement.h in Headers */,
@@ -27144,6 +27176,7 @@
 				5185FC8F1BB4C4E80012898F /* IDBGetResult.h in Headers */,
 				5185FC911BB4C4E80012898F /* IDBIndex.h in Headers */,
 				51F798F01BE880E7008AE491 /* IDBIndexInfo.h in Headers */,
+				316DCB201E78CA55001B5F87 /* JSRTCOfferAnswerOptions.h in Headers */,
 				51E269371DD3BD9B006B6A58 /* IDBIterateCursorData.h in Headers */,
 				5185FC951BB4C4E80012898F /* IDBKey.h in Headers */,
 				5185FC971BB4C4E80012898F /* IDBKeyData.h in Headers */,
@@ -27333,6 +27366,7 @@
 				FDA15EA212B03EE1003A583A /* JSChannelMergerNode.h in Headers */,
 				FDA15EA412B03EE1003A583A /* JSChannelSplitterNode.h in Headers */,
 				65DF31F409D1CC60000BE325 /* JSCharacterData.h in Headers */,
+				316DCB221E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.h in Headers */,
 				BCC065880F3CE2A700CD2D87 /* JSClientRect.h in Headers */,
 				BCC0658A0F3CE2A700CD2D87 /* JSClientRectList.h in Headers */,
 				836D03321DA8A14200FFD96B /* JSClipboardEvent.h in Headers */,
@@ -30504,6 +30538,7 @@
 				946D374D1D6D08A60077084F /* CSSParserTokenRange.cpp in Sources */,
 				9418278E1D8CAF9200492764 /* CSSPendingSubstitutionValue.cpp in Sources */,
 				977B3862122883E900B81FF8 /* CSSPreloadScanner.cpp in Sources */,
+				316DCB1F1E78CA55001B5F87 /* JSRTCOfferAnswerOptions.cpp in Sources */,
 				A80E6D050A1989CA007FB8C5 /* CSSPrimitiveValue.cpp in Sources */,
 				A80E6CF70A1989CA007FB8C5 /* CSSProperty.cpp in Sources */,
 				78D02BC5154A18DF00B62D05 /* CSSPropertyAnimation.cpp in Sources */,
@@ -30846,6 +30881,7 @@
 				515BE1911D54F5FB00DD7C68 /* GamepadProvider.cpp in Sources */,
 				1432E8490C51493F00B1500F /* GCController.cpp in Sources */,
 				4FB390AD15EF61F3007AD51F /* GeneratedImage.cpp in Sources */,
+				316DCB211E78CA55001B5F87 /* JSRTCRtpTransceiverDirection.cpp in Sources */,
 				830030F51B7D33B500ED3AAC /* GenericCachedHTMLCollection.cpp in Sources */,
 				0720B0A014D3323500642955 /* GenericEventQueue.cpp in Sources */,
 				CD4BE52A1CE136EF009D87DA /* GenericTaskQueue.cpp in Sources */,
@@ -31623,6 +31659,7 @@
 				E51A81DF17298D7700BFCA61 /* JSPerformance.cpp in Sources */,
 				CB38FD511CCF938900592A3F /* JSPerformanceEntry.cpp in Sources */,
 				CB38FD571CD21E2A00592A3F /* JSPerformanceEntryCustom.cpp in Sources */,
+				316DCB311E78FB6C001B5F87 /* JSRTCAnswerOptions.cpp in Sources */,
 				A58C59D01E382EAC0047859C /* JSPerformanceMark.cpp in Sources */,
 				A58C59D21E382EB00047859C /* JSPerformanceMeasure.cpp in Sources */,
 				8A9A587011E84C36008ACFD1 /* JSPerformanceNavigation.cpp in Sources */,
@@ -31998,6 +32035,7 @@
 				A456FA2611AD4A830020B420 /* LabelsNodeList.cpp in Sources */,
 				E18772F1126E2629003DD586 /* Language.cpp in Sources */,
 				2917B5611473496C0052C9D0 /* LayerFlushScheduler.cpp in Sources */,
+				316DCB321E78FB70001B5F87 /* JSRTCOfferOptions.cpp in Sources */,
 				2917B566147349950052C9D0 /* LayerFlushSchedulerMac.cpp in Sources */,
 				7AA3A69F194B59B6001CBD24 /* LayerPool.cpp in Sources */,
 				0F36E7371BD1837A002DB891 /* LayoutPoint.cpp in Sources */,
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to