summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html')
-rw-r--r--testing/web-platform/tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html107
1 files changed, 107 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html b/testing/web-platform/tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html
new file mode 100644
index 000000000..298cfb5ca
--- /dev/null
+++ b/testing/web-platform/tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html
@@ -0,0 +1,107 @@
+<!doctype html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>IDL check of RTCPeerConnection</title>
+<link rel="author" title="Harald Alvestrand" href="mailto:hta@google.com"/>
+<link rel="help" href="http://w3c.github.io/webrtc-pc/#rtcpeerconnection-interface">
+</head>
+<body>
+
+<h1 class="instructions">Description</h1>
+<p class="instructions">This test verifies the availability of the RTCPeerConnection interface.</p>
+<div id='log'></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/resources/WebIDLParser.js></script>
+<script src=/resources/idlharness.js></script>
+
+<!-- The IDL is copied from the 22 September 2015 editors' draft. -->
+<script type="text/plain">
+interface EventTarget {
+ // Only a dummy definition is needed here.
+};
+[ Constructor (optional RTCConfiguration configuration)]
+interface RTCPeerConnection : EventTarget {
+ Promise<RTCSessionDescription> createOffer (optional RTCOfferOptions options);
+ Promise<RTCSessionDescription> createAnswer (optional RTCAnswerOptions options);
+ Promise<void> setLocalDescription (RTCSessionDescription description);
+ readonly attribute RTCSessionDescription? localDescription;
+ readonly attribute RTCSessionDescription? currentLocalDescription;
+ readonly attribute RTCSessionDescription? pendingLocalDescription;
+ Promise<void> setRemoteDescription (RTCSessionDescription description);
+ readonly attribute RTCSessionDescription? remoteDescription;
+ readonly attribute RTCSessionDescription? currentRemoteDescription;
+ readonly attribute RTCSessionDescription? pendingRemoteDescription;
+ Promise<void> addIceCandidate (RTCIceCandidate candidate);
+ readonly attribute RTCSignalingState signalingState;
+ readonly attribute RTCIceGatheringState iceGatheringState;
+ readonly attribute RTCIceConnectionState iceConnectionState;
+ readonly attribute boolean? canTrickleIceCandidates;
+ RTCConfiguration getConfiguration ();
+ void setConfiguration (RTCConfiguration configuration);
+ void close ();
+ attribute EventHandler onnegotiationneeded;
+ attribute EventHandler onicecandidate;
+ attribute EventHandler onsignalingstatechange;
+ attribute EventHandler oniceconnectionstatechange;
+ attribute EventHandler onicegatheringstatechange;
+};
+
+partial interface RTCPeerConnection {
+ void createOffer (RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, optional RTCOfferOptions options);
+ void setLocalDescription (RTCSessionDescription description, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback);
+ void createAnswer (RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback);
+ void setRemoteDescription (RTCSessionDescription description, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback);
+ void addIceCandidate (RTCIceCandidate candidate, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback);
+ void getStats (MediaStreamTrack? selector, RTCStatsCallback successCallback, RTCPeerConnectionErrorCallback failureCallback);
+};
+
+partial interface RTCPeerConnection {
+ static Promise<RTCCertificate> generateCertificate (AlgorithmIdentifier keygenAlgorithm);
+};
+
+partial interface RTCPeerConnection {
+ sequence<RTCRtpSender> getSenders ();
+ sequence<RTCRtpReceiver> getReceivers ();
+ RTCRtpSender addTrack (MediaStreamTrack track, MediaStream... streams);
+ void removeTrack (RTCRtpSender sender);
+ attribute EventHandler ontrack;
+};
+
+partial interface RTCPeerConnection {
+ RTCDataChannel createDataChannel ([TreatNullAs=EmptyString] DOMString label, optional RTCDataChannelInit dataChannelDict);
+ attribute EventHandler ondatachannel;
+};
+
+partial interface RTCPeerConnection {
+ readonly attribute RTCDTMFSender? dtmf;
+};
+
+partial interface RTCPeerConnection {
+ Promise<RTCStatsReport> getStats (optional MediaStreamTrack? selector);
+};
+
+partial interface RTCPeerConnection {
+ void setIdentityProvider (DOMString provider, optional DOMString protocol, optional DOMString usernameHint);
+ Promise<DOMString> getIdentityAssertion ();
+ readonly attribute Promise<RTCIdentityAssertion> peerIdentity;
+ readonly attribute DOMString? idpLoginUrl;
+};
+
+</script>
+<script>
+(function() {
+ var idl_array = new IdlArray();
+ [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"),
+ function(node) {
+ idl_array.add_idls(node.textContent);
+ });
+ window.pc = new RTCPeerConnection(null);
+ idl_array.add_objects({"RTCPeerConnection": ["pc"]});
+ idl_array.test();
+ done();
+})();
+</script>
+</body>
+</html>