rustenium_bidi_commands/emulation/
commands.rs1use serde::{Serialize, Deserialize};
4use crate::browser::types::UserContext;
5use crate::browsing_context::types::BrowsingContext;
6use crate::EmptyResult;
7use super::types::*;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10#[serde(untagged)]
11pub enum EmulationCommand {
12 SetForcedColorsModeThemeOverride(SetForcedColorsModeThemeOverride),
13 SetGeolocationOverride(SetGeolocationOverride),
14 SetLocaleOverride(SetLocaleOverride),
15 SetNetworkConditions(SetNetworkConditions),
16 SetScreenOrientationOverride(SetScreenOrientationOverride),
17 SetScriptingEnabled(SetScriptingEnabled),
18 SetTimezoneOverride(SetTimezoneOverride),
19 SetUserAgentOverride(SetUserAgentOverride),
20}
21
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
24pub enum EmulationSetForcedColorsModeThemeOverrideMethod {
25 #[serde(rename = "emulation.setForcedColorsModeThemeOverride")]
26 EmulationSetForcedColorsModeThemeOverride,
27}
28
29#[derive(Debug, Clone, Serialize, Deserialize)]
30pub enum EmulationSetGeolocationOverrideMethod {
31 #[serde(rename = "emulation.setGeolocationOverride")]
32 EmulationSetGeolocationOverride,
33}
34
35#[derive(Debug, Clone, Serialize, Deserialize)]
36pub enum EmulationSetLocaleOverrideMethod {
37 #[serde(rename = "emulation.setLocaleOverride")]
38 EmulationSetLocaleOverride,
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize)]
42pub enum EmulationSetNetworkConditionsMethod {
43 #[serde(rename = "emulation.setNetworkConditions")]
44 EmulationSetNetworkConditions,
45}
46
47#[derive(Debug, Clone, Serialize, Deserialize)]
48pub enum EmulationSetScreenOrientationOverrideMethod {
49 #[serde(rename = "emulation.setScreenOrientationOverride")]
50 EmulationSetScreenOrientationOverride,
51}
52
53#[derive(Debug, Clone, Serialize, Deserialize)]
54pub enum EmulationSetScriptingEnabledMethod {
55 #[serde(rename = "emulation.setScriptingEnabled")]
56 EmulationSetScriptingEnabled,
57}
58
59#[derive(Debug, Clone, Serialize, Deserialize)]
60pub enum EmulationSetTimezoneOverrideMethod {
61 #[serde(rename = "emulation.setTimezoneOverride")]
62 EmulationSetTimezoneOverride,
63}
64
65#[derive(Debug, Clone, Serialize, Deserialize)]
66pub enum EmulationSetUserAgentOverrideMethod {
67 #[serde(rename = "emulation.setUserAgentOverride")]
68 EmulationSetUserAgentOverride,
69}
70
71#[derive(Debug, Clone, Serialize, Deserialize)]
72pub struct SetForcedColorsModeThemeOverrideParameters {
73 #[serde(rename = "theme")]
74 pub theme: Option<ForcedColorsModeTheme>,
75 #[serde(rename = "contexts")]
76 #[serde(skip_serializing_if = "Option::is_none")]
77 pub contexts: Option<Vec<BrowsingContext>>,
78 #[serde(rename = "userContexts")]
79 #[serde(skip_serializing_if = "Option::is_none")]
80 pub user_contexts: Option<Vec<UserContext>>,
81}
82
83#[derive(Debug, Clone, Serialize, Deserialize)]
84pub struct SetGeolocationOverrideParameters {
85 #[serde(rename = "coordinates_error")]
86 pub coordinates_error: Option<CoordinatesErrorUnion>,
87 #[serde(rename = "contexts")]
88 #[serde(skip_serializing_if = "Option::is_none")]
89 pub contexts: Option<Vec<BrowsingContext>>,
90 #[serde(rename = "userContexts")]
91 #[serde(skip_serializing_if = "Option::is_none")]
92 pub user_contexts: Option<Vec<UserContext>>,
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize)]
96pub struct SetLocaleOverrideParameters {
97 #[serde(rename = "locale")]
98 pub locale: Option<String>,
99 #[serde(rename = "contexts")]
100 #[serde(skip_serializing_if = "Option::is_none")]
101 pub contexts: Option<Vec<BrowsingContext>>,
102 #[serde(rename = "userContexts")]
103 #[serde(skip_serializing_if = "Option::is_none")]
104 pub user_contexts: Option<Vec<UserContext>>,
105}
106
107#[derive(Debug, Clone, Serialize, Deserialize)]
108pub struct SetNetworkConditionsParameters {
109 #[serde(rename = "networkConditions")]
110 pub network_conditions: Option<NetworkConditions>,
111 #[serde(rename = "contexts")]
112 #[serde(skip_serializing_if = "Option::is_none")]
113 pub contexts: Option<Vec<BrowsingContext>>,
114 #[serde(rename = "userContexts")]
115 #[serde(skip_serializing_if = "Option::is_none")]
116 pub user_contexts: Option<Vec<UserContext>>,
117}
118
119#[derive(Debug, Clone, Serialize, Deserialize)]
120pub struct SetScreenOrientationOverrideParameters {
121 #[serde(rename = "screenOrientation")]
122 pub screen_orientation: Option<ScreenOrientation>,
123 #[serde(rename = "contexts")]
124 #[serde(skip_serializing_if = "Option::is_none")]
125 pub contexts: Option<Vec<BrowsingContext>>,
126 #[serde(rename = "userContexts")]
127 #[serde(skip_serializing_if = "Option::is_none")]
128 pub user_contexts: Option<Vec<UserContext>>,
129}
130
131#[derive(Debug, Clone, Serialize, Deserialize)]
132pub struct SetScriptingEnabledParameters {
133 #[serde(rename = "enabled")]
134 pub enabled: Option<bool>,
135 #[serde(rename = "contexts")]
136 #[serde(skip_serializing_if = "Option::is_none")]
137 pub contexts: Option<Vec<BrowsingContext>>,
138 #[serde(rename = "userContexts")]
139 #[serde(skip_serializing_if = "Option::is_none")]
140 pub user_contexts: Option<Vec<UserContext>>,
141}
142
143#[derive(Debug, Clone, Serialize, Deserialize)]
144pub struct SetTimezoneOverrideParameters {
145 #[serde(rename = "timezone")]
146 pub timezone: Option<String>,
147 #[serde(rename = "contexts")]
148 #[serde(skip_serializing_if = "Option::is_none")]
149 pub contexts: Option<Vec<BrowsingContext>>,
150 #[serde(rename = "userContexts")]
151 #[serde(skip_serializing_if = "Option::is_none")]
152 pub user_contexts: Option<Vec<UserContext>>,
153}
154
155#[derive(Debug, Clone, Serialize, Deserialize)]
156pub struct SetUserAgentOverrideParameters {
157 #[serde(rename = "userAgent")]
158 pub user_agent: Option<String>,
159 #[serde(rename = "contexts")]
160 #[serde(skip_serializing_if = "Option::is_none")]
161 pub contexts: Option<Vec<BrowsingContext>>,
162 #[serde(rename = "userContexts")]
163 #[serde(skip_serializing_if = "Option::is_none")]
164 pub user_contexts: Option<Vec<UserContext>>,
165}
166
167#[derive(Debug, Clone, Serialize, Deserialize)]
168pub struct SetForcedColorsModeThemeOverride {
169 #[serde(rename = "method")]
170 pub method: EmulationSetForcedColorsModeThemeOverrideMethod,
171 #[serde(rename = "params")]
172 pub params: SetForcedColorsModeThemeOverrideParameters,
173}
174
175#[derive(Debug, Clone, Serialize, Deserialize)]
176pub struct SetGeolocationOverride {
177 #[serde(rename = "method")]
178 pub method: EmulationSetGeolocationOverrideMethod,
179 #[serde(rename = "params")]
180 pub params: SetGeolocationOverrideParameters,
181}
182
183#[derive(Debug, Clone, Serialize, Deserialize)]
184pub struct SetLocaleOverride {
185 #[serde(rename = "method")]
186 pub method: EmulationSetLocaleOverrideMethod,
187 #[serde(rename = "params")]
188 pub params: SetLocaleOverrideParameters,
189}
190
191#[derive(Debug, Clone, Serialize, Deserialize)]
192pub struct SetNetworkConditions {
193 #[serde(rename = "method")]
194 pub method: EmulationSetNetworkConditionsMethod,
195 #[serde(rename = "params")]
196 pub params: SetNetworkConditionsParameters,
197}
198
199#[derive(Debug, Clone, Serialize, Deserialize)]
200pub struct SetScreenOrientationOverride {
201 #[serde(rename = "method")]
202 pub method: EmulationSetScreenOrientationOverrideMethod,
203 #[serde(rename = "params")]
204 pub params: SetScreenOrientationOverrideParameters,
205}
206
207#[derive(Debug, Clone, Serialize, Deserialize)]
208pub struct SetScriptingEnabled {
209 #[serde(rename = "method")]
210 pub method: EmulationSetScriptingEnabledMethod,
211 #[serde(rename = "params")]
212 pub params: SetScriptingEnabledParameters,
213}
214
215#[derive(Debug, Clone, Serialize, Deserialize)]
216pub struct SetTimezoneOverride {
217 #[serde(rename = "method")]
218 pub method: EmulationSetTimezoneOverrideMethod,
219 #[serde(rename = "params")]
220 pub params: SetTimezoneOverrideParameters,
221}
222
223#[derive(Debug, Clone, Serialize, Deserialize)]
224pub struct SetUserAgentOverride {
225 #[serde(rename = "method")]
226 pub method: EmulationSetUserAgentOverrideMethod,
227 #[serde(rename = "params")]
228 pub params: SetUserAgentOverrideParameters,
229}
230
231#[derive(Debug, Clone, Serialize, Deserialize)]
234#[serde(untagged)]
235pub enum EmulationResult {
236 SetForcedColorsModeThemeOverrideResult(SetForcedColorsModeThemeOverrideResult),
237 SetGeolocationOverrideResult(SetGeolocationOverrideResult),
238 SetLocaleOverrideResult(SetLocaleOverrideResult),
239 SetScreenOrientationOverrideResult(SetScreenOrientationOverrideResult),
240 SetScriptingEnabledResult(SetScriptingEnabledResult),
241 SetTimezoneOverrideResult(SetTimezoneOverrideResult),
242 SetUserAgentOverrideResult(SetUserAgentOverrideResult),
243}
244
245
246pub type SetForcedColorsModeThemeOverrideResult = EmptyResult;
247
248
249pub type SetGeolocationOverrideResult = EmptyResult;
250
251
252pub type SetLocaleOverrideResult = EmptyResult;
253
254
255pub type SetScreenOrientationOverrideResult = EmptyResult;
256
257
258pub type SetScriptingEnabledResult = EmptyResult;
259
260
261pub type SetTimezoneOverrideResult = EmptyResult;
262
263
264pub type SetUserAgentOverrideResult = EmptyResult;
265
266