browser_protocol/extensions/
mod.rs1use serde::{Serialize, Deserialize};
3use serde_json::Value as JsonValue;
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
8pub enum StorageArea {
9 #[default]
10 Session,
11 Local,
12 Sync,
13 Managed,
14}
15
16#[derive(Debug, Clone, Serialize, Deserialize, Default)]
19#[serde(rename_all = "camelCase")]
20pub struct ExtensionInfo {
21 pub id: String,
24 pub name: String,
27 pub version: String,
30 pub path: String,
33 pub enabled: bool,
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize, Default)]
43#[serde(rename_all = "camelCase")]
44pub struct TriggerActionParams {
45 pub id: String,
48 pub targetId: String,
51}
52
53impl TriggerActionParams { pub const METHOD: &'static str = "Extensions.triggerAction"; }
54
55impl crate::CdpCommand for TriggerActionParams {
56 const METHOD: &'static str = "Extensions.triggerAction";
57 type Response = crate::EmptyReturns;
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize, Default)]
67#[serde(rename_all = "camelCase")]
68pub struct LoadUnpackedParams {
69 pub path: String,
72 #[serde(skip_serializing_if = "Option::is_none")]
75 pub enableInIncognito: Option<bool>,
76}
77
78#[derive(Debug, Clone, Serialize, Deserialize, Default)]
85#[serde(rename_all = "camelCase")]
86pub struct LoadUnpackedReturns {
87 pub id: String,
90}
91
92impl LoadUnpackedParams { pub const METHOD: &'static str = "Extensions.loadUnpacked"; }
93
94impl crate::CdpCommand for LoadUnpackedParams {
95 const METHOD: &'static str = "Extensions.loadUnpacked";
96 type Response = LoadUnpackedReturns;
97}
98
99#[derive(Debug, Clone, Serialize, Deserialize, Default)]
104#[serde(rename_all = "camelCase")]
105pub struct GetExtensionsReturns {
106
107 pub extensions: Vec<ExtensionInfo>,
108}
109
110#[derive(Debug, Clone, Serialize, Deserialize, Default)]
111pub struct GetExtensionsParams {}
112
113impl GetExtensionsParams { pub const METHOD: &'static str = "Extensions.getExtensions"; }
114
115impl crate::CdpCommand for GetExtensionsParams {
116 const METHOD: &'static str = "Extensions.getExtensions";
117 type Response = GetExtensionsReturns;
118}
119
120#[derive(Debug, Clone, Serialize, Deserialize, Default)]
125#[serde(rename_all = "camelCase")]
126pub struct UninstallParams {
127 pub id: String,
130}
131
132impl UninstallParams { pub const METHOD: &'static str = "Extensions.uninstall"; }
133
134impl crate::CdpCommand for UninstallParams {
135 const METHOD: &'static str = "Extensions.uninstall";
136 type Response = crate::EmptyReturns;
137}
138
139#[derive(Debug, Clone, Serialize, Deserialize, Default)]
143#[serde(rename_all = "camelCase")]
144pub struct GetStorageItemsParams {
145 pub id: String,
148 pub storageArea: StorageArea,
151 #[serde(skip_serializing_if = "Option::is_none")]
154 pub keys: Option<Vec<String>>,
155}
156
157#[derive(Debug, Clone, Serialize, Deserialize, Default)]
161#[serde(rename_all = "camelCase")]
162pub struct GetStorageItemsReturns {
163
164 pub data: serde_json::Map<String, JsonValue>,
165}
166
167impl GetStorageItemsParams { pub const METHOD: &'static str = "Extensions.getStorageItems"; }
168
169impl crate::CdpCommand for GetStorageItemsParams {
170 const METHOD: &'static str = "Extensions.getStorageItems";
171 type Response = GetStorageItemsReturns;
172}
173
174#[derive(Debug, Clone, Serialize, Deserialize, Default)]
177#[serde(rename_all = "camelCase")]
178pub struct RemoveStorageItemsParams {
179 pub id: String,
182 pub storageArea: StorageArea,
185 pub keys: Vec<String>,
188}
189
190impl RemoveStorageItemsParams { pub const METHOD: &'static str = "Extensions.removeStorageItems"; }
191
192impl crate::CdpCommand for RemoveStorageItemsParams {
193 const METHOD: &'static str = "Extensions.removeStorageItems";
194 type Response = crate::EmptyReturns;
195}
196
197#[derive(Debug, Clone, Serialize, Deserialize, Default)]
200#[serde(rename_all = "camelCase")]
201pub struct ClearStorageItemsParams {
202 pub id: String,
205 pub storageArea: StorageArea,
208}
209
210impl ClearStorageItemsParams { pub const METHOD: &'static str = "Extensions.clearStorageItems"; }
211
212impl crate::CdpCommand for ClearStorageItemsParams {
213 const METHOD: &'static str = "Extensions.clearStorageItems";
214 type Response = crate::EmptyReturns;
215}
216
217#[derive(Debug, Clone, Serialize, Deserialize, Default)]
221#[serde(rename_all = "camelCase")]
222pub struct SetStorageItemsParams {
223 pub id: String,
226 pub storageArea: StorageArea,
229 pub values: serde_json::Map<String, JsonValue>,
232}
233
234impl SetStorageItemsParams { pub const METHOD: &'static str = "Extensions.setStorageItems"; }
235
236impl crate::CdpCommand for SetStorageItemsParams {
237 const METHOD: &'static str = "Extensions.setStorageItems";
238 type Response = crate::EmptyReturns;
239}