Skip to main content

rustenium_bidi_definitions/emulation/
command_builders.rs

1use super::commands::*;
2impl SetForcedColorsModeThemeOverride {
3    pub fn builder() -> SetForcedColorsModeThemeOverrideBuilder {
4        <SetForcedColorsModeThemeOverrideBuilder as Default>::default()
5    }
6}
7#[derive(Default, Clone)]
8pub struct SetForcedColorsModeThemeOverrideBuilder {
9    theme: Option<super::types::ForcedColorsModeTheme>,
10    contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
11    user_contexts: Option<Vec<crate::browser::types::UserContext>>,
12}
13impl SetForcedColorsModeThemeOverrideBuilder {
14    pub fn theme(mut self, theme: impl Into<super::types::ForcedColorsModeTheme>) -> Self {
15        self.theme = Some(theme.into());
16        self
17    }
18    pub fn context(
19        mut self,
20        context: impl Into<crate::browsing_context::types::BrowsingContext>,
21    ) -> Self {
22        let v = self.contexts.get_or_insert(Vec::new());
23        v.push(context.into());
24        self
25    }
26    pub fn contexts<I, S>(mut self, contexts: I) -> Self
27    where
28        I: IntoIterator<Item = S>,
29        S: Into<crate::browsing_context::types::BrowsingContext>,
30    {
31        let v = self.contexts.get_or_insert(Vec::new());
32        for val in contexts {
33            v.push(val.into());
34        }
35        self
36    }
37    pub fn user_context(
38        mut self,
39        user_context: impl Into<crate::browser::types::UserContext>,
40    ) -> Self {
41        let v = self.user_contexts.get_or_insert(Vec::new());
42        v.push(user_context.into());
43        self
44    }
45    pub fn user_contexts<I, S>(mut self, user_contexts: I) -> Self
46    where
47        I: IntoIterator<Item = S>,
48        S: Into<crate::browser::types::UserContext>,
49    {
50        let v = self.user_contexts.get_or_insert(Vec::new());
51        for val in user_contexts {
52            v.push(val.into());
53        }
54        self
55    }
56    pub fn build(self) -> SetForcedColorsModeThemeOverride {
57        SetForcedColorsModeThemeOverride {
58            method: SetForcedColorsModeThemeOverrideMethod::SetForcedColorsModeThemeOverride,
59            params: SetForcedColorsModeThemeOverrideParams {
60                theme: self.theme,
61                contexts: self.contexts,
62                user_contexts: self.user_contexts,
63            },
64        }
65    }
66}
67impl SetGeolocationOverride {
68    pub fn builder() -> SetGeolocationOverrideBuilder {
69        <SetGeolocationOverrideBuilder as Default>::default()
70    }
71}
72#[derive(Default, Clone)]
73pub struct SetGeolocationOverrideBuilder {
74    contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
75    user_contexts: Option<Vec<crate::browser::types::UserContext>>,
76}
77impl SetGeolocationOverrideBuilder {
78    pub fn context(
79        mut self,
80        context: impl Into<crate::browsing_context::types::BrowsingContext>,
81    ) -> Self {
82        let v = self.contexts.get_or_insert(Vec::new());
83        v.push(context.into());
84        self
85    }
86    pub fn contexts<I, S>(mut self, contexts: I) -> Self
87    where
88        I: IntoIterator<Item = S>,
89        S: Into<crate::browsing_context::types::BrowsingContext>,
90    {
91        let v = self.contexts.get_or_insert(Vec::new());
92        for val in contexts {
93            v.push(val.into());
94        }
95        self
96    }
97    pub fn user_context(
98        mut self,
99        user_context: impl Into<crate::browser::types::UserContext>,
100    ) -> Self {
101        let v = self.user_contexts.get_or_insert(Vec::new());
102        v.push(user_context.into());
103        self
104    }
105    pub fn user_contexts<I, S>(mut self, user_contexts: I) -> Self
106    where
107        I: IntoIterator<Item = S>,
108        S: Into<crate::browser::types::UserContext>,
109    {
110        let v = self.user_contexts.get_or_insert(Vec::new());
111        for val in user_contexts {
112            v.push(val.into());
113        }
114        self
115    }
116    pub fn build(self) -> SetGeolocationOverride {
117        SetGeolocationOverride {
118            method: SetGeolocationOverrideMethod::SetGeolocationOverride,
119            params: SetGeolocationOverrideParams {
120                contexts: self.contexts,
121                user_contexts: self.user_contexts,
122            },
123        }
124    }
125}
126impl SetLocaleOverride {
127    pub fn builder() -> SetLocaleOverrideBuilder {
128        <SetLocaleOverrideBuilder as Default>::default()
129    }
130}
131#[derive(Default, Clone)]
132pub struct SetLocaleOverrideBuilder {
133    locale: Option<String>,
134    contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
135    user_contexts: Option<Vec<crate::browser::types::UserContext>>,
136}
137impl SetLocaleOverrideBuilder {
138    pub fn locale(mut self, locale: impl Into<String>) -> Self {
139        self.locale = Some(locale.into());
140        self
141    }
142    pub fn context(
143        mut self,
144        context: impl Into<crate::browsing_context::types::BrowsingContext>,
145    ) -> Self {
146        let v = self.contexts.get_or_insert(Vec::new());
147        v.push(context.into());
148        self
149    }
150    pub fn contexts<I, S>(mut self, contexts: I) -> Self
151    where
152        I: IntoIterator<Item = S>,
153        S: Into<crate::browsing_context::types::BrowsingContext>,
154    {
155        let v = self.contexts.get_or_insert(Vec::new());
156        for val in contexts {
157            v.push(val.into());
158        }
159        self
160    }
161    pub fn user_context(
162        mut self,
163        user_context: impl Into<crate::browser::types::UserContext>,
164    ) -> Self {
165        let v = self.user_contexts.get_or_insert(Vec::new());
166        v.push(user_context.into());
167        self
168    }
169    pub fn user_contexts<I, S>(mut self, user_contexts: I) -> Self
170    where
171        I: IntoIterator<Item = S>,
172        S: Into<crate::browser::types::UserContext>,
173    {
174        let v = self.user_contexts.get_or_insert(Vec::new());
175        for val in user_contexts {
176            v.push(val.into());
177        }
178        self
179    }
180    pub fn build(self) -> SetLocaleOverride {
181        SetLocaleOverride {
182            method: SetLocaleOverrideMethod::SetLocaleOverride,
183            params: SetLocaleOverrideParams {
184                locale: self.locale,
185                contexts: self.contexts,
186                user_contexts: self.user_contexts,
187            },
188        }
189    }
190}
191impl SetNetworkConditions {
192    pub fn builder() -> SetNetworkConditionsBuilder {
193        <SetNetworkConditionsBuilder as Default>::default()
194    }
195}
196#[derive(Default, Clone)]
197pub struct SetNetworkConditionsBuilder {
198    network_conditions: Option<super::types::NetworkConditions>,
199    contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
200    user_contexts: Option<Vec<crate::browser::types::UserContext>>,
201}
202impl SetNetworkConditionsBuilder {
203    pub fn network_conditions(
204        mut self,
205        network_conditions: impl Into<super::types::NetworkConditions>,
206    ) -> Self {
207        self.network_conditions = Some(network_conditions.into());
208        self
209    }
210    pub fn context(
211        mut self,
212        context: impl Into<crate::browsing_context::types::BrowsingContext>,
213    ) -> Self {
214        let v = self.contexts.get_or_insert(Vec::new());
215        v.push(context.into());
216        self
217    }
218    pub fn contexts<I, S>(mut self, contexts: I) -> Self
219    where
220        I: IntoIterator<Item = S>,
221        S: Into<crate::browsing_context::types::BrowsingContext>,
222    {
223        let v = self.contexts.get_or_insert(Vec::new());
224        for val in contexts {
225            v.push(val.into());
226        }
227        self
228    }
229    pub fn user_context(
230        mut self,
231        user_context: impl Into<crate::browser::types::UserContext>,
232    ) -> Self {
233        let v = self.user_contexts.get_or_insert(Vec::new());
234        v.push(user_context.into());
235        self
236    }
237    pub fn user_contexts<I, S>(mut self, user_contexts: I) -> Self
238    where
239        I: IntoIterator<Item = S>,
240        S: Into<crate::browser::types::UserContext>,
241    {
242        let v = self.user_contexts.get_or_insert(Vec::new());
243        for val in user_contexts {
244            v.push(val.into());
245        }
246        self
247    }
248    pub fn build(self) -> SetNetworkConditions {
249        SetNetworkConditions {
250            method: SetNetworkConditionsMethod::SetNetworkConditions,
251            params: SetNetworkConditionsParams {
252                network_conditions: self.network_conditions,
253                contexts: self.contexts,
254                user_contexts: self.user_contexts,
255            },
256        }
257    }
258}
259impl SetScreenOrientationOverride {
260    pub fn builder() -> SetScreenOrientationOverrideBuilder {
261        <SetScreenOrientationOverrideBuilder as Default>::default()
262    }
263}
264#[derive(Default, Clone)]
265pub struct SetScreenOrientationOverrideBuilder {
266    screen_orientation: Option<super::types::ScreenOrientation>,
267    contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
268    user_contexts: Option<Vec<crate::browser::types::UserContext>>,
269}
270impl SetScreenOrientationOverrideBuilder {
271    pub fn screen_orientation(
272        mut self,
273        screen_orientation: impl Into<super::types::ScreenOrientation>,
274    ) -> Self {
275        self.screen_orientation = Some(screen_orientation.into());
276        self
277    }
278    pub fn context(
279        mut self,
280        context: impl Into<crate::browsing_context::types::BrowsingContext>,
281    ) -> Self {
282        let v = self.contexts.get_or_insert(Vec::new());
283        v.push(context.into());
284        self
285    }
286    pub fn contexts<I, S>(mut self, contexts: I) -> Self
287    where
288        I: IntoIterator<Item = S>,
289        S: Into<crate::browsing_context::types::BrowsingContext>,
290    {
291        let v = self.contexts.get_or_insert(Vec::new());
292        for val in contexts {
293            v.push(val.into());
294        }
295        self
296    }
297    pub fn user_context(
298        mut self,
299        user_context: impl Into<crate::browser::types::UserContext>,
300    ) -> Self {
301        let v = self.user_contexts.get_or_insert(Vec::new());
302        v.push(user_context.into());
303        self
304    }
305    pub fn user_contexts<I, S>(mut self, user_contexts: I) -> Self
306    where
307        I: IntoIterator<Item = S>,
308        S: Into<crate::browser::types::UserContext>,
309    {
310        let v = self.user_contexts.get_or_insert(Vec::new());
311        for val in user_contexts {
312            v.push(val.into());
313        }
314        self
315    }
316    pub fn build(self) -> SetScreenOrientationOverride {
317        SetScreenOrientationOverride {
318            method: SetScreenOrientationOverrideMethod::SetScreenOrientationOverride,
319            params: SetScreenOrientationOverrideParams {
320                screen_orientation: self.screen_orientation,
321                contexts: self.contexts,
322                user_contexts: self.user_contexts,
323            },
324        }
325    }
326}
327impl SetUserAgentOverride {
328    pub fn builder() -> SetUserAgentOverrideBuilder {
329        <SetUserAgentOverrideBuilder as Default>::default()
330    }
331}
332#[derive(Default, Clone)]
333pub struct SetUserAgentOverrideBuilder {
334    user_agent: Option<String>,
335    contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
336    user_contexts: Option<Vec<crate::browser::types::UserContext>>,
337}
338impl SetUserAgentOverrideBuilder {
339    pub fn user_agent(mut self, user_agent: impl Into<String>) -> Self {
340        self.user_agent = Some(user_agent.into());
341        self
342    }
343    pub fn context(
344        mut self,
345        context: impl Into<crate::browsing_context::types::BrowsingContext>,
346    ) -> Self {
347        let v = self.contexts.get_or_insert(Vec::new());
348        v.push(context.into());
349        self
350    }
351    pub fn contexts<I, S>(mut self, contexts: I) -> Self
352    where
353        I: IntoIterator<Item = S>,
354        S: Into<crate::browsing_context::types::BrowsingContext>,
355    {
356        let v = self.contexts.get_or_insert(Vec::new());
357        for val in contexts {
358            v.push(val.into());
359        }
360        self
361    }
362    pub fn user_context(
363        mut self,
364        user_context: impl Into<crate::browser::types::UserContext>,
365    ) -> Self {
366        let v = self.user_contexts.get_or_insert(Vec::new());
367        v.push(user_context.into());
368        self
369    }
370    pub fn user_contexts<I, S>(mut self, user_contexts: I) -> Self
371    where
372        I: IntoIterator<Item = S>,
373        S: Into<crate::browser::types::UserContext>,
374    {
375        let v = self.user_contexts.get_or_insert(Vec::new());
376        for val in user_contexts {
377            v.push(val.into());
378        }
379        self
380    }
381    pub fn build(self) -> SetUserAgentOverride {
382        SetUserAgentOverride {
383            method: SetUserAgentOverrideMethod::SetUserAgentOverride,
384            params: SetUserAgentOverrideParams {
385                user_agent: self.user_agent,
386                contexts: self.contexts,
387                user_contexts: self.user_contexts,
388            },
389        }
390    }
391}
392impl SetScriptingEnabled {
393    pub fn builder() -> SetScriptingEnabledBuilder {
394        <SetScriptingEnabledBuilder as Default>::default()
395    }
396}
397#[derive(Default, Clone)]
398pub struct SetScriptingEnabledBuilder {
399    enabled: Option<bool>,
400    contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
401    user_contexts: Option<Vec<crate::browser::types::UserContext>>,
402}
403impl SetScriptingEnabledBuilder {
404    pub fn enabled(mut self, enabled: impl Into<bool>) -> Self {
405        self.enabled = Some(enabled.into());
406        self
407    }
408    pub fn context(
409        mut self,
410        context: impl Into<crate::browsing_context::types::BrowsingContext>,
411    ) -> Self {
412        let v = self.contexts.get_or_insert(Vec::new());
413        v.push(context.into());
414        self
415    }
416    pub fn contexts<I, S>(mut self, contexts: I) -> Self
417    where
418        I: IntoIterator<Item = S>,
419        S: Into<crate::browsing_context::types::BrowsingContext>,
420    {
421        let v = self.contexts.get_or_insert(Vec::new());
422        for val in contexts {
423            v.push(val.into());
424        }
425        self
426    }
427    pub fn user_context(
428        mut self,
429        user_context: impl Into<crate::browser::types::UserContext>,
430    ) -> Self {
431        let v = self.user_contexts.get_or_insert(Vec::new());
432        v.push(user_context.into());
433        self
434    }
435    pub fn user_contexts<I, S>(mut self, user_contexts: I) -> Self
436    where
437        I: IntoIterator<Item = S>,
438        S: Into<crate::browser::types::UserContext>,
439    {
440        let v = self.user_contexts.get_or_insert(Vec::new());
441        for val in user_contexts {
442            v.push(val.into());
443        }
444        self
445    }
446    pub fn build(self) -> SetScriptingEnabled {
447        SetScriptingEnabled {
448            method: SetScriptingEnabledMethod::SetScriptingEnabled,
449            params: SetScriptingEnabledParams {
450                enabled: self.enabled,
451                contexts: self.contexts,
452                user_contexts: self.user_contexts,
453            },
454        }
455    }
456}
457impl SetTimezoneOverride {
458    pub fn builder() -> SetTimezoneOverrideBuilder {
459        <SetTimezoneOverrideBuilder as Default>::default()
460    }
461}
462#[derive(Default, Clone)]
463pub struct SetTimezoneOverrideBuilder {
464    timezone: Option<String>,
465    contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
466    user_contexts: Option<Vec<crate::browser::types::UserContext>>,
467}
468impl SetTimezoneOverrideBuilder {
469    pub fn timezone(mut self, timezone: impl Into<String>) -> Self {
470        self.timezone = Some(timezone.into());
471        self
472    }
473    pub fn context(
474        mut self,
475        context: impl Into<crate::browsing_context::types::BrowsingContext>,
476    ) -> Self {
477        let v = self.contexts.get_or_insert(Vec::new());
478        v.push(context.into());
479        self
480    }
481    pub fn contexts<I, S>(mut self, contexts: I) -> Self
482    where
483        I: IntoIterator<Item = S>,
484        S: Into<crate::browsing_context::types::BrowsingContext>,
485    {
486        let v = self.contexts.get_or_insert(Vec::new());
487        for val in contexts {
488            v.push(val.into());
489        }
490        self
491    }
492    pub fn user_context(
493        mut self,
494        user_context: impl Into<crate::browser::types::UserContext>,
495    ) -> Self {
496        let v = self.user_contexts.get_or_insert(Vec::new());
497        v.push(user_context.into());
498        self
499    }
500    pub fn user_contexts<I, S>(mut self, user_contexts: I) -> Self
501    where
502        I: IntoIterator<Item = S>,
503        S: Into<crate::browser::types::UserContext>,
504    {
505        let v = self.user_contexts.get_or_insert(Vec::new());
506        for val in user_contexts {
507            v.push(val.into());
508        }
509        self
510    }
511    pub fn build(self) -> SetTimezoneOverride {
512        SetTimezoneOverride {
513            method: SetTimezoneOverrideMethod::SetTimezoneOverride,
514            params: SetTimezoneOverrideParams {
515                timezone: self.timezone,
516                contexts: self.contexts,
517                user_contexts: self.user_contexts,
518            },
519        }
520    }
521}