Bug 1882399 - Update sLD and sRD to spec wrt WebIDL inputs RTCSessionDescriptionInit/RTCLocalSessionDescriptionInit. r=bwc,webidl,saschanaz

Differential Revision: https://phabricator.services.mozilla.com/D203046
This commit is contained in:
Jan-Ivar Bruaroey 2024-03-08 20:58:08 +00:00
Родитель 765e428d7a
Коммит a3249bbbcf
4 изменённых файлов: 29 добавлений и 42 удалений

Просмотреть файл

@ -245,11 +245,6 @@ export class RTCSessionDescription {
}
__init({ type, sdp }) {
if (!type) {
throw new this._win.TypeError(
"Missing required 'type' member of RTCSessionDescriptionInit"
);
}
Object.assign(this, { _type: type, _sdp: sdp });
}
@ -1193,11 +1188,6 @@ export class RTCPeerConnection {
}
_setRemoteDescription({ type, sdp }) {
if (!type) {
throw new this._win.TypeError(
"Missing required 'type' member of RTCSessionDescriptionInit"
);
}
if (type == "pranswer") {
throw new this._win.DOMException(
"pranswer not yet implemented",

Просмотреть файл

@ -90,8 +90,7 @@ dictionary RTCOfferOptions : RTCOfferAnswerOptions {
Exposed=Window]
interface RTCPeerConnection : EventTarget {
[Throws]
constructor(optional RTCConfiguration configuration = {},
optional object? constraints);
constructor(optional RTCConfiguration configuration = {});
[Throws, StaticClassOverride="mozilla::dom::RTCCertificate"]
static Promise<RTCCertificate> generateCertificate (AlgorithmIdentifier keygenAlgorithm);
@ -99,13 +98,13 @@ interface RTCPeerConnection : EventTarget {
undefined setIdentityProvider (DOMString provider,
optional RTCIdentityProviderOptions options = {});
Promise<DOMString> getIdentityAssertion();
Promise<RTCSessionDescriptionInit> createOffer (optional RTCOfferOptions options = {});
Promise<RTCSessionDescriptionInit> createAnswer (optional RTCAnswerOptions options = {});
Promise<undefined> setLocalDescription (optional RTCSessionDescriptionInit description = {});
Promise<undefined> setRemoteDescription (optional RTCSessionDescriptionInit description = {});
Promise<RTCSessionDescriptionInit> createOffer(optional RTCOfferOptions options = {});
Promise<RTCSessionDescriptionInit> createAnswer(optional RTCAnswerOptions options = {});
Promise<undefined> setLocalDescription(optional RTCLocalSessionDescriptionInit description = {});
readonly attribute RTCSessionDescription? localDescription;
readonly attribute RTCSessionDescription? currentLocalDescription;
readonly attribute RTCSessionDescription? pendingLocalDescription;
Promise<undefined> setRemoteDescription(RTCSessionDescriptionInit description);
readonly attribute RTCSessionDescription? remoteDescription;
readonly attribute RTCSessionDescription? currentRemoteDescription;
readonly attribute RTCSessionDescription? pendingRemoteDescription;
@ -181,21 +180,23 @@ interface RTCPeerConnection : EventTarget {
partial interface RTCPeerConnection {
// Dummy Promise<undefined> return values avoid "WebIDL.WebIDLError: error:
// We have overloads with both Promise and non-Promise return types"
Promise<undefined> createOffer (RTCSessionDescriptionCallback successCallback,
RTCPeerConnectionErrorCallback failureCallback,
optional RTCOfferOptions options = {});
Promise<undefined> createAnswer (RTCSessionDescriptionCallback successCallback,
RTCPeerConnectionErrorCallback failureCallback);
Promise<undefined> setLocalDescription (RTCSessionDescriptionInit description,
// Legacy Interface Extensions
// Supporting the methods in this section is optional.
// If these methods are supported
// they must be implemented as defined
// in section "Legacy Interface Extensions"
Promise<undefined> createOffer(RTCSessionDescriptionCallback successCallback,
RTCPeerConnectionErrorCallback failureCallback,
optional RTCOfferOptions options = {});
Promise<undefined> setLocalDescription(RTCLocalSessionDescriptionInit description,
VoidFunction successCallback,
RTCPeerConnectionErrorCallback failureCallback);
Promise<undefined> createAnswer(RTCSessionDescriptionCallback successCallback,
RTCPeerConnectionErrorCallback failureCallback);
Promise<undefined> setRemoteDescription(RTCSessionDescriptionInit description,
VoidFunction successCallback,
RTCPeerConnectionErrorCallback failureCallback);
Promise<undefined> setRemoteDescription (RTCSessionDescriptionInit description,
VoidFunction successCallback,
RTCPeerConnectionErrorCallback failureCallback);
Promise<undefined> addIceCandidate (RTCIceCandidate candidate,
VoidFunction successCallback,
RTCPeerConnectionErrorCallback failureCallback);
Promise<undefined> addIceCandidate(RTCIceCandidateInit candidate,
VoidFunction successCallback,
RTCPeerConnectionErrorCallback failureCallback);
};

Просмотреть файл

@ -4,7 +4,7 @@
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCSessionDescription
* https://www.w3.org/TR/webrtc/#rtcsessiondescription-class
*/
enum RTCSdpType {
@ -15,6 +15,11 @@ enum RTCSdpType {
};
dictionary RTCSessionDescriptionInit {
required RTCSdpType type;
DOMString sdp = "";
};
dictionary RTCLocalSessionDescriptionInit {
RTCSdpType type;
DOMString sdp = "";
};
@ -24,7 +29,7 @@ dictionary RTCSessionDescriptionInit {
Exposed=Window]
interface RTCSessionDescription {
[Throws]
constructor(optional RTCSessionDescriptionInit descriptionInitDict = {});
constructor(RTCSessionDescriptionInit descriptionInitDict);
// These should be readonly, but writing causes deprecation warnings for a bit
attribute RTCSdpType type;

Просмотреть файл

@ -296,15 +296,6 @@
[RTCRtpTransceiver interface: calling setCodecPreferences(sequence<RTCRtpCodecCapability>) on new RTCPeerConnection().addTransceiver('audio') with too few arguments must throw TypeError]
expected: FAIL
[RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)]
expected: FAIL
[RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescriptionInit)]
expected: FAIL
[RTCSessionDescription interface object length]
expected: FAIL
[RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "binaryType" with the proper type]
expected: FAIL