294 lines
10 KiB
Plaintext
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
|