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