diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2019-01-26 08:29:10 -0800 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2019-01-28 22:21:42 -0800 |
commit | 2dd69d0cb05b47f7035a287aba21f93d1cb164ed (patch) | |
tree | 7f06d1e87b0e9a2babc3c1b6e60d7f3930596166 /components/script/dom/webidls/RTCPeerConnection.webidl | |
parent | cbe505ba54d0097ab060555ca8cf1984971ea1e8 (diff) | |
download | servo-2dd69d0cb05b47f7035a287aba21f93d1cb164ed.tar.gz servo-2dd69d0cb05b47f7035a287aba21f93d1cb164ed.zip |
Add empty RTCPeerConnection interface
Diffstat (limited to 'components/script/dom/webidls/RTCPeerConnection.webidl')
-rw-r--r-- | components/script/dom/webidls/RTCPeerConnection.webidl | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/components/script/dom/webidls/RTCPeerConnection.webidl b/components/script/dom/webidls/RTCPeerConnection.webidl new file mode 100644 index 00000000000..ec4ec83028c --- /dev/null +++ b/components/script/dom/webidls/RTCPeerConnection.webidl @@ -0,0 +1,77 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +// https://w3c.github.io/webrtc-pc/#interface-definition + +[Constructor(optional RTCConfiguration configuration), + Exposed=Window, Pref="dom.webrtc.enabled"] +interface RTCPeerConnection : EventTarget { + // Promise<RTCSessionDescriptionInit> createOffer(optional RTCOfferOptions options); + // Promise<RTCSessionDescriptionInit> createAnswer(optional RTCAnswerOptions options); + // Promise<void> setLocalDescription(RTCSessionDescriptionInit description); + // readonly attribute RTCSessionDescription? localDescription; + // readonly attribute RTCSessionDescription? currentLocalDescription; + // readonly attribute RTCSessionDescription? pendingLocalDescription; + // Promise<void> setRemoteDescription(RTCSessionDescriptionInit description); + // readonly attribute RTCSessionDescription? remoteDescription; + // readonly attribute RTCSessionDescription? currentRemoteDescription; + // readonly attribute RTCSessionDescription? pendingRemoteDescription; + // Promise<void> addIceCandidate(RTCIceCandidateInit candidate); + // readonly attribute RTCSignalingState signalingState; + // readonly attribute RTCIceGatheringState iceGatheringState; + // readonly attribute RTCIceConnectionState iceConnectionState; + // readonly attribute RTCPeerConnectionState connectionState; + // readonly attribute boolean? canTrickleIceCandidates; + // static sequence<RTCIceServer> getDefaultIceServers(); + // RTCConfiguration getConfiguration(); + // void setConfiguration(RTCConfiguration configuration); + // void close(); + // attribute EventHandler onnegotiationneeded; + // attribute EventHandler onicecandidate; + // attribute EventHandler onicecandidateerror; + // attribute EventHandler onsignalingstatechange; + // attribute EventHandler oniceconnectionstatechange; + // attribute EventHandler onicegatheringstatechange; + // attribute EventHandler onconnectionstatechange; +}; + +dictionary RTCConfiguration { + sequence<RTCIceServer> iceServers; + RTCIceTransportPolicy iceTransportPolicy = "all"; + RTCBundlePolicy bundlePolicy = "balanced"; + RTCRtcpMuxPolicy rtcpMuxPolicy = "require"; + DOMString peerIdentity; + // sequence<RTCCertificate> certificates; + [EnforceRange] + octet iceCandidatePoolSize = 0; +}; + +enum RTCIceTransportPolicy { + "relay", + "all" +}; + +enum RTCBundlePolicy { + "balanced", + "max-compat", + "max-bundle" +}; + +enum RTCRtcpMuxPolicy { + // At risk due to lack of implementers' interest. + "negotiate", + "require" +}; + +dictionary RTCIceServer { + required (DOMString or sequence<DOMString>) urls; + DOMString username; + DOMString /*(DOMString or RTCOAuthCredential)*/ credential; + RTCIceCredentialType credentialType = "password"; +}; + +enum RTCIceCredentialType { + "password", + "oauth" +}; |