| <!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"> | |
| <link rel='stylesheet' href='/resources/testharness.css' media='all'/> | |
| </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> |