browser_protocol/serviceworker/
mod.rs1use serde::{Serialize, Deserialize};
2
3
4pub type RegistrationID = String;
5
6#[derive(Debug, Clone, Serialize, Deserialize, Default)]
9#[serde(rename_all = "camelCase")]
10pub struct ServiceWorkerRegistration {
11
12 pub registrationId: RegistrationID,
13
14 pub scopeURL: String,
15
16 pub isDeleted: bool,
17}
18
19
20#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
21pub enum ServiceWorkerVersionRunningStatus {
22 #[default]
23 Stopped,
24 Starting,
25 Running,
26 Stopping,
27}
28
29
30#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
31pub enum ServiceWorkerVersionStatus {
32 #[default]
33 New,
34 Installing,
35 Installed,
36 Activating,
37 Activated,
38 Redundant,
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize, Default)]
44#[serde(rename_all = "camelCase")]
45pub struct ServiceWorkerVersion {
46
47 pub versionId: String,
48
49 pub registrationId: RegistrationID,
50
51 pub scriptURL: String,
52
53 pub runningStatus: ServiceWorkerVersionRunningStatus,
54
55 pub status: ServiceWorkerVersionStatus,
56 #[serde(skip_serializing_if = "Option::is_none")]
59 pub scriptLastModified: Option<f64>,
60 #[serde(skip_serializing_if = "Option::is_none")]
64 pub scriptResponseTime: Option<f64>,
65
66 #[serde(skip_serializing_if = "Option::is_none")]
67 pub controlledClients: Option<Vec<crate::target::TargetID>>,
68
69 #[serde(skip_serializing_if = "Option::is_none")]
70 pub targetId: Option<crate::target::TargetID>,
71
72 #[serde(skip_serializing_if = "Option::is_none")]
73 pub routerRules: Option<String>,
74}
75
76#[derive(Debug, Clone, Serialize, Deserialize, Default)]
79#[serde(rename_all = "camelCase")]
80pub struct ServiceWorkerErrorMessage {
81
82 pub errorMessage: String,
83
84 pub registrationId: RegistrationID,
85
86 pub versionId: String,
87
88 pub sourceURL: String,
89
90 pub lineNumber: i64,
91
92 pub columnNumber: i64,
93}
94
95
96#[derive(Debug, Clone, Serialize, Deserialize, Default)]
97#[serde(rename_all = "camelCase")]
98pub struct DeliverPushMessageParams {
99
100 pub origin: String,
101
102 pub registrationId: RegistrationID,
103
104 pub data: String,
105}
106
107
108#[derive(Debug, Clone, Serialize, Deserialize, Default)]
109#[serde(rename_all = "camelCase")]
110pub struct DispatchSyncEventParams {
111
112 pub origin: String,
113
114 pub registrationId: RegistrationID,
115
116 pub tag: String,
117
118 pub lastChance: bool,
119}
120
121
122#[derive(Debug, Clone, Serialize, Deserialize, Default)]
123#[serde(rename_all = "camelCase")]
124pub struct DispatchPeriodicSyncEventParams {
125
126 pub origin: String,
127
128 pub registrationId: RegistrationID,
129
130 pub tag: String,
131}
132
133
134#[derive(Debug, Clone, Serialize, Deserialize, Default)]
135#[serde(rename_all = "camelCase")]
136pub struct SetForceUpdateOnPageLoadParams {
137
138 pub forceUpdateOnPageLoad: bool,
139}
140
141
142#[derive(Debug, Clone, Serialize, Deserialize, Default)]
143#[serde(rename_all = "camelCase")]
144pub struct SkipWaitingParams {
145
146 pub scopeURL: String,
147}
148
149
150#[derive(Debug, Clone, Serialize, Deserialize, Default)]
151#[serde(rename_all = "camelCase")]
152pub struct StartWorkerParams {
153
154 pub scopeURL: String,
155}
156
157
158#[derive(Debug, Clone, Serialize, Deserialize, Default)]
159#[serde(rename_all = "camelCase")]
160pub struct StopWorkerParams {
161
162 pub versionId: String,
163}
164
165
166#[derive(Debug, Clone, Serialize, Deserialize, Default)]
167#[serde(rename_all = "camelCase")]
168pub struct UnregisterParams {
169
170 pub scopeURL: String,
171}
172
173
174#[derive(Debug, Clone, Serialize, Deserialize, Default)]
175#[serde(rename_all = "camelCase")]
176pub struct UpdateRegistrationParams {
177
178 pub scopeURL: String,
179}