Diff
Modified: trunk/LayoutTests/ChangeLog (282066 => 282067)
--- trunk/LayoutTests/ChangeLog 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/ChangeLog 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,5 +1,18 @@
2021-09-06 Commit Queue <[email protected]>
+ Unreviewed, reverting r282057.
+ https://bugs.webkit.org/show_bug.cgi?id=229977
+
+ made a layout test extremely flaky
+
+ Reverted changeset:
+
+ "Add support for RTCSctpTransport"
+ https://bugs.webkit.org/show_bug.cgi?id=229292
+ https://commits.webkit.org/r282057
+
+2021-09-06 Commit Queue <[email protected]>
+
Unreviewed, reverting r282025.
https://bugs.webkit.org/show_bug.cgi?id=229970
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (282066 => 282067)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,3 +1,16 @@
+2021-09-06 Commit Queue <[email protected]>
+
+ Unreviewed, reverting r282057.
+ https://bugs.webkit.org/show_bug.cgi?id=229977
+
+ made a layout test extremely flaky
+
+ Reverted changeset:
+
+ "Add support for RTCSctpTransport"
+ https://bugs.webkit.org/show_bug.cgi?id=229292
+ https://commits.webkit.org/r282057
+
2021-09-06 Youenn Fablet <[email protected]>
Add support for RTCSctpTransport
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCDataChannel-send-expected.txt (282066 => 282067)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCDataChannel-send-expected.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCDataChannel-send-expected.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -9,7 +9,7 @@
PASS Datachannel should be able to send ArrayBuffer message and receive as Blob
FAIL Datachannel binaryType should receive message as Blob by default assert_equals: Expect initial binaryType value to be blob expected "blob" but got "arraybuffer"
PASS Datachannel sending multiple messages with different types should succeed and be received
-FAIL Datachannel send() up to max size should succeed, above max size should fail assert_throws_js: function "() => channel1.send(message)" did not throw
+FAIL Datachannel send() up to max size should succeed, above max size should fail promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'pc1.sctp.maxMessageSize')"
PASS Negotiated datachannel should be able to send simple string and receive as string
PASS Negotiated datachannel should be able to send unicode string and receive as unicode string
PASS Negotiated datachannel should ignore binaryType and always receive string message as string
@@ -19,5 +19,5 @@
PASS Negotiated datachannel should be able to send ArrayBuffer message and receive as Blob
FAIL Negotiated datachannel binaryType should receive message as Blob by default assert_equals: Expect initial binaryType value to be blob expected "blob" but got "arraybuffer"
PASS Negotiated datachannel sending multiple messages with different types should succeed and be received
-FAIL Negotiated datachannel send() up to max size should succeed, above max size should fail assert_throws_js: function "() => channel1.send(message)" did not throw
+FAIL Negotiated datachannel send() up to max size should succeed, above max size should fail promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'pc1.sctp.maxMessageSize')"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCIceTransport-expected.txt (282066 => 282067)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCIceTransport-expected.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCIceTransport-expected.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,4 +1,4 @@
-FAIL Two connected iceTransports should has matching local/remote candidates returned assert_true: Expect RTCIceRole to be either controlling or controlled, found undefined expected true got false
-FAIL Unconnected iceTransport should have empty remote candidates and selected pair promise_test: Unhandled rejection with value: object "TypeError: iceTransport.getRemoteCandidates is not a function. (In 'iceTransport.getRemoteCandidates()', 'iceTransport.getRemoteCandidates' is undefined)"
+FAIL Two connected iceTransports should has matching local/remote candidates returned promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: RTCSctpTransport"
+FAIL Unconnected iceTransport should have empty remote candidates and selected pair promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: RTCSctpTransport"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-connectionState.https-expected.txt (282066 => 282067)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-connectionState.https-expected.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-connectionState.https-expected.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -2,7 +2,7 @@
PASS Initial connectionState should be new
PASS Closing the connection should set connectionState to closed
PASS connection with one data channel should eventually have connected connection state
-FAIL connection with one data channel should eventually have transports in connected state assert_equals: Expect DTLS transport to be in connected state expected "connected" but got "connecting"
+FAIL connection with one data channel should eventually have transports in connected state undefined is not an object (evaluating 'sctpTransport.transport')
FAIL connectionState remains new when not adding remote ice candidates assert_equals: expected "new" but got "checking"
PASS connectionState transitions to connected via connecting
PASS Closing a PeerConnection should not fire connectionstatechange event
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpSender-transport.https-expected.txt (282066 => 282067)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpSender-transport.https-expected.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpSender-transport.https-expected.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -2,9 +2,9 @@
PASS RTCRtpSender.transport is null when unconnected
PASS RTCRtpSender/receiver.transport has a value when connected
PASS RTCRtpSender/receiver.transport at the right time, with bundle policy balanced
-FAIL RTCRtpSender/receiver/SCTP transport at the right time, with bundle policy balanced assert_equals: Callee SCTP transport does not match: expected object "[object RTCDtlsTransport]" but got object "[object RTCDtlsTransport]"
+FAIL RTCRtpSender/receiver/SCTP transport at the right time, with bundle policy balanced promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'caller.sctp.transport')"
PASS RTCRtpSender/receiver.transport at the right time, with bundle policy max-bundle
-FAIL RTCRtpSender/receiver/SCTP transport at the right time, with bundle policy max-bundle assert_equals: Callee SCTP transport does not match: expected object "[object RTCDtlsTransport]" but got object "[object RTCDtlsTransport]"
+FAIL RTCRtpSender/receiver/SCTP transport at the right time, with bundle policy max-bundle promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'caller.sctp.transport')"
PASS RTCRtpSender/receiver.transport at the right time, with bundle policy max-compat
-FAIL RTCRtpSender/receiver/SCTP transport at the right time, with bundle policy max-compat assert_equals: Callee SCTP transport does not match: expected object "[object RTCDtlsTransport]" but got object "[object RTCDtlsTransport]"
+FAIL RTCRtpSender/receiver/SCTP transport at the right time, with bundle policy max-compat promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'caller.sctp.transport')"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-constructor-expected.txt (282066 => 282067)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-constructor-expected.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-constructor-expected.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,6 +1,6 @@
-PASS setRemoteDescription() with answer not containing data media should not initialize pc.sctp
-PASS setLocalDescription() with answer not containing data media should not initialize pc.sctp
-PASS setRemoteDescription() with answer containing data media should initialize pc.sctp
-PASS setLocalDescription() with answer containing data media should initialize pc.sctp
+FAIL setRemoteDescription() with answer not containing data media should not initialize pc.sctp assert_equals: RTCSctpTransport must be null expected (object) null but got (undefined) undefined
+FAIL setLocalDescription() with answer not containing data media should not initialize pc.sctp assert_equals: RTCSctpTransport must be null expected (object) null but got (undefined) undefined
+FAIL setRemoteDescription() with answer containing data media should initialize pc.sctp assert_equals: RTCSctpTransport must be null expected (object) null but got (undefined) undefined
+FAIL setLocalDescription() with answer containing data media should initialize pc.sctp assert_equals: RTCSctpTransport must be null expected (object) null but got (undefined) undefined
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-events-expected.txt (282066 => 282067)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-events-expected.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-events-expected.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,4 +1,6 @@
-PASS SctpTransport objects are created at appropriate times
-PASS SctpTransport reaches connected and closed state
+Harness Error (FAIL), message = Unhandled rejection: undefined is not an object (evaluating 'transport.state')
+FAIL SctpTransport objects are created at appropriate times assert_equals: expected (undefined) undefined but got (object) null
+FAIL SctpTransport reaches connected and closed state promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'transport.state')"
+
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-maxChannels-expected.txt (282066 => 282067)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-maxChannels-expected.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-maxChannels-expected.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,4 +1,6 @@
-PASS An unconnected peerconnection must not have maxChannels set
-PASS maxChannels gets instantiated after connecting
+Harness Error (FAIL), message = Unhandled rejection: undefined is not an object (evaluating 'transport.state')
+FAIL An unconnected peerconnection must not have maxChannels set assert_equals: RTCSctpTransport must be null expected (object) null but got (undefined) undefined
+FAIL maxChannels gets instantiated after connecting promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'pc1.sctp.maxChannels')"
+
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-maxMessageSize-expected.txt (282066 => 282067)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-maxMessageSize-expected.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-maxMessageSize-expected.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,7 +1,7 @@
-PASS Determine the local side send limitation (canSendSize) by offering a max-message-size of 0
-FAIL Remote offer SDP missing max-message-size attribute assert_equals: Missing SDP attribute and a non-zero canSendSize should give an maxMessageSize of min(65536, canSendSize) expected 65536 but got 1.7976931348623157e+308
-FAIL max-message-size with a (non-zero) value provided by the remote peer assert_equals: maxMessageSize should be the value provided by the remote peer (as long as it is less than canSendSize) expected 1 but got 1.7976931348623157e+308
-FAIL Renegotiate max-message-size with various values provided by the remote peer assert_equals: maxMessageSize should be the value provided by the remote peer (as long as it is less than canSendSize) expected 1 but got 1.7976931348623157e+308
-FAIL max-message-size with a (non-zero) value larger than canSendSize provided by the remote peer promise_test: Unhandled rejection with value: object "SyntaxError: Invalid SCTP max message size."
+FAIL Determine the local side send limitation (canSendSize) by offering a max-message-size of 0 assert_equals: RTCSctpTransport must be null expected (object) null but got (undefined) undefined
+FAIL Remote offer SDP missing max-message-size attribute assert_not_equals: canSendSize needs to be determined got disallowed value null
+FAIL max-message-size with a (non-zero) value provided by the remote peer assert_not_equals: canSendSize needs to be determined got disallowed value null
+FAIL Renegotiate max-message-size with various values provided by the remote peer assert_not_equals: canSendSize needs to be determined got disallowed value null
+FAIL max-message-size with a (non-zero) value larger than canSendSize provided by the remote peer assert_not_equals: canSendSize needs to be determined got disallowed value null
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/idlharness.https.window-expected.txt (282066 => 282067)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/idlharness.https.window-expected.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/idlharness.https.window-expected.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -2,7 +2,7 @@
PASS idl_test setup
PASS idl_test validation
PASS Test driver for asyncInitCertificate
-PASS Test driver for asyncInitTransports
+FAIL Test driver for asyncInitTransports assert_unreached: Failed to run asyncInitTransports: ReferenceError: Can't find variable: RTCSctpTransport Reached unreachable code
PASS Test driver for asyncInitMediaStreamTrack
PASS Partial dictionary RTCOfferOptions: original dictionary defined
PASS Partial dictionary RTCOfferOptions: member names are unique
@@ -62,7 +62,7 @@
PASS RTCPeerConnection interface: operation removeTrack(RTCRtpSender)
PASS RTCPeerConnection interface: operation addTransceiver((MediaStreamTrack or DOMString), optional RTCRtpTransceiverInit)
PASS RTCPeerConnection interface: attribute ontrack
-PASS RTCPeerConnection interface: attribute sctp
+FAIL RTCPeerConnection interface: attribute sctp assert_true: The prototype object must have a property "sctp" expected true got false
PASS RTCPeerConnection interface: operation createDataChannel(USVString, optional RTCDataChannelInit)
PASS RTCPeerConnection interface: attribute ondatachannel
PASS RTCPeerConnection interface: operation getStats(optional MediaStreamTrack?)
@@ -123,7 +123,7 @@
PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTransceiver((MediaStreamTrack or DOMString), optional RTCRtpTransceiverInit)" with the proper type
PASS RTCPeerConnection interface: calling addTransceiver((MediaStreamTrack or DOMString), optional RTCRtpTransceiverInit) on new RTCPeerConnection() with too few arguments must throw TypeError
PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ontrack" with the proper type
-PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "sctp" with the proper type
+FAIL RTCPeerConnection interface: new RTCPeerConnection() must inherit property "sctp" with the proper type assert_inherits: property "sctp" not found in prototype chain
PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createDataChannel(USVString, optional RTCDataChannelInit)" with the proper type
PASS RTCPeerConnection interface: calling createDataChannel(USVString, optional RTCDataChannelInit) on new RTCPeerConnection() with too few arguments must throw TypeError
PASS RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ondatachannel" with the proper type
@@ -312,13 +312,13 @@
PASS RTCDtlsTransport interface: operation getRemoteCertificates()
PASS RTCDtlsTransport interface: attribute onstatechange
PASS RTCDtlsTransport interface: attribute onerror
-PASS RTCDtlsTransport must be primary interface of idlTestObjects.dtlsTransport
-PASS Stringification of idlTestObjects.dtlsTransport
-PASS RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "iceTransport" with the proper type
-PASS RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "state" with the proper type
-PASS RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "getRemoteCertificates()" with the proper type
-PASS RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onstatechange" with the proper type
-PASS RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onerror" with the proper type
+FAIL RTCDtlsTransport must be primary interface of idlTestObjects.dtlsTransport assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL Stringification of idlTestObjects.dtlsTransport assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "iceTransport" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "state" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "getRemoteCertificates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onerror" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
PASS RTCIceTransport interface: existence and properties of interface object
PASS RTCIceTransport interface object length
PASS RTCIceTransport interface object name
@@ -337,20 +337,20 @@
PASS RTCIceTransport interface: attribute onstatechange
PASS RTCIceTransport interface: attribute ongatheringstatechange
FAIL RTCIceTransport interface: attribute onselectedcandidatepairchange assert_true: The prototype object must have a property "onselectedcandidatepairchange" expected true got false
-PASS RTCIceTransport must be primary interface of idlTestObjects.iceTransport
-PASS Stringification of idlTestObjects.iceTransport
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "role" with the proper type assert_inherits: property "role" not found in prototype chain
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "component" with the proper type assert_inherits: property "component" not found in prototype chain
-PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "state" with the proper type
-PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "gatheringState" with the proper type
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalCandidates()" with the proper type assert_inherits: property "getLocalCandidates" not found in prototype chain
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteCandidates()" with the proper type assert_inherits: property "getRemoteCandidates" not found in prototype chain
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getSelectedCandidatePair()" with the proper type assert_inherits: property "getSelectedCandidatePair" not found in prototype chain
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalParameters()" with the proper type assert_inherits: property "getLocalParameters" not found in prototype chain
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteParameters()" with the proper type assert_inherits: property "getRemoteParameters" not found in prototype chain
-PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onstatechange" with the proper type
-PASS RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "ongatheringstatechange" with the proper type
-FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onselectedcandidatepairchange" with the proper type assert_inherits: property "onselectedcandidatepairchange" not found in prototype chain
+FAIL RTCIceTransport must be primary interface of idlTestObjects.iceTransport assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL Stringification of idlTestObjects.iceTransport assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "role" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "component" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "state" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "gatheringState" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalCandidates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteCandidates()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getSelectedCandidatePair()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalParameters()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteParameters()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "ongatheringstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onselectedcandidatepairchange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
PASS RTCTrackEvent interface: existence and properties of interface object
PASS RTCTrackEvent interface object length
PASS RTCTrackEvent interface object name
@@ -367,24 +367,24 @@
PASS RTCTrackEvent interface: initTrackEvent() must inherit property "track" with the proper type
PASS RTCTrackEvent interface: initTrackEvent() must inherit property "streams" with the proper type
PASS RTCTrackEvent interface: initTrackEvent() must inherit property "transceiver" with the proper type
-PASS RTCSctpTransport interface: existence and properties of interface object
-PASS RTCSctpTransport interface object length
-PASS RTCSctpTransport interface object name
-PASS RTCSctpTransport interface: existence and properties of interface prototype object
-PASS RTCSctpTransport interface: existence and properties of interface prototype object's "constructor" property
-PASS RTCSctpTransport interface: existence and properties of interface prototype object's @@unscopables property
-PASS RTCSctpTransport interface: attribute transport
-PASS RTCSctpTransport interface: attribute state
-PASS RTCSctpTransport interface: attribute maxMessageSize
-PASS RTCSctpTransport interface: attribute maxChannels
-PASS RTCSctpTransport interface: attribute onstatechange
-PASS RTCSctpTransport must be primary interface of idlTestObjects.sctpTransport
-PASS Stringification of idlTestObjects.sctpTransport
-PASS RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "transport" with the proper type
-PASS RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "state" with the proper type
-PASS RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxMessageSize" with the proper type
-PASS RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxChannels" with the proper type
-PASS RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "onstatechange" with the proper type
+FAIL RTCSctpTransport interface: existence and properties of interface object assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport interface object length assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport interface object name assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport interface: existence and properties of interface prototype object assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport interface: attribute transport assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport interface: attribute state assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport interface: attribute maxMessageSize assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport interface: attribute maxChannels assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport interface: attribute onstatechange assert_own_property: self does not have own property "RTCSctpTransport" expected property "RTCSctpTransport" missing
+FAIL RTCSctpTransport must be primary interface of idlTestObjects.sctpTransport assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL Stringification of idlTestObjects.sctpTransport assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "transport" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "state" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxMessageSize" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxChannels" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "onstatechange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
PASS RTCDataChannel interface: existence and properties of interface object
PASS RTCDataChannel interface object length
PASS RTCDataChannel interface object name
Modified: trunk/LayoutTests/webrtc/datachannel/dtls10.html (282066 => 282067)
--- trunk/LayoutTests/webrtc/datachannel/dtls10.html 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/LayoutTests/webrtc/datachannel/dtls10.html 2021-09-07 00:16:52 UTC (rev 282067)
@@ -48,11 +48,9 @@
}, (remoteConnection) => {
});
- assert_not_equals(localConnection.sctp, null);
-
let counter = 0;
while (++counter < 20) {
- if (localConnection.sctp.transport.state === "connected")
+ if (localConnection.connectionState === "connected")
return;
await new Promise(resolve => setTimeout(resolve, 10));
}
@@ -71,8 +69,7 @@
});
await new Promise(resolve => setTimeout(resolve, 200));
- assert_not_equals(localConnection.sctp, null);
- assert_not_equals(localConnection.sctp.transport.state, "connected");
+ assert_not_equals(localConnection.connectionState, "connected");
}, "Verify regular clients cannot connect with DTLS1-only clients");
</script>
</body>
Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (282066 => 282067)
--- trunk/Source/ThirdParty/libwebrtc/ChangeLog 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,3 +1,16 @@
+2021-09-06 Commit Queue <[email protected]>
+
+ Unreviewed, reverting r282057.
+ https://bugs.webkit.org/show_bug.cgi?id=229977
+
+ made a layout test extremely flaky
+
+ Reverted changeset:
+
+ "Add support for RTCSctpTransport"
+ https://bugs.webkit.org/show_bug.cgi?id=229292
+ https://commits.webkit.org/r282057
+
2021-09-06 Youenn Fablet <[email protected]>
Add support for RTCSctpTransport
Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp (282066 => 282067)
--- trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp 2021-09-07 00:16:52 UTC (rev 282067)
@@ -325,4 +325,3 @@
__ZNK3rtc13SocketAddresseqERKS0_
__ZNK3rtc9IPAddress5IsNilEv
__ZN3rtc12SSLCertChainD1Ev
-__ZN6webrtc24SctpTransportInformationD1Ev
Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOSsim.exp (282066 => 282067)
--- trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOSsim.exp 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOSsim.exp 2021-09-07 00:16:52 UTC (rev 282067)
@@ -325,4 +325,3 @@
__ZNK3rtc13SocketAddresseqERKS0_
__ZNK3rtc9IPAddress5IsNilEv
__ZN3rtc12SSLCertChainD1Ev
-__ZN6webrtc24SctpTransportInformationD1Ev
Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.mac.exp (282066 => 282067)
--- trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.mac.exp 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.mac.exp 2021-09-07 00:16:52 UTC (rev 282067)
@@ -325,4 +325,3 @@
__ZNK3rtc13SocketAddresseqERKS0_
__ZNK3rtc9IPAddress5IsNilEv
__ZN3rtc12SSLCertChainD1Ev
-__ZN6webrtc24SctpTransportInformationD1Ev
Modified: trunk/Source/WebCore/CMakeLists.txt (282066 => 282067)
--- trunk/Source/WebCore/CMakeLists.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/CMakeLists.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -426,8 +426,6 @@
Modules/mediastream/RTCRtpSynchronizationSource.idl
Modules/mediastream/RTCRtpTransceiver.idl
Modules/mediastream/RTCRtpTransceiverDirection.idl
- Modules/mediastream/RTCSctpTransport.idl
- Modules/mediastream/RTCSctpTransportState.idl
Modules/mediastream/RTCSdpType.idl
Modules/mediastream/RTCSessionDescription.idl
Modules/mediastream/RTCSessionDescriptionInit.idl
Modified: trunk/Source/WebCore/ChangeLog (282066 => 282067)
--- trunk/Source/WebCore/ChangeLog 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/ChangeLog 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,3 +1,16 @@
+2021-09-06 Commit Queue <[email protected]>
+
+ Unreviewed, reverting r282057.
+ https://bugs.webkit.org/show_bug.cgi?id=229977
+
+ made a layout test extremely flaky
+
+ Reverted changeset:
+
+ "Add support for RTCSctpTransport"
+ https://bugs.webkit.org/show_bug.cgi?id=229292
+ https://commits.webkit.org/r282057
+
2021-09-06 Simon Fraser <[email protected]>
REGRESSION (r280017): Calling getBoundingClientRect() on an empty element with "break-before: column" in columns returns a rect with all zeros
Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (282066 => 282067)
--- trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-09-07 00:16:52 UTC (rev 282067)
@@ -269,8 +269,6 @@
$(PROJECT_DIR)/Modules/mediastream/RTCRtpTransceiver.idl
$(PROJECT_DIR)/Modules/mediastream/RTCRtpTransceiverDirection.idl
$(PROJECT_DIR)/Modules/mediastream/RTCRtpTransform.idl
-$(PROJECT_DIR)/Modules/mediastream/RTCSctpTransport.idl
-$(PROJECT_DIR)/Modules/mediastream/RTCSctpTransportState.idl
$(PROJECT_DIR)/Modules/mediastream/RTCSdpType.idl
$(PROJECT_DIR)/Modules/mediastream/RTCSessionDescription.idl
$(PROJECT_DIR)/Modules/mediastream/RTCSessionDescriptionInit.idl
Modified: trunk/Source/WebCore/DerivedSources-output.xcfilelist (282066 => 282067)
--- trunk/Source/WebCore/DerivedSources-output.xcfilelist 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/DerivedSources-output.xcfilelist 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1753,10 +1753,6 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCRtpTransceiverDirection.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCRtpTransform.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCRtpTransform.h
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCSctpTransport.cpp
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCSctpTransport.h
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCSctpTransportState.cpp
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCSctpTransportState.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCSdpType.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCSdpType.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSRTCSessionDescription.cpp
Modified: trunk/Source/WebCore/DerivedSources.make (282066 => 282067)
--- trunk/Source/WebCore/DerivedSources.make 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/DerivedSources.make 2021-09-07 00:16:52 UTC (rev 282067)
@@ -292,8 +292,6 @@
$(WebCore)/Modules/mediastream/RTCRtpSynchronizationSource.idl \
$(WebCore)/Modules/mediastream/RTCRtpTransceiver.idl \
$(WebCore)/Modules/mediastream/RTCRtpTransceiverDirection.idl \
- $(WebCore)/Modules/mediastream/RTCSctpTransport.idl \
- $(WebCore)/Modules/mediastream/RTCSctpTransportState.idl \
$(WebCore)/Modules/mediastream/RTCSdpType.idl \
$(WebCore)/Modules/mediastream/RTCSessionDescription.idl \
$(WebCore)/Modules/mediastream/RTCSessionDescriptionInit.idl \
Modified: trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp 2021-09-07 00:16:52 UTC (rev 282067)
@@ -45,7 +45,6 @@
#include "RTCPeerConnection.h"
#include "RTCPeerConnectionIceEvent.h"
#include "RTCRtpCapabilities.h"
-#include "RTCSctpTransportBackend.h"
#include "RTCSessionDescriptionInit.h"
#include "RTCTrackEvent.h"
#include "RuntimeEnabledFeatures.h"
@@ -175,18 +174,16 @@
doSetLocalDescription(sessionDescription);
}
-void PeerConnectionBackend::setLocalDescriptionSucceeded(std::unique_ptr<RTCSctpTransportBackend>&& sctpBackend)
+void PeerConnectionBackend::setLocalDescriptionSucceeded()
{
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER);
ASSERT(m_setDescriptionPromise);
- m_peerConnection.doTask([this, promise = WTFMove(m_setDescriptionPromise), sctpBackend = WTFMove(sctpBackend)]() mutable {
+ m_peerConnection.doTask([this, promise = WTFMove(m_setDescriptionPromise)]() mutable {
if (m_peerConnection.isClosed())
return;
-
m_peerConnection.updateTransceiversAfterSuccessfulLocalDescription();
- m_peerConnection.updateSctpBackend(WTFMove(sctpBackend));
promise->resolve();
});
}
@@ -213,7 +210,7 @@
doSetRemoteDescription(sessionDescription);
}
-void PeerConnectionBackend::setRemoteDescriptionSucceeded(std::unique_ptr<RTCSctpTransportBackend>&& sctpBackend)
+void PeerConnectionBackend::setRemoteDescriptionSucceeded()
{
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER, "Set remote description succeeded");
@@ -234,12 +231,11 @@
track.source().setMuted(false);
}
- m_peerConnection.doTask([this, promise = WTFMove(promise), sctpBackend = WTFMove(sctpBackend)]() mutable {
+ m_peerConnection.doTask([this, promise = WTFMove(promise)]() mutable {
if (m_peerConnection.isClosed())
return;
m_peerConnection.updateTransceiversAfterSuccessfulRemoteDescription();
- m_peerConnection.updateSctpBackend(WTFMove(sctpBackend));
promise->resolve();
});
}
Modified: trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.h (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.h 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.h 2021-09-07 00:16:52 UTC (rev 282067)
@@ -57,7 +57,6 @@
class RTCRtpReceiver;
class RTCRtpSender;
class RTCRtpTransceiver;
-class RTCSctpTransportBackend;
class RTCSessionDescription;
class RTCStatsReport;
class ScriptExecutionContext;
@@ -199,10 +198,10 @@
void createAnswerSucceeded(String&&);
void createAnswerFailed(Exception&&);
- void setLocalDescriptionSucceeded(std::unique_ptr<RTCSctpTransportBackend>&&);
+ void setLocalDescriptionSucceeded();
void setLocalDescriptionFailed(Exception&&);
- void setRemoteDescriptionSucceeded(std::unique_ptr<RTCSctpTransportBackend>&&);
+ void setRemoteDescriptionSucceeded();
void setRemoteDescriptionFailed(Exception&&);
void addIceCandidateSucceeded();
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp 2021-09-07 00:16:52 UTC (rev 282067)
@@ -60,7 +60,6 @@
#include "RTCOfferOptions.h"
#include "RTCPeerConnectionIceErrorEvent.h"
#include "RTCPeerConnectionIceEvent.h"
-#include "RTCSctpTransport.h"
#include "RTCSessionDescription.h"
#include "RTCSessionDescriptionInit.h"
#include "Settings.h"
@@ -647,7 +646,7 @@
{
ALWAYS_LOG(LOGIDENTIFIER, newState);
- scriptExecutionContext()->postTask([protectedThis = makeRef(*this), newState](auto&) mutable {
+ scriptExecutionContext()->postTask([protectedThis = makeRef(*this), newState](ScriptExecutionContext&) {
if (protectedThis->isClosed() || protectedThis->m_iceConnectionState == newState)
return;
@@ -700,13 +699,11 @@
return RTCIceConnectionState::Closed;
auto iceTransports = m_iceTransports;
-
iceTransports.removeAllMatching([&](auto& iceTransport) {
- if (m_sctpTransport && &m_sctpTransport->transport().iceTransport() == iceTransport.ptr())
- return false;
- return allOf(m_transceiverSet.list(), [&iceTransport](auto& transceiver) {
+ bool test = allOf(m_transceiverSet.list(), [&iceTransport](auto& transceiver) {
return !isIceTransportUsedByTransceiver(iceTransport.get(), *transceiver);
});
+ return test;
});
if (anyOf(iceTransports, [](auto& transport) { return transport->state() == RTCIceTransportState::Failed; }))
@@ -961,26 +958,6 @@
updateTransceiverTransports();
}
-void RTCPeerConnection::updateSctpBackend(std::unique_ptr<RTCSctpTransportBackend>&& sctpBackend)
-{
- if (!sctpBackend) {
- m_sctpTransport = nullptr;
- return;
- }
- if (m_sctpTransport) {
- m_sctpTransport->update(*sctpBackend);
- return;
- }
- auto* context = scriptExecutionContext();
- if (!context)
- return;
-
- auto dtlsTransport = getOrCreateDtlsTransport(sctpBackend->dtlsTransportBackend().moveToUniquePtr());
- if (!dtlsTransport)
- return;
- m_sctpTransport = RTCSctpTransport::create(*context, makeUniqueRefFromNonNullUniquePtr(WTFMove(sctpBackend)), dtlsTransport.releaseNonNull());
-}
-
#if !RELEASE_LOG_DISABLED
WTFLogChannel& RTCPeerConnection::logChannel() const
{
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h 2021-09-07 00:16:52 UTC (rev 282067)
@@ -63,7 +63,6 @@
class RTCIceCandidate;
class RTCIceTransportBackend;
class RTCPeerConnectionErrorCallback;
-class RTCSctpTransport;
class RTCSessionDescription;
class RTCStatsCallback;
@@ -189,12 +188,9 @@
void updateTransceiversAfterSuccessfulLocalDescription();
void updateTransceiversAfterSuccessfulRemoteDescription();
- void updateSctpBackend(std::unique_ptr<RTCSctpTransportBackend>&&);
void processIceTransportStateChange(RTCIceTransport&);
- RTCSctpTransport* sctp() { return m_sctpTransport.get(); }
-
#if !RELEASE_LOG_DISABLED
const Logger& logger() const final { return m_logger.get(); }
const void* logIdentifier() const final { return m_logIdentifier; }
@@ -270,7 +266,6 @@
std::optional<uint32_t> m_negotiationNeededEventId;
Vector<Ref<RTCDtlsTransport>> m_dtlsTransports;
Vector<Ref<RTCIceTransport>> m_iceTransports;
- RefPtr<RTCSctpTransport> m_sctpTransport;
};
} // namespace WebCore
Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl 2021-09-07 00:16:52 UTC (rev 282067)
@@ -131,7 +131,7 @@
attribute EventHandler ontrack;
// 6.1 Peer-to-peer data API
- readonly attribute RTCSctpTransport? sctp;
+ // FIXME 169644: missing sctp
RTCDataChannel createDataChannel([LegacyNullToEmptyString] USVString label, optional RTCDataChannelInit options);
attribute EventHandler ondatachannel;
Deleted: trunk/Source/WebCore/Modules/mediastream/RTCSctpTransport.cpp (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/RTCSctpTransport.cpp 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/RTCSctpTransport.cpp 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,85 +0,0 @@
-/*
- * 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 "RTCSctpTransport.h"
-
-#if ENABLE(WEB_RTC)
-
-#include "EventNames.h"
-#include "Logging.h"
-#include "RTCDtlsTransport.h"
-#include "RTCSctpTransportBackend.h"
-#include "ScriptExecutionContext.h"
-#include <wtf/IsoMallocInlines.h>
-
-namespace WebCore {
-
-WTF_MAKE_ISO_ALLOCATED_IMPL(RTCSctpTransport);
-
-RTCSctpTransport::RTCSctpTransport(ScriptExecutionContext& context, UniqueRef<RTCSctpTransportBackend>&& backend, Ref<RTCDtlsTransport >&& transport)
- : ActiveDOMObject(&context)
- , m_backend(WTFMove(backend))
- , m_transport(WTFMove(transport))
-{
- suspendIfNeeded();
- m_backend->registerClient(*this);
-}
-
-RTCSctpTransport::~RTCSctpTransport()
-{
- m_backend->unregisterClient();
-}
-
-void RTCSctpTransport::stop()
-{
- m_state = RTCSctpTransportState::Closed;
-}
-
-bool RTCSctpTransport::virtualHasPendingActivity() const
-{
- return m_state != RTCSctpTransportState::Closed && hasEventListeners();
-}
-
-void RTCSctpTransport::onStateChanged(RTCSctpTransportState state, std::optional<double> maxMessageSize, std::optional<unsigned short> maxChannels)
-{
- queueTaskKeepingObjectAlive(*this, TaskSource::Networking, [this, state, maxMessageSize, maxChannels]() mutable {
- if (m_state == RTCSctpTransportState::Closed)
- return;
-
- if (maxMessageSize)
- m_maxMessageSize = *maxMessageSize;
- if (maxChannels)
- m_maxChannels = *maxChannels;
-
- if (m_state != state) {
- m_state = state;
- dispatchEvent(Event::create(eventNames().statechangeEvent, Event::CanBubble::Yes, Event::IsCancelable::No));
- }
- });
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(WEB_RTC)
Deleted: trunk/Source/WebCore/Modules/mediastream/RTCSctpTransport.h (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/RTCSctpTransport.h 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/RTCSctpTransport.h 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,82 +0,0 @@
-/*
- * 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 "ActiveDOMObject.h"
-#include "Event.h"
-#include "EventTarget.h"
-#include "RTCSctpTransportBackend.h"
-
-namespace WebCore {
-
-class RTCDtlsTransport;
-
-class RTCSctpTransport final : public RefCounted<RTCSctpTransport>, public ActiveDOMObject, public EventTargetWithInlineData, public RTCSctpTransportBackend::Client {
- WTF_MAKE_ISO_ALLOCATED(RTCSctpTransport);
-public:
- static Ref<RTCSctpTransport> create(ScriptExecutionContext& context, UniqueRef<RTCSctpTransportBackend>&& backend, Ref<RTCDtlsTransport>&& transport) { return adoptRef(*new RTCSctpTransport(context, WTFMove(backend), WTFMove(transport))); }
- ~RTCSctpTransport();
-
- using RefCounted<RTCSctpTransport>::ref;
- using RefCounted<RTCSctpTransport>::deref;
-
- RTCDtlsTransport& transport() { return m_transport.get(); }
- RTCSctpTransportState state() const { return m_state; }
- double maxMessageSize() const { return m_maxMessageSize; }
- std::optional<unsigned short> maxChannels() const { return m_maxChannels; }
-
- void update(RTCSctpTransportBackend&) { }
-
- const RTCSctpTransportBackend& backend() const { return m_backend.get(); }
-
-private:
- RTCSctpTransport(ScriptExecutionContext&, UniqueRef<RTCSctpTransportBackend>&&, Ref<RTCDtlsTransport>&&);
-
- // EventTargetWithInlineData
- EventTargetInterface eventTargetInterface() const final { return RTCSctpTransportEventTargetInterfaceType; }
- ScriptExecutionContext* scriptExecutionContext() const final { return m_scriptExecutionContext; }
- void refEventTarget() final { ref(); }
- void derefEventTarget() final { deref(); }
-
- // ActiveDOMObject
- void stop() final;
- const char* activeDOMObjectName() const final { return "RTCSctpTransport"; }
- bool virtualHasPendingActivity() const final;
-
- // RTCSctpTransport::Client
- void onStateChanged(RTCSctpTransportState, std::optional<double>, std::optional<unsigned short>) final;
-
- UniqueRef<RTCSctpTransportBackend> m_backend;
- Ref<RTCDtlsTransport> m_transport;
- RTCSctpTransportState m_state { RTCSctpTransportState::Connecting };
- double m_maxMessageSize { std::numeric_limits<double>::max() };
- std::optional<unsigned short> m_maxChannels;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(WEB_RTC)
Deleted: trunk/Source/WebCore/Modules/mediastream/RTCSctpTransport.idl (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/RTCSctpTransport.idl 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/RTCSctpTransport.idl 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,36 +0,0 @@
-/*
- * 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.
- */
-
-[
- ActiveDOMObject,
- Conditional=WEB_RTC,
- EnabledBySetting=PeerConnection,
- Exposed=(Window),
-] interface RTCSctpTransport : EventTarget {
- readonly attribute RTCDtlsTransport transport;
- readonly attribute RTCSctpTransportState state;
- readonly attribute unrestricted double maxMessageSize;
- readonly attribute unsigned short? maxChannels;
- attribute EventHandler onstatechange;
-};
Deleted: trunk/Source/WebCore/Modules/mediastream/RTCSctpTransportBackend.h (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/RTCSctpTransportBackend.h 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/RTCSctpTransportBackend.h 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2021 Apple Inc.
- *
- * 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 "RTCSctpTransportState.h"
-#include <wtf/WeakPtr.h>
-
-namespace WebCore {
-
-class RTCDtlsTransportBackend;
-
-class RTCSctpTransportBackend {
-public:
- virtual ~RTCSctpTransportBackend() = default;
-
- virtual const void* backend() const = 0;
- virtual UniqueRef<RTCDtlsTransportBackend> dtlsTransportBackend() = 0;
-
- class Client : public CanMakeWeakPtr<Client> {
- public:
- virtual ~Client() = default;
- virtual void onStateChanged(RTCSctpTransportState, std::optional<double>, std::optional<unsigned short>) = 0;
- };
- virtual void registerClient(Client&) = 0;
- virtual void unregisterClient() = 0;
-};
-
-inline bool operator==(const RTCSctpTransportBackend& a, const RTCSctpTransportBackend& b)
-{
- return a.backend() == b.backend();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(WEB_RTC)
Deleted: trunk/Source/WebCore/Modules/mediastream/RTCSctpTransportState.h (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/RTCSctpTransportState.h 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/RTCSctpTransportState.h 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,35 +0,0 @@
-/*
- * 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)
-
-enum class RTCSctpTransportState {
- Connecting,
- Connected,
- Closed
-};
-
-#endif
Deleted: trunk/Source/WebCore/Modules/mediastream/RTCSctpTransportState.idl (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/RTCSctpTransportState.idl 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/RTCSctpTransportState.idl 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,32 +0,0 @@
-/*
- * 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
-] enum RTCSctpTransportState {
- "connecting",
- "connected",
- "closed"
-};
Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp 2021-09-07 00:16:52 UTC (rev 282067)
@@ -36,8 +36,6 @@
ALLOW_UNUSED_PARAMETERS_END
-#include <wtf/ThreadSafeRefCounted.h>
-
namespace WebCore {
static inline RTCIceTransportState toRTCIceTransportState(webrtc::IceTransportState state)
Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp 2021-09-07 00:16:52 UTC (rev 282067)
@@ -36,7 +36,6 @@
#include "LibWebRTCRtpReceiverBackend.h"
#include "LibWebRTCRtpSenderBackend.h"
#include "LibWebRTCRtpTransceiverBackend.h"
-#include "LibWebRTCSctpTransportBackend.h"
#include "LibWebRTCStatsCollector.h"
#include "LibWebRTCUtils.h"
#include "Logging.h"
@@ -673,42 +672,18 @@
});
}
-class SctpTransportState {
-public:
- explicit SctpTransportState(rtc::scoped_refptr<webrtc::SctpTransportInterface>&&);
- std::unique_ptr<LibWebRTCSctpTransportBackend> createBackend();
-
-private:
- rtc::scoped_refptr<webrtc::SctpTransportInterface> m_transport;
- webrtc::SctpTransportInformation m_information;
-};
-
-SctpTransportState::SctpTransportState(rtc::scoped_refptr<webrtc::SctpTransportInterface>&& transport)
- : m_transport(WTFMove(transport))
-{
- if (m_transport)
- m_information = m_transport->Information();
-}
-
-std::unique_ptr<LibWebRTCSctpTransportBackend> SctpTransportState::createBackend()
-{
- if (!m_transport)
- return nullptr;
- return makeUnique<LibWebRTCSctpTransportBackend>(WTFMove(m_transport), m_information.dtls_transport());
-}
-
void LibWebRTCMediaEndpoint::setLocalSessionDescriptionSucceeded()
{
- callOnMainThread([protectedThis = makeRef(*this), sctpState = SctpTransportState(m_backend->GetSctpTransport())]() mutable {
+ callOnMainThread([protectedThis = makeRef(*this)] {
if (protectedThis->isStopped())
return;
- protectedThis->m_peerConnectionBackend.setLocalDescriptionSucceeded(sctpState.createBackend());
+ protectedThis->m_peerConnectionBackend.setLocalDescriptionSucceeded();
});
}
void LibWebRTCMediaEndpoint::setLocalSessionDescriptionFailed(ExceptionCode errorCode, const char* errorMessage)
{
- callOnMainThread([protectedThis = makeRef(*this), errorCode, errorMessage = String(errorMessage)]() mutable {
+ callOnMainThread([protectedThis = makeRef(*this), errorCode, errorMessage = String(errorMessage)] () mutable {
if (protectedThis->isStopped())
return;
protectedThis->m_peerConnectionBackend.setLocalDescriptionFailed(Exception { errorCode, WTFMove(errorMessage) });
@@ -717,10 +692,10 @@
void LibWebRTCMediaEndpoint::setRemoteSessionDescriptionSucceeded()
{
- callOnMainThread([protectedThis = makeRef(*this), sctpState = SctpTransportState(m_backend->GetSctpTransport())]() mutable {
+ callOnMainThread([protectedThis = makeRef(*this)] {
if (protectedThis->isStopped())
return;
- protectedThis->m_peerConnectionBackend.setRemoteDescriptionSucceeded(sctpState.createBackend());
+ protectedThis->m_peerConnectionBackend.setRemoteDescriptionSucceeded();
});
}
Deleted: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.cpp (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.cpp 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.cpp 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2021 Apple Inc.
- *
- * 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 "LibWebRTCSctpTransportBackend.h"
-
-#if ENABLE(WEB_RTC) && USE(LIBWEBRTC)
-
-#include "LibWebRTCDtlsTransportBackend.h"
-#include "LibWebRTCProvider.h"
-
-ALLOW_UNUSED_PARAMETERS_BEGIN
-
-#include <webrtc/api/sctp_transport_interface.h>
-
-ALLOW_UNUSED_PARAMETERS_END
-
-namespace WebCore {
-
-static inline RTCSctpTransportState toRTCSctpTransportState(webrtc::SctpTransportState state)
-{
- switch (state) {
- case webrtc::SctpTransportState::kNew:
- case webrtc::SctpTransportState::kConnecting:
- return RTCSctpTransportState::Connecting;
- case webrtc::SctpTransportState::kConnected:
- return RTCSctpTransportState::Connected;
- case webrtc::SctpTransportState::kClosed:
- return RTCSctpTransportState::Closed;
- case webrtc::SctpTransportState::kNumValues:
- ASSERT_NOT_REACHED();
- return RTCSctpTransportState::Connecting;
- }
-
- RELEASE_ASSERT_NOT_REACHED();
-}
-
-class LibWebRTCSctpTransportBackendObserver final : public ThreadSafeRefCounted<LibWebRTCSctpTransportBackendObserver>, public webrtc::SctpTransportObserverInterface {
-public:
- static Ref<LibWebRTCSctpTransportBackendObserver> create(RTCSctpTransportBackend::Client& client, rtc::scoped_refptr<webrtc::SctpTransportInterface>& backend) { return adoptRef(*new LibWebRTCSctpTransportBackendObserver(client, backend)); }
-
- void start();
- void stop();
-
-private:
- LibWebRTCSctpTransportBackendObserver(RTCSctpTransportBackend::Client&, rtc::scoped_refptr<webrtc::SctpTransportInterface>&);
-
- void OnStateChange(webrtc::SctpTransportInformation) final;
-
- void updateState(webrtc::SctpTransportInformation&&);
-
- rtc::scoped_refptr<webrtc::SctpTransportInterface> m_backend;
- WeakPtr<RTCSctpTransportBackend::Client> m_client;
-};
-
-LibWebRTCSctpTransportBackendObserver::LibWebRTCSctpTransportBackendObserver(RTCSctpTransportBackend::Client& client, rtc::scoped_refptr<webrtc::SctpTransportInterface>& backend)
- : m_backend(backend)
- , m_client(makeWeakPtr(client))
-{
- ASSERT(m_backend);
-}
-
-void LibWebRTCSctpTransportBackendObserver::updateState(webrtc::SctpTransportInformation&& info)
-{
- if (!m_client)
- return;
-
- std::optional<unsigned short> maxChannels;
- if (auto value = info.MaxChannels())
- maxChannels = *value;
- m_client->onStateChanged(toRTCSctpTransportState(info.state()), info.MaxMessageSize(), maxChannels);
-}
-
-void LibWebRTCSctpTransportBackendObserver::start()
-{
- LibWebRTCProvider::callOnWebRTCNetworkThread([this, protectedThis = makeRef(*this)]() mutable {
- m_backend->RegisterObserver(this);
- callOnMainThread([protectedThis = WTFMove(protectedThis), info = m_backend->Information()]() mutable {
- protectedThis->updateState(WTFMove(info));
- });
- });
-}
-
-void LibWebRTCSctpTransportBackendObserver::stop()
-{
- m_client = nullptr;
- LibWebRTCProvider::callOnWebRTCNetworkThread([protectedThis = makeRef(*this)] {
- protectedThis->m_backend->UnregisterObserver();
- });
-}
-
-void LibWebRTCSctpTransportBackendObserver::OnStateChange(webrtc::SctpTransportInformation info)
-{
- callOnMainThread([protectedThis = makeRef(*this), info = WTFMove(info)]() mutable {
- protectedThis->updateState(WTFMove(info));
- });
-}
-
-LibWebRTCSctpTransportBackend::LibWebRTCSctpTransportBackend(rtc::scoped_refptr<webrtc::SctpTransportInterface>&& backend, rtc::scoped_refptr<webrtc::DtlsTransportInterface>&& dtlsBackend)
- : m_backend(WTFMove(backend))
- , m_dtlsBackend(WTFMove(dtlsBackend))
-{
- ASSERT(m_backend);
-}
-
-LibWebRTCSctpTransportBackend::~LibWebRTCSctpTransportBackend()
-{
- if (m_observer)
- m_observer->stop();
-}
-
-UniqueRef<RTCDtlsTransportBackend> LibWebRTCSctpTransportBackend::dtlsTransportBackend()
-{
- return makeUniqueRef<LibWebRTCDtlsTransportBackend>(m_dtlsBackend.get());
-}
-
-void LibWebRTCSctpTransportBackend::registerClient(Client& client)
-{
- ASSERT(!m_observer);
- m_observer = LibWebRTCSctpTransportBackendObserver::create(client, m_backend);
- m_observer->start();
-}
-
-void LibWebRTCSctpTransportBackend::unregisterClient()
-{
- ASSERT(m_observer);
- m_observer->stop();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(WEB_RTC) && USE(LIBWEBRTC)
Deleted: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.h (282066 => 282067)
--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.h 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.h 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2021 Apple Inc.
- *
- * 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 "LibWebRTCMacros.h"
-#include "RTCSctpTransportBackend.h"
-#include <wtf/WeakPtr.h>
-
-ALLOW_UNUSED_PARAMETERS_BEGIN
-
-#include <webrtc/api/scoped_refptr.h>
-
-ALLOW_UNUSED_PARAMETERS_END
-
-namespace webrtc {
-class DtlsTransportInterface;
-class SctpTransportInterface;
-}
-
-namespace WebCore {
-class LibWebRTCSctpTransportBackendObserver;
-class LibWebRTCSctpTransportBackend final : public RTCSctpTransportBackend, public CanMakeWeakPtr<LibWebRTCSctpTransportBackend> {
- WTF_MAKE_FAST_ALLOCATED;
-public:
- explicit LibWebRTCSctpTransportBackend(rtc::scoped_refptr<webrtc::SctpTransportInterface>&&, rtc::scoped_refptr<webrtc::DtlsTransportInterface>&&);
- ~LibWebRTCSctpTransportBackend();
-
-private:
- // RTCSctpTransportBackend
- const void* backend() const final { return m_backend.get(); }
- UniqueRef<RTCDtlsTransportBackend> dtlsTransportBackend() final;
- void registerClient(Client&) final;
- void unregisterClient() final;
-
- rtc::scoped_refptr<webrtc::SctpTransportInterface> m_backend;
- rtc::scoped_refptr<webrtc::DtlsTransportInterface> m_dtlsBackend;
- RefPtr<LibWebRTCSctpTransportBackendObserver> m_observer;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(WEB_RTC)
Modified: trunk/Source/WebCore/Sources.txt (282066 => 282067)
--- trunk/Source/WebCore/Sources.txt 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/Sources.txt 2021-09-07 00:16:52 UTC (rev 282067)
@@ -179,7 +179,6 @@
Modules/mediastream/RTCRtpSender.cpp
Modules/mediastream/RTCRtpTransform.cpp
Modules/mediastream/RTCRtpTransceiver.cpp
-Modules/mediastream/RTCSctpTransport.cpp
Modules/mediastream/RTCSessionDescription.cpp
Modules/mediastream/RTCTrackEvent.cpp
Modules/mediastream/RTCTransformEvent.cpp
@@ -194,7 +193,6 @@
Modules/mediastream/libwebrtc/LibWebRTCRtpSenderTransformBackend.cpp
Modules/mediastream/libwebrtc/LibWebRTCRtpTransformBackend.cpp
Modules/mediastream/libwebrtc/LibWebRTCRtpTransformableFrame.cpp
-Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.cpp
Modules/model-element/HTMLModelElement.cpp
Modules/notifications/Notification.cpp
Modules/notifications/NotificationController.cpp
@@ -3356,8 +3354,6 @@
JSRTCRtpSynchronizationSource.cpp
JSRTCRtpTransceiver.cpp
JSRTCRtpTransceiverDirection.cpp
-JSRTCSctpTransport.cpp
-JSRTCSctpTransportState.cpp
JSRTCSdpType.cpp
JSRTCSessionDescription.cpp
JSRTCSessionDescriptionInit.cpp
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (282066 => 282067)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2021-09-07 00:16:52 UTC (rev 282067)
@@ -1082,7 +1082,6 @@
413CCD4A20DE034F0065A21A /* MockMediaDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 413CCD4820DE013C0065A21A /* MockMediaDevice.h */; settings = {ATTRIBUTES = (Private, ); }; };
413E00791DB0E4F2002341D2 /* MemoryRelease.h in Headers */ = {isa = PBXBuildFile; fileRef = 413E00781DB0E4DE002341D2 /* MemoryRelease.h */; settings = {ATTRIBUTES = (Private, ); }; };
414460A22412994500814BE7 /* MediaSessionIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 414460A02412994100814BE7 /* MediaSessionIdentifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 414516EC26CE526600AAABE0 /* RTCSctpTransportBackend.h in Headers */ = {isa = PBXBuildFile; fileRef = 414516EB26CE526600AAABE0 /* RTCSctpTransportBackend.h */; };
414598C223C8D177002B9CC8 /* LocalSampleBufferDisplayLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 414598C123C8AD79002B9CC8 /* LocalSampleBufferDisplayLayer.mm */; };
414B7FAD24D81CC10033D442 /* MediaRecorderPrivateOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 414B7FAB24D81C8F0033D442 /* MediaRecorderPrivateOptions.h */; settings = {ATTRIBUTES = (Private, ); }; };
414B82051D6DF0E50077EBE3 /* StructuredClone.h in Headers */ = {isa = PBXBuildFile; fileRef = 414B82031D6DF0D90077EBE3 /* StructuredClone.h */; };
@@ -7832,14 +7831,6 @@
414516DD26CC040D00AAABE0 /* LibWebRTCIceTransportBackend.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LibWebRTCIceTransportBackend.h; path = libwebrtc/LibWebRTCIceTransportBackend.h; sourceTree = "<group>"; };
414516DF26CC040D00AAABE0 /* LibWebRTCIceTransportBackend.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LibWebRTCIceTransportBackend.cpp; path = libwebrtc/LibWebRTCIceTransportBackend.cpp; sourceTree = "<group>"; };
414516E026CC042100AAABE0 /* RTCIceTransportBackend.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCIceTransportBackend.h; sourceTree = "<group>"; };
- 414516E526CE523E00AAABE0 /* LibWebRTCSctpTransportBackend.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LibWebRTCSctpTransportBackend.h; path = libwebrtc/LibWebRTCSctpTransportBackend.h; sourceTree = "<group>"; };
- 414516E726CE523E00AAABE0 /* LibWebRTCSctpTransportBackend.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LibWebRTCSctpTransportBackend.cpp; path = libwebrtc/LibWebRTCSctpTransportBackend.cpp; sourceTree = "<group>"; };
- 414516E826CE525300AAABE0 /* RTCSctpTransport.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RTCSctpTransport.cpp; sourceTree = "<group>"; };
- 414516E926CE525400AAABE0 /* RTCSctpTransport.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = RTCSctpTransport.idl; sourceTree = "<group>"; };
- 414516EA26CE525400AAABE0 /* RTCSctpTransport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCSctpTransport.h; sourceTree = "<group>"; };
- 414516EB26CE526600AAABE0 /* RTCSctpTransportBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCSctpTransportBackend.h; sourceTree = "<group>"; };
- 414516ED26CE556B00AAABE0 /* RTCSctpTransportState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = RTCSctpTransportState.idl; sourceTree = "<group>"; };
- 414516EE26CE556C00AAABE0 /* RTCSctpTransportState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCSctpTransportState.h; sourceTree = "<group>"; };
414598BE23C8AAB8002B9CC8 /* SampleBufferDisplayLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SampleBufferDisplayLayer.h; sourceTree = "<group>"; };
414598C023C8AD78002B9CC8 /* LocalSampleBufferDisplayLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalSampleBufferDisplayLayer.h; sourceTree = "<group>"; };
414598C123C8AD79002B9CC8 /* LocalSampleBufferDisplayLayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LocalSampleBufferDisplayLayer.mm; sourceTree = "<group>"; };
@@ -17352,12 +17343,6 @@
413C8B2F2552F27B00E65055 /* RTCRtpTransform.h */,
4181C5CA255582E300AEB0FF /* RTCRtpTransformableFrame.h */,
4181C5C8255573DF00AEB0FF /* RTCRtpTransformBackend.h */,
- 414516E826CE525300AAABE0 /* RTCSctpTransport.cpp */,
- 414516EA26CE525400AAABE0 /* RTCSctpTransport.h */,
- 414516E926CE525400AAABE0 /* RTCSctpTransport.idl */,
- 414516EB26CE526600AAABE0 /* RTCSctpTransportBackend.h */,
- 414516EE26CE556C00AAABE0 /* RTCSctpTransportState.h */,
- 414516ED26CE556B00AAABE0 /* RTCSctpTransportState.idl */,
410F565824FCF85400A2E50C /* RTCSdpType.idl */,
07221B7A17CEC32700848E51 /* RTCSessionDescription.cpp */,
07221B7B17CEC32700848E51 /* RTCSessionDescription.h */,
@@ -19417,8 +19402,6 @@
4181C5CC2555836800AEB0FF /* LibWebRTCRtpTransformableFrame.h */,
4181C5CE2555895500AEB0FF /* LibWebRTCRtpTransformBackend.cpp */,
4181C5CF2555895600AEB0FF /* LibWebRTCRtpTransformBackend.h */,
- 414516E726CE523E00AAABE0 /* LibWebRTCSctpTransportBackend.cpp */,
- 414516E526CE523E00AAABE0 /* LibWebRTCSctpTransportBackend.h */,
41D28D0B2139E01D00F4206F /* LibWebRTCStatsCollector.cpp */,
41D28D0C2139E01E00F4206F /* LibWebRTCStatsCollector.h */,
41D1A049213EDDFD0063FB6B /* LibWebRTCUtils.cpp */,
@@ -34517,7 +34500,6 @@
413C8B342552F27D00E65055 /* RTCRtpTransform.h in Headers */,
4181C5CB255582E400AEB0FF /* RTCRtpTransformableFrame.h in Headers */,
4181C5C9255573DF00AEB0FF /* RTCRtpTransformBackend.h in Headers */,
- 414516EC26CE526600AAABE0 /* RTCSctpTransportBackend.h in Headers */,
3135910A1E7DDC7300F30630 /* RTCSdpType.h in Headers */,
078E092617D14D1C00420AA1 /* RTCSessionDescription.h in Headers */,
078E094317D16E1C00420AA1 /* RTCSessionDescriptionDescriptor.h in Headers */,
Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (282066 => 282067)
--- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2021-09-07 00:16:52 UTC (rev 282067)
@@ -212,7 +212,6 @@
macro(RTCRtpSender) \
macro(RTCRtpTransceiver) \
macro(RTCRtpTransform) \
- macro(RTCSctpTransport) \
macro(RTCSessionDescription) \
macro(RTCStatsReport) \
macro(RTCTrackEvent) \
Modified: trunk/Source/WebCore/dom/EventTargetFactory.in (282066 => 282067)
--- trunk/Source/WebCore/dom/EventTargetFactory.in 2021-09-06 22:44:24 UTC (rev 282066)
+++ trunk/Source/WebCore/dom/EventTargetFactory.in 2021-09-07 00:16:52 UTC (rev 282067)
@@ -45,7 +45,6 @@
RTCPeerConnection conditional=WEB_RTC
RTCRtpSFrameTransform conditional=WEB_RTC
RTCRtpScriptTransform conditional=WEB_RTC
-RTCSctpTransport conditional=WEB_RTC
ServiceWorker conditional=SERVICE_WORKER
ServiceWorkerContainer conditional=SERVICE_WORKER
ServiceWorkerGlobalScope conditional=SERVICE_WORKER