1use super::dom;
3use super::network;
4#[allow(unused_imports)]
5use super::types::*;
6#[allow(unused_imports)]
7use serde::{Deserialize, Serialize};
8#[allow(unused_imports)]
9use serde_json::Value as Json;
10pub type RuleSetId = String;
11pub type PreloadPipelineId = String;
12#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
13pub enum RuleSetErrorType {
14 #[serde(rename = "SourceIsNotJsonObject")]
15 SourceIsNotJsonObject,
16 #[serde(rename = "InvalidRulesSkipped")]
17 InvalidRulesSkipped,
18 #[serde(rename = "InvalidRulesetLevelTag")]
19 InvalidRulesetLevelTag,
20}
21#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
22pub enum SpeculationAction {
23 #[serde(rename = "Prefetch")]
24 Prefetch,
25 #[serde(rename = "Prerender")]
26 Prerender,
27}
28#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
29pub enum SpeculationTargetHint {
30 #[serde(rename = "Blank")]
31 Blank,
32 #[serde(rename = "Self")]
33 CdpSelf,
34}
35#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
36pub enum PrerenderFinalStatus {
37 #[serde(rename = "Activated")]
38 Activated,
39 #[serde(rename = "Destroyed")]
40 Destroyed,
41 #[serde(rename = "LowEndDevice")]
42 LowEndDevice,
43 #[serde(rename = "InvalidSchemeRedirect")]
44 InvalidSchemeRedirect,
45 #[serde(rename = "InvalidSchemeNavigation")]
46 InvalidSchemeNavigation,
47 #[serde(rename = "NavigationRequestBlockedByCsp")]
48 NavigationRequestBlockedByCsp,
49 #[serde(rename = "MojoBinderPolicy")]
50 MojoBinderPolicy,
51 #[serde(rename = "RendererProcessCrashed")]
52 RendererProcessCrashed,
53 #[serde(rename = "RendererProcessKilled")]
54 RendererProcessKilled,
55 #[serde(rename = "Download")]
56 Download,
57 #[serde(rename = "TriggerDestroyed")]
58 TriggerDestroyed,
59 #[serde(rename = "NavigationNotCommitted")]
60 NavigationNotCommitted,
61 #[serde(rename = "NavigationBadHttpStatus")]
62 NavigationBadHttpStatus,
63 #[serde(rename = "ClientCertRequested")]
64 ClientCertRequested,
65 #[serde(rename = "NavigationRequestNetworkError")]
66 NavigationRequestNetworkError,
67 #[serde(rename = "CancelAllHostsForTesting")]
68 CancelAllHostsForTesting,
69 #[serde(rename = "DidFailLoad")]
70 DidFailLoad,
71 #[serde(rename = "Stop")]
72 Stop,
73 #[serde(rename = "SslCertificateError")]
74 SslCertificateError,
75 #[serde(rename = "LoginAuthRequested")]
76 LoginAuthRequested,
77 #[serde(rename = "UaChangeRequiresReload")]
78 UaChangeRequiresReload,
79 #[serde(rename = "BlockedByClient")]
80 BlockedByClient,
81 #[serde(rename = "AudioOutputDeviceRequested")]
82 AudioOutputDeviceRequested,
83 #[serde(rename = "MixedContent")]
84 MixedContent,
85 #[serde(rename = "TriggerBackgrounded")]
86 TriggerBackgrounded,
87 #[serde(rename = "MemoryLimitExceeded")]
88 MemoryLimitExceeded,
89 #[serde(rename = "DataSaverEnabled")]
90 DataSaverEnabled,
91 #[serde(rename = "TriggerUrlHasEffectiveUrl")]
92 TriggerUrlHasEffectiveUrl,
93 #[serde(rename = "ActivatedBeforeStarted")]
94 ActivatedBeforeStarted,
95 #[serde(rename = "InactivePageRestriction")]
96 InactivePageRestriction,
97 #[serde(rename = "StartFailed")]
98 StartFailed,
99 #[serde(rename = "TimeoutBackgrounded")]
100 TimeoutBackgrounded,
101 #[serde(rename = "CrossSiteRedirectInInitialNavigation")]
102 CrossSiteRedirectInInitialNavigation,
103 #[serde(rename = "CrossSiteNavigationInInitialNavigation")]
104 CrossSiteNavigationInInitialNavigation,
105 #[serde(rename = "SameSiteCrossOriginRedirectNotOptInInInitialNavigation")]
106 SameSiteCrossOriginRedirectNotOptInInInitialNavigation,
107 #[serde(rename = "SameSiteCrossOriginNavigationNotOptInInInitialNavigation")]
108 SameSiteCrossOriginNavigationNotOptInInInitialNavigation,
109 #[serde(rename = "ActivationNavigationParameterMismatch")]
110 ActivationNavigationParameterMismatch,
111 #[serde(rename = "ActivatedInBackground")]
112 ActivatedInBackground,
113 #[serde(rename = "EmbedderHostDisallowed")]
114 EmbedderHostDisallowed,
115 #[serde(rename = "ActivationNavigationDestroyedBeforeSuccess")]
116 ActivationNavigationDestroyedBeforeSuccess,
117 #[serde(rename = "TabClosedByUserGesture")]
118 TabClosedByUserGesture,
119 #[serde(rename = "TabClosedWithoutUserGesture")]
120 TabClosedWithoutUserGesture,
121 #[serde(rename = "PrimaryMainFrameRendererProcessCrashed")]
122 PrimaryMainFrameRendererProcessCrashed,
123 #[serde(rename = "PrimaryMainFrameRendererProcessKilled")]
124 PrimaryMainFrameRendererProcessKilled,
125 #[serde(rename = "ActivationFramePolicyNotCompatible")]
126 ActivationFramePolicyNotCompatible,
127 #[serde(rename = "PreloadingDisabled")]
128 PreloadingDisabled,
129 #[serde(rename = "BatterySaverEnabled")]
130 BatterySaverEnabled,
131 #[serde(rename = "ActivatedDuringMainFrameNavigation")]
132 ActivatedDuringMainFrameNavigation,
133 #[serde(rename = "PreloadingUnsupportedByWebContents")]
134 PreloadingUnsupportedByWebContents,
135 #[serde(rename = "CrossSiteRedirectInMainFrameNavigation")]
136 CrossSiteRedirectInMainFrameNavigation,
137 #[serde(rename = "CrossSiteNavigationInMainFrameNavigation")]
138 CrossSiteNavigationInMainFrameNavigation,
139 #[serde(rename = "SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation")]
140 SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation,
141 #[serde(rename = "SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation")]
142 SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation,
143 #[serde(rename = "MemoryPressureOnTrigger")]
144 MemoryPressureOnTrigger,
145 #[serde(rename = "MemoryPressureAfterTriggered")]
146 MemoryPressureAfterTriggered,
147 #[serde(rename = "PrerenderingDisabledByDevTools")]
148 PrerenderingDisabledByDevTools,
149 #[serde(rename = "SpeculationRuleRemoved")]
150 SpeculationRuleRemoved,
151 #[serde(rename = "ActivatedWithAuxiliaryBrowsingContexts")]
152 ActivatedWithAuxiliaryBrowsingContexts,
153 #[serde(rename = "MaxNumOfRunningEagerPrerendersExceeded")]
154 MaxNumOfRunningEagerPrerendersExceeded,
155 #[serde(rename = "MaxNumOfRunningNonEagerPrerendersExceeded")]
156 MaxNumOfRunningNonEagerPrerendersExceeded,
157 #[serde(rename = "MaxNumOfRunningEmbedderPrerendersExceeded")]
158 MaxNumOfRunningEmbedderPrerendersExceeded,
159 #[serde(rename = "PrerenderingUrlHasEffectiveUrl")]
160 PrerenderingUrlHasEffectiveUrl,
161 #[serde(rename = "RedirectedPrerenderingUrlHasEffectiveUrl")]
162 RedirectedPrerenderingUrlHasEffectiveUrl,
163 #[serde(rename = "ActivationUrlHasEffectiveUrl")]
164 ActivationUrlHasEffectiveUrl,
165 #[serde(rename = "JavaScriptInterfaceAdded")]
166 JavaScriptInterfaceAdded,
167 #[serde(rename = "JavaScriptInterfaceRemoved")]
168 JavaScriptInterfaceRemoved,
169 #[serde(rename = "AllPrerenderingCanceled")]
170 AllPrerenderingCanceled,
171 #[serde(rename = "WindowClosed")]
172 WindowClosed,
173 #[serde(rename = "SlowNetwork")]
174 SlowNetwork,
175 #[serde(rename = "OtherPrerenderedPageActivated")]
176 OtherPrerenderedPageActivated,
177 #[serde(rename = "V8OptimizerDisabled")]
178 V8OptimizerDisabled,
179 #[serde(rename = "PrerenderFailedDuringPrefetch")]
180 PrerenderFailedDuringPrefetch,
181 #[serde(rename = "BrowsingDataRemoved")]
182 BrowsingDataRemoved,
183 #[serde(rename = "PrerenderHostReused")]
184 PrerenderHostReused,
185}
186#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
187pub enum PreloadingStatus {
188 #[serde(rename = "Pending")]
189 Pending,
190 #[serde(rename = "Running")]
191 Running,
192 #[serde(rename = "Ready")]
193 Ready,
194 #[serde(rename = "Success")]
195 Success,
196 #[serde(rename = "Failure")]
197 Failure,
198 #[serde(rename = "NotSupported")]
199 NotSupported,
200}
201#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
202pub enum PrefetchStatus {
203 #[serde(rename = "PrefetchAllowed")]
204 PrefetchAllowed,
205 #[serde(rename = "PrefetchFailedIneligibleRedirect")]
206 PrefetchFailedIneligibleRedirect,
207 #[serde(rename = "PrefetchFailedInvalidRedirect")]
208 PrefetchFailedInvalidRedirect,
209 #[serde(rename = "PrefetchFailedMIMENotSupported")]
210 PrefetchFailedMimeNotSupported,
211 #[serde(rename = "PrefetchFailedNetError")]
212 PrefetchFailedNetError,
213 #[serde(rename = "PrefetchFailedNon2XX")]
214 PrefetchFailedNon2Xx,
215 #[serde(rename = "PrefetchEvictedAfterBrowsingDataRemoved")]
216 PrefetchEvictedAfterBrowsingDataRemoved,
217 #[serde(rename = "PrefetchEvictedAfterCandidateRemoved")]
218 PrefetchEvictedAfterCandidateRemoved,
219 #[serde(rename = "PrefetchEvictedForNewerPrefetch")]
220 PrefetchEvictedForNewerPrefetch,
221 #[serde(rename = "PrefetchHeldback")]
222 PrefetchHeldback,
223 #[serde(rename = "PrefetchIneligibleRetryAfter")]
224 PrefetchIneligibleRetryAfter,
225 #[serde(rename = "PrefetchIsPrivacyDecoy")]
226 PrefetchIsPrivacyDecoy,
227 #[serde(rename = "PrefetchIsStale")]
228 PrefetchIsStale,
229 #[serde(rename = "PrefetchNotEligibleBrowserContextOffTheRecord")]
230 PrefetchNotEligibleBrowserContextOffTheRecord,
231 #[serde(rename = "PrefetchNotEligibleDataSaverEnabled")]
232 PrefetchNotEligibleDataSaverEnabled,
233 #[serde(rename = "PrefetchNotEligibleExistingProxy")]
234 PrefetchNotEligibleExistingProxy,
235 #[serde(rename = "PrefetchNotEligibleHostIsNonUnique")]
236 PrefetchNotEligibleHostIsNonUnique,
237 #[serde(rename = "PrefetchNotEligibleNonDefaultStoragePartition")]
238 PrefetchNotEligibleNonDefaultStoragePartition,
239 #[serde(rename = "PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy")]
240 PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy,
241 #[serde(rename = "PrefetchNotEligibleSchemeIsNotHttps")]
242 PrefetchNotEligibleSchemeIsNotHttps,
243 #[serde(rename = "PrefetchNotEligibleUserHasCookies")]
244 PrefetchNotEligibleUserHasCookies,
245 #[serde(rename = "PrefetchNotEligibleUserHasServiceWorker")]
246 PrefetchNotEligibleUserHasServiceWorker,
247 #[serde(rename = "PrefetchNotEligibleUserHasServiceWorkerNoFetchHandler")]
248 PrefetchNotEligibleUserHasServiceWorkerNoFetchHandler,
249 #[serde(rename = "PrefetchNotEligibleRedirectFromServiceWorker")]
250 PrefetchNotEligibleRedirectFromServiceWorker,
251 #[serde(rename = "PrefetchNotEligibleRedirectToServiceWorker")]
252 PrefetchNotEligibleRedirectToServiceWorker,
253 #[serde(rename = "PrefetchNotEligibleBatterySaverEnabled")]
254 PrefetchNotEligibleBatterySaverEnabled,
255 #[serde(rename = "PrefetchNotEligiblePreloadingDisabled")]
256 PrefetchNotEligiblePreloadingDisabled,
257 #[serde(rename = "PrefetchNotFinishedInTime")]
258 PrefetchNotFinishedInTime,
259 #[serde(rename = "PrefetchNotStarted")]
260 PrefetchNotStarted,
261 #[serde(rename = "PrefetchNotUsedCookiesChanged")]
262 PrefetchNotUsedCookiesChanged,
263 #[serde(rename = "PrefetchProxyNotAvailable")]
264 PrefetchProxyNotAvailable,
265 #[serde(rename = "PrefetchResponseUsed")]
266 PrefetchResponseUsed,
267 #[serde(rename = "PrefetchSuccessfulButNotUsed")]
268 PrefetchSuccessfulButNotUsed,
269 #[serde(rename = "PrefetchNotUsedProbeFailed")]
270 PrefetchNotUsedProbeFailed,
271}
272#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
273pub struct RuleSet {
274 #[serde(rename = "id")]
275 pub id: RuleSetId,
276 #[serde(rename = "loaderId")]
277 pub loader_id: network::LoaderId,
278 #[serde(default)]
279 #[serde(rename = "sourceText")]
280 pub source_text: String,
281 #[serde(skip_serializing_if = "Option::is_none")]
282 #[serde(rename = "backendNodeId")]
283 pub backend_node_id: Option<dom::BackendNodeId>,
284 #[serde(skip_serializing_if = "Option::is_none")]
285 #[serde(default)]
286 #[serde(rename = "url")]
287 pub url: Option<String>,
288 #[serde(skip_serializing_if = "Option::is_none")]
289 #[serde(rename = "requestId")]
290 pub request_id: Option<network::RequestId>,
291 #[serde(skip_serializing_if = "Option::is_none")]
292 #[serde(rename = "errorType")]
293 pub error_type: Option<RuleSetErrorType>,
294 #[serde(skip_serializing_if = "Option::is_none")]
295 #[serde(default)]
296 #[serde(rename = "errorMessage")]
297 pub error_message: Option<String>,
298}
299#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
300pub struct PreloadingAttemptKey {
301 #[serde(rename = "loaderId")]
302 pub loader_id: network::LoaderId,
303 #[serde(rename = "action")]
304 pub action: SpeculationAction,
305 #[serde(default)]
306 #[serde(rename = "url")]
307 pub url: String,
308 #[serde(skip_serializing_if = "Option::is_none")]
309 #[serde(rename = "targetHint")]
310 pub target_hint: Option<SpeculationTargetHint>,
311}
312#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
313pub struct PreloadingAttemptSource {
314 #[serde(rename = "key")]
315 pub key: PreloadingAttemptKey,
316 #[serde(rename = "ruleSetIds")]
317 pub rule_set_ids: Vec<RuleSetId>,
318 #[serde(rename = "nodeIds")]
319 pub node_ids: Vec<dom::BackendNodeId>,
320}
321#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
322pub struct PrerenderMismatchedHeaders {
323 #[serde(default)]
324 #[serde(rename = "headerName")]
325 pub header_name: String,
326 #[serde(skip_serializing_if = "Option::is_none")]
327 #[serde(default)]
328 #[serde(rename = "initialValue")]
329 pub initial_value: Option<String>,
330 #[serde(skip_serializing_if = "Option::is_none")]
331 #[serde(default)]
332 #[serde(rename = "activationValue")]
333 pub activation_value: Option<String>,
334}
335#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
336#[serde(rename_all = "camelCase")]
337pub struct Enable(pub Option<serde_json::Value>);
338#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
339#[serde(rename_all = "camelCase")]
340pub struct Disable(pub Option<serde_json::Value>);
341#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
342#[serde(rename_all = "camelCase")]
343pub struct EnableReturnObject {}
344#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
345#[serde(rename_all = "camelCase")]
346pub struct DisableReturnObject {}
347impl Method for Enable {
348 const NAME: &'static str = "Preload.enable";
349 type ReturnObject = EnableReturnObject;
350}
351impl Method for Disable {
352 const NAME: &'static str = "Preload.disable";
353 type ReturnObject = DisableReturnObject;
354}
355pub mod events {
356 #[allow(unused_imports)]
357 use super::super::types::*;
358 #[allow(unused_imports)]
359 use serde::{Deserialize, Serialize};
360 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
361 pub struct RuleSetUpdatedEvent {
362 pub params: RuleSetUpdatedEventParams,
363 }
364 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
365 pub struct RuleSetUpdatedEventParams {
366 #[serde(rename = "ruleSet")]
367 pub rule_set: super::RuleSet,
368 }
369 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
370 pub struct RuleSetRemovedEvent {
371 pub params: RuleSetRemovedEventParams,
372 }
373 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
374 pub struct RuleSetRemovedEventParams {
375 #[serde(rename = "id")]
376 pub id: super::RuleSetId,
377 }
378 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
379 pub struct PreloadEnabledStateUpdatedEvent {
380 pub params: PreloadEnabledStateUpdatedEventParams,
381 }
382 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
383 pub struct PreloadEnabledStateUpdatedEventParams {
384 #[serde(default)]
385 #[serde(rename = "disabledByPreference")]
386 pub disabled_by_preference: bool,
387 #[serde(default)]
388 #[serde(rename = "disabledByDataSaver")]
389 pub disabled_by_data_saver: bool,
390 #[serde(default)]
391 #[serde(rename = "disabledByBatterySaver")]
392 pub disabled_by_battery_saver: bool,
393 #[serde(default)]
394 #[serde(rename = "disabledByHoldbackPrefetchSpeculationRules")]
395 pub disabled_by_holdback_prefetch_speculation_rules: bool,
396 #[serde(default)]
397 #[serde(rename = "disabledByHoldbackPrerenderSpeculationRules")]
398 pub disabled_by_holdback_prerender_speculation_rules: bool,
399 }
400 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
401 pub struct PrefetchStatusUpdatedEvent {
402 pub params: PrefetchStatusUpdatedEventParams,
403 }
404 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
405 pub struct PrefetchStatusUpdatedEventParams {
406 #[serde(rename = "key")]
407 pub key: super::PreloadingAttemptKey,
408 #[serde(rename = "pipelineId")]
409 pub pipeline_id: super::PreloadPipelineId,
410 #[serde(rename = "initiatingFrameId")]
411 pub initiating_frame_id: super::super::page::FrameId,
412 #[serde(default)]
413 #[serde(rename = "prefetchUrl")]
414 pub prefetch_url: String,
415 #[serde(rename = "status")]
416 pub status: super::PreloadingStatus,
417 #[serde(rename = "prefetchStatus")]
418 pub prefetch_status: super::PrefetchStatus,
419 #[serde(rename = "requestId")]
420 pub request_id: super::super::network::RequestId,
421 }
422 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
423 pub struct PrerenderStatusUpdatedEvent {
424 pub params: PrerenderStatusUpdatedEventParams,
425 }
426 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
427 pub struct PrerenderStatusUpdatedEventParams {
428 #[serde(rename = "key")]
429 pub key: super::PreloadingAttemptKey,
430 #[serde(rename = "pipelineId")]
431 pub pipeline_id: super::PreloadPipelineId,
432 #[serde(rename = "status")]
433 pub status: super::PreloadingStatus,
434 #[serde(skip_serializing_if = "Option::is_none")]
435 #[serde(rename = "prerenderStatus")]
436 pub prerender_status: Option<super::PrerenderFinalStatus>,
437 #[serde(skip_serializing_if = "Option::is_none")]
438 #[serde(default)]
439 #[serde(rename = "disallowedMojoInterface")]
440 pub disallowed_mojo_interface: Option<String>,
441 #[serde(skip_serializing_if = "Option::is_none")]
442 #[serde(rename = "mismatchedHeaders")]
443 pub mismatched_headers: Option<Vec<super::PrerenderMismatchedHeaders>>,
444 }
445 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
446 pub struct PreloadingAttemptSourcesUpdatedEvent {
447 pub params: PreloadingAttemptSourcesUpdatedEventParams,
448 }
449 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
450 pub struct PreloadingAttemptSourcesUpdatedEventParams {
451 #[serde(rename = "loaderId")]
452 pub loader_id: super::super::network::LoaderId,
453 #[serde(rename = "preloadingAttemptSources")]
454 pub preloading_attempt_sources: Vec<super::PreloadingAttemptSource>,
455 }
456}