cdp_protocol/
preload.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: Preload
2use 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}