diff options
Diffstat (limited to 'testing/web-platform/tests/interfaces/webrtc-identity.idl')
-rw-r--r-- | testing/web-platform/tests/interfaces/webrtc-identity.idl | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/webrtc-identity.idl b/testing/web-platform/tests/interfaces/webrtc-identity.idl new file mode 100644 index 0000000000..108c3ad9b1 --- /dev/null +++ b/testing/web-platform/tests/interfaces/webrtc-identity.idl @@ -0,0 +1,97 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Identity for WebRTC 1.0 (https://w3c.github.io/webrtc-identity/) + +[Global=(Worker,RTCIdentityProvider), Exposed=RTCIdentityProvider] +interface RTCIdentityProviderGlobalScope : WorkerGlobalScope { + readonly attribute RTCIdentityProviderRegistrar rtcIdentityProvider; +}; + +[Exposed=RTCIdentityProvider] +interface RTCIdentityProviderRegistrar { + undefined register (RTCIdentityProvider idp); +}; + +dictionary RTCIdentityProvider { + required GenerateAssertionCallback generateAssertion; + required ValidateAssertionCallback validateAssertion; +}; + +callback GenerateAssertionCallback = Promise<RTCIdentityAssertionResult> +(DOMString contents, DOMString origin, RTCIdentityProviderOptions options); + +callback ValidateAssertionCallback = Promise<RTCIdentityValidationResult> +(DOMString assertion, DOMString origin); + +dictionary RTCIdentityAssertionResult { + required RTCIdentityProviderDetails idp; + required DOMString assertion; +}; + +dictionary RTCIdentityProviderDetails { + required DOMString domain; + DOMString protocol = "default"; +}; + +dictionary RTCIdentityValidationResult { + required DOMString identity; + required DOMString contents; +}; + +partial interface RTCPeerConnection { + undefined setIdentityProvider (DOMString provider, optional RTCIdentityProviderOptions options = {}); + Promise<DOMString> getIdentityAssertion (); + readonly attribute Promise<RTCIdentityAssertion> peerIdentity; + readonly attribute DOMString? idpLoginUrl; + readonly attribute DOMString? idpErrorInfo; +}; + +partial dictionary RTCConfiguration { + DOMString peerIdentity; +}; + +dictionary RTCIdentityProviderOptions { + DOMString protocol = "default"; + DOMString usernameHint; + DOMString peerIdentity; +}; + +[Exposed=Window] +interface RTCIdentityAssertion { + constructor(DOMString idp, DOMString name); + attribute DOMString idp; + attribute DOMString name; +}; + +partial interface RTCError { + readonly attribute long? httpRequestStatusCode; +}; + +partial dictionary RTCErrorInit { + long httpRequestStatusCode; +}; + +// This is an extension of RTCErrorDetailType from [[WEBRTC-PC]] +// Unfortunately, WebIDL does not support partial enums (yet). +// +// partial enum RTCErrorDetailType { +enum RTCErrorDetailTypeIdp { + "idp-bad-script-failure", + "idp-execution-failure", + "idp-load-failure", + "idp-need-login", + "idp-timeout", + "idp-tls-failure", + "idp-token-expired", + "idp-token-invalid", +}; + +partial dictionary MediaStreamConstraints { + DOMString peerIdentity; +}; + +partial interface MediaStreamTrack { + readonly attribute boolean isolated; + attribute EventHandler onisolationchange; +}; |