PWebIdentity.ipdl (2215B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 /* 6 * IPC Transaction protocol for the FedCM DOM API. 7 */ 8 9 include protocol PWindowGlobal; 10 11 include "mozilla/dom/IdentityCredentialSerializationHelpers.h"; 12 13 using mozilla::dom::CredentialMediationRequirement from "mozilla/dom/CredentialManagementBinding.h"; 14 using mozilla::dom::IdentityCredentialDisconnectOptions from "mozilla/dom/IdentityCredentialBinding.h"; 15 using mozilla::dom::IdentityCredentialRequestOptions from "mozilla/dom/IdentityCredentialBinding.h"; 16 using mozilla::dom::IdentityProviderConfig from "mozilla/dom/IdentityCredentialBinding.h"; 17 using mozilla::dom::IdentityResolveOptions from "mozilla/dom/IdentityCredentialBinding.h"; 18 using mozilla::dom::LoginStatus from "mozilla/dom/LoginStatusBinding.h"; 19 20 [RefCounted] using class nsIURI from "mozilla/ipc/URIUtils.h"; 21 22 23 namespace mozilla { 24 namespace dom { 25 26 struct IPCIdentityCredential 27 { 28 nsString id; 29 nsCString? token; 30 bool isAutoSelected; 31 nsCString configURL; 32 }; 33 34 35 union WebIdentityGetCredentialResponse { 36 nsresult; 37 IPCIdentityCredential; 38 }; 39 40 union OpenContinuationWindowResponse { 41 nsresult; 42 uint64_t; 43 }; 44 45 async protocol PWebIdentity { 46 manager PWindowGlobal; 47 48 parent: 49 async RequestCancel(); 50 51 async GetIdentityCredential(IdentityCredentialRequestOptions aOptions, 52 CredentialMediationRequirement aMediationRequirement, 53 bool aHasUserActivation) 54 returns (WebIdentityGetCredentialResponse response); 55 56 async DisconnectIdentityCredential(IdentityCredentialDisconnectOptions aOptions) returns (nsresult rv); 57 58 async PreventSilentAccess() returns (nsresult rv); 59 60 async SetLoginStatus(LoginStatus foo) returns (nsresult rv); 61 62 async ResolveContinuationWindow(nsCString token, IdentityResolveOptions options) returns (nsresult rv); 63 64 async IsActiveContinuationWindow() returns (bool result); 65 66 child: 67 async OpenContinuationWindow(nsIURI aContinueURI) returns (OpenContinuationWindowResponse response); 68 69 async __delete__(); 70 }; 71 72 } 73 }