cdp_protocol/
preload.rs

1// Auto-generated from Chrome at version 140.0.7339.186 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}
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}