Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (282198 => 282199)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-09 07:37:01 UTC (rev 282199)
@@ -1,5 +1,15 @@
2021-09-09 Youenn Fablet <[email protected]>
+ Add support for RTCError and RTCErrorEvent
+ https://bugs.webkit.org/show_bug.cgi?id=229987
+
+ Reviewed by Eric Carlson.
+
+ * web-platform-tests/webrtc/RTCError-expected.txt:
+ * web-platform-tests/webrtc/idlharness.https.window-expected.txt:
+
+2021-09-09 Youenn Fablet <[email protected]>
+
Add support for RTCDataChannel closing event
https://bugs.webkit.org/show_bug.cgi?id=229988
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCError-expected.txt (282198 => 282199)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCError-expected.txt 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCError-expected.txt 2021-09-09 07:37:01 UTC (rev 282199)
@@ -1,37 +1,27 @@
-FAIL RTCError constructor with errorDetail and message Can't find variable: RTCError
-FAIL RTCError constructor's message argument is optional Can't find variable: RTCError
-FAIL RTCError constructor throws TypeError if arguments are missing assert_throws_js: function "() => {
- new RTCError();
- }" threw object "ReferenceError: Can't find variable: RTCError" ("ReferenceError") expected instance of function "function TypeError() {
- [native code]
-}" ("TypeError")
-FAIL RTCError constructor throws TypeError if the errorDetail is invalid assert_throws_js: function "() => {
- new RTCError({errorDetail:'invalid-error-detail'}, 'message');
- }" threw object "ReferenceError: Can't find variable: RTCError" ("ReferenceError") expected instance of function "function TypeError() {
- [native code]
-}" ("TypeError")
-FAIL RTCError.name is 'OperationError' Can't find variable: RTCError
-FAIL RTCError.code is 0 Can't find variable: RTCError
-FAIL RTCError.errorDetail is readonly. Can't find variable: RTCError
-FAIL RTCErrorInit.errorDetail is the only required attribute assert_throws_js: function "() => {
- new RTCError({}, 'message');
- }" threw object "ReferenceError: Can't find variable: RTCError" ("ReferenceError") expected instance of function "function TypeError() {
- [native code]
-}" ("TypeError")
-FAIL RTCError.sdpLineNumber is null by default Can't find variable: RTCError
-FAIL RTCError.sdpLineNumber is settable by constructor Can't find variable: RTCError
-FAIL RTCError.sdpLineNumber is readonly Can't find variable: RTCError
-FAIL RTCError.httpRequestStatusCode is null by default Can't find variable: RTCError
-FAIL RTCError.httpRequestStatusCode is settable by constructor Can't find variable: RTCError
-FAIL RTCError.httpRequestStatusCode is readonly Can't find variable: RTCError
-FAIL RTCError.sctpCauseCode is null by default Can't find variable: RTCError
-FAIL RTCError.sctpCauseCode is settable by constructor Can't find variable: RTCError
-FAIL RTCError.sctpCauseCode is readonly Can't find variable: RTCError
-FAIL RTCError.receivedAlert is null by default Can't find variable: RTCError
-FAIL RTCError.receivedAlert is settable by constructor Can't find variable: RTCError
-FAIL RTCError.receivedAlert is readonly Can't find variable: RTCError
-FAIL RTCError.sentAlert is null by default Can't find variable: RTCError
-FAIL RTCError.sentAlert is settable by constructor Can't find variable: RTCError
-FAIL RTCError.sentAlert is readonly Can't find variable: RTCError
+PASS RTCError constructor with errorDetail and message
+PASS RTCError constructor's message argument is optional
+PASS RTCError constructor throws TypeError if arguments are missing
+PASS RTCError constructor throws TypeError if the errorDetail is invalid
+PASS RTCError.name is 'OperationError'
+PASS RTCError.code is 0
+PASS RTCError.errorDetail is readonly.
+PASS RTCErrorInit.errorDetail is the only required attribute
+PASS RTCError.sdpLineNumber is null by default
+PASS RTCError.sdpLineNumber is settable by constructor
+PASS RTCError.sdpLineNumber is readonly
+FAIL RTCError.httpRequestStatusCode is null by default assert_equals: expected (object) null but got (undefined) undefined
+FAIL RTCError.httpRequestStatusCode is settable by constructor assert_equals: expected (number) 0 but got (undefined) undefined
+FAIL RTCError.httpRequestStatusCode is readonly assert_throws_js: function "() => {
+ error[attribute] = 42;
+ }" did not throw
+PASS RTCError.sctpCauseCode is null by default
+PASS RTCError.sctpCauseCode is settable by constructor
+PASS RTCError.sctpCauseCode is readonly
+PASS RTCError.receivedAlert is null by default
+PASS RTCError.receivedAlert is settable by constructor
+PASS RTCError.receivedAlert is readonly
+PASS RTCError.sentAlert is null by default
+PASS RTCError.sentAlert is settable by constructor
+PASS RTCError.sentAlert is readonly
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/idlharness.https.window-expected.txt (282198 => 282199)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/idlharness.https.window-expected.txt 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/idlharness.https.window-expected.txt 2021-09-09 07:37:01 UTC (rev 282199)
@@ -480,25 +480,25 @@
PASS RTCStatsReport interface: existence and properties of interface prototype object
PASS RTCStatsReport interface: existence and properties of interface prototype object's "constructor" property
PASS RTCStatsReport interface: existence and properties of interface prototype object's @@unscopables property
-FAIL RTCError interface: existence and properties of interface object assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCError interface object length assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCError interface object name assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCError interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCError interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCError interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCError interface: attribute errorDetail assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCError interface: attribute sdpLineNumber assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCError interface: attribute sctpCauseCode assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCError interface: attribute receivedAlert assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCError interface: attribute sentAlert assert_own_property: self does not have own property "RTCError" expected property "RTCError" missing
-FAIL RTCErrorEvent interface: existence and properties of interface object assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface object length assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface object name assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent interface: attribute error assert_own_property: self does not have own property "RTCErrorEvent" expected property "RTCErrorEvent" missing
-FAIL RTCErrorEvent must be primary interface of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCErrorEvent"
-FAIL Stringification of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCErrorEvent"
-FAIL RTCErrorEvent interface: new RTCErrorEvent('error') must inherit property "error" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: RTCErrorEvent"
+PASS RTCError interface: existence and properties of interface object
+PASS RTCError interface object length
+PASS RTCError interface object name
+PASS RTCError interface: existence and properties of interface prototype object
+PASS RTCError interface: existence and properties of interface prototype object's "constructor" property
+PASS RTCError interface: existence and properties of interface prototype object's @@unscopables property
+PASS RTCError interface: attribute errorDetail
+PASS RTCError interface: attribute sdpLineNumber
+PASS RTCError interface: attribute sctpCauseCode
+PASS RTCError interface: attribute receivedAlert
+PASS RTCError interface: attribute sentAlert
+PASS RTCErrorEvent interface: existence and properties of interface object
+PASS RTCErrorEvent interface object length
+PASS RTCErrorEvent interface object name
+PASS RTCErrorEvent interface: existence and properties of interface prototype object
+PASS RTCErrorEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS RTCErrorEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS RTCErrorEvent interface: attribute error
+FAIL RTCErrorEvent must be primary interface of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Not enough arguments"
+FAIL Stringification of new RTCErrorEvent('error') assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Not enough arguments"
+FAIL RTCErrorEvent interface: new RTCErrorEvent('error') must inherit property "error" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Not enough arguments"
Modified: trunk/Source/WebCore/CMakeLists.txt (282198 => 282199)
--- trunk/Source/WebCore/CMakeLists.txt 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/Source/WebCore/CMakeLists.txt 2021-09-09 07:37:01 UTC (rev 282199)
@@ -386,6 +386,9 @@
Modules/mediastream/RTCDtxStatus.idl
Modules/mediastream/RTCEncodedAudioFrame.idl
Modules/mediastream/RTCEncodedVideoFrame.idl
+ Modules/mediastream/RTCError.idl
+ Modules/mediastream/RTCErrorDetailType.idl
+ Modules/mediastream/RTCErrorEvent.idl
Modules/mediastream/RTCIceCandidate.idl
Modules/mediastream/RTCIceCandidateInit.idl
Modules/mediastream/RTCIceCandidateType.idl
Modified: trunk/Source/WebCore/ChangeLog (282198 => 282199)
--- trunk/Source/WebCore/ChangeLog 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/Source/WebCore/ChangeLog 2021-09-09 07:37:01 UTC (rev 282199)
@@ -1,5 +1,37 @@
2021-09-09 Youenn Fablet <[email protected]>
+ Add support for RTCError and RTCErrorEvent
+ https://bugs.webkit.org/show_bug.cgi?id=229987
+
+ Reviewed by Eric Carlson.
+
+ Add support for RTCError and RTCErrorEvent as per https://w3c.github.io/webrtc-pc/#rtcerror-interface
+ and https://w3c.github.io/webrtc-pc/#rtcerrorevent-interface.
+
+ Covered by updated tests.
+
+ * CMakeLists.txt:
+ * DerivedSources-input.xcfilelist:
+ * DerivedSources-output.xcfilelist:
+ * DerivedSources.make:
+ * Modules/mediastream/RTCError.cpp: Added.
+ (WebCore::RTCError::RTCError):
+ * Modules/mediastream/RTCError.h: Added.
+ * Modules/mediastream/RTCError.idl: Added.
+ * Modules/mediastream/RTCErrorDetailType.h: Added.
+ * Modules/mediastream/RTCErrorDetailType.idl: Added.
+ * Modules/mediastream/RTCErrorEvent.cpp: Added.
+ (WebCore::RTCErrorEvent::RTCErrorEvent):
+ * Modules/mediastream/RTCErrorEvent.h: Added.
+ * Modules/mediastream/RTCErrorEvent.idl: Added.
+ * Sources.txt:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/WebCoreBuiltinNames.h:
+ * dom/DOMException.h:
+ * dom/EventNames.in:
+
+2021-09-09 Youenn Fablet <[email protected]>
+
Add support for RTCDataChannel closing event
https://bugs.webkit.org/show_bug.cgi?id=229988
Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (282198 => 282199)
--- trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-09-09 07:37:01 UTC (rev 282199)
@@ -224,6 +224,9 @@
$(PROJECT_DIR)/Modules/mediastream/RTCDtxStatus.idl
$(PROJECT_DIR)/Modules/mediastream/RTCEncodedAudioFrame.idl
$(PROJECT_DIR)/Modules/mediastream/RTCEncodedVideoFrame.idl
+$(PROJECT_DIR)/Modules/mediastream/RTCError.idl
+$(PROJECT_DIR)/Modules/mediastream/RTCErrorDetailType.idl
+$(PROJECT_DIR)/Modules/mediastream/RTCErrorEvent.idl
$(PROJECT_DIR)/Modules/mediastream/RTCIceCandidate.idl
$(PROJECT_DIR)/Modules/mediastream/RTCIceCandidateInit.idl
$(PROJECT_DIR)/Modules/mediastream/RTCIceCandidateType.idl
Modified: trunk/Source/WebCore/DerivedSources-output.xcfilelist (282198 => 282199)
--- trunk/Source/WebCore/DerivedSources-output.xcfilelist 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/Source/WebCore/DerivedSources-output.xcfilelist 2021-09-09 07:37:01 UTC (rev 282199)
@@ -1669,6 +1669,12 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCEncodedAudioFrame.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCEncodedVideoFrame.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCEncodedVideoFrame.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCError.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCError.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCErrorDetailType.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCErrorDetailType.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCErrorEvent.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCErrorEvent.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCIceCandidate.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCIceCandidate.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCIceCandidateInit.cpp
Modified: trunk/Source/WebCore/DerivedSources.make (282198 => 282199)
--- trunk/Source/WebCore/DerivedSources.make 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/Source/WebCore/DerivedSources.make 2021-09-09 07:37:01 UTC (rev 282199)
@@ -250,6 +250,9 @@
$(WebCore)/Modules/mediastream/RTCDtxStatus.idl \
$(WebCore)/Modules/mediastream/RTCEncodedAudioFrame.idl \
$(WebCore)/Modules/mediastream/RTCEncodedVideoFrame.idl \
+ $(WebCore)/Modules/mediastream/RTCError.idl \
+ $(WebCore)/Modules/mediastream/RTCErrorDetailType.idl \
+ $(WebCore)/Modules/mediastream/RTCErrorEvent.idl \
$(WebCore)/Modules/mediastream/RTCIceCandidate.idl \
$(WebCore)/Modules/mediastream/RTCIceCandidateInit.idl \
$(WebCore)/Modules/mediastream/RTCIceCandidateType.idl \
Added: trunk/Source/WebCore/Modules/mediastream/RTCError.cpp (0 => 282199)
--- trunk/Source/WebCore/Modules/mediastream/RTCError.cpp (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCError.cpp 2021-09-09 07:37:01 UTC (rev 282199)
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 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.
+ */
+
+#include "config.h"
+#include "RTCError.h"
+
+#if ENABLE(WEB_RTC)
+
+namespace WebCore {
+
+RTCError::RTCError(const Init& initializer, String&& message)
+ : DOMException(0, "OperationError"_s, WTFMove(message))
+ , m_values(initializer)
+{
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_RTC)
Added: trunk/Source/WebCore/Modules/mediastream/RTCError.h (0 => 282199)
--- trunk/Source/WebCore/Modules/mediastream/RTCError.h (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCError.h 2021-09-09 07:37:01 UTC (rev 282199)
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2021 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 "DOMException.h"
+#include "RTCErrorDetailType.h"
+#include <optional>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class RTCError final : public DOMException {
+public:
+ struct Init {
+ RTCErrorDetailType errorDetail;
+ std::optional<int> sdpLineNumber;
+ std::optional<int> sctpCauseCode;
+ std::optional<unsigned> receivedAlert;
+ std::optional<unsigned> sentAlert;
+ };
+
+ static Ref<RTCError> create(const Init& init, String&& message) { return adoptRef(*new RTCError(init, WTFMove(message))); }
+
+ RTCErrorDetailType errorDetail() const { return m_values.errorDetail; }
+ std::optional<int> sdpLineNumber() const { return m_values.sdpLineNumber; }
+ std::optional<int> sctpCauseCode() const { return m_values.sctpCauseCode; }
+ std::optional<unsigned> receivedAlert() const { return m_values.receivedAlert; }
+ std::optional<unsigned> sentAlert() const { return m_values.sentAlert; }
+
+private:
+ RTCError(const Init&, String&&);
+
+ Init m_values;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_RTC)
Added: trunk/Source/WebCore/Modules/mediastream/RTCError.idl (0 => 282199)
--- trunk/Source/WebCore/Modules/mediastream/RTCError.idl (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCError.idl 2021-09-09 07:37:01 UTC (rev 282199)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 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,
+ EnabledBySetting=PeerConnection,
+ Exposed=Window,
+ JSGenerateToNativeObject,
+ SkipVTableValidation
+] interface RTCError : DOMException {
+ constructor(RTCErrorInit init, optional DOMString message = "");
+
+ readonly attribute RTCErrorDetailType errorDetail;
+ readonly attribute long? sdpLineNumber;
+ readonly attribute long? sctpCauseCode;
+ readonly attribute unsigned long? receivedAlert;
+ readonly attribute unsigned long? sentAlert;
+};
+
+dictionary RTCErrorInit {
+ required RTCErrorDetailType errorDetail;
+ long sdpLineNumber;
+ long sctpCauseCode;
+ unsigned long receivedAlert;
+ unsigned long sentAlert;
+};
Added: trunk/Source/WebCore/Modules/mediastream/RTCErrorDetailType.h (0 => 282199)
--- trunk/Source/WebCore/Modules/mediastream/RTCErrorDetailType.h (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCErrorDetailType.h 2021-09-09 07:37:01 UTC (rev 282199)
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2021 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
+
+namespace WebCore {
+
+enum class RTCErrorDetailType { DataChannelFailure, DtlsFailure, FingerprintFailure, SctpFailure, SdpSyntaxError };
+
+} // namespace WebCore
Added: trunk/Source/WebCore/Modules/mediastream/RTCErrorDetailType.idl (0 => 282199)
--- trunk/Source/WebCore/Modules/mediastream/RTCErrorDetailType.idl (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCErrorDetailType.idl 2021-09-09 07:37:01 UTC (rev 282199)
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2021 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.
+ */
+
+enum RTCErrorDetailType {
+ "data-channel-failure",
+ "dtls-failure",
+ "fingerprint-failure",
+ "sctp-failure",
+ "sdp-syntax-error"
+};
Added: trunk/Source/WebCore/Modules/mediastream/RTCErrorEvent.cpp (0 => 282199)
--- trunk/Source/WebCore/Modules/mediastream/RTCErrorEvent.cpp (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCErrorEvent.cpp 2021-09-09 07:37:01 UTC (rev 282199)
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 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.
+ */
+
+#include "config.h"
+#include "RTCErrorEvent.h"
+
+#if ENABLE(WEB_RTC)
+
+#include <wtf/IsoMallocInlines.h>
+
+namespace WebCore {
+
+WTF_MAKE_ISO_ALLOCATED_IMPL(RTCErrorEvent);
+
+RTCErrorEvent::RTCErrorEvent(const AtomString& type, Init&& initializer, IsTrusted isTrusted)
+ : Event(type, initializer, isTrusted)
+ , m_error(initializer.error.releaseNonNull())
+{
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_RTC)
Added: trunk/Source/WebCore/Modules/mediastream/RTCErrorEvent.h (0 => 282199)
--- trunk/Source/WebCore/Modules/mediastream/RTCErrorEvent.h (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCErrorEvent.h 2021-09-09 07:37:01 UTC (rev 282199)
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2021 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 "Event.h"
+#include "RTCError.h"
+
+namespace WebCore {
+
+class RTCErrorEvent final : public Event {
+ WTF_MAKE_ISO_ALLOCATED(RTCErrorEvent);
+public:
+ struct Init : EventInit {
+ RefPtr<RTCError> error;
+ };
+ static Ref<RTCErrorEvent> create(const AtomString& type, Init&& init, IsTrusted isTrusted = IsTrusted::No) { return adoptRef(*new RTCErrorEvent(type, WTFMove(init), isTrusted)); }
+
+ RTCError& error() const { return m_error.get(); }
+
+private:
+ RTCErrorEvent(const AtomString& type, Init&&, IsTrusted);
+
+ Ref<RTCError> m_error;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_RTC)
Added: trunk/Source/WebCore/Modules/mediastream/RTCErrorEvent.idl (0 => 282199)
--- trunk/Source/WebCore/Modules/mediastream/RTCErrorEvent.idl (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCErrorEvent.idl 2021-09-09 07:37:01 UTC (rev 282199)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 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,
+ EnabledBySetting=PeerConnection,
+ Exposed=Window
+] interface RTCErrorEvent : Event {
+ constructor(DOMString type, RTCErrorEventInit eventInitDict);
+ [SameObject] readonly attribute RTCError error;
+};
+
+dictionary RTCErrorEventInit : EventInit {
+ required RTCError error;
+};
Modified: trunk/Source/WebCore/Sources.txt (282198 => 282199)
--- trunk/Source/WebCore/Sources.txt 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/Source/WebCore/Sources.txt 2021-09-09 07:37:01 UTC (rev 282199)
@@ -165,6 +165,8 @@
Modules/mediastream/RTCEncodedAudioFrame.cpp
Modules/mediastream/RTCEncodedFrame.cpp
Modules/mediastream/RTCEncodedVideoFrame.cpp
+Modules/mediastream/RTCError.cpp
+Modules/mediastream/RTCErrorEvent.cpp
Modules/mediastream/RTCIceCandidate.cpp
Modules/mediastream/RTCIceTransport.cpp
Modules/mediastream/RTCPeerConnection.cpp
@@ -3320,6 +3322,9 @@
JSRTCDtlsTransportState.cpp
JSRTCEncodedAudioFrame.cpp
JSRTCEncodedVideoFrame.cpp
+JSRTCError.cpp
+JSRTCErrorDetailType.cpp
+JSRTCErrorEvent.cpp
JSRTCIceCandidate.cpp
JSRTCIceCandidateInit.cpp
JSRTCIceCandidateType.cpp
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (282198 => 282199)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2021-09-09 07:37:01 UTC (rev 282199)
@@ -1166,6 +1166,7 @@
41A1B01C1E54239B007F3769 /* JSDOMGuardedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A1B01A1E542396007F3769 /* JSDOMGuardedObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
41A3D58F101C152D00316D07 /* DedicatedWorkerThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A3D58D101C152D00316D07 /* DedicatedWorkerThread.h */; };
41A7D3531F438D16008988DE /* WorkerCacheStorageConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A7D3501F438D10008988DE /* WorkerCacheStorageConnection.h */; };
+ 41AB979526E75A2E007C0FE6 /* RTCErrorDetailType.h in Headers */ = {isa = PBXBuildFile; fileRef = 41AB979226E75A2D007C0FE6 /* RTCErrorDetailType.h */; };
41ABE67B1D0580DB006D862D /* CrossOriginPreflightChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 41ABE67A1D0580D5006D862D /* CrossOriginPreflightChecker.h */; };
41AD753A1CEF6BD100A31486 /* FetchOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 41AD75391CEF6BCE00A31486 /* FetchOptions.h */; settings = {ATTRIBUTES = (Private, ); }; };
41B28B151F8501D300FB52AC /* MediaEndpointConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 41B28B121F8501A300FB52AC /* MediaEndpointConfiguration.h */; };
@@ -8037,6 +8038,8 @@
41A48AA81E84AF1D00D2AC2D /* RTCRtpParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCRtpParameters.h; sourceTree = "<group>"; };
41A7D34F1F438D10008988DE /* WorkerCacheStorageConnection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkerCacheStorageConnection.cpp; sourceTree = "<group>"; };
41A7D3501F438D10008988DE /* WorkerCacheStorageConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkerCacheStorageConnection.h; sourceTree = "<group>"; };
+ 41AB979226E75A2D007C0FE6 /* RTCErrorDetailType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCErrorDetailType.h; sourceTree = "<group>"; };
+ 41AB979426E75A2D007C0FE6 /* RTCErrorDetailType.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCErrorDetailType.idl; sourceTree = "<group>"; };
41ABE6791D0580D5006D862D /* CrossOriginPreflightChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CrossOriginPreflightChecker.cpp; sourceTree = "<group>"; };
41ABE67A1D0580D5006D862D /* CrossOriginPreflightChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CrossOriginPreflightChecker.h; sourceTree = "<group>"; };
41AD75391CEF6BCE00A31486 /* FetchOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FetchOptions.h; sourceTree = "<group>"; };
@@ -8057,6 +8060,12 @@
41B6AA4F26B995F800AADFA7 /* RTCRtpSFrameTransformErrorEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCRtpSFrameTransformErrorEvent.h; sourceTree = "<group>"; };
41B6AA5126B995F800AADFA7 /* RTCRtpSFrameTransformErrorEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCRtpSFrameTransformErrorEvent.idl; sourceTree = "<group>"; };
41B6AA5226B995F900AADFA7 /* RTCRtpSFrameTransformErrorEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTCRtpSFrameTransformErrorEvent.cpp; sourceTree = "<group>"; };
+ 41B7C04526E690BC00D36C07 /* RTCErrorEvent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RTCErrorEvent.cpp; sourceTree = "<group>"; };
+ 41B7C04726E690BD00D36C07 /* RTCErrorEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCErrorEvent.h; sourceTree = "<group>"; };
+ 41B7C04826E690BE00D36C07 /* RTCErrorEvent.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = RTCErrorEvent.idl; sourceTree = "<group>"; };
+ 41B7C04926E6916F00D36C07 /* RTCError.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = RTCError.idl; sourceTree = "<group>"; };
+ 41B7C04A26E6917000D36C07 /* RTCError.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RTCError.cpp; sourceTree = "<group>"; };
+ 41B7C04B26E6917100D36C07 /* RTCError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCError.h; sourceTree = "<group>"; };
41B8776023DE1042003638B8 /* RealtimeMediaSourceIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RealtimeMediaSourceIdentifier.h; sourceTree = "<group>"; };
41B9137623584D0E0025BFA3 /* MockAudioDestinationCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockAudioDestinationCocoa.h; sourceTree = "<group>"; };
41B9137823584D0F0025BFA3 /* MockAudioDestinationCocoa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MockAudioDestinationCocoa.cpp; sourceTree = "<group>"; };
@@ -17265,6 +17274,14 @@
414189FF256418E700363417 /* RTCEncodedVideoFrame.cpp */,
414189FD2564176600363417 /* RTCEncodedVideoFrame.h */,
414189FA2564165100363417 /* RTCEncodedVideoFrame.idl */,
+ 41B7C04A26E6917000D36C07 /* RTCError.cpp */,
+ 41B7C04B26E6917100D36C07 /* RTCError.h */,
+ 41B7C04926E6916F00D36C07 /* RTCError.idl */,
+ 41AB979226E75A2D007C0FE6 /* RTCErrorDetailType.h */,
+ 41AB979426E75A2D007C0FE6 /* RTCErrorDetailType.idl */,
+ 41B7C04526E690BC00D36C07 /* RTCErrorEvent.cpp */,
+ 41B7C04726E690BD00D36C07 /* RTCErrorEvent.h */,
+ 41B7C04826E690BE00D36C07 /* RTCErrorEvent.idl */,
07221B7117CEC32700848E51 /* RTCIceCandidate.cpp */,
07221B7217CEC32700848E51 /* RTCIceCandidate.h */,
07221B7317CEC32700848E51 /* RTCIceCandidate.idl */,
@@ -34522,6 +34539,7 @@
4188D56326C551B1004858C8 /* RTCDtlsTransportState.h in Headers */,
078E092017D14D1C00420AA1 /* RTCDTMFSender.h in Headers */,
078E092117D14D1C00420AA1 /* RTCDTMFToneChangeEvent.h in Headers */,
+ 41AB979526E75A2E007C0FE6 /* RTCErrorDetailType.h in Headers */,
078E092317D14D1C00420AA1 /* RTCIceCandidate.h in Headers */,
078E094017D16E1C00420AA1 /* RTCIceCandidateDescriptor.h in Headers */,
313591061E7DDC7300F30630 /* RTCIceConnectionState.h in Headers */,
Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (282198 => 282199)
--- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2021-09-09 07:37:01 UTC (rev 282199)
@@ -171,10 +171,6 @@
macro(PaymentResponse) \
macro(PerformanceNavigationTiming) \
macro(PictureInPictureWindow) \
- macro(SQLError) \
- macro(SQLResultSet) \
- macro(SQLResultSetRowList) \
- macro(SQLTransaction) \
macro(PaintWorkletGlobalScope) \
macro(PerformanceEntry) \
macro(PerformanceEntryList) \
@@ -200,6 +196,8 @@
macro(RTCDtlsTransport) \
macro(RTCEncodedAudioFrame) \
macro(RTCEncodedVideoFrame) \
+ macro(RTCError) \
+ macro(RTCErrorEvent) \
macro(RTCIceCandidate) \
macro(RTCIceTransport) \
macro(RTCPeerConnection) \
@@ -228,6 +226,10 @@
macro(Response) \
macro(SFrameTransform) \
macro(SFrameTransformErrorEvent) \
+ macro(SQLError) \
+ macro(SQLResultSet) \
+ macro(SQLResultSetRowList) \
+ macro(SQLTransaction) \
macro(ScreenLuminance) \
macro(ServiceWorker) \
macro(ServiceWorkerContainer) \
Modified: trunk/Source/WebCore/dom/DOMException.h (282198 => 282199)
--- trunk/Source/WebCore/dom/DOMException.h 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/Source/WebCore/dom/DOMException.h 2021-09-09 07:37:01 UTC (rev 282199)
@@ -60,9 +60,10 @@
static ASCIILiteral name(ExceptionCode ec) { return description(ec).name; }
static ASCIILiteral message(ExceptionCode ec) { return description(ec).message; }
-private:
+protected:
DOMException(LegacyCode, const String& name, const String& message);
+private:
LegacyCode m_legacyCode;
String m_name;
String m_message;
Modified: trunk/Source/WebCore/dom/EventNames.in (282198 => 282199)
--- trunk/Source/WebCore/dom/EventNames.in 2021-09-09 07:21:18 UTC (rev 282198)
+++ trunk/Source/WebCore/dom/EventNames.in 2021-09-09 07:37:01 UTC (rev 282199)
@@ -60,6 +60,7 @@
MerchantValidationEvent conditional=PAYMENT_REQUEST
PaymentMethodChangeEvent conditional=PAYMENT_REQUEST
PaymentRequestUpdateEvent conditional=PAYMENT_REQUEST
+RTCErrorEvent conditional=WEB_RTC
RTCPeerConnectionIceErrorEvent conditional=WEB_RTC
RTCPeerConnectionIceEvent conditional=WEB_RTC
RTCDataChannelEvent conditional=WEB_RTC