diff options
Diffstat (limited to 'testing/web-platform/tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html')
-rw-r--r-- | testing/web-platform/tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html | 107 |
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> |