From 1b236f2f62a36154352a6aa65d2b92406ef458e9 Mon Sep 17 00:00:00 2001 From: titusfortner Date: Wed, 1 Sep 2021 08:33:22 -0500 Subject: [PATCH] [cdp] add cdp v93 to and remove v90 from the project --- common/devtools/README.md | 6 +- .../chromium/{v90 => v93}/BUILD.bazel | 0 .../{v90 => v93}/browser_protocol.pdl | 689 ++++++++++++++++-- .../chromium/{v90 => v93}/js_protocol.pdl | 31 +- 4 files changed, 663 insertions(+), 63 deletions(-) rename common/devtools/chromium/{v90 => v93}/BUILD.bazel (100%) rename common/devtools/chromium/{v90 => v93}/browser_protocol.pdl (92%) rename common/devtools/chromium/{v90 => v93}/js_protocol.pdl (97%) diff --git a/common/devtools/README.md b/common/devtools/README.md index b1063fe36eb1c..9295f36bf7c0c 100644 --- a/common/devtools/README.md +++ b/common/devtools/README.md @@ -15,14 +15,14 @@ releases of Chrome: * Navigate to the [Chromium source](https://github.com/chromium/chromium/) * Open the tag matching the release number. * Grab `//third_party/blink/public/devtools_protocol/browser_protocol.pdl` - (Quick link: https://raw.githubusercontent.com/chromium/chromium//third_party/blink/public/devtools_protocol/browser_protocol.pdl) + (Quick link: `https://raw.githubusercontent.com/chromium/chromium//third_party/blink/public/devtools_protocol/browser_protocol.pdl`) * Now figure out the version of v8 used by the version of Chromium. In Chromium's source, navigate to `//:DEPS` and search for `v8_revision` - (Quick link: https://github.com/chromium/chromium/blob//DEPS#:~:text=the%20commit%20queue%20can%20handle%20cls%20rolling%20v8) + (Quick link: `https://github.com/chromium/chromium/blob//DEPS#:~:text=the%20commit%20queue%20can%20handle%20cls%20rolling%20v8`) * Head over to the [v8 source](https://github.com/v8/v8) and switch to the indicated revision (e.g., `451d38b60be0a0f692b11815289cf8cbc9b1dc98`) * Grab `//include:js_protocol.pdl` - (Quick link: https://github.com/v8/v8/raw//include/js_protocol.pdl) + (Quick link: `https://github.com/v8/v8/raw//include/js_protocol.pdl`) You may also find the same information at the [OmahaProxy CSV Viewer](https://omahaproxy.appspot.com) diff --git a/common/devtools/chromium/v90/BUILD.bazel b/common/devtools/chromium/v93/BUILD.bazel similarity index 100% rename from common/devtools/chromium/v90/BUILD.bazel rename to common/devtools/chromium/v93/BUILD.bazel diff --git a/common/devtools/chromium/v90/browser_protocol.pdl b/common/devtools/chromium/v93/browser_protocol.pdl similarity index 92% rename from common/devtools/chromium/v90/browser_protocol.pdl rename to common/devtools/chromium/v93/browser_protocol.pdl index 19c7dfb2ea259..fc04f955119a4 100644 --- a/common/devtools/chromium/v90/browser_protocol.pdl +++ b/common/devtools/chromium/v93/browser_protocol.pdl @@ -509,6 +509,7 @@ experimental domain Audits ExcludeSameSiteNoneInsecure ExcludeSameSiteLax ExcludeSameSiteStrict + ExcludeInvalidSameParty type SameSiteCookieWarningReason extends string enum @@ -531,7 +532,12 @@ experimental domain Audits # information without the cookie. type SameSiteCookieIssueDetails extends object properties - AffectedCookie cookie + # If AffectedCookie is not set then rawCookieLine contains the raw + # Set-Cookie header string. This hints at a problem where the + # cookie line is syntactically or semantically malformed in a way + # that no valid cookie could be created. + optional AffectedCookie cookie + optional string rawCookieLine array of SameSiteCookieWarningReason cookieWarningReasons array of SameSiteCookieExclusionReason cookieExclusionReasons # Optionally identifies the site-for-cookies and the cookie url, which @@ -668,7 +674,7 @@ experimental domain Audits CreationIssue # Details for a issue arising from an SAB being instantiated in, or - # transfered to a context that is not cross-origin isolated. + # transferred to a context that is not cross-origin isolated. type SharedArrayBufferIssueDetails extends object properties SourceCodeLocation sourceCodeLocation @@ -711,9 +717,53 @@ experimental domain Audits Network.CorsErrorStatus corsErrorStatus boolean isWarning AffectedRequest request + optional SourceCodeLocation location + optional string initiatorOrigin optional Network.IPAddressSpace resourceIPAddressSpace optional Network.ClientSecurityState clientSecurityState + type AttributionReportingIssueType extends string + enum + PermissionPolicyDisabled + InvalidAttributionSourceEventId + InvalidAttributionData + AttributionSourceUntrustworthyOrigin + AttributionUntrustworthyOrigin + + # Details for issues around "Attribution Reporting API" usage. + # Explainer: https://github.com/WICG/conversion-measurement-api + type AttributionReportingIssueDetails extends object + properties + AttributionReportingIssueType violationType + optional AffectedFrame frame + optional AffectedRequest request + optional DOM.BackendNodeId violatingNodeId + optional string invalidParameter + +# Details for issues about documents in Quirks Mode +# or Limited Quirks Mode that affects page layouting. + type QuirksModeIssueDetails extends object + properties + # If false, it means the document's mode is "quirks" + # instead of "limited-quirks". + boolean isLimitedQuirksMode + DOM.BackendNodeId documentNodeId + string url + Page.FrameId frameId + Network.LoaderId loaderId + + type NavigatorUserAgentIssueDetails extends object + properties + string url + optional SourceCodeLocation location + + type WasmCrossOriginModuleSharingIssueDetails extends object + properties + string wasmModuleUrl + string sourceOrigin + string targetOrigin + boolean isWarning + # A unique identifier for the type of issue. Each type may use one of the # optional fields in InspectorIssueDetails to convey more specific # information about the kind of issue. @@ -728,6 +778,10 @@ experimental domain Audits TrustedWebActivityIssue LowTextContrastIssue CorsIssue + AttributionReportingIssue + QuirksModeIssue + NavigatorUserAgentIssue + WasmCrossOriginModuleSharingIssue # This struct holds a list of optional fields with additional information # specific to the kind of issue. When adding a new issue code, please also @@ -743,12 +797,23 @@ experimental domain Audits optional TrustedWebActivityIssueDetails twaQualityEnforcementDetails optional LowTextContrastIssueDetails lowTextContrastIssueDetails optional CorsIssueDetails corsIssueDetails + optional AttributionReportingIssueDetails attributionReportingIssueDetails + optional QuirksModeIssueDetails quirksModeIssueDetails + optional NavigatorUserAgentIssueDetails navigatorUserAgentIssueDetails + optional WasmCrossOriginModuleSharingIssueDetails wasmCrossOriginModuleSharingIssue + + # A unique id for a DevTools inspector issue. Allows other entities (e.g. + # exceptions, CDP message, console messages, etc.) to reference an issue. + type IssueId extends string # An inspector issue reported from the back-end. type InspectorIssue extends object properties InspectorIssueCode code InspectorIssueDetails details + # A unique id for this issue. May be omitted if no other entity (e.g. + # exception, CDP message, etc.) is referencing this issue. + optional IssueId issueId # Returns the response body and size if it were re-encoded with the specified settings. Only # applies to images. @@ -983,9 +1048,46 @@ domain Browser default # BrowserContext to set download behavior. When omitted, default browser context is used. optional BrowserContextID browserContextId - # The default path to save downloaded files to. This is requred if behavior is set to 'allow' + # The default path to save downloaded files to. This is required if behavior is set to 'allow' # or 'allowAndName'. optional string downloadPath + # Whether to emit download events (defaults to false). + optional boolean eventsEnabled + + # Cancel a download if in progress + experimental command cancelDownload + parameters + # Global unique identifier of the download. + string guid + # BrowserContext to perform the action in. When omitted, default browser context is used. + optional BrowserContextID browserContextId + + # Fired when page is about to start a download. + experimental event downloadWillBegin + parameters + # Id of the frame that caused the download to begin. + Page.FrameId frameId + # Global unique identifier of the download. + string guid + # URL of the resource being downloaded. + string url + # Suggested file name of the resource (the actual name of the file saved on disk may differ). + string suggestedFilename + + # Fired when download makes progress. Last call has |done| == true. + experimental event downloadProgress + parameters + # Global unique identifier of the download. + string guid + # Total expected bytes to download. + number totalBytes + # Total bytes received. + number receivedBytes + # Download status. + enum state + inProgress + completed + canceled # Close browser gracefully. command close @@ -1176,7 +1278,9 @@ experimental domain CSS StyleSheetId styleSheetId # Owner frame identifier. Page.FrameId frameId - # Stylesheet resource URL. + # Stylesheet resource URL. Empty if this is a constructed stylesheet created using + # new CSSStyleSheet() (but non-empty if this is a constructed sylesheet imported + # as a CSS module script). string sourceURL # URL of source map associated with the stylesheet (if any). optional string sourceMapURL @@ -1198,7 +1302,8 @@ experimental domain CSS # element's stylesheets become mutable only if DevTools modifies them. # Constructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation. boolean isMutable - # Whether this stylesheet is a constructed stylesheet (created using new CSSStyleSheet()). + # True if this stylesheet is created through new CSSStyleSheet() or imported as a + # CSS module script. boolean isConstructed # Line offset of the stylesheet within the resource (zero based). number startLine @@ -1226,6 +1331,9 @@ experimental domain CSS # Media list array (for rules involving media queries). The array enumerates media queries # starting with the innermost one, going outwards. optional array of CSSMedia media + # Container query list array (for rules involving container queries). + # The array enumerates container queries starting with the innermost one, going outwards. + experimental optional array of CSSContainerQuery containerQueries # CSS coverage information. type RuleUsage extends object @@ -1349,6 +1457,19 @@ experimental domain CSS # Computed length of media query expression (if applicable). optional number computedLength + # CSS container query rule descriptor. + experimental type CSSContainerQuery extends object + properties + # Container query text. + string text + # The associated rule header range in the enclosing stylesheet (if + # available). + optional SourceRange range + # Identifier of the stylesheet containing this object (if exists). + optional StyleSheetId styleSheetId + # Optional name for the container. + optional string name + # Information about amount of glyphs that were rendered with given font. type PlatformFontUsage extends object properties @@ -1595,6 +1716,16 @@ experimental domain CSS # The resulting CSS media rule after modification. CSSMedia media + # Modifies the expression of a container query. + experimental command setContainerQueryText + parameters + StyleSheetId styleSheetId + SourceRange range + string text + returns + # The resulting CSS container query rule after modification. + CSSContainerQuery containerQuery + # Modifies the rule selector. command setRuleSelector parameters @@ -1875,6 +2006,7 @@ domain DOM target-text spelling-error grammar-error + highlight first-line-inherited scrollbar scrollbar-thumb @@ -1892,6 +2024,13 @@ domain DOM open closed + # Document compatibility mode. + type CompatibilityMode extends string + enum + QuirksMode + LimitedQuirksMode + NoQuirksMode + # DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes. # DOMNode is a base node mirror type. type Node extends object @@ -1948,12 +2087,15 @@ domain DOM optional Node templateContent # Pseudo elements associated with this node. optional array of Node pseudoElements - # Import document for the HTMLImport links. - optional Node importedDocument + # Deprecated, as the HTML Imports API has been removed (crbug.com/937746). + # This property used to return the imported document for the HTMLImport links. + # The property is always undefined now. + deprecated optional Node importedDocument # Distributed nodes for given insertion point. optional array of BackendNode distributedNodes # Whether the node is SVG. optional boolean isSVG + optional CompatibilityMode compatibilityMode # A structure holding an RGBA color. type RGBA extends object @@ -2482,6 +2624,17 @@ domain DOM # Id of the node at given coordinates, only when enabled and requested document. optional NodeId nodeId + # Returns the container of the given node based on container query conditions. + # If containerName is given, it will find the nearest container with a matching name; + # otherwise it will find the nearest container regardless of its container name. + experimental command getContainerForNode + parameters + NodeId nodeId + optional string containerName + returns + # The container node for the given node, or null if not found. + optional NodeId nodeId + # Fired when `Element`'s attribute is modified. event attributeModified parameters @@ -2534,10 +2687,10 @@ domain DOM # Id of the node that has been removed. NodeId nodeId - # Called when distrubution is changed. + # Called when distribution is changed. experimental event distributedNodesUpdated parameters - # Insertion point where distrubuted nodes were updated. + # Insertion point where distributed nodes were updated. NodeId insertionPointId # Distributed nodes for given insertion point. array of BackendNode distributedNodes @@ -2897,6 +3050,8 @@ experimental domain DOMSnapshot optional array of integer parentIndex # `Node`'s nodeType. optional array of integer nodeType + # Type of the shadow root the `Node` is in. String values are equal to the `ShadowRootType` enum. + optional RareStringData shadowRootType # `Node`'s nodeName. optional array of StringIndex nodeName # `Node`'s nodeValue. @@ -2949,6 +3104,10 @@ experimental domain DOMSnapshot optional array of Rectangle scrollRects # The client rect of nodes. Only available when includeDOMRects is set to true optional array of Rectangle clientRects + # The list of background colors that are blended with colors of overlapping elements. + experimental optional array of StringIndex blendedBackgroundColors + # The list of computed text opacities. + experimental optional array of number textColorOpacities # Table of details of the post layout rendered text positions. The exact layout should not be regarded as # stable and may change between versions. @@ -3005,6 +3164,14 @@ experimental domain DOMSnapshot optional boolean includePaintOrder # Whether to include DOM rectangles (offsetRects, clientRects, scrollRects) into the snapshot optional boolean includeDOMRects + # Whether to include blended background colors in the snapshot (default: false). + # Blended background color is achieved by blending background colors of all elements + # that overlap with the current element. + experimental optional boolean includeBlendedBackgroundColors + # Whether to include text color opacity in the snapshot (default: false). + # An element might have the opacity property set that affects the text color of the element. + # The final text color opacity is computed based on the opacity of all overlapping elements. + experimental optional boolean includeTextColorOpacities returns # The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document. array of DocumentSnapshot documents @@ -3210,10 +3377,10 @@ domain Emulation # True if emulation is supported. boolean result - # Clears the overriden device metrics. + # Clears the overridden device metrics. command clearDeviceMetricsOverride - # Clears the overriden Geolocation Position and Error. + # Clears the overridden Geolocation Position and Error. command clearGeolocationOverride # Requests that page scale factor is reset to initial values. @@ -3375,7 +3542,7 @@ domain Emulation # If set the virtual time policy change should be deferred until any frame starts navigating. # Note any previous deferred policy change is superseded. optional boolean waitForNavigation - # If set, base::Time::Now will be overriden to initially return this value. + # If set, base::Time::Now will be overridden to initially return this value. optional Network.TimeSinceEpoch initialVirtualTime returns # Absolute timestamp at which virtual time was first enabled (up time in milliseconds). @@ -3412,6 +3579,7 @@ domain Emulation experimental type DisabledImageType extends string enum avif + jxl webp experimental command setDisabledImageTypes @@ -3490,7 +3658,7 @@ experimental domain HeadlessExperimental # Input/Output operations for streams produced by DevTools. domain IO - # This is either obtained from another method or specifed as `blob:<uuid>` where + # This is either obtained from another method or specified as `blob:<uuid>` where # `<uuid>` is an UUID of a Blob. type StreamHandle extends string @@ -3515,7 +3683,7 @@ domain IO optional boolean base64Encoded # Data that were read. string data - # Set if the end-of-file condition occured while reading. + # Set if the end-of-file condition occurred while reading. boolean eof # Return UUID of Blob object specified by a remote object id. @@ -3757,6 +3925,47 @@ domain Input # UTC time in seconds, counted from January 1, 1970. type TimeSinceEpoch extends number + experimental type DragDataItem extends object + properties + # Mime type of the dragged data. + string mimeType + # Depending of the value of `mimeType`, it contains the dragged link, + # text, HTML markup or any other data. + string data + + # Title associated with a link. Only valid when `mimeType` == "text/uri-list". + optional string title + + # Stores the base URL for the contained markup. Only valid when `mimeType` + # == "text/html". + optional string baseURL + + + experimental type DragData extends object + properties + array of DragDataItem items + # Bit field representing allowed drag operations. Copy = 1, Link = 2, Move = 16 + integer dragOperationsMask + + # Dispatches a drag event into the page. + experimental command dispatchDragEvent + parameters + # Type of the drag event. + enum type + dragEnter + dragOver + drop + dragCancel + # X coordinate of the event relative to the main frame's viewport in CSS pixels. + number x + # Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to + # the top of the viewport and Y increases as it proceeds towards the bottom of the viewport. + number y + DragData data + # Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 + # (default: 0). + optional integer modifiers + # Dispatches a key event to the page. command dispatchKeyEvent parameters @@ -3907,6 +4116,12 @@ domain Input # Ignores input events processing when set to true. boolean ignore + # Prevents default drag and drop behavior and instead emits `Input.dragIntercepted` events. + # Drag and drop behavior can be directly controlled via `Input.dispatchDragEvent`. + experimental command setInterceptDrags + parameters + boolean enabled + # Synthesizes a pinch gesture over a time period by issuing appropriate touch events. experimental command synthesizePinchGesture parameters @@ -3968,6 +4183,12 @@ domain Input # for the preferred input type). optional GestureSourceType gestureSourceType + # Emitted only when `Input.setInterceptDrags` is enabled. Use this data with `Input.dispatchDragEvent` to + # restore normal drag and drop behavior. + experimental event dragIntercepted + parameters + DragData data + experimental domain Inspector # Disables inspector domain notifications. @@ -4529,6 +4750,9 @@ domain Network # Set for requests when the TrustToken API is used. Contains the parameters # passed by the developer (e.g. via "fetch") as understood by the backend. experimental optional TrustTokenParams trustTokenParams + # True if this resource request is considered to be the 'same site' as the + # request correspondinfg to the main frame. + experimental optional boolean isSameSite # Details of a signed certificate timestamp (SCT). type SignedCertificateTimestamp extends object @@ -4597,7 +4821,6 @@ domain Network inspector subresource-filter content-type - collapsed-by-client coep-frame-resource-needs-coep-header coop-sandboxed-iframe-cannot-navigate-to-coop-page corp-not-same-origin @@ -4632,6 +4855,7 @@ domain Network HeaderDisallowedByPreflightResponse RedirectContainsCredentials InsecurePrivateNetwork + NoCorsRedirectModeNotFollow type CorsErrorStatus extends object properties @@ -5019,12 +5243,12 @@ domain Network # Request pattern for interception. experimental type RequestPattern extends object properties - # Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is - # backslash. Omitting is equivalent to "*". + # Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is + # backslash. Omitting is equivalent to `"*"`. optional string urlPattern # If set, only requests for matching resource types will be intercepted. optional ResourceType resourceType - # Stage at wich to begin intercepting requests. Default is Request. + # Stage at which to begin intercepting requests. Default is Request. optional InterceptionStage interceptionStage # Information about a signed exchange signature. @@ -5097,6 +5321,22 @@ domain Network # Errors occurred while handling the signed exchagne. optional array of SignedExchangeError errors + # List of content encodings supported by the backend. + experimental type ContentEncoding extends string + enum + deflate + gzip + br + + # Sets a list of content encodings that will be accepted. Empty list means no encoding is accepted. + experimental command setAcceptedEncodings + parameters + # List of accepted content encodings. + array of ContentEncoding encodings + + # Clears accepted encodings set by setAcceptedEncodings + experimental command clearAcceptedEncodingsOverride + # Tells whether clearing browser cache is supported. deprecated command canClearBrowserCache returns @@ -5341,14 +5581,6 @@ domain Network # Cookies to be set. array of CookieParam cookies - # For testing. - experimental command setDataSizeLimitsForTest - parameters - # Maximum total buffer size. - integer maxTotalSize - # Maximum per-resource size. - integer maxResourceSize - # Specifies whether to always send extra HTTP headers with the requests from this page. command setExtraHTTPHeaders parameters @@ -5726,6 +5958,50 @@ domain Network # The number of obtained Trust Tokens on a successful "Issuance" operation. optional integer issuedTokenCount + # Fired once when parsing the .wbn file has succeeded. + # The event contains the information about the web bundle contents. + experimental event subresourceWebBundleMetadataReceived + parameters + # Request identifier. Used to match this information to another event. + RequestId requestId + # A list of URLs of resources in the subresource Web Bundle. + array of string urls + + # Fired once when parsing the .wbn file has failed. + experimental event subresourceWebBundleMetadataError + parameters + # Request identifier. Used to match this information to another event. + RequestId requestId + # Error message + string errorMessage + + # Fired when handling requests for resources within a .wbn file. + # Note: this will only be fired for resources that are requested by the webpage. + experimental event subresourceWebBundleInnerResponseParsed + parameters + # Request identifier of the subresource request + RequestId innerRequestId + # URL of the subresource resource. + string innerRequestURL + # Bundle request identifier. Used to match this information to another event. + # This made be absent in case when the instrumentation was enabled only + # after webbundle was parsed. + optional RequestId bundleRequestId + + # Fired when request for resources within a .wbn file failed. + experimental event subresourceWebBundleInnerResponseError + parameters + # Request identifier of the subresource request + RequestId innerRequestId + # URL of the subresource resource. + string innerRequestURL + # Error message + string errorMessage + # Bundle request identifier. Used to match this information to another event. + # This made be absent in case when the instrumentation was enabled only + # after webbundle was parsed. + optional RequestId bundleRequestId + experimental type CrossOriginOpenerPolicyValue extends string enum SameOrigin @@ -5743,6 +6019,7 @@ domain Network experimental type CrossOriginEmbedderPolicyValue extends string enum None + Credentialless RequireCorp experimental type CrossOriginEmbedderPolicyStatus extends object @@ -5948,6 +6225,8 @@ experimental domain Overlay optional FlexItemHighlightConfig flexItemHighlightConfig # The contrast algorithm to use for the contrast ratio (default: aa). optional ContrastAlgorithm contrastAlgorithm + # The container query container highlight configuration (default: all transparent). + optional ContainerQueryContainerHighlightConfig containerQueryContainerHighlightConfig type ColorFormat extends string enum @@ -5970,6 +6249,24 @@ experimental domain Overlay # Identifier of the node to highlight. DOM.NodeId nodeId + type ScrollSnapContainerHighlightConfig extends object + properties + # The style of the snapport border (default: transparent) + optional LineStyle snapportBorder + # The style of the snap area border (default: transparent) + optional LineStyle snapAreaBorder + # The margin highlight fill color (default: transparent). + optional DOM.RGBA scrollMarginColor + # The padding highlight fill color (default: transparent). + optional DOM.RGBA scrollPaddingColor + + type ScrollSnapHighlightConfig extends object + properties + # A descriptor for the highlight appearance of scroll snap containers. + ScrollSnapContainerHighlightConfig scrollSnapContainerHighlightConfig + # Identifier of the node to highlight. + DOM.NodeId nodeId + # Configuration for dual screen hinge type HingeConfig extends object properties @@ -5980,6 +6277,18 @@ experimental domain Overlay # The content box highlight outline color (default: transparent). optional DOM.RGBA outlineColor + type ContainerQueryHighlightConfig extends object + properties + # A descriptor for the highlight appearance of container query containers. + ContainerQueryContainerHighlightConfig containerQueryContainerHighlightConfig + # Identifier of the container node to highlight. + DOM.NodeId nodeId + + type ContainerQueryContainerHighlightConfig extends object + properties + # The style of the container border + optional LineStyle containerBorder + type InspectMode extends string enum searchForNode @@ -6033,7 +6342,10 @@ experimental domain Overlay command hideHighlight # Highlights owner element of the frame with given id. - command highlightFrame + # Deprecated: Doesn't work reliablity and cannot be fixed due to process + # separatation (the owner node might be in a different process). Determine + # the owner node in the client and use highlightNode. + deprecated command highlightFrame parameters # Identifier of the frame to highlight. Page.FrameId frameId @@ -6140,6 +6452,16 @@ experimental domain Overlay # An array of node identifiers and descriptors for the highlight appearance. array of FlexNodeHighlightConfig flexNodeHighlightConfigs + command setShowScrollSnapOverlays + parameters + # An array of node identifiers and descriptors for the highlight appearance. + array of ScrollSnapHighlightConfig scrollSnapHighlightConfigs + + command setShowContainerQueryOverlays + parameters + # An array of node identifiers and descriptors for the highlight appearance. + array of ContainerQueryHighlightConfig containerQueryHighlightConfigs + # Requests that backend shows paint rectangles command setShowPaintRects parameters @@ -6222,6 +6544,18 @@ domain Page # This frame is the root of an ad frame. root + experimental type AdFrameExplanation extends string + enum + ParentIsAd + CreatedByAdScript + MatchedBlockingRule + + # Indicates whether a frame has been identified as an ad and why. + experimental type AdFrameStatus extends object + properties + AdFrameType adFrameType + optional array of AdFrameExplanation explanations + # Indicates whether the frame is a secure context and why it is the case. experimental type SecureContextType extends string enum @@ -6252,11 +6586,12 @@ domain Page PerformanceProfile # All Permissions Policy features. This enum should match the one defined - # in renderer/core/feature_policy/feature_policy_features.json5. + # in third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5. experimental type PermissionsPolicyFeature extends string enum accelerometer ambient-light-sensor + attribution-reporting autoplay camera ch-dpr @@ -6264,9 +6599,11 @@ domain Page ch-downlink ch-ect ch-lang + ch-prefers-color-scheme ch-rtt ch-ua ch-ua-arch + ch-ua-bitness ch-ua-platform ch-ua-model ch-ua-mobile @@ -6276,8 +6613,8 @@ domain Page ch-width clipboard-read clipboard-write - conversion-measurement cross-origin-isolated + direct-sockets display-capture document-domain encrypted-media @@ -6301,12 +6638,14 @@ domain Page publickey-credentials-get screen-wake-lock serial + shared-autofill storage-access-api sync-xhr trust-token-redemption usb vertical-scroll web-share + window-placement xr-spatial-tracking # Reason for a permissions policy feature to be disabled. @@ -6328,6 +6667,58 @@ domain Page boolean allowed optional PermissionsPolicyBlockLocator locator + # Origin Trial(https://www.chromium.org/blink/origin-trials) support. + # Status for an Origin Trial token. + experimental type OriginTrialTokenStatus extends string + enum + Success + NotSupported + Insecure + Expired + WrongOrigin + InvalidSignature + Malformed + WrongVersion + FeatureDisabled + TokenDisabled + FeatureDisabledForUser + + # Status for an Origin Trial. + experimental type OriginTrialStatus extends string + enum + Enabled + ValidTokenNotProvided + OSNotSupported + TrialNotAllowed + + experimental type OriginTrialUsageRestriction extends string + enum + None + Subset + + experimental type OriginTrialToken extends object + properties + string origin + boolean matchSubDomains + string trialName + Network.TimeSinceEpoch expiryTime + boolean isThirdParty + OriginTrialUsageRestriction usageRestriction + + experimental type OriginTrialTokenWithStatus extends object + properties + string rawTokenText + # `parsedToken` is present only when the token is extractable and + # parsable. + optional OriginTrialToken parsedToken + OriginTrialTokenStatus status + + experimental type OriginTrial extends object + properties + string trialName + OriginTrialStatus status + array of OriginTrialTokenWithStatus tokensWithStatus + # Information about the Frame on the page. type Frame extends object properties @@ -6354,14 +6745,16 @@ domain Page string mimeType # If the frame failed to load, this contains the URL that could not be loaded. Note that unlike url above, this URL may contain a fragment. experimental optional string unreachableUrl - # Indicates whether this frame was tagged as an ad. - experimental optional AdFrameType adFrameType + # Indicates whether this frame was tagged as an ad and why. + experimental optional AdFrameStatus adFrameStatus # Indicates whether the main document is a secure context and explains why that is the case. experimental SecureContextType secureContextType # Indicates whether this is a cross origin isolated context. experimental CrossOriginIsolatedContextType crossOriginIsolatedContextType # Indicated which gated APIs / features are available. experimental array of GatedAPIFeatures gatedAPIFeatures + # Frame document's origin trials with at least one token present. + experimental optional array of OriginTrial originTrials # Information about the Resource on the page. experimental type FrameResource extends object @@ -6594,6 +6987,15 @@ domain Page strictOriginWhenCrossOrigin unsafeUrl + # Per-script compilation cache parameters for `Page.produceCompilationCache` + experimental type CompilationCacheParams extends object + properties + # The URL of the script to produce a compilation cache entry for. + string url + # A hint to the backend whether eager compilation is recommended. + # (the actual compilation mode used is upon backend discretion). + optional boolean eager + # Deprecated, please use addScriptToEvaluateOnNewDocument instead. experimental deprecated command addScriptToEvaluateOnLoad parameters @@ -6610,6 +7012,9 @@ domain Page # This world name will be used as the ExecutionContextDescription::name when the corresponding # event is emitted. experimental optional string worldName + # Specifies whether command line API should be available to the script, defaults + # to false. + experimental optional boolean includeCommandLineAPI returns # Identifier of the added script. ScriptIdentifier identifier @@ -6624,6 +7029,7 @@ domain Page optional enum format jpeg png + webp # Compression quality from range [0..100] (jpeg only). optional integer quality # Capture the screenshot of a given region only. @@ -6647,7 +7053,7 @@ domain Page # Serialized page data. string data - # Clears the overriden device metrics. + # Clears the overridden device metrics. experimental deprecated command clearDeviceMetricsOverride # Use 'Emulation.clearDeviceMetricsOverride' instead redirect Emulation @@ -6657,7 +7063,7 @@ domain Page # Use 'DeviceOrientation.clearDeviceOrientationOverride' instead redirect DeviceOrientation - # Clears the overriden Geolocation Position and Error. + # Clears the overridden Geolocation Position and Error. deprecated command clearGeolocationOverride # Use 'Emulation.clearGeolocationOverride' instead redirect Emulation @@ -6728,12 +7134,18 @@ domain Page # Returns metrics relating to the layouting of the page, such as viewport bounds/scale. command getLayoutMetrics returns - # Metrics relating to the layout viewport. - LayoutViewport layoutViewport - # Metrics relating to the visual viewport. - VisualViewport visualViewport - # Size of scrollable area. - DOM.Rect contentSize + # Deprecated metrics relating to the layout viewport. Can be in DP or in CSS pixels depending on the `enable-use-zoom-for-dsf` flag. Use `cssLayoutViewport` instead. + deprecated LayoutViewport layoutViewport + # Deprecated metrics relating to the visual viewport. Can be in DP or in CSS pixels depending on the `enable-use-zoom-for-dsf` flag. Use `cssVisualViewport` instead. + deprecated VisualViewport visualViewport + # Deprecated size of scrollable area. Can be in DP or in CSS pixels depending on the `enable-use-zoom-for-dsf` flag. Use `cssContentSize` instead. + deprecated DOM.Rect contentSize + # Metrics relating to the layout viewport in CSS pixels. + LayoutViewport cssLayoutViewport + # Metrics relating to the visual viewport in CSS pixels. + VisualViewport cssVisualViewport + # Size of scrollable area in CSS pixels. + DOM.Rect cssContentSize # Returns navigation history for the current page. command getNavigationHistory @@ -6990,7 +7402,7 @@ domain Page deny allow default - # The default path to save downloaded files to. This is requred if behavior is set to 'allow' + # The default path to save downloaded files to. This is required if behavior is set to 'allow' optional string downloadPath # Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position @@ -7063,10 +7475,24 @@ domain Page experimental command stopScreencast # Forces compilation cache to be generated for every subresource script. + # See also: `Page.produceCompilationCache`. experimental command setProduceCompilationCache parameters boolean enabled + # Requests backend to produce compilation cache for the specified scripts. + # Unlike setProduceCompilationCache, this allows client to only produce cache + # for specific scripts. `scripts` are appeneded to the list of scripts + # for which the cache for would produced. Disabling compilation cache with + # `setProduceCompilationCache` would reset all pending cache requests. + # The list may also be reset during page navigation. + # When script with a matching URL is encountered, the cache is optionally + # produced upon backend discretion, based on internal heuristics. + # See also: `Page.compilationCacheProduced`. + experimental command produceCompilationCache + parameters + array of CompilationCacheParams scripts + # Seeds compilation cache for given url. Compilation cache does not survive # cross-process navigation. experimental command addCompilationCache @@ -7140,11 +7566,18 @@ domain Page # A new frame target will be created (see Target.attachedToTarget). swap + # The type of a frameNavigated event. + experimental type NavigationType extends string + enum + Navigation + BackForwardCacheRestore + # Fired once navigation of the frame has completed. Frame is now associated with the new loader. event frameNavigated parameters # Frame object. Frame frame + experimental NavigationType type # Fired when opening document to write to. experimental event documentOpened @@ -7193,7 +7626,8 @@ domain Page FrameId frameId # Fired when page is about to start a download. - experimental event downloadWillBegin + # Deprecated. Use Browser.downloadWillBegin instead. + experimental deprecated event downloadWillBegin parameters # Id of the frame that caused download to begin. FrameId frameId @@ -7205,7 +7639,8 @@ domain Page string suggestedFilename # Fired when download makes progress. Last call has |done| == true. - experimental event downloadProgress + # Deprecated. Use Browser.downloadProgress instead. + experimental deprecated event downloadProgress parameters # Global unique identifier of the download. string guid @@ -7261,6 +7696,132 @@ domain Page string name Network.MonotonicTime timestamp + # List of not restored reasons for back-forward cache. + experimental type BackForwardCacheNotRestoredReason extends string + enum + NotMainFrame + BackForwardCacheDisabled + RelatedActiveContentsExist + HTTPStatusNotOK + SchemeNotHTTPOrHTTPS + Loading + WasGrantedMediaAccess + DisableForRenderFrameHostCalled + DomainNotAllowed + HTTPMethodNotGET + SubframeIsNavigating + Timeout + CacheLimit + JavaScriptExecution + RendererProcessKilled + RendererProcessCrashed + GrantedMediaStreamAccess + SchedulerTrackedFeatureUsed + ConflictingBrowsingInstance + CacheFlushed + ServiceWorkerVersionActivation + SessionRestored + ServiceWorkerPostMessage + EnteredBackForwardCacheBeforeServiceWorkerHostAdded + RenderFrameHostReused_SameSite + RenderFrameHostReused_CrossSite + ServiceWorkerClaim + IgnoreEventAndEvict + HaveInnerContents + TimeoutPuttingInCache + BackForwardCacheDisabledByLowMemory + BackForwardCacheDisabledByCommandLine + NetworkRequestDatapipeDrainedAsBytesConsumer + NetworkRequestRedirected + NetworkRequestTimeout + NetworkExceedsBufferLimit + NavigationCancelledWhileRestoring + NotMostRecentNavigationEntry + BackForwardCacheDisabledForPrerender + UserAgentOverrideDiffers + ForegroundCacheLimit + BrowsingInstanceNotSwapped + BackForwardCacheDisabledForDelegate + OptInUnloadHeaderNotPresent + UnloadHandlerExistsInSubFrame + ServiceWorkerUnregistration + CacheControlNoStore + CacheControlNoStoreCookieModified + CacheControlNoStoreHTTPOnlyCookieModified + #Blocklisted features + WebSocket + WebRTC + MainResourceHasCacheControlNoStore + MainResourceHasCacheControlNoCache + SubresourceHasCacheControlNoStore + SubresourceHasCacheControlNoCache + ContainsPlugins + DocumentLoaded + DedicatedWorkerOrWorklet + OutstandingNetworkRequestOthers + OutstandingIndexedDBTransaction + RequestedNotificationsPermission + RequestedMIDIPermission + RequestedAudioCapturePermission + RequestedVideoCapturePermission + RequestedBackForwardCacheBlockedSensors + RequestedBackgroundWorkPermission + BroadcastChannel + IndexedDBConnection + WebXR + SharedWorker + WebLocks + WebHID + WebShare + RequestedStorageAccessGrant + WebNfc + WebFileSystem + OutstandingNetworkRequestFetch + OutstandingNetworkRequestXHR + AppBanner + Printing + WebDatabase + PictureInPicture + Portal + SpeechRecognizer + IdleManager + PaymentManager + SpeechSynthesis + KeyboardLock + WebOTPService + OutstandingNetworkRequestDirectSocket + IsolatedWorldScript + InjectedStyleSheet + MediaSessionImplOnServiceCreated + Unknown + + # Types of not restored reasons for back-forward cache. + experimental type BackForwardCacheNotRestoredReasonType extends string + enum + SupportPending + PageSupportNeeded + Circumstantial + + experimental type BackForwardCacheNotRestoredExplanation extends object + properties + # Type of the reason + BackForwardCacheNotRestoredReasonType type + # Not restored reason + BackForwardCacheNotRestoredReason reason + + # Fired for failed bfcache history navigations if BackForwardCache feature is enabled. Do + # not assume any ordering with the Page.frameNavigated event. This event is fired only for + # main-frame history navigation where the document changes (non-same-document navigations), + # when bfcache navigation fails. + experimental event backForwardCacheNotUsed + parameters + # The loader id for the associated navgation. + Network.LoaderId loaderId + # The frame id of the associated frame. + FrameId frameId + # Array of reasons why the page could not be cached. This must not be empty. + array of BackForwardCacheNotRestoredExplanation notRestoredExplanations + event loadEventFired parameters Network.MonotonicTime timestamp @@ -7822,7 +8383,7 @@ experimental domain Storage # Security origin. string origin # The quota size (in bytes) to override the original quota with. - # If this is called multiple times, the overriden quota will be equal to + # If this is called multiple times, the overridden quota will be equal to # the quotaSize provided in the final call. If this is called without # specifying a quotaSize, the quota will be reset to the default value for # the specified origin. If this is called multiple times with different @@ -7860,6 +8421,15 @@ experimental domain Storage returns array of TrustTokens tokens + # Removes all Trust Tokens issued by the provided issuerOrigin. + # Leaves other stored data, including the issuer's Redemption Records, intact. + experimental command clearTrustTokens + parameters + string issuerOrigin + returns + # True if any tokens were deleted, false otherwise. + boolean didDeleteTokens + # A cache's contents have been modified. event cacheStorageContentUpdated parameters @@ -8121,7 +8691,7 @@ domain Target # Creates a new page. command createTarget parameters - # The initial URL the page will be navigated to. + # The initial URL the page will be navigated to. An empty string indicates about:blank. string url # Frame width in DIP (headless chrome only). optional integer width @@ -8334,6 +8904,17 @@ experimental domain Tracing light detailed + # Backend type to use for tracing. `chrome` uses the Chrome-integrated + # tracing service and is supported on all platforms. `system` is only + # supported on Chrome OS and uses the Perfetto system tracing service. + # `auto` chooses `system` when the perfettoConfig provided to Tracing.start + # specifies at least one non-Chrome data source; otherwise uses `chrome`. + type TracingBackend extends string + enum + auto + chrome + system + # Stop trace events collection. command end @@ -8387,6 +8968,8 @@ experimental domain Tracing # When specified, the parameters `categories`, `options`, `traceConfig` # are ignored. optional binary perfettoConfig + # Backend type (defaults to `auto`) + optional TracingBackend tracingBackend event bufferUsage parameters @@ -8430,7 +9013,7 @@ domain Fetch # Stages of the request to handle. Request will intercept before the request is # sent. Response will intercept after the response is received (but before response - # body is received. + # body is received). type RequestStage extends string enum Request @@ -8438,12 +9021,12 @@ domain Fetch type RequestPattern extends object properties - # Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is - # backslash. Omitting is equivalent to "*". + # Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is + # backslash. Omitting is equivalent to `"*"`. optional string urlPattern # If set, only requests for matching resource types will be intercepted. optional Network.ResourceType resourceType - # Stage at wich to begin intercepting requests. Default is Request. + # Stage at which to begin intercepting requests. Default is Request. optional RequestStage requestStage # Response HTTP header entry @@ -8673,7 +9256,7 @@ experimental domain WebAudio properties # The current context time in second in BaseAudioContext. number currentTime - # The time spent on rendering graph divided by render qunatum duration, + # The time spent on rendering graph divided by render quantum duration, # and multiplied by 100. 100 means the audio renderer reached the full # capacity and glitch may occur. number renderCapacity @@ -8863,6 +9446,10 @@ experimental domain WebAuthn # https://w3c.github.io/webauthn#largeBlob # Defaults to false. optional boolean hasLargeBlob + # If set to true, the authenticator will support the credBlob extension. + # https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#sctn-credBlob-extension + # Defaults to false. + optional boolean hasCredBlob # If set to true, tests of user presence will succeed immediately. # Otherwise, they will not be resolved. Defaults to true. optional boolean automaticPresenceSimulation @@ -9036,8 +9623,8 @@ experimental domain Media PlayerId playerId array of PlayerError errors - # Called whenever a player is created, or when a new agent joins and recieves - # a list of active players. If an agent is restored, it will recieve the full + # Called whenever a player is created, or when a new agent joins and receives + # a list of active players. If an agent is restored, it will receive the full # list of player ids and all events again. event playersCreated parameters diff --git a/common/devtools/chromium/v90/js_protocol.pdl b/common/devtools/chromium/v93/js_protocol.pdl similarity index 97% rename from common/devtools/chromium/v90/js_protocol.pdl rename to common/devtools/chromium/v93/js_protocol.pdl index 666952f27b97f..63baa3da13b84 100644 --- a/common/devtools/chromium/v90/js_protocol.pdl +++ b/common/devtools/chromium/v93/js_protocol.pdl @@ -175,7 +175,7 @@ domain Debugger command enable parameters # The maximum size in bytes of collected scripts (not referenced by other heap objects) - # the debugger can hold. Puts no limit if paramter is omitted. + # the debugger can hold. Puts no limit if parameter is omitted. experimental optional number maxScriptsCacheSize returns # Unique identifier of the debugger. @@ -267,7 +267,7 @@ domain Debugger BreakpointId breakpointId # Restarts particular call frame from the beginning. - command restartFrame + deprecated command restartFrame parameters # Call frame identifier to evaluate on. CallFrameId callFrameId @@ -707,13 +707,17 @@ experimental domain HeapProfiler # when the tracking is stopped. optional boolean reportProgress optional boolean treatGlobalObjectsAsRoots + # If true, numerical values are included in the snapshot + optional boolean captureNumericValue command takeHeapSnapshot parameters # If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken. optional boolean reportProgress - # If true, a raw snapshot without artifical roots will be generated + # If true, a raw snapshot without artificial roots will be generated optional boolean treatGlobalObjectsAsRoots + # If true, numerical values are included in the snapshot + optional boolean captureNumericValue event addHeapSnapshotChunk parameters @@ -968,13 +972,13 @@ domain Profiler # Reports coverage delta since the last poll (either from an event like this, or from # `takePreciseCoverage` for the current isolate. May only be sent if precise code # coverage has been started. This event can be trigged by the embedder to, for example, - # trigger collection of coverage data immediatelly at a certain point in time. + # trigger collection of coverage data immediately at a certain point in time. experimental event preciseCoverageDeltaUpdate parameters # Monotonically increasing time (in seconds) when the coverage update was taken in the backend. number timestamp # Identifier for distinguishing coverage events. - string occassion + string occasion # Coverage data for the current isolate. array of ScriptCoverage result @@ -1221,7 +1225,7 @@ domain Runtime string origin # Human readable name describing given context. string name - # A system-unique execution context identifier. Unlike the id, this is unique accross + # A system-unique execution context identifier. Unlike the id, this is unique across # multiple processes, so can be reliably used to identify specific context while backend # performs a cross-process navigation. experimental string uniqueId @@ -1250,6 +1254,10 @@ domain Runtime optional RemoteObject exception # Identifier of the context where exception happened. optional ExecutionContextId executionContextId + # Dictionary with entries of meta data that the client associated + # with this exception, such as information about associated network + # requests, etc. + experimental optional object exceptionMetaData # Number of milliseconds since epoch. type Timestamp extends number @@ -1339,6 +1347,8 @@ domain Runtime # Symbolic group name that can be used to release multiple objects. If objectGroup is not # specified and objectId is, objectGroup will be inherited from object. optional string objectGroup + # Whether to throw an exception if side effect cannot be ruled out during evaluation. + experimental optional boolean throwOnSideEffect returns # Call result. RemoteObject result @@ -1418,9 +1428,9 @@ domain Runtime # evaluation and allows unsafe-eval. Defaults to true. experimental optional boolean allowUnsafeEvalBlockedByCSP # An alternative way to specify the execution context to evaluate in. - # Compared to contextId that may be reused accross processes, this is guaranteed to be + # Compared to contextId that may be reused across processes, this is guaranteed to be # system-unique, so it can be used to prevent accidental evaluation of the expression - # in context different than intended (e.g. as a result of navigation accross process + # in context different than intended (e.g. as a result of navigation across process # boundaries). # This is mutually exclusive with `contextId`. experimental optional string uniqueContextId @@ -1563,7 +1573,10 @@ domain Runtime # execution context. If omitted and `executionContextName` is not set, # the binding is exposed to all execution contexts of the target. # This parameter is mutually exclusive with `executionContextName`. - optional ExecutionContextId executionContextId + # Deprecated in favor of `executionContextName` due to an unclear use case + # and bugs in implementation (crbug.com/1169639). `executionContextId` will be + # removed in the future. + deprecated optional ExecutionContextId executionContextId # If specified, the binding is exposed to the executionContext with # matching name, even for contexts created after the binding is added. # See also `ExecutionContext.name` and `worldName` parameter to