summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/webrtc-identity.idl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/interfaces/webrtc-identity.idl')
-rw-r--r--testing/web-platform/tests/interfaces/webrtc-identity.idl97
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;
+};