2025-11-05 17:04:23 -03:00

294 lines
10 KiB
Plaintext

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Contributing to Chrome DevTools Protocol: https://goo.gle/devtools-contribution-guide-cdp
experimental domain Preload
# Unique id
type RuleSetId extends string
# Corresponds to SpeculationRuleSet
type RuleSet extends object
properties
RuleSetId id
# Identifies a document which the rule set is associated with.
Network.LoaderId loaderId
# Source text of JSON representing the rule set. If it comes from
# `<script>` tag, it is the textContent of the node. Note that it is
# a JSON for valid case.
#
# See also:
# - https://wicg.github.io/nav-speculation/speculation-rules.html
# - https://github.com/WICG/nav-speculation/blob/main/triggers.md
string sourceText
# A speculation rule set is either added through an inline
# `<script>` tag or through an external resource via the
# 'Speculation-Rules' HTTP header. For the first case, we include
# the BackendNodeId of the relevant `<script>` tag. For the second
# case, we include the external URL where the rule set was loaded
# from, and also RequestId if Network domain is enabled.
#
# See also:
# - https://wicg.github.io/nav-speculation/speculation-rules.html#speculation-rules-script
# - https://wicg.github.io/nav-speculation/speculation-rules.html#speculation-rules-header
optional DOM.BackendNodeId backendNodeId
optional string url
optional Network.RequestId requestId
# Error information
# `errorMessage` is null iff `errorType` is null.
optional RuleSetErrorType errorType
# TODO(https://crbug.com/1425354): Replace this property with structured error.
deprecated optional string errorMessage
# For more details, see:
# https://github.com/WICG/nav-speculation/blob/main/speculation-rules-tags.md
optional string tag
type RuleSetErrorType extends string
enum
SourceIsNotJsonObject
InvalidRulesSkipped
InvalidRulesetLevelTag
# The type of preloading attempted. It corresponds to
# mojom::SpeculationAction (although PrefetchWithSubresources is omitted as it
# isn't being used by clients).
type SpeculationAction extends string
enum
Prefetch
Prerender
# Corresponds to mojom::SpeculationTargetHint.
# See https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints
type SpeculationTargetHint extends string
enum
Blank
Self
# A key that identifies a preloading attempt.
#
# The url used is the url specified by the trigger (i.e. the initial URL), and
# not the final url that is navigated to. For example, prerendering allows
# same-origin main frame navigations during the attempt, but the attempt is
# still keyed with the initial URL.
type PreloadingAttemptKey extends object
properties
Network.LoaderId loaderId
SpeculationAction action
string url
optional SpeculationTargetHint targetHint
# Lists sources for a preloading attempt, specifically the ids of rule sets
# that had a speculation rule that triggered the attempt, and the
# BackendNodeIds of <a href> or <area href> elements that triggered the
# attempt (in the case of attempts triggered by a document rule). It is
# possible for multiple rule sets and links to trigger a single attempt.
type PreloadingAttemptSource extends object
properties
PreloadingAttemptKey key
array of RuleSetId ruleSetIds
array of DOM.BackendNodeId nodeIds
# Chrome manages different types of preloads together using a
# concept of preloading pipeline. For example, if a site uses a
# SpeculationRules for prerender, Chrome first starts a prefetch and
# then upgrades it to prerender.
#
# CDP events for them are emitted separately but they share
# `PreloadPipelineId`.
type PreloadPipelineId extends string
command enable
command disable
# Upsert. Currently, it is only emitted when a rule set added.
event ruleSetUpdated
parameters
RuleSet ruleSet
event ruleSetRemoved
parameters
RuleSetId id
# List of FinalStatus reasons for Prerender2.
type PrerenderFinalStatus extends string
enum
Activated
Destroyed
LowEndDevice
InvalidSchemeRedirect
InvalidSchemeNavigation
NavigationRequestBlockedByCsp
MojoBinderPolicy
RendererProcessCrashed
RendererProcessKilled
Download
TriggerDestroyed
NavigationNotCommitted
NavigationBadHttpStatus
ClientCertRequested
NavigationRequestNetworkError
CancelAllHostsForTesting
DidFailLoad
Stop
SslCertificateError
LoginAuthRequested
UaChangeRequiresReload
BlockedByClient
AudioOutputDeviceRequested
MixedContent
TriggerBackgrounded
MemoryLimitExceeded
DataSaverEnabled
TriggerUrlHasEffectiveUrl
ActivatedBeforeStarted
InactivePageRestriction
StartFailed
TimeoutBackgrounded
CrossSiteRedirectInInitialNavigation
CrossSiteNavigationInInitialNavigation
SameSiteCrossOriginRedirectNotOptInInInitialNavigation
SameSiteCrossOriginNavigationNotOptInInInitialNavigation
ActivationNavigationParameterMismatch
ActivatedInBackground
EmbedderHostDisallowed
ActivationNavigationDestroyedBeforeSuccess
TabClosedByUserGesture
TabClosedWithoutUserGesture
PrimaryMainFrameRendererProcessCrashed
PrimaryMainFrameRendererProcessKilled
ActivationFramePolicyNotCompatible
PreloadingDisabled
BatterySaverEnabled
ActivatedDuringMainFrameNavigation
PreloadingUnsupportedByWebContents
CrossSiteRedirectInMainFrameNavigation
CrossSiteNavigationInMainFrameNavigation
SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation
SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation
MemoryPressureOnTrigger
MemoryPressureAfterTriggered
PrerenderingDisabledByDevTools
SpeculationRuleRemoved
ActivatedWithAuxiliaryBrowsingContexts
MaxNumOfRunningEagerPrerendersExceeded
MaxNumOfRunningNonEagerPrerendersExceeded
MaxNumOfRunningEmbedderPrerendersExceeded
PrerenderingUrlHasEffectiveUrl
RedirectedPrerenderingUrlHasEffectiveUrl
ActivationUrlHasEffectiveUrl
JavaScriptInterfaceAdded
JavaScriptInterfaceRemoved
AllPrerenderingCanceled
WindowClosed
SlowNetwork
OtherPrerenderedPageActivated
V8OptimizerDisabled
PrerenderFailedDuringPrefetch
BrowsingDataRemoved
PrerenderHostReused
# Fired when a preload enabled state is updated.
event preloadEnabledStateUpdated
parameters
boolean disabledByPreference
boolean disabledByDataSaver
boolean disabledByBatterySaver
boolean disabledByHoldbackPrefetchSpeculationRules
boolean disabledByHoldbackPrerenderSpeculationRules
# Preloading status values, see also PreloadingTriggeringOutcome. This
# status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
type PreloadingStatus extends string
enum
Pending
Running
Ready
Success
Failure
# PreloadingTriggeringOutcome which not used by prefetch nor prerender.
NotSupported
# TODO(https://crbug.com/1384419): revisit the list of PrefetchStatus and
# filter out the ones that aren't necessary to the developers.
type PrefetchStatus extends string
enum
# Prefetch is not disabled by PrefetchHeldback.
PrefetchAllowed
PrefetchFailedIneligibleRedirect
PrefetchFailedInvalidRedirect
PrefetchFailedMIMENotSupported
PrefetchFailedNetError
PrefetchFailedNon2XX
PrefetchEvictedAfterBrowsingDataRemoved
PrefetchEvictedAfterCandidateRemoved
PrefetchEvictedForNewerPrefetch
PrefetchHeldback
# A previous prefetch to the origin got a HTTP 503 response with an
# Retry-After header that has no elapsed yet.
PrefetchIneligibleRetryAfter
PrefetchIsPrivacyDecoy
PrefetchIsStale
PrefetchNotEligibleBrowserContextOffTheRecord
PrefetchNotEligibleDataSaverEnabled
PrefetchNotEligibleExistingProxy
PrefetchNotEligibleHostIsNonUnique
PrefetchNotEligibleNonDefaultStoragePartition
PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy
PrefetchNotEligibleSchemeIsNotHttps
PrefetchNotEligibleUserHasCookies
PrefetchNotEligibleUserHasServiceWorker
PrefetchNotEligibleUserHasServiceWorkerNoFetchHandler
PrefetchNotEligibleRedirectFromServiceWorker
PrefetchNotEligibleRedirectToServiceWorker
PrefetchNotEligibleBatterySaverEnabled
PrefetchNotEligiblePreloadingDisabled
PrefetchNotFinishedInTime
PrefetchNotStarted
PrefetchNotUsedCookiesChanged
PrefetchProxyNotAvailable
# The response of the prefetch is used for the next navigation. This is
# the final successful state.
PrefetchResponseUsed
# The prefetch finished successfully but was never used.
PrefetchSuccessfulButNotUsed
PrefetchNotUsedProbeFailed
# Fired when a prefetch attempt is updated.
event prefetchStatusUpdated
parameters
PreloadingAttemptKey key
PreloadPipelineId pipelineId
# The frame id of the frame initiating prefetch.
Page.FrameId initiatingFrameId
string prefetchUrl
PreloadingStatus status
PrefetchStatus prefetchStatus
Network.RequestId requestId
# Information of headers to be displayed when the header mismatch occurred.
type PrerenderMismatchedHeaders extends object
properties
string headerName
optional string initialValue
optional string activationValue
# Fired when a prerender attempt is updated.
event prerenderStatusUpdated
parameters
PreloadingAttemptKey key
PreloadPipelineId pipelineId
PreloadingStatus status
optional PrerenderFinalStatus prerenderStatus
# This is used to give users more information about the name of Mojo interface
# that is incompatible with prerender and has caused the cancellation of the attempt.
optional string disallowedMojoInterface
optional array of PrerenderMismatchedHeaders mismatchedHeaders
# Send a list of sources for all preloading attempts in a document.
event preloadingAttemptSourcesUpdated
parameters
Network.LoaderId loaderId
array of PreloadingAttemptSource preloadingAttemptSources