Skip to main content

cdp_protocol/
fed_cm.rs

1// Auto-generated from Chrome at version 146.0.7680.165 domain: FedCm
2#![allow(dead_code)]
3#[allow(unused_imports)]
4use super::types::*;
5#[allow(unused_imports)]
6use derive_builder::Builder;
7#[allow(unused_imports)]
8use serde::{Deserialize, Serialize};
9#[allow(unused_imports)]
10use serde_json::Value as Json;
11#[allow(deprecated)]
12#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
13pub enum LoginState {
14    #[serde(rename = "SignIn")]
15    SignIn,
16    #[serde(rename = "SignUp")]
17    SignUp,
18}
19#[allow(deprecated)]
20#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
21pub enum DialogType {
22    #[serde(rename = "AccountChooser")]
23    AccountChooser,
24    #[serde(rename = "AutoReauthn")]
25    AutoReauthn,
26    #[serde(rename = "ConfirmIdpLogin")]
27    ConfirmIdpLogin,
28    #[serde(rename = "Error")]
29    Error,
30}
31#[allow(deprecated)]
32#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
33pub enum DialogButton {
34    #[serde(rename = "ConfirmIdpLoginContinue")]
35    ConfirmIdpLoginContinue,
36    #[serde(rename = "ErrorGotIt")]
37    ErrorGotIt,
38    #[serde(rename = "ErrorMoreDetails")]
39    ErrorMoreDetails,
40}
41#[allow(deprecated)]
42#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
43pub enum AccountUrlType {
44    #[serde(rename = "TermsOfService")]
45    TermsOfService,
46    #[serde(rename = "PrivacyPolicy")]
47    PrivacyPolicy,
48}
49#[allow(deprecated)]
50#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
51#[builder(setter(into, strip_option))]
52#[serde(rename_all = "camelCase")]
53#[doc = "Corresponds to IdentityRequestAccount"]
54pub struct Account {
55    #[serde(default)]
56    pub account_id: String,
57    #[serde(default)]
58    pub email: String,
59    #[serde(default)]
60    pub name: String,
61    #[serde(default)]
62    pub given_name: String,
63    #[serde(default)]
64    pub picture_url: String,
65    #[serde(default)]
66    pub idp_config_url: String,
67    #[serde(default)]
68    pub idp_login_url: String,
69    pub login_state: LoginState,
70    #[builder(default)]
71    #[serde(skip_serializing_if = "Option::is_none")]
72    #[serde(default)]
73    #[doc = "These two are only set if the loginState is signUp"]
74    pub terms_of_service_url: Option<String>,
75    #[builder(default)]
76    #[serde(skip_serializing_if = "Option::is_none")]
77    #[serde(default)]
78    pub privacy_policy_url: Option<String>,
79}
80#[allow(deprecated)]
81#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
82#[builder(setter(into, strip_option))]
83#[serde(rename_all = "camelCase")]
84pub struct Enable {
85    #[builder(default)]
86    #[serde(skip_serializing_if = "Option::is_none")]
87    #[serde(default)]
88    #[doc = "Allows callers to disable the promise rejection delay that would\n normally happen, if this is unimportant to what's being tested.\n (step 4 of <https://fedidcg.github.io/FedCM/#browser-api-rp-sign-in>)"]
89    pub disable_rejection_delay: Option<bool>,
90}
91#[allow(deprecated)]
92#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
93pub struct Disable(pub Option<Json>);
94#[allow(deprecated)]
95#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
96#[builder(setter(into, strip_option))]
97#[serde(rename_all = "camelCase")]
98pub struct SelectAccount {
99    #[serde(default)]
100    pub dialog_id: String,
101    #[serde(default)]
102    pub account_index: JsUInt,
103}
104#[allow(deprecated)]
105#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
106#[builder(setter(into, strip_option))]
107#[serde(rename_all = "camelCase")]
108pub struct ClickDialogButton {
109    #[serde(default)]
110    pub dialog_id: String,
111    pub dialog_button: DialogButton,
112}
113#[allow(deprecated)]
114#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
115#[builder(setter(into, strip_option))]
116#[serde(rename_all = "camelCase")]
117pub struct OpenUrl {
118    #[serde(default)]
119    pub dialog_id: String,
120    #[serde(default)]
121    pub account_index: JsUInt,
122    pub account_url_type: AccountUrlType,
123}
124#[allow(deprecated)]
125#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
126#[builder(setter(into, strip_option))]
127#[serde(rename_all = "camelCase")]
128pub struct DismissDialog {
129    #[serde(default)]
130    pub dialog_id: String,
131    #[builder(default)]
132    #[serde(skip_serializing_if = "Option::is_none")]
133    #[serde(default)]
134    pub trigger_cooldown: Option<bool>,
135}
136#[allow(deprecated)]
137#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
138pub struct ResetCooldown(pub Option<Json>);
139#[allow(deprecated)]
140#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
141pub struct EnableReturnObject(pub Option<Json>);
142#[allow(deprecated)]
143#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
144pub struct DisableReturnObject(pub Option<Json>);
145#[allow(deprecated)]
146#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
147pub struct SelectAccountReturnObject(pub Option<Json>);
148#[allow(deprecated)]
149#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
150pub struct ClickDialogButtonReturnObject(pub Option<Json>);
151#[allow(deprecated)]
152#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
153pub struct OpenUrlReturnObject(pub Option<Json>);
154#[allow(deprecated)]
155#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
156pub struct DismissDialogReturnObject(pub Option<Json>);
157#[allow(deprecated)]
158#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
159#[doc = "Resets the cooldown time, if any, to allow the next FedCM call to show\n a dialog even if one was recently dismissed by the user."]
160pub struct ResetCooldownReturnObject(pub Option<Json>);
161#[allow(deprecated)]
162impl Method for Enable {
163    const NAME: &'static str = "FedCm.enable";
164    type ReturnObject = EnableReturnObject;
165}
166#[allow(deprecated)]
167impl Method for Disable {
168    const NAME: &'static str = "FedCm.disable";
169    type ReturnObject = DisableReturnObject;
170}
171#[allow(deprecated)]
172impl Method for SelectAccount {
173    const NAME: &'static str = "FedCm.selectAccount";
174    type ReturnObject = SelectAccountReturnObject;
175}
176#[allow(deprecated)]
177impl Method for ClickDialogButton {
178    const NAME: &'static str = "FedCm.clickDialogButton";
179    type ReturnObject = ClickDialogButtonReturnObject;
180}
181#[allow(deprecated)]
182impl Method for OpenUrl {
183    const NAME: &'static str = "FedCm.openUrl";
184    type ReturnObject = OpenUrlReturnObject;
185}
186#[allow(deprecated)]
187impl Method for DismissDialog {
188    const NAME: &'static str = "FedCm.dismissDialog";
189    type ReturnObject = DismissDialogReturnObject;
190}
191#[allow(deprecated)]
192impl Method for ResetCooldown {
193    const NAME: &'static str = "FedCm.resetCooldown";
194    type ReturnObject = ResetCooldownReturnObject;
195}
196#[allow(dead_code)]
197pub mod events {
198    #[allow(unused_imports)]
199    use super::super::types::*;
200    #[allow(unused_imports)]
201    use derive_builder::Builder;
202    #[allow(unused_imports)]
203    use serde::{Deserialize, Serialize};
204    #[allow(unused_imports)]
205    use serde_json::Value as Json;
206    #[allow(deprecated)]
207    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
208    pub struct DialogShownEvent {
209        pub params: DialogShownEventParams,
210    }
211    #[allow(deprecated)]
212    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
213    #[serde(rename_all = "camelCase")]
214    pub struct DialogShownEventParams {
215        #[serde(default)]
216        pub dialog_id: String,
217        pub dialog_type: super::DialogType,
218        pub accounts: Vec<super::Account>,
219        #[serde(default)]
220        #[doc = "These exist primarily so that the caller can verify the\n RP context was used appropriately."]
221        pub title: String,
222        #[builder(default)]
223        #[serde(skip_serializing_if = "Option::is_none")]
224        #[serde(default)]
225        pub subtitle: Option<String>,
226    }
227    #[allow(deprecated)]
228    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
229    pub struct DialogClosedEvent {
230        pub params: DialogClosedEventParams,
231    }
232    #[allow(deprecated)]
233    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
234    #[serde(rename_all = "camelCase")]
235    pub struct DialogClosedEventParams {
236        #[serde(default)]
237        pub dialog_id: String,
238    }
239}