cdp_protocol/
autofill.rs

1// Auto-generated from Chrome at version 143.0.7499.110 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(skip_serializing_if = "Option::is_none")]
91    #[serde(rename = "card")]
92    pub card: Option<CreditCard>,
93    #[serde(skip_serializing_if = "Option::is_none")]
94    #[serde(rename = "address")]
95    pub address: Option<Address>,
96}
97#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
98pub struct SetAddresses {
99    #[serde(rename = "addresses")]
100    pub addresses: Vec<Address>,
101}
102#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
103#[serde(rename_all = "camelCase")]
104pub struct Disable(pub Option<serde_json::Value>);
105#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
106#[serde(rename_all = "camelCase")]
107pub struct Enable(pub Option<serde_json::Value>);
108#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
109#[serde(rename_all = "camelCase")]
110pub struct TriggerReturnObject {}
111#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
112#[serde(rename_all = "camelCase")]
113pub struct SetAddressesReturnObject {}
114#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
115#[serde(rename_all = "camelCase")]
116pub struct DisableReturnObject {}
117#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
118#[serde(rename_all = "camelCase")]
119pub struct EnableReturnObject {}
120impl Method for Trigger {
121    const NAME: &'static str = "Autofill.trigger";
122    type ReturnObject = TriggerReturnObject;
123}
124impl Method for SetAddresses {
125    const NAME: &'static str = "Autofill.setAddresses";
126    type ReturnObject = SetAddressesReturnObject;
127}
128impl Method for Disable {
129    const NAME: &'static str = "Autofill.disable";
130    type ReturnObject = DisableReturnObject;
131}
132impl Method for Enable {
133    const NAME: &'static str = "Autofill.enable";
134    type ReturnObject = EnableReturnObject;
135}
136pub mod events {
137    #[allow(unused_imports)]
138    use super::super::types::*;
139    #[allow(unused_imports)]
140    use serde::{Deserialize, Serialize};
141    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
142    pub struct AddressFormFilledEvent {
143        pub params: AddressFormFilledEventParams,
144    }
145    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
146    pub struct AddressFormFilledEventParams {
147        #[serde(rename = "filledFields")]
148        pub filled_fields: Vec<super::FilledField>,
149        #[serde(rename = "addressUi")]
150        pub address_ui: super::AddressUi,
151    }
152}