cdp_protocol/
autofill.rs

1// Auto-generated from Chrome at version 140.0.7339.186 domain: Autofill
2use super::dom;
3use super::page;
4#[allow(unused_imports)]
5use super::types::*;
6#[allow(unused_imports)]
7use serde::{Deserialize, Serialize};
8#[allow(unused_imports)]
9use serde_json::Value as Json;
10#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
11pub enum FillingStrategy {
12    #[serde(rename = "autocompleteAttribute")]
13    AutocompleteAttribute,
14    #[serde(rename = "autofillInferred")]
15    AutofillInferred,
16}
17#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
18pub struct CreditCard {
19    #[serde(default)]
20    #[serde(rename = "number")]
21    pub number: String,
22    #[serde(default)]
23    #[serde(rename = "name")]
24    pub name: String,
25    #[serde(default)]
26    #[serde(rename = "expiryMonth")]
27    pub expiry_month: String,
28    #[serde(default)]
29    #[serde(rename = "expiryYear")]
30    pub expiry_year: String,
31    #[serde(default)]
32    #[serde(rename = "cvc")]
33    pub cvc: String,
34}
35#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
36pub struct AddressField {
37    #[serde(default)]
38    #[serde(rename = "name")]
39    pub name: String,
40    #[serde(default)]
41    #[serde(rename = "value")]
42    pub value: String,
43}
44#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
45pub struct AddressFields {
46    #[serde(rename = "fields")]
47    pub fields: Vec<AddressField>,
48}
49#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
50pub struct Address {
51    #[serde(rename = "fields")]
52    pub fields: Vec<AddressField>,
53}
54#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
55pub struct AddressUi {
56    #[serde(rename = "addressFields")]
57    pub address_fields: Vec<AddressFields>,
58}
59#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
60pub struct FilledField {
61    #[serde(default)]
62    #[serde(rename = "htmlType")]
63    pub html_type: String,
64    #[serde(default)]
65    #[serde(rename = "id")]
66    pub id: String,
67    #[serde(default)]
68    #[serde(rename = "name")]
69    pub name: String,
70    #[serde(default)]
71    #[serde(rename = "value")]
72    pub value: String,
73    #[serde(default)]
74    #[serde(rename = "autofillType")]
75    pub autofill_type: String,
76    #[serde(rename = "fillingStrategy")]
77    pub filling_strategy: FillingStrategy,
78    #[serde(rename = "frameId")]
79    pub frame_id: page::FrameId,
80    #[serde(rename = "fieldId")]
81    pub field_id: dom::BackendNodeId,
82}
83#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
84pub struct Trigger {
85    #[serde(rename = "fieldId")]
86    pub field_id: dom::BackendNodeId,
87    #[serde(skip_serializing_if = "Option::is_none")]
88    #[serde(rename = "frameId")]
89    pub frame_id: Option<page::FrameId>,
90    #[serde(rename = "card")]
91    pub card: CreditCard,
92}
93#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
94pub struct SetAddresses {
95    #[serde(rename = "addresses")]
96    pub addresses: Vec<Address>,
97}
98#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
99#[serde(rename_all = "camelCase")]
100pub struct Disable(pub Option<serde_json::Value>);
101#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
102#[serde(rename_all = "camelCase")]
103pub struct Enable(pub Option<serde_json::Value>);
104#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
105#[serde(rename_all = "camelCase")]
106pub struct TriggerReturnObject {}
107#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
108#[serde(rename_all = "camelCase")]
109pub struct SetAddressesReturnObject {}
110#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
111#[serde(rename_all = "camelCase")]
112pub struct DisableReturnObject {}
113#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
114#[serde(rename_all = "camelCase")]
115pub struct EnableReturnObject {}
116impl Method for Trigger {
117    const NAME: &'static str = "Autofill.trigger";
118    type ReturnObject = TriggerReturnObject;
119}
120impl Method for SetAddresses {
121    const NAME: &'static str = "Autofill.setAddresses";
122    type ReturnObject = SetAddressesReturnObject;
123}
124impl Method for Disable {
125    const NAME: &'static str = "Autofill.disable";
126    type ReturnObject = DisableReturnObject;
127}
128impl Method for Enable {
129    const NAME: &'static str = "Autofill.enable";
130    type ReturnObject = EnableReturnObject;
131}
132pub mod events {
133    #[allow(unused_imports)]
134    use super::super::types::*;
135    #[allow(unused_imports)]
136    use serde::{Deserialize, Serialize};
137    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
138    pub struct AddressFormFilledEvent {
139        pub params: AddressFormFilledEventParams,
140    }
141    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
142    pub struct AddressFormFilledEventParams {
143        #[serde(rename = "filledFields")]
144        pub filled_fields: Vec<super::FilledField>,
145        #[serde(rename = "addressUi")]
146        pub address_ui: super::AddressUi,
147    }
148}