cdp_protocol/
emulation.rs

1// Auto-generated from Chrome at version 140.0.7339.186 domain: Emulation
2use super::dom;
3use super::network;
4use super::page;
5#[allow(unused_imports)]
6use super::types::*;
7#[allow(unused_imports)]
8use serde::{Deserialize, Serialize};
9#[allow(unused_imports)]
10use serde_json::Value as Json;
11#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
12pub enum ScreenOrientationType {
13    #[serde(rename = "portraitPrimary")]
14    PortraitPrimary,
15    #[serde(rename = "portraitSecondary")]
16    PortraitSecondary,
17    #[serde(rename = "landscapePrimary")]
18    LandscapePrimary,
19    #[serde(rename = "landscapeSecondary")]
20    LandscapeSecondary,
21}
22#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
23pub enum DisplayFeatureOrientation {
24    #[serde(rename = "vertical")]
25    Vertical,
26    #[serde(rename = "horizontal")]
27    Horizontal,
28}
29#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
30pub enum DevicePostureType {
31    #[serde(rename = "continuous")]
32    Continuous,
33    #[serde(rename = "folded")]
34    Folded,
35}
36#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
37pub enum VirtualTimePolicy {
38    #[serde(rename = "advance")]
39    Advance,
40    #[serde(rename = "pause")]
41    Pause,
42    #[serde(rename = "pauseIfNetworkFetchesPending")]
43    PauseIfNetworkFetchesPending,
44}
45#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
46pub enum SensorType {
47    #[serde(rename = "absolute-orientation")]
48    AbsoluteOrientation,
49    #[serde(rename = "accelerometer")]
50    Accelerometer,
51    #[serde(rename = "ambient-light")]
52    AmbientLight,
53    #[serde(rename = "gravity")]
54    Gravity,
55    #[serde(rename = "gyroscope")]
56    Gyroscope,
57    #[serde(rename = "linear-acceleration")]
58    LinearAcceleration,
59    #[serde(rename = "magnetometer")]
60    Magnetometer,
61    #[serde(rename = "relative-orientation")]
62    RelativeOrientation,
63}
64#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
65pub enum PressureSource {
66    #[serde(rename = "cpu")]
67    Cpu,
68}
69#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
70pub enum PressureState {
71    #[serde(rename = "nominal")]
72    Nominal,
73    #[serde(rename = "fair")]
74    Fair,
75    #[serde(rename = "serious")]
76    Serious,
77    #[serde(rename = "critical")]
78    Critical,
79}
80#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
81pub enum DisabledImageType {
82    #[serde(rename = "avif")]
83    Avif,
84    #[serde(rename = "webp")]
85    Webp,
86}
87#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
88pub enum SetEmitTouchEventsForMouseConfigurationOption {
89    #[serde(rename = "mobile")]
90    Mobile,
91    #[serde(rename = "desktop")]
92    Desktop,
93}
94#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
95pub enum SetEmulatedVisionDeficiencyTypeOption {
96    #[serde(rename = "none")]
97    None,
98    #[serde(rename = "blurredVision")]
99    BlurredVision,
100    #[serde(rename = "reducedContrast")]
101    ReducedContrast,
102    #[serde(rename = "achromatopsia")]
103    Achromatopsia,
104    #[serde(rename = "deuteranopia")]
105    Deuteranopia,
106    #[serde(rename = "protanopia")]
107    Protanopia,
108    #[serde(rename = "tritanopia")]
109    Tritanopia,
110}
111#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
112pub struct SafeAreaInsets {
113    #[serde(skip_serializing_if = "Option::is_none")]
114    #[serde(default)]
115    #[serde(rename = "top")]
116    pub top: Option<JsUInt>,
117    #[serde(skip_serializing_if = "Option::is_none")]
118    #[serde(default)]
119    #[serde(rename = "topMax")]
120    pub top_max: Option<JsUInt>,
121    #[serde(skip_serializing_if = "Option::is_none")]
122    #[serde(default)]
123    #[serde(rename = "left")]
124    pub left: Option<JsUInt>,
125    #[serde(skip_serializing_if = "Option::is_none")]
126    #[serde(default)]
127    #[serde(rename = "leftMax")]
128    pub left_max: Option<JsUInt>,
129    #[serde(skip_serializing_if = "Option::is_none")]
130    #[serde(default)]
131    #[serde(rename = "bottom")]
132    pub bottom: Option<JsUInt>,
133    #[serde(skip_serializing_if = "Option::is_none")]
134    #[serde(default)]
135    #[serde(rename = "bottomMax")]
136    pub bottom_max: Option<JsUInt>,
137    #[serde(skip_serializing_if = "Option::is_none")]
138    #[serde(default)]
139    #[serde(rename = "right")]
140    pub right: Option<JsUInt>,
141    #[serde(skip_serializing_if = "Option::is_none")]
142    #[serde(default)]
143    #[serde(rename = "rightMax")]
144    pub right_max: Option<JsUInt>,
145}
146#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
147pub struct ScreenOrientation {
148    #[serde(rename = "type")]
149    pub r#type: ScreenOrientationType,
150    #[serde(default)]
151    #[serde(rename = "angle")]
152    pub angle: JsUInt,
153}
154#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
155pub struct DisplayFeature {
156    #[serde(rename = "orientation")]
157    pub orientation: DisplayFeatureOrientation,
158    #[serde(default)]
159    #[serde(rename = "offset")]
160    pub offset: JsUInt,
161    #[serde(default)]
162    #[serde(rename = "maskLength")]
163    pub mask_length: JsUInt,
164}
165#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
166pub struct DevicePosture {
167    #[serde(rename = "type")]
168    pub r#type: DevicePostureType,
169}
170#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
171pub struct MediaFeature {
172    #[serde(default)]
173    #[serde(rename = "name")]
174    pub name: String,
175    #[serde(default)]
176    #[serde(rename = "value")]
177    pub value: String,
178}
179#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
180pub struct UserAgentBrandVersion {
181    #[serde(default)]
182    #[serde(rename = "brand")]
183    pub brand: String,
184    #[serde(default)]
185    #[serde(rename = "version")]
186    pub version: String,
187}
188#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
189pub struct UserAgentMetadata {
190    #[serde(skip_serializing_if = "Option::is_none")]
191    #[serde(rename = "brands")]
192    pub brands: Option<Vec<UserAgentBrandVersion>>,
193    #[serde(skip_serializing_if = "Option::is_none")]
194    #[serde(rename = "fullVersionList")]
195    pub full_version_list: Option<Vec<UserAgentBrandVersion>>,
196    #[serde(skip_serializing_if = "Option::is_none")]
197    #[serde(default)]
198    #[serde(rename = "fullVersion")]
199    pub full_version: Option<String>,
200    #[serde(default)]
201    #[serde(rename = "platform")]
202    pub platform: String,
203    #[serde(default)]
204    #[serde(rename = "platformVersion")]
205    pub platform_version: String,
206    #[serde(default)]
207    #[serde(rename = "architecture")]
208    pub architecture: String,
209    #[serde(default)]
210    #[serde(rename = "model")]
211    pub model: String,
212    #[serde(default)]
213    #[serde(rename = "mobile")]
214    pub mobile: bool,
215    #[serde(skip_serializing_if = "Option::is_none")]
216    #[serde(default)]
217    #[serde(rename = "bitness")]
218    pub bitness: Option<String>,
219    #[serde(skip_serializing_if = "Option::is_none")]
220    #[serde(default)]
221    #[serde(rename = "wow64")]
222    pub wow_64: Option<bool>,
223    #[serde(skip_serializing_if = "Option::is_none")]
224    #[serde(default)]
225    #[serde(rename = "formFactors")]
226    pub form_factors: Option<Vec<String>>,
227}
228#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
229pub struct SensorMetadata {
230    #[serde(skip_serializing_if = "Option::is_none")]
231    #[serde(default)]
232    #[serde(rename = "available")]
233    pub available: Option<bool>,
234    #[serde(skip_serializing_if = "Option::is_none")]
235    #[serde(default)]
236    #[serde(rename = "minimumFrequency")]
237    pub minimum_frequency: Option<JsFloat>,
238    #[serde(skip_serializing_if = "Option::is_none")]
239    #[serde(default)]
240    #[serde(rename = "maximumFrequency")]
241    pub maximum_frequency: Option<JsFloat>,
242}
243#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
244pub struct SensorReadingSingle {
245    #[serde(default)]
246    #[serde(rename = "value")]
247    pub value: JsFloat,
248}
249#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
250pub struct SensorReadingXyz {
251    #[serde(default)]
252    #[serde(rename = "x")]
253    pub x: JsFloat,
254    #[serde(default)]
255    #[serde(rename = "y")]
256    pub y: JsFloat,
257    #[serde(default)]
258    #[serde(rename = "z")]
259    pub z: JsFloat,
260}
261#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
262pub struct SensorReadingQuaternion {
263    #[serde(default)]
264    #[serde(rename = "x")]
265    pub x: JsFloat,
266    #[serde(default)]
267    #[serde(rename = "y")]
268    pub y: JsFloat,
269    #[serde(default)]
270    #[serde(rename = "z")]
271    pub z: JsFloat,
272    #[serde(default)]
273    #[serde(rename = "w")]
274    pub w: JsFloat,
275}
276#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
277pub struct SensorReading {
278    #[serde(skip_serializing_if = "Option::is_none")]
279    #[serde(rename = "single")]
280    pub single: Option<SensorReadingSingle>,
281    #[serde(skip_serializing_if = "Option::is_none")]
282    #[serde(rename = "xyz")]
283    pub xyz: Option<SensorReadingXyz>,
284    #[serde(skip_serializing_if = "Option::is_none")]
285    #[serde(rename = "quaternion")]
286    pub quaternion: Option<SensorReadingQuaternion>,
287}
288#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
289pub struct PressureMetadata {
290    #[serde(skip_serializing_if = "Option::is_none")]
291    #[serde(default)]
292    #[serde(rename = "available")]
293    pub available: Option<bool>,
294}
295#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
296#[serde(rename_all = "camelCase")]
297pub struct CanEmulate(pub Option<serde_json::Value>);
298#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
299#[serde(rename_all = "camelCase")]
300pub struct ClearDeviceMetricsOverride(pub Option<serde_json::Value>);
301#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
302#[serde(rename_all = "camelCase")]
303pub struct ClearGeolocationOverride(pub Option<serde_json::Value>);
304#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
305#[serde(rename_all = "camelCase")]
306pub struct ResetPageScaleFactor(pub Option<serde_json::Value>);
307#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
308pub struct SetFocusEmulationEnabled {
309    #[serde(default)]
310    #[serde(rename = "enabled")]
311    pub enabled: bool,
312}
313#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
314pub struct SetAutoDarkModeOverride {
315    #[serde(skip_serializing_if = "Option::is_none")]
316    #[serde(default)]
317    #[serde(rename = "enabled")]
318    pub enabled: Option<bool>,
319}
320#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
321pub struct SetCPUThrottlingRate {
322    #[serde(default)]
323    #[serde(rename = "rate")]
324    pub rate: JsFloat,
325}
326#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
327pub struct SetDefaultBackgroundColorOverride {
328    #[serde(skip_serializing_if = "Option::is_none")]
329    #[serde(rename = "color")]
330    pub color: Option<dom::Rgba>,
331}
332#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
333pub struct SetSafeAreaInsetsOverride {
334    #[serde(rename = "insets")]
335    pub insets: SafeAreaInsets,
336}
337#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
338pub struct SetDeviceMetricsOverride {
339    #[serde(default)]
340    #[serde(rename = "width")]
341    pub width: JsUInt,
342    #[serde(default)]
343    #[serde(rename = "height")]
344    pub height: JsUInt,
345    #[serde(default)]
346    #[serde(rename = "deviceScaleFactor")]
347    pub device_scale_factor: JsFloat,
348    #[serde(default)]
349    #[serde(rename = "mobile")]
350    pub mobile: bool,
351    #[serde(skip_serializing_if = "Option::is_none")]
352    #[serde(default)]
353    #[serde(rename = "scale")]
354    pub scale: Option<JsFloat>,
355    #[serde(skip_serializing_if = "Option::is_none")]
356    #[serde(default)]
357    #[serde(rename = "screenWidth")]
358    pub screen_width: Option<JsUInt>,
359    #[serde(skip_serializing_if = "Option::is_none")]
360    #[serde(default)]
361    #[serde(rename = "screenHeight")]
362    pub screen_height: Option<JsUInt>,
363    #[serde(skip_serializing_if = "Option::is_none")]
364    #[serde(default)]
365    #[serde(rename = "positionX")]
366    pub position_x: Option<JsUInt>,
367    #[serde(skip_serializing_if = "Option::is_none")]
368    #[serde(default)]
369    #[serde(rename = "positionY")]
370    pub position_y: Option<JsUInt>,
371    #[serde(skip_serializing_if = "Option::is_none")]
372    #[serde(default)]
373    #[serde(rename = "dontSetVisibleSize")]
374    pub dont_set_visible_size: Option<bool>,
375    #[serde(skip_serializing_if = "Option::is_none")]
376    #[serde(rename = "screenOrientation")]
377    pub screen_orientation: Option<ScreenOrientation>,
378    #[serde(skip_serializing_if = "Option::is_none")]
379    #[serde(rename = "viewport")]
380    pub viewport: Option<page::Viewport>,
381    #[serde(skip_serializing_if = "Option::is_none")]
382    #[serde(rename = "displayFeature")]
383    pub display_feature: Option<DisplayFeature>,
384    #[serde(skip_serializing_if = "Option::is_none")]
385    #[serde(rename = "devicePosture")]
386    pub device_posture: Option<DevicePosture>,
387}
388#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
389pub struct SetDevicePostureOverride {
390    #[serde(rename = "posture")]
391    pub posture: DevicePosture,
392}
393#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
394#[serde(rename_all = "camelCase")]
395pub struct ClearDevicePostureOverride(pub Option<serde_json::Value>);
396#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
397pub struct SetDisplayFeaturesOverride {
398    #[serde(rename = "features")]
399    pub features: Vec<DisplayFeature>,
400}
401#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
402#[serde(rename_all = "camelCase")]
403pub struct ClearDisplayFeaturesOverride(pub Option<serde_json::Value>);
404#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
405pub struct SetScrollbarsHidden {
406    #[serde(default)]
407    #[serde(rename = "hidden")]
408    pub hidden: bool,
409}
410#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
411pub struct SetDocumentCookieDisabled {
412    #[serde(default)]
413    #[serde(rename = "disabled")]
414    pub disabled: bool,
415}
416#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
417pub struct SetEmitTouchEventsForMouse {
418    #[serde(default)]
419    #[serde(rename = "enabled")]
420    pub enabled: bool,
421    #[serde(skip_serializing_if = "Option::is_none")]
422    #[serde(rename = "configuration")]
423    pub configuration: Option<SetEmitTouchEventsForMouseConfigurationOption>,
424}
425#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
426pub struct SetEmulatedMedia {
427    #[serde(skip_serializing_if = "Option::is_none")]
428    #[serde(default)]
429    #[serde(rename = "media")]
430    pub media: Option<String>,
431    #[serde(skip_serializing_if = "Option::is_none")]
432    #[serde(rename = "features")]
433    pub features: Option<Vec<MediaFeature>>,
434}
435#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
436pub struct SetEmulatedVisionDeficiency {
437    #[serde(rename = "type")]
438    pub r#type: SetEmulatedVisionDeficiencyTypeOption,
439}
440#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
441pub struct SetEmulatedOSTextScale {
442    #[serde(skip_serializing_if = "Option::is_none")]
443    #[serde(default)]
444    #[serde(rename = "scale")]
445    pub scale: Option<JsFloat>,
446}
447#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
448pub struct SetGeolocationOverride {
449    #[serde(skip_serializing_if = "Option::is_none")]
450    #[serde(default)]
451    #[serde(rename = "latitude")]
452    pub latitude: Option<JsFloat>,
453    #[serde(skip_serializing_if = "Option::is_none")]
454    #[serde(default)]
455    #[serde(rename = "longitude")]
456    pub longitude: Option<JsFloat>,
457    #[serde(skip_serializing_if = "Option::is_none")]
458    #[serde(default)]
459    #[serde(rename = "accuracy")]
460    pub accuracy: Option<JsFloat>,
461    #[serde(skip_serializing_if = "Option::is_none")]
462    #[serde(default)]
463    #[serde(rename = "altitude")]
464    pub altitude: Option<JsFloat>,
465    #[serde(skip_serializing_if = "Option::is_none")]
466    #[serde(default)]
467    #[serde(rename = "altitudeAccuracy")]
468    pub altitude_accuracy: Option<JsFloat>,
469    #[serde(skip_serializing_if = "Option::is_none")]
470    #[serde(default)]
471    #[serde(rename = "heading")]
472    pub heading: Option<JsFloat>,
473    #[serde(skip_serializing_if = "Option::is_none")]
474    #[serde(default)]
475    #[serde(rename = "speed")]
476    pub speed: Option<JsFloat>,
477}
478#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
479pub struct GetOverriddenSensorInformation {
480    #[serde(rename = "type")]
481    pub r#type: SensorType,
482}
483#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
484pub struct SetSensorOverrideEnabled {
485    #[serde(default)]
486    #[serde(rename = "enabled")]
487    pub enabled: bool,
488    #[serde(rename = "type")]
489    pub r#type: SensorType,
490    #[serde(skip_serializing_if = "Option::is_none")]
491    #[serde(rename = "metadata")]
492    pub metadata: Option<SensorMetadata>,
493}
494#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
495pub struct SetSensorOverrideReadings {
496    #[serde(rename = "type")]
497    pub r#type: SensorType,
498    #[serde(rename = "reading")]
499    pub reading: SensorReading,
500}
501#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
502pub struct SetPressureSourceOverrideEnabled {
503    #[serde(default)]
504    #[serde(rename = "enabled")]
505    pub enabled: bool,
506    #[serde(rename = "source")]
507    pub source: PressureSource,
508    #[serde(skip_serializing_if = "Option::is_none")]
509    #[serde(rename = "metadata")]
510    pub metadata: Option<PressureMetadata>,
511}
512#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
513pub struct SetPressureStateOverride {
514    #[serde(rename = "source")]
515    pub source: PressureSource,
516    #[serde(rename = "state")]
517    pub state: PressureState,
518}
519#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
520pub struct SetPressureDataOverride {
521    #[serde(rename = "source")]
522    pub source: PressureSource,
523    #[serde(rename = "state")]
524    pub state: PressureState,
525    #[serde(skip_serializing_if = "Option::is_none")]
526    #[serde(default)]
527    #[serde(rename = "ownContributionEstimate")]
528    pub own_contribution_estimate: Option<JsFloat>,
529}
530#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
531pub struct SetIdleOverride {
532    #[serde(default)]
533    #[serde(rename = "isUserActive")]
534    pub is_user_active: bool,
535    #[serde(default)]
536    #[serde(rename = "isScreenUnlocked")]
537    pub is_screen_unlocked: bool,
538}
539#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
540#[serde(rename_all = "camelCase")]
541pub struct ClearIdleOverride(pub Option<serde_json::Value>);
542#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
543pub struct SetNavigatorOverrides {
544    #[serde(default)]
545    #[serde(rename = "platform")]
546    pub platform: String,
547}
548#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
549pub struct SetPageScaleFactor {
550    #[serde(default)]
551    #[serde(rename = "pageScaleFactor")]
552    pub page_scale_factor: JsFloat,
553}
554#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
555pub struct SetScriptExecutionDisabled {
556    #[serde(default)]
557    #[serde(rename = "value")]
558    pub value: bool,
559}
560#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
561pub struct SetTouchEmulationEnabled {
562    #[serde(default)]
563    #[serde(rename = "enabled")]
564    pub enabled: bool,
565    #[serde(skip_serializing_if = "Option::is_none")]
566    #[serde(default)]
567    #[serde(rename = "maxTouchPoints")]
568    pub max_touch_points: Option<JsUInt>,
569}
570#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
571pub struct SetVirtualTimePolicy {
572    #[serde(rename = "policy")]
573    pub policy: VirtualTimePolicy,
574    #[serde(skip_serializing_if = "Option::is_none")]
575    #[serde(default)]
576    #[serde(rename = "budget")]
577    pub budget: Option<JsFloat>,
578    #[serde(skip_serializing_if = "Option::is_none")]
579    #[serde(default)]
580    #[serde(rename = "maxVirtualTimeTaskStarvationCount")]
581    pub max_virtual_time_task_starvation_count: Option<JsUInt>,
582    #[serde(skip_serializing_if = "Option::is_none")]
583    #[serde(rename = "initialVirtualTime")]
584    pub initial_virtual_time: Option<network::TimeSinceEpoch>,
585}
586#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
587pub struct SetLocaleOverride {
588    #[serde(skip_serializing_if = "Option::is_none")]
589    #[serde(default)]
590    #[serde(rename = "locale")]
591    pub locale: Option<String>,
592}
593#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
594pub struct SetTimezoneOverride {
595    #[serde(default)]
596    #[serde(rename = "timezoneId")]
597    pub timezone_id: String,
598}
599#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
600pub struct SetVisibleSize {
601    #[serde(default)]
602    #[serde(rename = "width")]
603    pub width: JsUInt,
604    #[serde(default)]
605    #[serde(rename = "height")]
606    pub height: JsUInt,
607}
608#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
609pub struct SetDisabledImageTypes {
610    #[serde(rename = "imageTypes")]
611    pub image_types: Vec<DisabledImageType>,
612}
613#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
614pub struct SetDataSaverOverride {
615    #[serde(skip_serializing_if = "Option::is_none")]
616    #[serde(default)]
617    #[serde(rename = "dataSaverEnabled")]
618    pub data_saver_enabled: Option<bool>,
619}
620#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
621pub struct SetHardwareConcurrencyOverride {
622    #[serde(default)]
623    #[serde(rename = "hardwareConcurrency")]
624    pub hardware_concurrency: JsUInt,
625}
626#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
627pub struct SetUserAgentOverride {
628    #[serde(default)]
629    #[serde(rename = "userAgent")]
630    pub user_agent: String,
631    #[serde(skip_serializing_if = "Option::is_none")]
632    #[serde(default)]
633    #[serde(rename = "acceptLanguage")]
634    pub accept_language: Option<String>,
635    #[serde(skip_serializing_if = "Option::is_none")]
636    #[serde(default)]
637    #[serde(rename = "platform")]
638    pub platform: Option<String>,
639    #[serde(skip_serializing_if = "Option::is_none")]
640    #[serde(rename = "userAgentMetadata")]
641    pub user_agent_metadata: Option<UserAgentMetadata>,
642}
643#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
644pub struct SetAutomationOverride {
645    #[serde(default)]
646    #[serde(rename = "enabled")]
647    pub enabled: bool,
648}
649#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
650pub struct SetSmallViewportHeightDifferenceOverride {
651    #[serde(default)]
652    #[serde(rename = "difference")]
653    pub difference: JsUInt,
654}
655#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
656pub struct CanEmulateReturnObject {
657    #[serde(default)]
658    #[serde(rename = "result")]
659    pub result: bool,
660}
661#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
662#[serde(rename_all = "camelCase")]
663pub struct ClearDeviceMetricsOverrideReturnObject {}
664#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
665#[serde(rename_all = "camelCase")]
666pub struct ClearGeolocationOverrideReturnObject {}
667#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
668#[serde(rename_all = "camelCase")]
669pub struct ResetPageScaleFactorReturnObject {}
670#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
671#[serde(rename_all = "camelCase")]
672pub struct SetFocusEmulationEnabledReturnObject {}
673#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
674#[serde(rename_all = "camelCase")]
675pub struct SetAutoDarkModeOverrideReturnObject {}
676#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
677#[serde(rename_all = "camelCase")]
678pub struct SetCPUThrottlingRateReturnObject {}
679#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
680#[serde(rename_all = "camelCase")]
681pub struct SetDefaultBackgroundColorOverrideReturnObject {}
682#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
683#[serde(rename_all = "camelCase")]
684pub struct SetSafeAreaInsetsOverrideReturnObject {}
685#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
686#[serde(rename_all = "camelCase")]
687pub struct SetDeviceMetricsOverrideReturnObject {}
688#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
689#[serde(rename_all = "camelCase")]
690pub struct SetDevicePostureOverrideReturnObject {}
691#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
692#[serde(rename_all = "camelCase")]
693pub struct ClearDevicePostureOverrideReturnObject {}
694#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
695#[serde(rename_all = "camelCase")]
696pub struct SetDisplayFeaturesOverrideReturnObject {}
697#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
698#[serde(rename_all = "camelCase")]
699pub struct ClearDisplayFeaturesOverrideReturnObject {}
700#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
701#[serde(rename_all = "camelCase")]
702pub struct SetScrollbarsHiddenReturnObject {}
703#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
704#[serde(rename_all = "camelCase")]
705pub struct SetDocumentCookieDisabledReturnObject {}
706#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
707#[serde(rename_all = "camelCase")]
708pub struct SetEmitTouchEventsForMouseReturnObject {}
709#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
710#[serde(rename_all = "camelCase")]
711pub struct SetEmulatedMediaReturnObject {}
712#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
713#[serde(rename_all = "camelCase")]
714pub struct SetEmulatedVisionDeficiencyReturnObject {}
715#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
716#[serde(rename_all = "camelCase")]
717pub struct SetEmulatedOSTextScaleReturnObject {}
718#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
719#[serde(rename_all = "camelCase")]
720pub struct SetGeolocationOverrideReturnObject {}
721#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
722pub struct GetOverriddenSensorInformationReturnObject {
723    #[serde(default)]
724    #[serde(rename = "requestedSamplingFrequency")]
725    pub requested_sampling_frequency: JsFloat,
726}
727#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
728#[serde(rename_all = "camelCase")]
729pub struct SetSensorOverrideEnabledReturnObject {}
730#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
731#[serde(rename_all = "camelCase")]
732pub struct SetSensorOverrideReadingsReturnObject {}
733#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
734#[serde(rename_all = "camelCase")]
735pub struct SetPressureSourceOverrideEnabledReturnObject {}
736#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
737#[serde(rename_all = "camelCase")]
738pub struct SetPressureStateOverrideReturnObject {}
739#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
740#[serde(rename_all = "camelCase")]
741pub struct SetPressureDataOverrideReturnObject {}
742#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
743#[serde(rename_all = "camelCase")]
744pub struct SetIdleOverrideReturnObject {}
745#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
746#[serde(rename_all = "camelCase")]
747pub struct ClearIdleOverrideReturnObject {}
748#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
749#[serde(rename_all = "camelCase")]
750pub struct SetNavigatorOverridesReturnObject {}
751#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
752#[serde(rename_all = "camelCase")]
753pub struct SetPageScaleFactorReturnObject {}
754#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
755#[serde(rename_all = "camelCase")]
756pub struct SetScriptExecutionDisabledReturnObject {}
757#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
758#[serde(rename_all = "camelCase")]
759pub struct SetTouchEmulationEnabledReturnObject {}
760#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
761pub struct SetVirtualTimePolicyReturnObject {
762    #[serde(default)]
763    #[serde(rename = "virtualTimeTicksBase")]
764    pub virtual_time_ticks_base: JsFloat,
765}
766#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
767#[serde(rename_all = "camelCase")]
768pub struct SetLocaleOverrideReturnObject {}
769#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
770#[serde(rename_all = "camelCase")]
771pub struct SetTimezoneOverrideReturnObject {}
772#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
773#[serde(rename_all = "camelCase")]
774pub struct SetVisibleSizeReturnObject {}
775#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
776#[serde(rename_all = "camelCase")]
777pub struct SetDisabledImageTypesReturnObject {}
778#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
779#[serde(rename_all = "camelCase")]
780pub struct SetDataSaverOverrideReturnObject {}
781#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
782#[serde(rename_all = "camelCase")]
783pub struct SetHardwareConcurrencyOverrideReturnObject {}
784#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
785#[serde(rename_all = "camelCase")]
786pub struct SetUserAgentOverrideReturnObject {}
787#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
788#[serde(rename_all = "camelCase")]
789pub struct SetAutomationOverrideReturnObject {}
790#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
791#[serde(rename_all = "camelCase")]
792pub struct SetSmallViewportHeightDifferenceOverrideReturnObject {}
793impl Method for CanEmulate {
794    const NAME: &'static str = "Emulation.canEmulate";
795    type ReturnObject = CanEmulateReturnObject;
796}
797impl Method for ClearDeviceMetricsOverride {
798    const NAME: &'static str = "Emulation.clearDeviceMetricsOverride";
799    type ReturnObject = ClearDeviceMetricsOverrideReturnObject;
800}
801impl Method for ClearGeolocationOverride {
802    const NAME: &'static str = "Emulation.clearGeolocationOverride";
803    type ReturnObject = ClearGeolocationOverrideReturnObject;
804}
805impl Method for ResetPageScaleFactor {
806    const NAME: &'static str = "Emulation.resetPageScaleFactor";
807    type ReturnObject = ResetPageScaleFactorReturnObject;
808}
809impl Method for SetFocusEmulationEnabled {
810    const NAME: &'static str = "Emulation.setFocusEmulationEnabled";
811    type ReturnObject = SetFocusEmulationEnabledReturnObject;
812}
813impl Method for SetAutoDarkModeOverride {
814    const NAME: &'static str = "Emulation.setAutoDarkModeOverride";
815    type ReturnObject = SetAutoDarkModeOverrideReturnObject;
816}
817impl Method for SetCPUThrottlingRate {
818    const NAME: &'static str = "Emulation.setCPUThrottlingRate";
819    type ReturnObject = SetCPUThrottlingRateReturnObject;
820}
821impl Method for SetDefaultBackgroundColorOverride {
822    const NAME: &'static str = "Emulation.setDefaultBackgroundColorOverride";
823    type ReturnObject = SetDefaultBackgroundColorOverrideReturnObject;
824}
825impl Method for SetSafeAreaInsetsOverride {
826    const NAME: &'static str = "Emulation.setSafeAreaInsetsOverride";
827    type ReturnObject = SetSafeAreaInsetsOverrideReturnObject;
828}
829impl Method for SetDeviceMetricsOverride {
830    const NAME: &'static str = "Emulation.setDeviceMetricsOverride";
831    type ReturnObject = SetDeviceMetricsOverrideReturnObject;
832}
833impl Method for SetDevicePostureOverride {
834    const NAME: &'static str = "Emulation.setDevicePostureOverride";
835    type ReturnObject = SetDevicePostureOverrideReturnObject;
836}
837impl Method for ClearDevicePostureOverride {
838    const NAME: &'static str = "Emulation.clearDevicePostureOverride";
839    type ReturnObject = ClearDevicePostureOverrideReturnObject;
840}
841impl Method for SetDisplayFeaturesOverride {
842    const NAME: &'static str = "Emulation.setDisplayFeaturesOverride";
843    type ReturnObject = SetDisplayFeaturesOverrideReturnObject;
844}
845impl Method for ClearDisplayFeaturesOverride {
846    const NAME: &'static str = "Emulation.clearDisplayFeaturesOverride";
847    type ReturnObject = ClearDisplayFeaturesOverrideReturnObject;
848}
849impl Method for SetScrollbarsHidden {
850    const NAME: &'static str = "Emulation.setScrollbarsHidden";
851    type ReturnObject = SetScrollbarsHiddenReturnObject;
852}
853impl Method for SetDocumentCookieDisabled {
854    const NAME: &'static str = "Emulation.setDocumentCookieDisabled";
855    type ReturnObject = SetDocumentCookieDisabledReturnObject;
856}
857impl Method for SetEmitTouchEventsForMouse {
858    const NAME: &'static str = "Emulation.setEmitTouchEventsForMouse";
859    type ReturnObject = SetEmitTouchEventsForMouseReturnObject;
860}
861impl Method for SetEmulatedMedia {
862    const NAME: &'static str = "Emulation.setEmulatedMedia";
863    type ReturnObject = SetEmulatedMediaReturnObject;
864}
865impl Method for SetEmulatedVisionDeficiency {
866    const NAME: &'static str = "Emulation.setEmulatedVisionDeficiency";
867    type ReturnObject = SetEmulatedVisionDeficiencyReturnObject;
868}
869impl Method for SetEmulatedOSTextScale {
870    const NAME: &'static str = "Emulation.setEmulatedOSTextScale";
871    type ReturnObject = SetEmulatedOSTextScaleReturnObject;
872}
873impl Method for SetGeolocationOverride {
874    const NAME: &'static str = "Emulation.setGeolocationOverride";
875    type ReturnObject = SetGeolocationOverrideReturnObject;
876}
877impl Method for GetOverriddenSensorInformation {
878    const NAME: &'static str = "Emulation.getOverriddenSensorInformation";
879    type ReturnObject = GetOverriddenSensorInformationReturnObject;
880}
881impl Method for SetSensorOverrideEnabled {
882    const NAME: &'static str = "Emulation.setSensorOverrideEnabled";
883    type ReturnObject = SetSensorOverrideEnabledReturnObject;
884}
885impl Method for SetSensorOverrideReadings {
886    const NAME: &'static str = "Emulation.setSensorOverrideReadings";
887    type ReturnObject = SetSensorOverrideReadingsReturnObject;
888}
889impl Method for SetPressureSourceOverrideEnabled {
890    const NAME: &'static str = "Emulation.setPressureSourceOverrideEnabled";
891    type ReturnObject = SetPressureSourceOverrideEnabledReturnObject;
892}
893impl Method for SetPressureStateOverride {
894    const NAME: &'static str = "Emulation.setPressureStateOverride";
895    type ReturnObject = SetPressureStateOverrideReturnObject;
896}
897impl Method for SetPressureDataOverride {
898    const NAME: &'static str = "Emulation.setPressureDataOverride";
899    type ReturnObject = SetPressureDataOverrideReturnObject;
900}
901impl Method for SetIdleOverride {
902    const NAME: &'static str = "Emulation.setIdleOverride";
903    type ReturnObject = SetIdleOverrideReturnObject;
904}
905impl Method for ClearIdleOverride {
906    const NAME: &'static str = "Emulation.clearIdleOverride";
907    type ReturnObject = ClearIdleOverrideReturnObject;
908}
909impl Method for SetNavigatorOverrides {
910    const NAME: &'static str = "Emulation.setNavigatorOverrides";
911    type ReturnObject = SetNavigatorOverridesReturnObject;
912}
913impl Method for SetPageScaleFactor {
914    const NAME: &'static str = "Emulation.setPageScaleFactor";
915    type ReturnObject = SetPageScaleFactorReturnObject;
916}
917impl Method for SetScriptExecutionDisabled {
918    const NAME: &'static str = "Emulation.setScriptExecutionDisabled";
919    type ReturnObject = SetScriptExecutionDisabledReturnObject;
920}
921impl Method for SetTouchEmulationEnabled {
922    const NAME: &'static str = "Emulation.setTouchEmulationEnabled";
923    type ReturnObject = SetTouchEmulationEnabledReturnObject;
924}
925impl Method for SetVirtualTimePolicy {
926    const NAME: &'static str = "Emulation.setVirtualTimePolicy";
927    type ReturnObject = SetVirtualTimePolicyReturnObject;
928}
929impl Method for SetLocaleOverride {
930    const NAME: &'static str = "Emulation.setLocaleOverride";
931    type ReturnObject = SetLocaleOverrideReturnObject;
932}
933impl Method for SetTimezoneOverride {
934    const NAME: &'static str = "Emulation.setTimezoneOverride";
935    type ReturnObject = SetTimezoneOverrideReturnObject;
936}
937impl Method for SetVisibleSize {
938    const NAME: &'static str = "Emulation.setVisibleSize";
939    type ReturnObject = SetVisibleSizeReturnObject;
940}
941impl Method for SetDisabledImageTypes {
942    const NAME: &'static str = "Emulation.setDisabledImageTypes";
943    type ReturnObject = SetDisabledImageTypesReturnObject;
944}
945impl Method for SetDataSaverOverride {
946    const NAME: &'static str = "Emulation.setDataSaverOverride";
947    type ReturnObject = SetDataSaverOverrideReturnObject;
948}
949impl Method for SetHardwareConcurrencyOverride {
950    const NAME: &'static str = "Emulation.setHardwareConcurrencyOverride";
951    type ReturnObject = SetHardwareConcurrencyOverrideReturnObject;
952}
953impl Method for SetUserAgentOverride {
954    const NAME: &'static str = "Emulation.setUserAgentOverride";
955    type ReturnObject = SetUserAgentOverrideReturnObject;
956}
957impl Method for SetAutomationOverride {
958    const NAME: &'static str = "Emulation.setAutomationOverride";
959    type ReturnObject = SetAutomationOverrideReturnObject;
960}
961impl Method for SetSmallViewportHeightDifferenceOverride {
962    const NAME: &'static str = "Emulation.setSmallViewportHeightDifferenceOverride";
963    type ReturnObject = SetSmallViewportHeightDifferenceOverrideReturnObject;
964}
965pub mod events {
966    #[allow(unused_imports)]
967    use super::super::types::*;
968    #[allow(unused_imports)]
969    use serde::{Deserialize, Serialize};
970    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
971    #[serde(rename_all = "camelCase")]
972    pub struct VirtualTimeBudgetExpiredEvent(pub Option<serde_json::Value>);
973}