cdp_protocol/
browser.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: Browser
2use super::target;
3#[allow(unused_imports)]
4use super::types::*;
5#[allow(unused_imports)]
6use serde::{Deserialize, Serialize};
7#[allow(unused_imports)]
8use serde_json::Value as Json;
9pub type BrowserContextId = String;
10pub type WindowId = JsUInt;
11#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
12pub enum WindowState {
13    #[serde(rename = "normal")]
14    Normal,
15    #[serde(rename = "minimized")]
16    Minimized,
17    #[serde(rename = "maximized")]
18    Maximized,
19    #[serde(rename = "fullscreen")]
20    Fullscreen,
21}
22#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
23pub enum PermissionType {
24    #[serde(rename = "ar")]
25    Ar,
26    #[serde(rename = "audioCapture")]
27    AudioCapture,
28    #[serde(rename = "automaticFullscreen")]
29    AutomaticFullscreen,
30    #[serde(rename = "backgroundFetch")]
31    BackgroundFetch,
32    #[serde(rename = "backgroundSync")]
33    BackgroundSync,
34    #[serde(rename = "cameraPanTiltZoom")]
35    CameraPanTiltZoom,
36    #[serde(rename = "capturedSurfaceControl")]
37    CapturedSurfaceControl,
38    #[serde(rename = "clipboardReadWrite")]
39    ClipboardReadWrite,
40    #[serde(rename = "clipboardSanitizedWrite")]
41    ClipboardSanitizedWrite,
42    #[serde(rename = "displayCapture")]
43    DisplayCapture,
44    #[serde(rename = "durableStorage")]
45    DurableStorage,
46    #[serde(rename = "geolocation")]
47    Geolocation,
48    #[serde(rename = "handTracking")]
49    HandTracking,
50    #[serde(rename = "idleDetection")]
51    IdleDetection,
52    #[serde(rename = "keyboardLock")]
53    KeyboardLock,
54    #[serde(rename = "localFonts")]
55    LocalFonts,
56    #[serde(rename = "localNetworkAccess")]
57    LocalNetworkAccess,
58    #[serde(rename = "midi")]
59    Midi,
60    #[serde(rename = "midiSysex")]
61    MidiSysex,
62    #[serde(rename = "nfc")]
63    Nfc,
64    #[serde(rename = "notifications")]
65    Notifications,
66    #[serde(rename = "paymentHandler")]
67    PaymentHandler,
68    #[serde(rename = "periodicBackgroundSync")]
69    PeriodicBackgroundSync,
70    #[serde(rename = "pointerLock")]
71    PointerLock,
72    #[serde(rename = "protectedMediaIdentifier")]
73    ProtectedMediaIdentifier,
74    #[serde(rename = "sensors")]
75    Sensors,
76    #[serde(rename = "smartCard")]
77    SmartCard,
78    #[serde(rename = "speakerSelection")]
79    SpeakerSelection,
80    #[serde(rename = "storageAccess")]
81    StorageAccess,
82    #[serde(rename = "topLevelStorageAccess")]
83    TopLevelStorageAccess,
84    #[serde(rename = "videoCapture")]
85    VideoCapture,
86    #[serde(rename = "vr")]
87    Vr,
88    #[serde(rename = "wakeLockScreen")]
89    WakeLockScreen,
90    #[serde(rename = "wakeLockSystem")]
91    WakeLockSystem,
92    #[serde(rename = "webAppInstallation")]
93    WebAppInstallation,
94    #[serde(rename = "webPrinting")]
95    WebPrinting,
96    #[serde(rename = "windowManagement")]
97    WindowManagement,
98}
99#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
100pub enum PermissionSetting {
101    #[serde(rename = "granted")]
102    Granted,
103    #[serde(rename = "denied")]
104    Denied,
105    #[serde(rename = "prompt")]
106    Prompt,
107}
108#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
109pub enum BrowserCommandId {
110    #[serde(rename = "openTabSearch")]
111    OpenTabSearch,
112    #[serde(rename = "closeTabSearch")]
113    CloseTabSearch,
114    #[serde(rename = "openGlic")]
115    OpenGlic,
116}
117#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
118pub enum PrivacySandboxApi {
119    #[serde(rename = "BiddingAndAuctionServices")]
120    BiddingAndAuctionServices,
121    #[serde(rename = "TrustedKeyValue")]
122    TrustedKeyValue,
123}
124#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
125pub enum SetDownloadBehaviorBehaviorOption {
126    #[serde(rename = "deny")]
127    Deny,
128    #[serde(rename = "allow")]
129    Allow,
130    #[serde(rename = "allowAndName")]
131    AllowAndName,
132    #[serde(rename = "default")]
133    Default,
134}
135#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
136pub enum DownloadProgressStateOption {
137    #[serde(rename = "inProgress")]
138    InProgress,
139    #[serde(rename = "completed")]
140    Completed,
141    #[serde(rename = "canceled")]
142    Canceled,
143}
144#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
145pub struct Bounds {
146    #[serde(skip_serializing_if = "Option::is_none")]
147    #[serde(default)]
148    #[serde(rename = "left")]
149    pub left: Option<JsUInt>,
150    #[serde(skip_serializing_if = "Option::is_none")]
151    #[serde(default)]
152    #[serde(rename = "top")]
153    pub top: Option<JsUInt>,
154    #[serde(skip_serializing_if = "Option::is_none")]
155    #[serde(default)]
156    #[serde(rename = "width")]
157    pub width: Option<JsUInt>,
158    #[serde(skip_serializing_if = "Option::is_none")]
159    #[serde(default)]
160    #[serde(rename = "height")]
161    pub height: Option<JsUInt>,
162    #[serde(skip_serializing_if = "Option::is_none")]
163    #[serde(rename = "windowState")]
164    pub window_state: Option<WindowState>,
165}
166#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
167pub struct PermissionDescriptor {
168    #[serde(default)]
169    #[serde(rename = "name")]
170    pub name: String,
171    #[serde(skip_serializing_if = "Option::is_none")]
172    #[serde(default)]
173    #[serde(rename = "sysex")]
174    pub sysex: Option<bool>,
175    #[serde(skip_serializing_if = "Option::is_none")]
176    #[serde(default)]
177    #[serde(rename = "userVisibleOnly")]
178    pub user_visible_only: Option<bool>,
179    #[serde(skip_serializing_if = "Option::is_none")]
180    #[serde(default)]
181    #[serde(rename = "allowWithoutSanitization")]
182    pub allow_without_sanitization: Option<bool>,
183    #[serde(skip_serializing_if = "Option::is_none")]
184    #[serde(default)]
185    #[serde(rename = "allowWithoutGesture")]
186    pub allow_without_gesture: Option<bool>,
187    #[serde(skip_serializing_if = "Option::is_none")]
188    #[serde(default)]
189    #[serde(rename = "panTiltZoom")]
190    pub pan_tilt_zoom: Option<bool>,
191}
192#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
193pub struct Bucket {
194    #[serde(default)]
195    #[serde(rename = "low")]
196    pub low: JsUInt,
197    #[serde(default)]
198    #[serde(rename = "high")]
199    pub high: JsUInt,
200    #[serde(default)]
201    #[serde(rename = "count")]
202    pub count: JsUInt,
203}
204#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
205pub struct Histogram {
206    #[serde(default)]
207    #[serde(rename = "name")]
208    pub name: String,
209    #[serde(default)]
210    #[serde(rename = "sum")]
211    pub sum: JsUInt,
212    #[serde(default)]
213    #[serde(rename = "count")]
214    pub count: JsUInt,
215    #[serde(rename = "buckets")]
216    pub buckets: Vec<Bucket>,
217}
218#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
219pub struct SetPermission {
220    #[serde(rename = "permission")]
221    pub permission: PermissionDescriptor,
222    #[serde(rename = "setting")]
223    pub setting: PermissionSetting,
224    #[serde(skip_serializing_if = "Option::is_none")]
225    #[serde(default)]
226    #[serde(rename = "origin")]
227    pub origin: Option<String>,
228    #[serde(skip_serializing_if = "Option::is_none")]
229    #[serde(default)]
230    #[serde(rename = "embeddedOrigin")]
231    pub embedded_origin: Option<String>,
232    #[serde(skip_serializing_if = "Option::is_none")]
233    #[serde(rename = "browserContextId")]
234    pub browser_context_id: Option<BrowserContextId>,
235}
236#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
237pub struct GrantPermissions {
238    #[serde(rename = "permissions")]
239    pub permissions: Vec<PermissionType>,
240    #[serde(skip_serializing_if = "Option::is_none")]
241    #[serde(default)]
242    #[serde(rename = "origin")]
243    pub origin: Option<String>,
244    #[serde(skip_serializing_if = "Option::is_none")]
245    #[serde(rename = "browserContextId")]
246    pub browser_context_id: Option<BrowserContextId>,
247}
248#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
249pub struct ResetPermissions {
250    #[serde(skip_serializing_if = "Option::is_none")]
251    #[serde(rename = "browserContextId")]
252    pub browser_context_id: Option<BrowserContextId>,
253}
254#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
255pub struct SetDownloadBehavior {
256    #[serde(rename = "behavior")]
257    pub behavior: SetDownloadBehaviorBehaviorOption,
258    #[serde(skip_serializing_if = "Option::is_none")]
259    #[serde(rename = "browserContextId")]
260    pub browser_context_id: Option<BrowserContextId>,
261    #[serde(skip_serializing_if = "Option::is_none")]
262    #[serde(default)]
263    #[serde(rename = "downloadPath")]
264    pub download_path: Option<String>,
265    #[serde(skip_serializing_if = "Option::is_none")]
266    #[serde(default)]
267    #[serde(rename = "eventsEnabled")]
268    pub events_enabled: Option<bool>,
269}
270#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
271pub struct CancelDownload {
272    #[serde(default)]
273    #[serde(rename = "guid")]
274    pub guid: String,
275    #[serde(skip_serializing_if = "Option::is_none")]
276    #[serde(rename = "browserContextId")]
277    pub browser_context_id: Option<BrowserContextId>,
278}
279#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
280#[serde(rename_all = "camelCase")]
281pub struct Close(pub Option<serde_json::Value>);
282#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
283#[serde(rename_all = "camelCase")]
284pub struct Crash(pub Option<serde_json::Value>);
285#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
286#[serde(rename_all = "camelCase")]
287pub struct CrashGpuProcess(pub Option<serde_json::Value>);
288#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
289#[serde(rename_all = "camelCase")]
290pub struct GetVersion(pub Option<serde_json::Value>);
291#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
292#[serde(rename_all = "camelCase")]
293pub struct GetBrowserCommandLine(pub Option<serde_json::Value>);
294#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
295pub struct GetHistograms {
296    #[serde(skip_serializing_if = "Option::is_none")]
297    #[serde(default)]
298    #[serde(rename = "query")]
299    pub query: Option<String>,
300    #[serde(skip_serializing_if = "Option::is_none")]
301    #[serde(default)]
302    #[serde(rename = "delta")]
303    pub delta: Option<bool>,
304}
305#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
306pub struct GetHistogram {
307    #[serde(default)]
308    #[serde(rename = "name")]
309    pub name: String,
310    #[serde(skip_serializing_if = "Option::is_none")]
311    #[serde(default)]
312    #[serde(rename = "delta")]
313    pub delta: Option<bool>,
314}
315#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
316pub struct GetWindowBounds {
317    #[serde(rename = "windowId")]
318    pub window_id: WindowId,
319}
320#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
321pub struct GetWindowForTarget {
322    #[serde(skip_serializing_if = "Option::is_none")]
323    #[serde(rename = "targetId")]
324    pub target_id: Option<target::TargetId>,
325}
326#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
327pub struct SetWindowBounds {
328    #[serde(rename = "windowId")]
329    pub window_id: WindowId,
330    #[serde(rename = "bounds")]
331    pub bounds: Bounds,
332}
333#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
334pub struct SetContentsSize {
335    #[serde(rename = "windowId")]
336    pub window_id: WindowId,
337    #[serde(skip_serializing_if = "Option::is_none")]
338    #[serde(default)]
339    #[serde(rename = "width")]
340    pub width: Option<JsUInt>,
341    #[serde(skip_serializing_if = "Option::is_none")]
342    #[serde(default)]
343    #[serde(rename = "height")]
344    pub height: Option<JsUInt>,
345}
346#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
347pub struct SetDockTile {
348    #[serde(skip_serializing_if = "Option::is_none")]
349    #[serde(default)]
350    #[serde(rename = "badgeLabel")]
351    pub badge_label: Option<String>,
352    #[serde(skip_serializing_if = "Option::is_none")]
353    #[serde(rename = "image")]
354    pub image: Option<Vec<u8>>,
355}
356#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
357pub struct ExecuteBrowserCommand {
358    #[serde(rename = "commandId")]
359    pub command_id: BrowserCommandId,
360}
361#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
362pub struct AddPrivacySandboxEnrollmentOverride {
363    #[serde(default)]
364    #[serde(rename = "url")]
365    pub url: String,
366}
367#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
368pub struct AddPrivacySandboxCoordinatorKeyConfig {
369    #[serde(rename = "api")]
370    pub api: PrivacySandboxApi,
371    #[serde(default)]
372    #[serde(rename = "coordinatorOrigin")]
373    pub coordinator_origin: String,
374    #[serde(default)]
375    #[serde(rename = "keyConfig")]
376    pub key_config: String,
377    #[serde(skip_serializing_if = "Option::is_none")]
378    #[serde(rename = "browserContextId")]
379    pub browser_context_id: Option<BrowserContextId>,
380}
381#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
382#[serde(rename_all = "camelCase")]
383pub struct SetPermissionReturnObject {}
384#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
385#[serde(rename_all = "camelCase")]
386pub struct GrantPermissionsReturnObject {}
387#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
388#[serde(rename_all = "camelCase")]
389pub struct ResetPermissionsReturnObject {}
390#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
391#[serde(rename_all = "camelCase")]
392pub struct SetDownloadBehaviorReturnObject {}
393#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
394#[serde(rename_all = "camelCase")]
395pub struct CancelDownloadReturnObject {}
396#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
397#[serde(rename_all = "camelCase")]
398pub struct CloseReturnObject {}
399#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
400#[serde(rename_all = "camelCase")]
401pub struct CrashReturnObject {}
402#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
403#[serde(rename_all = "camelCase")]
404pub struct CrashGpuProcessReturnObject {}
405#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
406pub struct GetVersionReturnObject {
407    #[serde(default)]
408    #[serde(rename = "protocolVersion")]
409    pub protocol_version: String,
410    #[serde(default)]
411    #[serde(rename = "product")]
412    pub product: String,
413    #[serde(default)]
414    #[serde(rename = "revision")]
415    pub revision: String,
416    #[serde(default)]
417    #[serde(rename = "userAgent")]
418    pub user_agent: String,
419    #[serde(default)]
420    #[serde(rename = "jsVersion")]
421    pub js_version: String,
422}
423#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
424pub struct GetBrowserCommandLineReturnObject {
425    #[serde(rename = "arguments")]
426    pub arguments: Vec<String>,
427}
428#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
429pub struct GetHistogramsReturnObject {
430    #[serde(rename = "histograms")]
431    pub histograms: Vec<Histogram>,
432}
433#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
434pub struct GetHistogramReturnObject {
435    #[serde(rename = "histogram")]
436    pub histogram: Histogram,
437}
438#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
439pub struct GetWindowBoundsReturnObject {
440    #[serde(rename = "bounds")]
441    pub bounds: Bounds,
442}
443#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
444pub struct GetWindowForTargetReturnObject {
445    #[serde(rename = "windowId")]
446    pub window_id: WindowId,
447    #[serde(rename = "bounds")]
448    pub bounds: Bounds,
449}
450#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
451#[serde(rename_all = "camelCase")]
452pub struct SetWindowBoundsReturnObject {}
453#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
454#[serde(rename_all = "camelCase")]
455pub struct SetContentsSizeReturnObject {}
456#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
457#[serde(rename_all = "camelCase")]
458pub struct SetDockTileReturnObject {}
459#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
460#[serde(rename_all = "camelCase")]
461pub struct ExecuteBrowserCommandReturnObject {}
462#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
463#[serde(rename_all = "camelCase")]
464pub struct AddPrivacySandboxEnrollmentOverrideReturnObject {}
465#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
466#[serde(rename_all = "camelCase")]
467pub struct AddPrivacySandboxCoordinatorKeyConfigReturnObject {}
468impl Method for SetPermission {
469    const NAME: &'static str = "Browser.setPermission";
470    type ReturnObject = SetPermissionReturnObject;
471}
472impl Method for GrantPermissions {
473    const NAME: &'static str = "Browser.grantPermissions";
474    type ReturnObject = GrantPermissionsReturnObject;
475}
476impl Method for ResetPermissions {
477    const NAME: &'static str = "Browser.resetPermissions";
478    type ReturnObject = ResetPermissionsReturnObject;
479}
480impl Method for SetDownloadBehavior {
481    const NAME: &'static str = "Browser.setDownloadBehavior";
482    type ReturnObject = SetDownloadBehaviorReturnObject;
483}
484impl Method for CancelDownload {
485    const NAME: &'static str = "Browser.cancelDownload";
486    type ReturnObject = CancelDownloadReturnObject;
487}
488impl Method for Close {
489    const NAME: &'static str = "Browser.close";
490    type ReturnObject = CloseReturnObject;
491}
492impl Method for Crash {
493    const NAME: &'static str = "Browser.crash";
494    type ReturnObject = CrashReturnObject;
495}
496impl Method for CrashGpuProcess {
497    const NAME: &'static str = "Browser.crashGpuProcess";
498    type ReturnObject = CrashGpuProcessReturnObject;
499}
500impl Method for GetVersion {
501    const NAME: &'static str = "Browser.getVersion";
502    type ReturnObject = GetVersionReturnObject;
503}
504impl Method for GetBrowserCommandLine {
505    const NAME: &'static str = "Browser.getBrowserCommandLine";
506    type ReturnObject = GetBrowserCommandLineReturnObject;
507}
508impl Method for GetHistograms {
509    const NAME: &'static str = "Browser.getHistograms";
510    type ReturnObject = GetHistogramsReturnObject;
511}
512impl Method for GetHistogram {
513    const NAME: &'static str = "Browser.getHistogram";
514    type ReturnObject = GetHistogramReturnObject;
515}
516impl Method for GetWindowBounds {
517    const NAME: &'static str = "Browser.getWindowBounds";
518    type ReturnObject = GetWindowBoundsReturnObject;
519}
520impl Method for GetWindowForTarget {
521    const NAME: &'static str = "Browser.getWindowForTarget";
522    type ReturnObject = GetWindowForTargetReturnObject;
523}
524impl Method for SetWindowBounds {
525    const NAME: &'static str = "Browser.setWindowBounds";
526    type ReturnObject = SetWindowBoundsReturnObject;
527}
528impl Method for SetContentsSize {
529    const NAME: &'static str = "Browser.setContentsSize";
530    type ReturnObject = SetContentsSizeReturnObject;
531}
532impl Method for SetDockTile {
533    const NAME: &'static str = "Browser.setDockTile";
534    type ReturnObject = SetDockTileReturnObject;
535}
536impl Method for ExecuteBrowserCommand {
537    const NAME: &'static str = "Browser.executeBrowserCommand";
538    type ReturnObject = ExecuteBrowserCommandReturnObject;
539}
540impl Method for AddPrivacySandboxEnrollmentOverride {
541    const NAME: &'static str = "Browser.addPrivacySandboxEnrollmentOverride";
542    type ReturnObject = AddPrivacySandboxEnrollmentOverrideReturnObject;
543}
544impl Method for AddPrivacySandboxCoordinatorKeyConfig {
545    const NAME: &'static str = "Browser.addPrivacySandboxCoordinatorKeyConfig";
546    type ReturnObject = AddPrivacySandboxCoordinatorKeyConfigReturnObject;
547}
548pub mod events {
549    #[allow(unused_imports)]
550    use super::super::types::*;
551    #[allow(unused_imports)]
552    use serde::{Deserialize, Serialize};
553    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
554    pub struct DownloadWillBeginEvent {
555        pub params: DownloadWillBeginEventParams,
556    }
557    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
558    pub struct DownloadWillBeginEventParams {
559        #[serde(rename = "frameId")]
560        pub frame_id: super::super::page::FrameId,
561        #[serde(default)]
562        #[serde(rename = "guid")]
563        pub guid: String,
564        #[serde(default)]
565        #[serde(rename = "url")]
566        pub url: String,
567        #[serde(default)]
568        #[serde(rename = "suggestedFilename")]
569        pub suggested_filename: String,
570    }
571    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
572    pub struct DownloadProgressEvent {
573        pub params: DownloadProgressEventParams,
574    }
575    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
576    pub struct DownloadProgressEventParams {
577        #[serde(default)]
578        #[serde(rename = "guid")]
579        pub guid: String,
580        #[serde(default)]
581        #[serde(rename = "totalBytes")]
582        pub total_bytes: JsFloat,
583        #[serde(default)]
584        #[serde(rename = "receivedBytes")]
585        pub received_bytes: JsFloat,
586        #[serde(rename = "state")]
587        pub state: super::DownloadProgressStateOption,
588        #[serde(skip_serializing_if = "Option::is_none")]
589        #[serde(default)]
590        #[serde(rename = "filePath")]
591        pub file_path: Option<String>,
592    }
593}