From 218a4bacd480f8def1694de212a6eceabf431714 Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Fri, 11 Sep 2026 06:40:23 +0800 Subject: [PATCH] split out protocol.json to 1 line per command --- src/data/protocol.json | 801 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 800 insertions(+), 1 deletion(-) diff --git a/src/data/protocol.json b/src/data/protocol.json index 75b6c3d4f..8ccb701a6 100644 --- a/src/data/protocol.json +++ b/src/data/protocol.json @@ -1 +1,800 @@ -{"version":{"major":"1","minor":"3"},"domains":[{"domain":"LP","experimental":true,"commands":[{"name":"dump","description":"The CDP face of --dump: one method for every output format, with the same strip groups and scoping as the CLI.","parameters":[{"name":"format","type":"string","enum":["html","markdown","png","pdf"]},{"name":"strip","description":"Element groups to omit: js, css, ui, invisible, shell, clutter. shell drops nav, aside, dialog, page-level header/footer and the matching landmark roles, and is undone when that would remove most of the text. clutter keeps only the main content in the manner of reader modes; it includes shell, falls back to it when it finds too little, and implies invisible.","optional":true,"type":"object"},{"name":"selector","description":"Scope the dump to the first element matching this CSS selector.","optional":true,"type":"string"},{"name":"backendNodeId","description":"Scope the dump to this node.","optional":true,"type":"integer"},{"name":"maxBytes","description":"Soft cap for html and markdown; output is cut at a UTF-8 boundary and a truncation marker appended.","optional":true,"type":"integer"}],"returns":[{"name":"format","type":"string"},{"name":"content","description":"The dump; base64 for png and pdf.","type":"string"}]},{"name":"getMarkdown","description":"Deprecated: use dump with format markdown.","deprecated":true},{"name":"getSemanticTree"},{"name":"getInteractiveElements"},{"name":"getNodeDetails"},{"name":"getStructuredData"},{"name":"getContentSignal"},{"name":"detectForms"},{"name":"clickNode"},{"name":"fillNode"},{"name":"scrollNode"},{"name":"waitForSelector"},{"name":"handleJavaScriptDialog"},{"name":"configureCDP"},{"name":"configureLoading"},{"name":"version"}]},{"domain":"IO","description":"Input/Output operations for streams produced by DevTools.","types":[{"id":"StreamHandle","description":"This is either obtained from another method or specified as `blob:` where\n`` is an UUID of a Blob.","type":"string"}],"commands":[{"name":"read","description":"Read a chunk of the stream","parameters":[{"name":"handle","description":"Handle of the stream to read.","$ref":"StreamHandle"},{"name":"offset","description":"Seek to the specified offset before reading (if not specified, proceed with offset\nfollowing the last read). Some types of streams may only support sequential reads.","optional":true,"type":"integer"},{"name":"size","description":"Maximum number of bytes to read (left upon the agent discretion if not specified).","optional":true,"type":"integer"}],"returns":[{"name":"base64Encoded","description":"Set if the data is base64-encoded","optional":true,"type":"boolean"},{"name":"data","description":"Data that were read.","type":"string"},{"name":"eof","description":"Set if the end-of-file condition occurred while reading.","type":"boolean"}]},{"name":"close","description":"Close the stream, discard any temporary backing storage.","parameters":[{"name":"handle","description":"Handle of the stream to close.","$ref":"StreamHandle"}]}]},{"domain":"DOM","description":"This domain exposes DOM read/write operations. Each DOM Node is represented with its mirror object\nthat has an `id`. This `id` can be used to get additional information on the Node, resolve it into\nthe JavaScript object wrapper, etc. It is important that client receives DOM events only for the\nnodes that are known to the client. Backend keeps track of the nodes that were sent to the client\nand never sends the same node twice. It is client's responsibility to collect information about\nthe nodes that were sent to the client. Note that `iframe` owner elements will return\ncorresponding document elements as their child nodes.","dependencies":["Runtime","Network"],"types":[{"id":"NodeId","description":"Unique DOM node identifier.","type":"integer"},{"id":"BackendNodeId","description":"Unique DOM node identifier used to reference a node that may not have been pushed to the\nfront-end.","type":"integer"},{"id":"StyleSheetId","description":"Unique identifier for a CSS stylesheet.","type":"string"},{"id":"BackendNode","description":"Backend node with a friendly name.","type":"object","properties":[{"name":"nodeType","description":"`Node`'s nodeType.","type":"integer"},{"name":"nodeName","description":"`Node`'s nodeName.","type":"string"},{"name":"backendNodeId","$ref":"BackendNodeId"}]},{"id":"PseudoType","description":"Pseudo element type.","type":"string","enum":["first-line","first-letter","checkmark","before","after","expand-icon","picker-icon","interest-button","marker","backdrop","column","selection","search-text","target-text","spelling-error","grammar-error","highlight","first-line-inherited","scroll-marker","scroll-marker-group","scroll-button","scrollbar","scrollbar-thumb","scrollbar-button","scrollbar-track","scrollbar-track-piece","scrollbar-corner","resizer","input-list-button","view-transition","view-transition-group","view-transition-image-pair","view-transition-group-children","view-transition-old","view-transition-new","placeholder","file-selector-button","details-content","picker","permission-icon","overscroll-area-parent"]},{"id":"ShadowRootType","description":"Shadow root type.","type":"string","enum":["user-agent","open","closed"]},{"id":"CompatibilityMode","description":"Document compatibility mode.","type":"string","enum":["QuirksMode","LimitedQuirksMode","NoQuirksMode"]},{"id":"PhysicalAxes","description":"ContainerSelector physical axes","type":"string","enum":["Horizontal","Vertical","Both"]},{"id":"LogicalAxes","description":"ContainerSelector logical axes","type":"string","enum":["Inline","Block","Both"]},{"id":"ScrollOrientation","description":"Physical scroll orientation","type":"string","enum":["horizontal","vertical"]},{"id":"Node","description":"DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes.\nDOMNode is a base node mirror type.","type":"object","properties":[{"name":"nodeId","description":"Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend\nwill only push node with given `id` once. It is aware of all requested nodes and will only\nfire DOM events for nodes known to the client.","$ref":"NodeId"},{"name":"parentId","description":"The id of the parent node if any.","optional":true,"$ref":"NodeId"},{"name":"backendNodeId","description":"The BackendNodeId for this node.","$ref":"BackendNodeId"},{"name":"nodeType","description":"`Node`'s nodeType.","type":"integer"},{"name":"nodeName","description":"`Node`'s nodeName.","type":"string"},{"name":"localName","description":"`Node`'s localName.","type":"string"},{"name":"nodeValue","description":"`Node`'s nodeValue.","type":"string"},{"name":"childNodeCount","description":"Child count for `Container` nodes.","optional":true,"type":"integer"},{"name":"children","description":"Child nodes of this node when requested with children.","optional":true,"type":"array","items":{"$ref":"Node"}},{"name":"attributes","description":"Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.","optional":true,"type":"array","items":{"type":"string"}},{"name":"documentURL","description":"Document URL that `Document` or `FrameOwner` node points to.","optional":true,"type":"string"},{"name":"baseURL","description":"Base URL that `Document` or `FrameOwner` node uses for URL completion.","optional":true,"type":"string"},{"name":"publicId","description":"`DocumentType`'s publicId.","optional":true,"type":"string"},{"name":"systemId","description":"`DocumentType`'s systemId.","optional":true,"type":"string"},{"name":"internalSubset","description":"`DocumentType`'s internalSubset.","optional":true,"type":"string"},{"name":"xmlVersion","description":"`Document`'s XML version in case of XML documents.","optional":true,"type":"string"},{"name":"name","description":"`Attr`'s name.","optional":true,"type":"string"},{"name":"value","description":"`Attr`'s value.","optional":true,"type":"string"},{"name":"pseudoType","description":"Pseudo element type for this node.","optional":true,"$ref":"PseudoType"},{"name":"pseudoIdentifier","description":"Pseudo element identifier for this node. Only present if there is a\nvalid pseudoType.","optional":true,"type":"string"},{"name":"shadowRootType","description":"Shadow root type.","optional":true,"$ref":"ShadowRootType"},{"name":"frameId","description":"Frame ID for frame owner elements.","optional":true,"$ref":"Page.FrameId"},{"name":"contentDocument","description":"Content document for frame owner elements.","optional":true,"$ref":"Node"},{"name":"shadowRoots","description":"Shadow root list for given element host.","optional":true,"type":"array","items":{"$ref":"Node"}},{"name":"templateContent","description":"Content document fragment for template elements.","optional":true,"$ref":"Node"},{"name":"pseudoElements","description":"Pseudo elements associated with this node.","optional":true,"type":"array","items":{"$ref":"Node"}},{"name":"importedDocument","description":"Deprecated, as the HTML Imports API has been removed (crbug.com/937746).\nThis property used to return the imported document for the HTMLImport links.\nThe property is always undefined now.","deprecated":true,"optional":true,"$ref":"Node"},{"name":"distributedNodes","description":"Distributed nodes for given insertion point.","optional":true,"type":"array","items":{"$ref":"BackendNode"}},{"name":"isSVG","description":"Whether the node is SVG.","optional":true,"type":"boolean"},{"name":"compatibilityMode","optional":true,"$ref":"CompatibilityMode"},{"name":"assignedSlot","optional":true,"$ref":"BackendNode"},{"name":"isScrollable","experimental":true,"optional":true,"type":"boolean"},{"name":"affectedByStartingStyles","experimental":true,"optional":true,"type":"boolean"},{"name":"adoptedStyleSheets","experimental":true,"optional":true,"type":"array","items":{"$ref":"StyleSheetId"}},{"name":"adProvenance","experimental":true,"optional":true,"$ref":"Network.AdProvenance"}]},{"id":"DetachedElementInfo","description":"A structure to hold the top-level node of a detached tree and an array of its retained descendants.","type":"object","properties":[{"name":"treeNode","$ref":"Node"},{"name":"retainedNodeIds","type":"array","items":{"$ref":"NodeId"}}]},{"id":"RGBA","description":"A structure holding an RGBA color.","type":"object","properties":[{"name":"r","description":"The red component, in the [0-255] range.","type":"integer"},{"name":"g","description":"The green component, in the [0-255] range.","type":"integer"},{"name":"b","description":"The blue component, in the [0-255] range.","type":"integer"},{"name":"a","description":"The alpha component, in the [0-1] range (default: 1).","optional":true,"type":"number"}]},{"id":"Quad","description":"An array of quad vertices, x immediately followed by y for each point, points clock-wise.","type":"array","items":{"type":"number"}},{"id":"BoxModel","description":"Box model.","type":"object","properties":[{"name":"content","description":"Content box","$ref":"Quad"},{"name":"padding","description":"Padding box","$ref":"Quad"},{"name":"border","description":"Border box","$ref":"Quad"},{"name":"margin","description":"Margin box","$ref":"Quad"},{"name":"width","description":"Node width","type":"integer"},{"name":"height","description":"Node height","type":"integer"},{"name":"shapeOutside","description":"Shape outside coordinates","optional":true,"$ref":"ShapeOutsideInfo"}]},{"id":"ShapeOutsideInfo","description":"CSS Shape Outside details.","type":"object","properties":[{"name":"bounds","description":"Shape bounds","$ref":"Quad"},{"name":"shape","description":"Shape coordinate details","type":"array","items":{"type":"any"}},{"name":"marginShape","description":"Margin shape bounds","type":"array","items":{"type":"any"}}]},{"id":"Rect","description":"Rectangle.","type":"object","properties":[{"name":"x","description":"X coordinate","type":"number"},{"name":"y","description":"Y coordinate","type":"number"},{"name":"width","description":"Rectangle width","type":"number"},{"name":"height","description":"Rectangle height","type":"number"}]},{"id":"CSSComputedStyleProperty","type":"object","properties":[{"name":"name","description":"Computed style property name.","type":"string"},{"name":"value","description":"Computed style property value.","type":"string"}]}],"events":[{"name":"attributeModified","description":"Fired when `Element`'s attribute is modified.","parameters":[{"name":"nodeId","description":"Id of the node that has changed.","$ref":"NodeId"},{"name":"name","description":"Attribute name.","type":"string"},{"name":"value","description":"Attribute value.","type":"string"}]},{"name":"adoptedStyleSheetsModified","description":"Fired when `Element`'s adoptedStyleSheets are modified.","experimental":true,"parameters":[{"name":"nodeId","description":"Id of the node that has changed.","$ref":"NodeId"},{"name":"adoptedStyleSheets","description":"New adoptedStyleSheets array.","experimental":true,"type":"array","items":{"$ref":"StyleSheetId"}}]},{"name":"attributeRemoved","description":"Fired when `Element`'s attribute is removed.","parameters":[{"name":"nodeId","description":"Id of the node that has changed.","$ref":"NodeId"},{"name":"name","description":"A ttribute name.","type":"string"}]},{"name":"characterDataModified","description":"Mirrors `DOMCharacterDataModified` event.","parameters":[{"name":"nodeId","description":"Id of the node that has changed.","$ref":"NodeId"},{"name":"characterData","description":"New text value.","type":"string"}]},{"name":"childNodeCountUpdated","description":"Fired when `Container`'s child node count has changed.","parameters":[{"name":"nodeId","description":"Id of the node that has changed.","$ref":"NodeId"},{"name":"childNodeCount","description":"New node count.","type":"integer"}]},{"name":"childNodeInserted","description":"Mirrors `DOMNodeInserted` event.","parameters":[{"name":"parentNodeId","description":"Id of the node that has changed.","$ref":"NodeId"},{"name":"previousNodeId","description":"Id of the previous sibling.","$ref":"NodeId"},{"name":"node","description":"Inserted node data.","$ref":"Node"}]},{"name":"childNodeRemoved","description":"Mirrors `DOMNodeRemoved` event.","parameters":[{"name":"parentNodeId","description":"Parent id.","$ref":"NodeId"},{"name":"nodeId","description":"Id of the node that has been removed.","$ref":"NodeId"}]},{"name":"distributedNodesUpdated","description":"Called when distribution is changed.","experimental":true,"parameters":[{"name":"insertionPointId","description":"Insertion point where distributed nodes were updated.","$ref":"NodeId"},{"name":"distributedNodes","description":"Distributed nodes for given insertion point.","type":"array","items":{"$ref":"BackendNode"}}]},{"name":"documentUpdated","description":"Fired when `Document` has been totally updated. Node ids are no longer valid."},{"name":"inlineStyleInvalidated","description":"Fired when `Element`'s inline style is modified via a CSS property modification.","experimental":true,"parameters":[{"name":"nodeIds","description":"Ids of the nodes for which the inline styles have been invalidated.","type":"array","items":{"$ref":"NodeId"}}]},{"name":"pseudoElementAdded","description":"Called when a pseudo element is added to an element.","experimental":true,"parameters":[{"name":"parentId","description":"Pseudo element's parent element id.","$ref":"NodeId"},{"name":"pseudoElement","description":"The added pseudo element.","$ref":"Node"}]},{"name":"topLayerElementsUpdated","description":"Called when top layer elements are changed.","experimental":true},{"name":"scrollableFlagUpdated","description":"Fired when a node's scrollability state changes.","experimental":true,"parameters":[{"name":"nodeId","description":"The id of the node.","$ref":"DOM.NodeId"},{"name":"isScrollable","description":"If the node is scrollable.","type":"boolean"}]},{"name":"adRelatedStateUpdated","description":"Fired when a node's ad related state changes.","experimental":true,"parameters":[{"name":"nodeId","description":"The id of the node.","$ref":"DOM.NodeId"},{"name":"adProvenance","description":"The provenance of the ad related node, if it is ad related.","optional":true,"$ref":"Network.AdProvenance"}]},{"name":"affectedByStartingStylesFlagUpdated","description":"Fired when a node's starting styles changes.","experimental":true,"parameters":[{"name":"nodeId","description":"The id of the node.","$ref":"DOM.NodeId"},{"name":"affectedByStartingStyles","description":"If the node has starting styles.","type":"boolean"}]},{"name":"pseudoElementRemoved","description":"Called when a pseudo element is removed from an element.","experimental":true,"parameters":[{"name":"parentId","description":"Pseudo element's parent element id.","$ref":"NodeId"},{"name":"pseudoElementId","description":"The removed pseudo element id.","$ref":"NodeId"}]},{"name":"setChildNodes","description":"Fired when backend wants to provide client with the missing DOM structure. This happens upon\nmost of the calls requesting node ids.","parameters":[{"name":"parentId","description":"Parent node id to populate with children.","$ref":"NodeId"},{"name":"nodes","description":"Child nodes array.","type":"array","items":{"$ref":"Node"}}]},{"name":"shadowRootPopped","description":"Called when shadow root is popped from the element.","experimental":true,"parameters":[{"name":"hostId","description":"Host element id.","$ref":"NodeId"},{"name":"rootId","description":"Shadow root id.","$ref":"NodeId"}]},{"name":"shadowRootPushed","description":"Called when shadow root is pushed into the element.","experimental":true,"parameters":[{"name":"hostId","description":"Host element id.","$ref":"NodeId"},{"name":"root","description":"Shadow root.","$ref":"Node"}]}],"commands":[{"name":"enable","description":"Enables DOM agent for the given page.","parameters":[{"name":"includeWhitespace","description":"Whether to include whitespaces in the children array of returned Nodes.","experimental":true,"optional":true,"type":"string","enum":["none","all"]}]},{"name":"getDocument","description":"Returns the root DOM node (and optionally the subtree) to the caller.\nImplicitly enables the DOM domain events for the current target.","parameters":[{"name":"depth","description":"The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.","optional":true,"type":"integer"},{"name":"pierce","description":"Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false).","optional":true,"type":"boolean"}],"returns":[{"name":"root","description":"Resulting node.","$ref":"Node"}]},{"name":"performSearch","description":"Searches for a given string in the DOM tree. Use `getSearchResults` to access search results or\n`cancelSearch` to end this search session.","experimental":true,"parameters":[{"name":"query","description":"Plain text or query selector or XPath search query.","type":"string"},{"name":"includeUserAgentShadowDOM","description":"True to search in user agent shadow DOM.","optional":true,"type":"boolean"}],"returns":[{"name":"searchId","description":"Unique search session identifier.","type":"string"},{"name":"resultCount","description":"Number of search results.","type":"integer"}]},{"name":"getSearchResults","description":"Returns search results from given `fromIndex` to given `toIndex` from the search with the given\nidentifier.","experimental":true,"parameters":[{"name":"searchId","description":"Unique search session identifier.","type":"string"},{"name":"fromIndex","description":"Start index of the search result to be returned.","type":"integer"},{"name":"toIndex","description":"End index of the search result to be returned.","type":"integer"}],"returns":[{"name":"nodeIds","description":"Ids of the search result nodes.","type":"array","items":{"$ref":"NodeId"}}]},{"name":"discardSearchResults","description":"Discards search results from the session with the given id. `getSearchResults` should no longer\nbe called for that search.","experimental":true,"parameters":[{"name":"searchId","description":"Unique search session identifier.","type":"string"}]},{"name":"querySelector","description":"Executes `querySelector` on a given node.","parameters":[{"name":"nodeId","description":"Id of the node to query upon.","$ref":"NodeId"},{"name":"selector","description":"Selector string.","type":"string"}],"returns":[{"name":"nodeId","description":"Query selector result.","$ref":"NodeId"}]},{"name":"querySelectorAll","description":"Executes `querySelectorAll` on a given node.","parameters":[{"name":"nodeId","description":"Id of the node to query upon.","$ref":"NodeId"},{"name":"selector","description":"Selector string.","type":"string"}],"returns":[{"name":"nodeIds","description":"Query selector result.","type":"array","items":{"$ref":"NodeId"}}]},{"name":"resolveNode","description":"Resolves the JavaScript node object for a given NodeId or BackendNodeId.","parameters":[{"name":"nodeId","description":"Id of the node to resolve.","optional":true,"$ref":"NodeId"},{"name":"backendNodeId","description":"Backend identifier of the node to resolve.","optional":true,"$ref":"DOM.BackendNodeId"},{"name":"objectGroup","description":"Symbolic group name that can be used to release multiple objects.","optional":true,"type":"string"},{"name":"executionContextId","description":"Execution context in which to resolve the node.","optional":true,"$ref":"Runtime.ExecutionContextId"}],"returns":[{"name":"object","description":"JavaScript object wrapper for given node.","$ref":"Runtime.RemoteObject"}]},{"name":"describeNode","description":"Describes node given its id, does not require domain to be enabled. Does not start tracking any\nobjects, can be used for automation.","parameters":[{"name":"nodeId","description":"Identifier of the node.","optional":true,"$ref":"NodeId"},{"name":"backendNodeId","description":"Identifier of the backend node.","optional":true,"$ref":"BackendNodeId"},{"name":"objectId","description":"JavaScript object id of the node wrapper.","optional":true,"$ref":"Runtime.RemoteObjectId"},{"name":"depth","description":"The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.","optional":true,"type":"integer"},{"name":"pierce","description":"Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false).","optional":true,"type":"boolean"}],"returns":[{"name":"node","description":"Node description.","$ref":"Node"}]},{"name":"scrollIntoViewIfNeeded","description":"Scrolls the specified rect of the given node into view if not already visible.\nNote: exactly one between nodeId, backendNodeId and objectId should be passed\nto identify the node.","parameters":[{"name":"nodeId","description":"Identifier of the node.","optional":true,"$ref":"NodeId"},{"name":"backendNodeId","description":"Identifier of the backend node.","optional":true,"$ref":"BackendNodeId"},{"name":"objectId","description":"JavaScript object id of the node wrapper.","optional":true,"$ref":"Runtime.RemoteObjectId"},{"name":"rect","description":"The rect to be scrolled into view, relative to the node's border box, in CSS pixels.\nWhen omitted, center of the node will be used, similar to Element.scrollIntoView.","optional":true,"$ref":"Rect"}]},{"name":"getContentQuads","description":"Returns quads that describe node position on the page. This method\nmight return multiple quads for inline nodes.","experimental":true,"parameters":[{"name":"nodeId","description":"Identifier of the node.","optional":true,"$ref":"NodeId"},{"name":"backendNodeId","description":"Identifier of the backend node.","optional":true,"$ref":"BackendNodeId"},{"name":"objectId","description":"JavaScript object id of the node wrapper.","optional":true,"$ref":"Runtime.RemoteObjectId"}],"returns":[{"name":"quads","description":"Quads that describe node layout relative to viewport.","type":"array","items":{"$ref":"Quad"}}]},{"name":"getBoxModel","description":"Returns boxes for the given node.","parameters":[{"name":"nodeId","description":"Identifier of the node.","optional":true,"$ref":"NodeId"},{"name":"backendNodeId","description":"Identifier of the backend node.","optional":true,"$ref":"BackendNodeId"},{"name":"objectId","description":"JavaScript object id of the node wrapper.","optional":true,"$ref":"Runtime.RemoteObjectId"}],"returns":[{"name":"model","description":"Box model for the node.","$ref":"BoxModel"}]},{"name":"requestChildNodes","description":"Requests that children of the node with given id are returned to the caller in form of\n`setChildNodes` events where not only immediate children are retrieved, but all children down to\nthe specified depth.","parameters":[{"name":"nodeId","description":"Id of the node to get children for.","$ref":"NodeId"},{"name":"depth","description":"The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0.","optional":true,"type":"integer"},{"name":"pierce","description":"Whether or not iframes and shadow roots should be traversed when returning the sub-tree\n(default is false).","optional":true,"type":"boolean"}]},{"name":"getFrameOwner","description":"Returns iframe node that owns iframe with the given domain.","experimental":true,"parameters":[{"name":"frameId","$ref":"Page.FrameId"}],"returns":[{"name":"backendNodeId","description":"Resulting node.","$ref":"BackendNodeId"},{"name":"nodeId","description":"Id of the node at given coordinates, only when enabled and requested document.","optional":true,"$ref":"NodeId"}]},{"name":"getOuterHTML","description":"Returns node's HTML markup.","parameters":[{"name":"nodeId","description":"Identifier of the node.","optional":true,"$ref":"NodeId"},{"name":"backendNodeId","description":"Identifier of the backend node.","optional":true,"$ref":"BackendNodeId"},{"name":"objectId","description":"JavaScript object id of the node wrapper.","optional":true,"$ref":"Runtime.RemoteObjectId"},{"name":"includeShadowDOM","description":"Include all shadow roots. Equals to false if not specified.","experimental":true,"optional":true,"type":"boolean"}],"returns":[{"name":"outerHTML","description":"Outer HTML markup.","type":"string"}]},{"name":"requestNode","description":"Requests that the node is sent to the caller given the JavaScript node object reference. All\nnodes that form the path from the node to the root are also sent to the client as a series of\n`setChildNodes` notifications.","parameters":[{"name":"objectId","description":"JavaScript object id to convert into node.","$ref":"Runtime.RemoteObjectId"}],"returns":[{"name":"nodeId","description":"Node id for given object.","$ref":"NodeId"}]},{"name":"setFileInputFiles","description":"Sets files for the given file input element.","parameters":[{"name":"files","description":"Array of file paths to set.","type":"array","items":{"type":"string"}},{"name":"nodeId","description":"Identifier of the node.","optional":true,"$ref":"NodeId"},{"name":"backendNodeId","description":"Identifier of the backend node.","optional":true,"$ref":"BackendNodeId"},{"name":"objectId","description":"JavaScript object id of the node wrapper.","optional":true,"$ref":"Runtime.RemoteObjectId"}]},{"name":"focus","description":"Focuses the given element.","parameters":[{"name":"nodeId","description":"Identifier of the node.","optional":true,"$ref":"NodeId"},{"name":"backendNodeId","description":"Identifier of the backend node.","optional":true,"$ref":"BackendNodeId"},{"name":"objectId","description":"JavaScript object id of the node wrapper.","optional":true,"$ref":"Runtime.RemoteObjectId"}]}]},{"domain":"Log","description":"Provides access to log entries.","dependencies":["Runtime","Network"],"types":[{"id":"LogEntry","description":"Log entry.","type":"object","properties":[{"name":"source","description":"Log entry source.","type":"string","enum":["xml","javascript","network","storage","appcache","rendering","security","deprecation","worker","violation","intervention","recommendation","other"]},{"name":"level","description":"Log entry severity.","type":"string","enum":["verbose","info","warning","error"]},{"name":"text","description":"Logged text.","type":"string"},{"name":"category","optional":true,"type":"string","enum":["cors"]},{"name":"timestamp","description":"Timestamp when this entry was added.","$ref":"Runtime.Timestamp"},{"name":"url","description":"URL of the resource if known.","optional":true,"type":"string"},{"name":"lineNumber","description":"Line number in the resource.","optional":true,"type":"integer"},{"name":"stackTrace","description":"JavaScript stack trace.","optional":true,"$ref":"Runtime.StackTrace"},{"name":"networkRequestId","description":"Identifier of the network request associated with this entry.","optional":true,"$ref":"Network.RequestId"},{"name":"workerId","description":"Identifier of the worker associated with this entry.","optional":true,"type":"string"},{"name":"args","description":"Call arguments.","optional":true,"type":"array","items":{"$ref":"Runtime.RemoteObject"}}]},{"id":"ViolationSetting","description":"Violation configuration setting.","type":"object","properties":[{"name":"name","description":"Violation type.","type":"string","enum":["longTask","longLayout","blockedEvent","blockedParser","discouragedAPIUse","handler","recurringHandler"]},{"name":"threshold","description":"Time threshold to trigger upon.","type":"number"}]}],"events":[{"name":"entryAdded","description":"Issued when new message was logged.","parameters":[{"name":"entry","description":"The entry.","$ref":"LogEntry"}]}],"commands":[{"name":"enable","description":"Enables log domain, sends the entries collected so far to the client by means of the\n`entryAdded` notification."},{"name":"disable","description":"Disables log domain, prevents further log entries from being reported to the client."}]},{"domain":"CSS","description":"This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles)\nhave an associated `id` used in subsequent operations on the related object. Each object type has\na specific `id` structure, and those are not interchangeable between objects of different kinds.\nCSS objects can be loaded using the `get*ForNode()` calls (which accept a DOM node id). A client\ncan also keep track of stylesheets via the `styleSheetAdded`/`styleSheetRemoved` events and\nsubsequently load the required stylesheet contents using the `getStyleSheet[Text]()` methods.","experimental":true,"dependencies":["DOM","Page"],"types":[{"id":"StyleSheetOrigin","description":"Stylesheet type: \"injected\" for stylesheets injected via extension, \"user-agent\" for user-agent\nstylesheets, \"inspector\" for stylesheets created by the inspector (i.e. those holding the \"via\ninspector\" rules), \"regular\" for regular stylesheets.","type":"string","enum":["injected","user-agent","inspector","regular"]},{"id":"PseudoElementMatches","description":"CSS rule collection for a single pseudo style.","type":"object","properties":[{"name":"pseudoType","description":"Pseudo element type.","$ref":"DOM.PseudoType"},{"name":"pseudoIdentifier","description":"Pseudo element custom ident.","optional":true,"type":"string"},{"name":"matches","description":"Matches of CSS rules applicable to the pseudo style.","type":"array","items":{"$ref":"RuleMatch"}}]},{"id":"CSSAnimationStyle","description":"CSS style coming from animations with the name of the animation.","type":"object","properties":[{"name":"name","description":"The name of the animation.","optional":true,"type":"string"},{"name":"style","description":"The style coming from the animation.","$ref":"CSSStyle"}]},{"id":"InheritedStyleEntry","description":"Inherited CSS rule collection from ancestor node.","type":"object","properties":[{"name":"inlineStyle","description":"The ancestor node's inline style, if any, in the style inheritance chain.","optional":true,"$ref":"CSSStyle"},{"name":"matchedCSSRules","description":"Matches of CSS rules matching the ancestor node in the style inheritance chain.","type":"array","items":{"$ref":"RuleMatch"}}]},{"id":"InheritedAnimatedStyleEntry","description":"Inherited CSS style collection for animated styles from ancestor node.","type":"object","properties":[{"name":"animationStyles","description":"Styles coming from the animations of the ancestor, if any, in the style inheritance chain.","optional":true,"type":"array","items":{"$ref":"CSSAnimationStyle"}},{"name":"transitionsStyle","description":"The style coming from the transitions of the ancestor, if any, in the style inheritance chain.","optional":true,"$ref":"CSSStyle"}]},{"id":"InheritedPseudoElementMatches","description":"Inherited pseudo element matches from pseudos of an ancestor node.","type":"object","properties":[{"name":"pseudoElements","description":"Matches of pseudo styles from the pseudos of an ancestor node.","type":"array","items":{"$ref":"PseudoElementMatches"}}]},{"id":"RuleMatch","description":"Match data for a CSS rule.","type":"object","properties":[{"name":"rule","description":"CSS rule in the match.","$ref":"CSSRule"},{"name":"matchingSelectors","description":"Matching selector indices in the rule's selectorList selectors (0-based).","type":"array","items":{"type":"integer"}}]},{"id":"Value","description":"Data for a simple selector (these are delimited by commas in a selector list).","type":"object","properties":[{"name":"text","description":"Value text.","type":"string"},{"name":"range","description":"Value range in the underlying resource (if available).","optional":true,"$ref":"SourceRange"},{"name":"specificity","description":"Specificity of the selector.","experimental":true,"optional":true,"$ref":"Specificity"}]},{"id":"Specificity","description":"Specificity:\nhttps://drafts.csswg.org/selectors/#specificity-rules","experimental":true,"type":"object","properties":[{"name":"a","description":"The a component, which represents the number of ID selectors.","type":"integer"},{"name":"b","description":"The b component, which represents the number of class selectors, attributes selectors, and\npseudo-classes.","type":"integer"},{"name":"c","description":"The c component, which represents the number of type selectors and pseudo-elements.","type":"integer"}]},{"id":"SelectorList","description":"Selector list data.","type":"object","properties":[{"name":"selectors","description":"Selectors in the list.","type":"array","items":{"$ref":"Value"}},{"name":"text","description":"Rule selector text.","type":"string"}]},{"id":"CSSStyleSheetHeader","description":"CSS stylesheet metainformation.","type":"object","properties":[{"name":"styleSheetId","description":"The stylesheet identifier.","$ref":"DOM.StyleSheetId"},{"name":"frameId","description":"Owner frame identifier.","$ref":"Page.FrameId"},{"name":"sourceURL","description":"Stylesheet resource URL. Empty if this is a constructed stylesheet created using\nnew CSSStyleSheet() (but non-empty if this is a constructed stylesheet imported\nas a CSS module script).","type":"string"},{"name":"sourceMapURL","description":"URL of source map associated with the stylesheet (if any).","optional":true,"type":"string"},{"name":"origin","description":"Stylesheet origin.","$ref":"StyleSheetOrigin"},{"name":"title","description":"Stylesheet title.","type":"string"},{"name":"ownerNode","description":"The backend id for the owner node of the stylesheet.","optional":true,"$ref":"DOM.BackendNodeId"},{"name":"disabled","description":"Denotes whether the stylesheet is disabled.","type":"boolean"},{"name":"hasSourceURL","description":"Whether the sourceURL field value comes from the sourceURL comment.","optional":true,"type":"boolean"},{"name":"isInline","description":"Whether this stylesheet is created for STYLE tag by parser. This flag is not set for\ndocument.written STYLE tags.","type":"boolean"},{"name":"isMutable","description":"Whether this stylesheet is mutable. Inline stylesheets become mutable\nafter they have been modified via CSSOM API.\n`` element's stylesheets become mutable only if DevTools modifies them.\nConstructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation.","type":"boolean"},{"name":"isConstructed","description":"True if this stylesheet is created through new CSSStyleSheet() or imported as a\nCSS module script.","type":"boolean"},{"name":"startLine","description":"Line offset of the stylesheet within the resource (zero based).","type":"number"},{"name":"startColumn","description":"Column offset of the stylesheet within the resource (zero based).","type":"number"},{"name":"length","description":"Size of the content (in characters).","type":"number"},{"name":"endLine","description":"Line offset of the end of the stylesheet within the resource (zero based).","type":"number"},{"name":"endColumn","description":"Column offset of the end of the stylesheet within the resource (zero based).","type":"number"},{"name":"loadingFailed","description":"If the style sheet was loaded from a network resource, this indicates when the resource failed to load","experimental":true,"optional":true,"type":"boolean"}]},{"id":"CSSRule","description":"CSS rule representation.","type":"object","properties":[{"name":"styleSheetId","description":"The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.","optional":true,"$ref":"DOM.StyleSheetId"},{"name":"selectorList","description":"Rule selector data.","$ref":"SelectorList"},{"name":"nestingSelectors","description":"Array of selectors from ancestor style rules, sorted by distance from the current rule.","experimental":true,"optional":true,"type":"array","items":{"type":"string"}},{"name":"origin","description":"Parent stylesheet's origin.","$ref":"StyleSheetOrigin"},{"name":"style","description":"Associated style declaration.","$ref":"CSSStyle"},{"name":"originTreeScopeNodeId","description":"The BackendNodeId of the DOM node that constitutes the origin tree scope of this rule.","experimental":true,"optional":true,"$ref":"DOM.BackendNodeId"},{"name":"media","description":"Media list array (for rules involving media queries). The array enumerates media queries\nstarting with the innermost one, going outwards.","optional":true,"type":"array","items":{"$ref":"CSSMedia"}},{"name":"containerQueries","description":"Container query list array (for rules involving container queries).\nThe array enumerates container queries starting with the innermost one, going outwards.","experimental":true,"optional":true,"type":"array","items":{"$ref":"CSSContainerQuery"}},{"name":"supports","description":"@supports CSS at-rule array.\nThe array enumerates @supports at-rules starting with the innermost one, going outwards.","experimental":true,"optional":true,"type":"array","items":{"$ref":"CSSSupports"}},{"name":"layers","description":"Cascade layer array. Contains the layer hierarchy that this rule belongs to starting\nwith the innermost layer and going outwards.","experimental":true,"optional":true,"type":"array","items":{"$ref":"CSSLayer"}},{"name":"scopes","description":"@scope CSS at-rule array.\nThe array enumerates @scope at-rules starting with the innermost one, going outwards.","experimental":true,"optional":true,"type":"array","items":{"$ref":"CSSScope"}},{"name":"ruleTypes","description":"The array keeps the types of ancestor CSSRules from the innermost going outwards.","experimental":true,"optional":true,"type":"array","items":{"$ref":"CSSRuleType"}},{"name":"startingStyles","description":"@starting-style CSS at-rule array.\nThe array enumerates @starting-style at-rules starting with the innermost one, going outwards.","experimental":true,"optional":true,"type":"array","items":{"$ref":"CSSStartingStyle"}},{"name":"navigations","description":"@navigation CSS at-rule array.\nThe array enumerates @navigation at-rules starting with the innermost one, going outwards.","experimental":true,"optional":true,"type":"array","items":{"$ref":"CSSNavigation"}}]},{"id":"CSSRuleType","description":"Enum indicating the type of a CSS rule, used to represent the order of a style rule's ancestors.\nThis list only contains rule types that are collected during the ancestor rule collection.","experimental":true,"type":"string","enum":["MediaRule","SupportsRule","ContainerRule","LayerRule","ScopeRule","StyleRule","StartingStyleRule","NavigationRule"]},{"id":"RuleUsage","description":"CSS coverage information.","type":"object","properties":[{"name":"styleSheetId","description":"The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.","$ref":"DOM.StyleSheetId"},{"name":"startOffset","description":"Offset of the start of the rule (including selector) from the beginning of the stylesheet.","type":"number"},{"name":"endOffset","description":"Offset of the end of the rule body from the beginning of the stylesheet.","type":"number"},{"name":"used","description":"Indicates whether the rule was actually used by some element in the page.","type":"boolean"}]},{"id":"SourceRange","description":"Text range within a resource. All numbers are zero-based.","type":"object","properties":[{"name":"startLine","description":"Start line of range.","type":"integer"},{"name":"startColumn","description":"Start column of range (inclusive).","type":"integer"},{"name":"endLine","description":"End line of range","type":"integer"},{"name":"endColumn","description":"End column of range (exclusive).","type":"integer"}]},{"id":"ShorthandEntry","type":"object","properties":[{"name":"name","description":"Shorthand name.","type":"string"},{"name":"value","description":"Shorthand value.","type":"string"},{"name":"important","description":"Whether the property has \"!important\" annotation (implies `false` if absent).","optional":true,"type":"boolean"}]},{"id":"CSSComputedStyleProperty","type":"object","properties":[{"name":"name","description":"Computed style property name.","type":"string"},{"name":"value","description":"Computed style property value.","type":"string"}]},{"id":"ComputedStyleExtraFields","experimental":true,"type":"object","properties":[{"name":"isAppearanceBase","description":"Returns whether or not this node is being rendered with base appearance,\nwhich happens when it has its appearance property set to base/base-select\nor it is in the subtree of an element being rendered with base appearance.","type":"boolean"}]},{"id":"CSSStyle","description":"CSS style representation.","type":"object","properties":[{"name":"styleSheetId","description":"The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.","optional":true,"$ref":"DOM.StyleSheetId"},{"name":"cssProperties","description":"CSS properties in the style.","type":"array","items":{"$ref":"CSSProperty"}},{"name":"shorthandEntries","description":"Computed values for all shorthands found in the style.","type":"array","items":{"$ref":"ShorthandEntry"}},{"name":"cssText","description":"Style declaration text (if available).","optional":true,"type":"string"},{"name":"range","description":"Style declaration range in the enclosing stylesheet (if available).","optional":true,"$ref":"SourceRange"}]},{"id":"CSSProperty","description":"CSS property declaration data.","type":"object","properties":[{"name":"name","description":"The property name.","type":"string"},{"name":"value","description":"The property value.","type":"string"},{"name":"important","description":"Whether the property has \"!important\" annotation (implies `false` if absent).","optional":true,"type":"boolean"},{"name":"implicit","description":"Whether the property is implicit (implies `false` if absent).","optional":true,"type":"boolean"},{"name":"text","description":"The full property text as specified in the style.","optional":true,"type":"string"},{"name":"parsedOk","description":"Whether the property is understood by the browser (implies `true` if absent).","optional":true,"type":"boolean"},{"name":"disabled","description":"Whether the property is disabled by the user (present for source-based properties only).","optional":true,"type":"boolean"},{"name":"range","description":"The entire property range in the enclosing style declaration (if available).","optional":true,"$ref":"SourceRange"},{"name":"longhandProperties","description":"Parsed longhand components of this property if it is a shorthand.\nThis field will be empty if the given property is not a shorthand.","experimental":true,"optional":true,"type":"array","items":{"$ref":"CSSProperty"}}]},{"id":"CSSMedia","description":"CSS media rule descriptor.","type":"object","properties":[{"name":"text","description":"Media query text.","type":"string"},{"name":"source","description":"Source of the media query: \"mediaRule\" if specified by a @media rule, \"importRule\" if\nspecified by an @import rule, \"linkedSheet\" if specified by a \"media\" attribute in a linked\nstylesheet's LINK tag, \"inlineSheet\" if specified by a \"media\" attribute in an inline\nstylesheet's STYLE tag.","type":"string","enum":["mediaRule","importRule","linkedSheet","inlineSheet"]},{"name":"sourceURL","description":"URL of the document containing the media query description.","optional":true,"type":"string"},{"name":"range","description":"The associated rule (@media or @import) header range in the enclosing stylesheet (if\navailable).","optional":true,"$ref":"SourceRange"},{"name":"styleSheetId","description":"Identifier of the stylesheet containing this object (if exists).","optional":true,"$ref":"DOM.StyleSheetId"},{"name":"mediaList","description":"Array of media queries.","optional":true,"type":"array","items":{"$ref":"MediaQuery"}}]},{"id":"MediaQuery","description":"Media query descriptor.","type":"object","properties":[{"name":"expressions","description":"Array of media query expressions.","type":"array","items":{"$ref":"MediaQueryExpression"}},{"name":"active","description":"Whether the media query condition is satisfied.","type":"boolean"}]},{"id":"MediaQueryExpression","description":"Media query expression descriptor.","type":"object","properties":[{"name":"value","description":"Media query expression value.","type":"number"},{"name":"unit","description":"Media query expression units.","type":"string"},{"name":"feature","description":"Media query expression feature.","type":"string"},{"name":"valueRange","description":"The associated range of the value text in the enclosing stylesheet (if available).","optional":true,"$ref":"SourceRange"},{"name":"computedLength","description":"Computed length of media query expression (if applicable).","optional":true,"type":"number"}]},{"id":"CSSContainerQuery","description":"CSS container query rule descriptor.","experimental":true,"type":"object","properties":[{"name":"text","description":"Container query text.\nContains the query part without the container name for a single query.\nDeprecated in favor of conditionText which contains the full prelude\nafter @container.","deprecated":true,"type":"string"},{"name":"range","description":"The associated rule header range in the enclosing stylesheet (if\navailable).","optional":true,"$ref":"SourceRange"},{"name":"styleSheetId","description":"Identifier of the stylesheet containing this object (if exists).","optional":true,"$ref":"DOM.StyleSheetId"},{"name":"name","description":"Optional name for the container.","optional":true,"type":"string"},{"name":"physicalAxes","description":"Optional physical axes queried for the container.","optional":true,"$ref":"DOM.PhysicalAxes"},{"name":"logicalAxes","description":"Optional logical axes queried for the container.","optional":true,"$ref":"DOM.LogicalAxes"},{"name":"queriesScrollState","description":"true if the query contains scroll-state() queries.","optional":true,"type":"boolean"},{"name":"queriesAnchored","description":"true if the query contains anchored() queries.","optional":true,"type":"boolean"},{"name":"conditionText","description":"CSSContainerRule.conditionText","type":"string"}]},{"id":"CSSSupports","description":"CSS Supports at-rule descriptor.","experimental":true,"type":"object","properties":[{"name":"text","description":"Supports rule text.","type":"string"},{"name":"active","description":"Whether the supports condition is satisfied.","type":"boolean"},{"name":"range","description":"The associated rule header range in the enclosing stylesheet (if\navailable).","optional":true,"$ref":"SourceRange"},{"name":"styleSheetId","description":"Identifier of the stylesheet containing this object (if exists).","optional":true,"$ref":"DOM.StyleSheetId"}]},{"id":"CSSNavigation","description":"CSS Navigation at-rule descriptor.","experimental":true,"type":"object","properties":[{"name":"text","description":"Navigation rule text.","type":"string"},{"name":"active","description":"Whether the navigation condition is satisfied.","optional":true,"type":"boolean"},{"name":"range","description":"The associated rule header range in the enclosing stylesheet (if\navailable).","optional":true,"$ref":"SourceRange"},{"name":"styleSheetId","description":"Identifier of the stylesheet containing this object (if exists).","optional":true,"$ref":"DOM.StyleSheetId"}]},{"id":"CSSScope","description":"CSS Scope at-rule descriptor.","experimental":true,"type":"object","properties":[{"name":"text","description":"Scope rule text.","type":"string"},{"name":"range","description":"The associated rule header range in the enclosing stylesheet (if\navailable).","optional":true,"$ref":"SourceRange"},{"name":"styleSheetId","description":"Identifier of the stylesheet containing this object (if exists).","optional":true,"$ref":"DOM.StyleSheetId"}]},{"id":"CSSLayer","description":"CSS Layer at-rule descriptor.","experimental":true,"type":"object","properties":[{"name":"text","description":"Layer name.","type":"string"},{"name":"range","description":"The associated rule header range in the enclosing stylesheet (if\navailable).","optional":true,"$ref":"SourceRange"},{"name":"styleSheetId","description":"Identifier of the stylesheet containing this object (if exists).","optional":true,"$ref":"DOM.StyleSheetId"}]},{"id":"CSSStartingStyle","description":"CSS Starting Style at-rule descriptor.","experimental":true,"type":"object","properties":[{"name":"range","description":"The associated rule header range in the enclosing stylesheet (if\navailable).","optional":true,"$ref":"SourceRange"},{"name":"styleSheetId","description":"Identifier of the stylesheet containing this object (if exists).","optional":true,"$ref":"DOM.StyleSheetId"}]},{"id":"CSSLayerData","description":"CSS Layer data.","experimental":true,"type":"object","properties":[{"name":"name","description":"Layer name.","type":"string"},{"name":"subLayers","description":"Direct sub-layers","optional":true,"type":"array","items":{"$ref":"CSSLayerData"}},{"name":"order","description":"Layer order. The order determines the order of the layer in the cascade order.\nA higher number has higher priority in the cascade order.","type":"number"}]},{"id":"PlatformFontUsage","description":"Information about amount of glyphs that were rendered with given font.","type":"object","properties":[{"name":"familyName","description":"Font's family name reported by platform.","type":"string"},{"name":"postScriptName","description":"Font's PostScript name reported by platform.","type":"string"},{"name":"isCustomFont","description":"Indicates if the font was downloaded or resolved locally.","type":"boolean"},{"name":"glyphCount","description":"Amount of glyphs that were rendered with this font.","type":"number"}]},{"id":"FontVariationAxis","description":"Information about font variation axes for variable fonts","type":"object","properties":[{"name":"tag","description":"The font-variation-setting tag (a.k.a. \"axis tag\").","type":"string"},{"name":"name","description":"Human-readable variation name in the default language (normally, \"en\").","type":"string"},{"name":"minValue","description":"The minimum value (inclusive) the font supports for this tag.","type":"number"},{"name":"maxValue","description":"The maximum value (inclusive) the font supports for this tag.","type":"number"},{"name":"defaultValue","description":"The default value.","type":"number"}]},{"id":"FontFace","description":"Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions\nand additional information such as platformFontFamily and fontVariationAxes.","type":"object","properties":[{"name":"fontFamily","description":"The font-family.","type":"string"},{"name":"fontStyle","description":"The font-style.","type":"string"},{"name":"fontVariant","description":"The font-variant.","type":"string"},{"name":"fontWeight","description":"The font-weight.","type":"string"},{"name":"fontStretch","description":"The font-stretch.","type":"string"},{"name":"fontDisplay","description":"The font-display.","type":"string"},{"name":"unicodeRange","description":"The unicode-range.","type":"string"},{"name":"src","description":"The src.","type":"string"},{"name":"platformFontFamily","description":"The resolved platform font family","type":"string"},{"name":"fontVariationAxes","description":"Available variation settings (a.k.a. \"axes\").","optional":true,"type":"array","items":{"$ref":"FontVariationAxis"}}]},{"id":"CSSTryRule","description":"CSS try rule representation.","type":"object","properties":[{"name":"styleSheetId","description":"The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.","optional":true,"$ref":"DOM.StyleSheetId"},{"name":"origin","description":"Parent stylesheet's origin.","$ref":"StyleSheetOrigin"},{"name":"style","description":"Associated style declaration.","$ref":"CSSStyle"}]},{"id":"CSSPositionTryRule","description":"CSS @position-try rule representation.","type":"object","properties":[{"name":"name","description":"The prelude dashed-ident name","$ref":"Value"},{"name":"styleSheetId","description":"The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.","optional":true,"$ref":"DOM.StyleSheetId"},{"name":"origin","description":"Parent stylesheet's origin.","$ref":"StyleSheetOrigin"},{"name":"style","description":"Associated style declaration.","$ref":"CSSStyle"},{"name":"active","type":"boolean"}]},{"id":"CSSKeyframesRule","description":"CSS keyframes rule representation.","type":"object","properties":[{"name":"animationName","description":"Animation name.","$ref":"Value"},{"name":"keyframes","description":"List of keyframes.","type":"array","items":{"$ref":"CSSKeyframeRule"}}]},{"id":"CSSPropertyRegistration","description":"Representation of a custom property registration through CSS.registerProperty","type":"object","properties":[{"name":"propertyName","type":"string"},{"name":"initialValue","optional":true,"$ref":"Value"},{"name":"inherits","type":"boolean"},{"name":"syntax","type":"string"}]},{"id":"CSSAtRule","description":"CSS generic @rule representation.","type":"object","properties":[{"name":"type","description":"Type of at-rule.","type":"string","enum":["font-face","font-feature-values","font-palette-values","counter-style"]},{"name":"subsection","description":"Subsection of font-feature-values, if this is a subsection.","optional":true,"type":"string","enum":["swash","annotation","ornaments","stylistic","styleset","character-variant"]},{"name":"name","description":"LINT.ThenChange(//third_party/blink/renderer/core/inspector/inspector_style_sheet.cc:FontVariantAlternatesFeatureType,//third_party/blink/renderer/core/inspector/inspector_css_agent.cc:FontVariantAlternatesFeatureType)\nAssociated name, if applicable.","optional":true,"$ref":"Value"},{"name":"styleSheetId","description":"The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.","optional":true,"$ref":"DOM.StyleSheetId"},{"name":"origin","description":"Parent stylesheet's origin.","$ref":"StyleSheetOrigin"},{"name":"style","description":"Associated style declaration.","$ref":"CSSStyle"}]},{"id":"CSSPropertyRule","description":"CSS property at-rule representation.","type":"object","properties":[{"name":"styleSheetId","description":"The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.","optional":true,"$ref":"DOM.StyleSheetId"},{"name":"origin","description":"Parent stylesheet's origin.","$ref":"StyleSheetOrigin"},{"name":"propertyName","description":"Associated property name.","$ref":"Value"},{"name":"style","description":"Associated style declaration.","$ref":"CSSStyle"}]},{"id":"CSSFunctionParameter","description":"CSS function argument representation.","type":"object","properties":[{"name":"name","description":"The parameter name.","type":"string"},{"name":"type","description":"The parameter type.","type":"string"}]},{"id":"CSSFunctionConditionNode","description":"CSS function conditional block representation.","type":"object","properties":[{"name":"media","description":"Media query for this conditional block. Only one type of condition should be set.","optional":true,"$ref":"CSSMedia"},{"name":"containerQueries","description":"Container query for this conditional block. Only one type of condition should be set.","optional":true,"$ref":"CSSContainerQuery"},{"name":"supports","description":"@supports CSS at-rule condition. Only one type of condition should be set.","optional":true,"$ref":"CSSSupports"},{"name":"navigation","description":"@navigation condition. Only one type of condition should be set.","optional":true,"$ref":"CSSNavigation"},{"name":"children","description":"Block body.","type":"array","items":{"$ref":"CSSFunctionNode"}},{"name":"conditionText","description":"The condition text.","type":"string"}]},{"id":"CSSFunctionNode","description":"Section of the body of a CSS function rule.","type":"object","properties":[{"name":"condition","description":"A conditional block. If set, style should not be set.","optional":true,"$ref":"CSSFunctionConditionNode"},{"name":"style","description":"Values set by this node. If set, condition should not be set.","optional":true,"$ref":"CSSStyle"}]},{"id":"CSSFunctionRule","description":"CSS function at-rule representation.","type":"object","properties":[{"name":"name","description":"Name of the function.","$ref":"Value"},{"name":"styleSheetId","description":"The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.","optional":true,"$ref":"DOM.StyleSheetId"},{"name":"origin","description":"Parent stylesheet's origin.","$ref":"StyleSheetOrigin"},{"name":"parameters","description":"List of parameters.","type":"array","items":{"$ref":"CSSFunctionParameter"}},{"name":"children","description":"Function body.","type":"array","items":{"$ref":"CSSFunctionNode"}},{"name":"originTreeScopeNodeId","description":"The BackendNodeId of the DOM node that constitutes the origin tree scope of this rule.","experimental":true,"optional":true,"$ref":"DOM.BackendNodeId"}]},{"id":"CSSKeyframeRule","description":"CSS keyframe rule representation.","type":"object","properties":[{"name":"styleSheetId","description":"The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.","optional":true,"$ref":"DOM.StyleSheetId"},{"name":"origin","description":"Parent stylesheet's origin.","$ref":"StyleSheetOrigin"},{"name":"keyText","description":"Associated key text.","$ref":"Value"},{"name":"style","description":"Associated style declaration.","$ref":"CSSStyle"}]},{"id":"StyleDeclarationEdit","description":"A descriptor of operation to mutate style declaration text.","type":"object","properties":[{"name":"styleSheetId","description":"The css style sheet identifier.","$ref":"DOM.StyleSheetId"},{"name":"range","description":"The range of the style text in the enclosing stylesheet.","$ref":"SourceRange"},{"name":"text","description":"New style text.","type":"string"}]}],"events":[{"name":"fontsUpdated","description":"Fires whenever a web font is updated. A non-empty font parameter indicates a successfully loaded\nweb font.","parameters":[{"name":"font","description":"The web font that has loaded.","optional":true,"$ref":"FontFace"}]},{"name":"mediaQueryResultChanged","description":"Fires whenever a MediaQuery result changes (for example, after a browser window has been\nresized.) The current implementation considers only viewport-dependent media features."},{"name":"styleSheetAdded","description":"Fired whenever an active document stylesheet is added.","parameters":[{"name":"header","description":"Added stylesheet metainfo.","$ref":"CSSStyleSheetHeader"}]},{"name":"styleSheetChanged","description":"Fired whenever a stylesheet is changed as a result of the client operation.","parameters":[{"name":"styleSheetId","$ref":"DOM.StyleSheetId"}]},{"name":"styleSheetRemoved","description":"Fired whenever an active document stylesheet is removed.","parameters":[{"name":"styleSheetId","description":"Identifier of the removed stylesheet.","$ref":"DOM.StyleSheetId"}]},{"name":"computedStyleUpdated","experimental":true,"parameters":[{"name":"nodeId","description":"The node id that has updated computed styles.","$ref":"DOM.NodeId"}]}],"commands":[{"name":"enable","description":"Enables the CSS agent for the given page. Clients should not assume that the CSS agent has been\nenabled until the result of this command is received."}]},{"domain":"Page","description":"Actions and events related to the inspected page belong to the page domain.","dependencies":["Debugger","DOM","IO","Network","Runtime"],"types":[{"id":"FrameId","description":"Unique frame identifier.","type":"string"},{"id":"AdFrameType","description":"Indicates whether a frame has been identified as an ad.","experimental":true,"type":"string","enum":["none","child","root"]},{"id":"AdFrameExplanation","experimental":true,"type":"string","enum":["ParentIsAd","CreatedByAdScript","MatchedBlockingRule"]},{"id":"AdFrameStatus","description":"Indicates whether a frame has been identified as an ad and why.","experimental":true,"type":"object","properties":[{"name":"adFrameType","$ref":"AdFrameType"},{"name":"explanations","optional":true,"type":"array","items":{"$ref":"AdFrameExplanation"}}]},{"id":"SecureContextType","description":"Indicates whether the frame is a secure context and why it is the case.","experimental":true,"type":"string","enum":["Secure","SecureLocalhost","InsecureScheme","InsecureAncestor"]},{"id":"CrossOriginIsolatedContextType","description":"Indicates whether the frame is cross-origin isolated and why it is the case.","experimental":true,"type":"string","enum":["Isolated","NotIsolated","NotIsolatedFeatureDisabled"]},{"id":"GatedAPIFeatures","experimental":true,"type":"string","enum":["SharedArrayBuffers","SharedArrayBuffersTransferAllowed","PerformanceMeasureMemory","PerformanceProfile"]},{"id":"PermissionsPolicyFeature","description":"All Permissions Policy features. This enum should match the one defined\nin services/network/public/cpp/permissions_policy/permissions_policy_features.json5.\nLINT.IfChange(PermissionsPolicyFeature)","experimental":true,"type":"string","enum":["accelerometer","all-screens-capture","ambient-light-sensor","aria-notify","attribution-reporting","autofill","autoplay","bluetooth","browsing-topics","camera","captured-surface-control","ch-dpr","ch-device-memory","ch-downlink","ch-ect","ch-prefers-color-scheme","ch-prefers-reduced-motion","ch-prefers-reduced-transparency","ch-rtt","ch-save-data","ch-ua","ch-ua-arch","ch-ua-bitness","ch-ua-high-entropy-values","ch-ua-platform","ch-ua-model","ch-ua-mobile","ch-ua-form-factors","ch-ua-full-version","ch-ua-full-version-list","ch-ua-platform-version","ch-ua-wow64","ch-viewport-height","ch-viewport-width","ch-width","clipboard-read","clipboard-write","compute-pressure","controlled-frame","cross-origin-isolated","deferred-fetch","deferred-fetch-minimal","device-attributes","digital-credentials-create","digital-credentials-get","direct-sockets","direct-sockets-multicast","direct-sockets-private","display-capture","document-domain","encrypted-media","execution-while-out-of-viewport","execution-while-not-rendered","focus-without-user-activation","fullscreen","frobulate","gamepad","geolocation","gyroscope","hid","identity-credentials-get","idle-detection","interest-cohort","join-ad-interest-group","keyboard-map","language-detector","language-model","local-fonts","local-network","local-network-access","loopback-network","magnetometer","manual-text","media-playback-while-not-visible","microphone","midi","on-device-speech-recognition","otp-credentials","payment","picture-in-picture","private-aggregation","private-state-token-issuance","private-state-token-redemption","publickey-credentials-create","publickey-credentials-get","record-ad-auction-events","rewriter","run-ad-auction","screen-wake-lock","serial","shared-storage","shared-storage-select-url","smart-card","speaker-selection","storage-access","sub-apps","summarizer","sync-xhr","tools","translator","unload","usb","usb-unrestricted","vertical-scroll","web-app-installation","web-printing","web-share","window-management","writer","xr-spatial-tracking","ethereum","solana","cardano"]},{"id":"PermissionsPolicyBlockReason","description":"Reason for a permissions policy feature to be disabled.","experimental":true,"type":"string","enum":["Header","IframeAttribute","InFencedFrameTree","InIsolatedApp"]},{"id":"PermissionsPolicyBlockLocator","experimental":true,"type":"object","properties":[{"name":"frameId","$ref":"FrameId"},{"name":"blockReason","$ref":"PermissionsPolicyBlockReason"}]},{"id":"PermissionsPolicyFeatureState","experimental":true,"type":"object","properties":[{"name":"feature","$ref":"PermissionsPolicyFeature"},{"name":"allowed","type":"boolean"},{"name":"locator","optional":true,"$ref":"PermissionsPolicyBlockLocator"}]},{"id":"OriginTrialTokenStatus","description":"Origin Trial(https://www.chromium.org/blink/origin-trials) support.\nStatus for an Origin Trial token.","experimental":true,"type":"string","enum":["Success","NotSupported","Insecure","Expired","WrongOrigin","InvalidSignature","Malformed","WrongVersion","FeatureDisabled","TokenDisabled","FeatureDisabledForUser","UnknownTrial"]},{"id":"OriginTrialStatus","description":"Status for an Origin Trial.","experimental":true,"type":"string","enum":["Enabled","ValidTokenNotProvided","OSNotSupported","TrialNotAllowed"]},{"id":"OriginTrialUsageRestriction","experimental":true,"type":"string","enum":["None","Subset"]},{"id":"OriginTrialToken","experimental":true,"type":"object","properties":[{"name":"origin","type":"string"},{"name":"matchSubDomains","type":"boolean"},{"name":"trialName","type":"string"},{"name":"expiryTime","$ref":"Network.TimeSinceEpoch"},{"name":"isThirdParty","type":"boolean"},{"name":"usageRestriction","$ref":"OriginTrialUsageRestriction"}]},{"id":"OriginTrialTokenWithStatus","experimental":true,"type":"object","properties":[{"name":"rawTokenText","type":"string"},{"name":"parsedToken","description":"`parsedToken` is present only when the token is extractable and\nparsable.","optional":true,"$ref":"OriginTrialToken"},{"name":"status","$ref":"OriginTrialTokenStatus"}]},{"id":"OriginTrial","experimental":true,"type":"object","properties":[{"name":"trialName","type":"string"},{"name":"status","$ref":"OriginTrialStatus"},{"name":"tokensWithStatus","type":"array","items":{"$ref":"OriginTrialTokenWithStatus"}}]},{"id":"SecurityOriginDetails","description":"Additional information about the frame document's security origin.","experimental":true,"type":"object","properties":[{"name":"isLocalhost","description":"Indicates whether the frame document's security origin is one\nof the local hostnames (e.g. \"localhost\") or IP addresses (IPv4\n127.0.0.0/8 or IPv6 ::1).","type":"boolean"}]},{"id":"Frame","description":"Information about the Frame on the page.","type":"object","properties":[{"name":"id","description":"Frame unique identifier.","$ref":"FrameId"},{"name":"parentId","description":"Parent frame identifier.","optional":true,"$ref":"FrameId"},{"name":"loaderId","description":"Identifier of the loader associated with this frame.","$ref":"Network.LoaderId"},{"name":"name","description":"Frame's name as specified in the tag.","optional":true,"type":"string"},{"name":"url","description":"Frame document's URL without fragment.","type":"string"},{"name":"urlFragment","description":"Frame document's URL fragment including the '#'.","experimental":true,"optional":true,"type":"string"},{"name":"domainAndRegistry","description":"Frame document's registered domain, taking the public suffixes list into account.\nExtracted from the Frame's url.\nExample URLs: http://www.google.com/file.html -> \"google.com\"\n http://a.b.co.uk/file.html -> \"b.co.uk\"","experimental":true,"type":"string"},{"name":"securityOrigin","description":"Frame document's security origin.","type":"string"},{"name":"securityOriginDetails","description":"Additional details about the frame document's security origin.","experimental":true,"optional":true,"$ref":"SecurityOriginDetails"},{"name":"mimeType","description":"Frame document's mimeType as determined by the browser.","type":"string"},{"name":"unreachableUrl","description":"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":true,"optional":true,"type":"string"},{"name":"adFrameStatus","description":"Indicates whether this frame was tagged as an ad and why.","experimental":true,"optional":true,"$ref":"AdFrameStatus"},{"name":"secureContextType","description":"Indicates whether the main document is a secure context and explains why that is the case.","experimental":true,"$ref":"SecureContextType"},{"name":"crossOriginIsolatedContextType","description":"Indicates whether this is a cross origin isolated context.","experimental":true,"$ref":"CrossOriginIsolatedContextType"},{"name":"gatedAPIFeatures","description":"Indicated which gated APIs / features are available.","experimental":true,"type":"array","items":{"$ref":"GatedAPIFeatures"}}]},{"id":"FrameResource","description":"Information about the Resource on the page.","experimental":true,"type":"object","properties":[{"name":"url","description":"Resource URL.","type":"string"},{"name":"type","description":"Type of this resource.","$ref":"Network.ResourceType"},{"name":"mimeType","description":"Resource mimeType as determined by the browser.","type":"string"},{"name":"lastModified","description":"last-modified timestamp as reported by server.","optional":true,"$ref":"Network.TimeSinceEpoch"},{"name":"contentSize","description":"Resource content size.","optional":true,"type":"number"},{"name":"failed","description":"True if the resource failed to load.","optional":true,"type":"boolean"},{"name":"canceled","description":"True if the resource was canceled during loading.","optional":true,"type":"boolean"}]},{"id":"FrameResourceTree","description":"Information about the Frame hierarchy along with their cached resources.","experimental":true,"type":"object","properties":[{"name":"frame","description":"Frame information for this tree item.","$ref":"Frame"},{"name":"childFrames","description":"Child frames.","optional":true,"type":"array","items":{"$ref":"FrameResourceTree"}},{"name":"resources","description":"Information about frame resources.","type":"array","items":{"$ref":"FrameResource"}}]},{"id":"FrameTree","description":"Information about the Frame hierarchy.","type":"object","properties":[{"name":"frame","description":"Frame information for this tree item.","$ref":"Frame"},{"name":"childFrames","description":"Child frames.","optional":true,"type":"array","items":{"$ref":"FrameTree"}}]},{"id":"ScriptIdentifier","description":"Unique script identifier.","type":"string"},{"id":"TransitionType","description":"Transition type.","type":"string","enum":["link","typed","address_bar","auto_bookmark","auto_subframe","manual_subframe","generated","auto_toplevel","form_submit","reload","keyword","keyword_generated","other"]},{"id":"NavigationEntry","description":"Navigation history entry.","type":"object","properties":[{"name":"id","description":"Unique id of the navigation history entry.","type":"integer"},{"name":"url","description":"URL of the navigation history entry.","type":"string"},{"name":"userTypedURL","description":"URL that the user typed in the url bar.","type":"string"},{"name":"title","description":"Title of the navigation history entry.","type":"string"},{"name":"transitionType","description":"Transition type.","$ref":"TransitionType"}]},{"id":"ScreencastFrameMetadata","description":"Screencast frame metadata.","experimental":true,"type":"object","properties":[{"name":"offsetTop","description":"Top offset in DIP.","type":"number"},{"name":"pageScaleFactor","description":"Page scale factor.","type":"number"},{"name":"deviceWidth","description":"Device screen width in DIP.","type":"number"},{"name":"deviceHeight","description":"Device screen height in DIP.","type":"number"},{"name":"scrollOffsetX","description":"Position of horizontal scroll in CSS pixels.","type":"number"},{"name":"scrollOffsetY","description":"Position of vertical scroll in CSS pixels.","type":"number"},{"name":"timestamp","description":"Frame swap timestamp.","optional":true,"$ref":"Network.TimeSinceEpoch"}]},{"id":"DialogType","description":"Javascript dialog type.","type":"string","enum":["alert","confirm","prompt","beforeunload"]},{"id":"AppManifestError","description":"Error while paring app manifest.","type":"object","properties":[{"name":"message","description":"Error message.","type":"string"},{"name":"critical","description":"If critical, this is a non-recoverable parse error.","type":"integer"},{"name":"line","description":"Error line.","type":"integer"},{"name":"column","description":"Error column.","type":"integer"}]},{"id":"AppManifestParsedProperties","description":"Parsed app manifest properties.","experimental":true,"type":"object","properties":[{"name":"scope","description":"Computed scope value","type":"string"}]},{"id":"LayoutViewport","description":"Layout viewport position and dimensions.","type":"object","properties":[{"name":"pageX","description":"Horizontal offset relative to the document (CSS pixels).","type":"integer"},{"name":"pageY","description":"Vertical offset relative to the document (CSS pixels).","type":"integer"},{"name":"clientWidth","description":"Width (CSS pixels), excludes scrollbar if present.","type":"integer"},{"name":"clientHeight","description":"Height (CSS pixels), excludes scrollbar if present.","type":"integer"}]},{"id":"VisualViewport","description":"Visual viewport position, dimensions, and scale.","type":"object","properties":[{"name":"offsetX","description":"Horizontal offset relative to the layout viewport (CSS pixels).","type":"number"},{"name":"offsetY","description":"Vertical offset relative to the layout viewport (CSS pixels).","type":"number"},{"name":"pageX","description":"Horizontal offset relative to the document (CSS pixels).","type":"number"},{"name":"pageY","description":"Vertical offset relative to the document (CSS pixels).","type":"number"},{"name":"clientWidth","description":"Width (CSS pixels), excludes scrollbar if present.","type":"number"},{"name":"clientHeight","description":"Height (CSS pixels), excludes scrollbar if present.","type":"number"},{"name":"scale","description":"Scale relative to the ideal viewport (size at width=device-width).","type":"number"},{"name":"zoom","description":"Page zoom factor (CSS to device independent pixels ratio).","optional":true,"type":"number"}]},{"id":"Viewport","description":"Viewport for capturing screenshot.","type":"object","properties":[{"name":"x","description":"X offset in device independent pixels (dip).","type":"number"},{"name":"y","description":"Y offset in device independent pixels (dip).","type":"number"},{"name":"width","description":"Rectangle width in device independent pixels (dip).","type":"number"},{"name":"height","description":"Rectangle height in device independent pixels (dip).","type":"number"},{"name":"scale","description":"Page scale factor.","type":"number"}]},{"id":"FontFamilies","description":"Generic font families collection.","experimental":true,"type":"object","properties":[{"name":"standard","description":"The standard font-family.","optional":true,"type":"string"},{"name":"fixed","description":"The fixed font-family.","optional":true,"type":"string"},{"name":"serif","description":"The serif font-family.","optional":true,"type":"string"},{"name":"sansSerif","description":"The sansSerif font-family.","optional":true,"type":"string"},{"name":"cursive","description":"The cursive font-family.","optional":true,"type":"string"},{"name":"fantasy","description":"The fantasy font-family.","optional":true,"type":"string"},{"name":"math","description":"The math font-family.","optional":true,"type":"string"}]},{"id":"ScriptFontFamilies","description":"Font families collection for a script.","experimental":true,"type":"object","properties":[{"name":"script","description":"Name of the script which these font families are defined for.","type":"string"},{"name":"fontFamilies","description":"Generic font families collection for the script.","$ref":"FontFamilies"}]},{"id":"FontSizes","description":"Default font sizes.","experimental":true,"type":"object","properties":[{"name":"standard","description":"Default standard font size.","optional":true,"type":"integer"},{"name":"fixed","description":"Default fixed font size.","optional":true,"type":"integer"}]},{"id":"ClientNavigationReason","experimental":true,"type":"string","enum":["anchorClick","formSubmissionGet","formSubmissionPost","httpHeaderRefresh","initialFrameNavigation","metaTagRefresh","other","pageBlockInterstitial","reload","scriptInitiated"]},{"id":"ClientNavigationDisposition","experimental":true,"type":"string","enum":["currentTab","newTab","newWindow","download"]},{"id":"InstallabilityErrorArgument","experimental":true,"type":"object","properties":[{"name":"name","description":"Argument name (e.g. name:'minimum-icon-size-in-pixels').","type":"string"},{"name":"value","description":"Argument value (e.g. value:'64').","type":"string"}]},{"id":"InstallabilityError","description":"The installability error","experimental":true,"type":"object","properties":[{"name":"errorId","description":"The error id (e.g. 'manifest-missing-suitable-icon').","type":"string"},{"name":"errorArguments","description":"The list of error arguments (e.g. {name:'minimum-icon-size-in-pixels', value:'64'}).","type":"array","items":{"$ref":"InstallabilityErrorArgument"}}]},{"id":"ReferrerPolicy","description":"The referring-policy used for the navigation.","experimental":true,"type":"string","enum":["noReferrer","noReferrerWhenDowngrade","origin","originWhenCrossOrigin","sameOrigin","strictOrigin","strictOriginWhenCrossOrigin","unsafeUrl"]},{"id":"CompilationCacheParams","description":"Per-script compilation cache parameters for `Page.produceCompilationCache`","experimental":true,"type":"object","properties":[{"name":"url","description":"The URL of the script to produce a compilation cache entry for.","type":"string"},{"name":"eager","description":"A hint to the backend whether eager compilation is recommended.\n(the actual compilation mode used is upon backend discretion).","optional":true,"type":"boolean"}]},{"id":"FileFilter","experimental":true,"type":"object","properties":[{"name":"name","optional":true,"type":"string"},{"name":"accepts","optional":true,"type":"array","items":{"type":"string"}}]},{"id":"FileHandler","experimental":true,"type":"object","properties":[{"name":"action","type":"string"},{"name":"name","type":"string"},{"name":"icons","optional":true,"type":"array","items":{"$ref":"ImageResource"}},{"name":"accepts","description":"Mimic a map, name is the key, accepts is the value.","optional":true,"type":"array","items":{"$ref":"FileFilter"}},{"name":"launchType","description":"Won't repeat the enums, using string for easy comparison. Same as the\nother enums below.","type":"string"}]},{"id":"ImageResource","description":"The image definition used in both icon and screenshot.","experimental":true,"type":"object","properties":[{"name":"url","description":"The src field in the definition, but changing to url in favor of\nconsistency.","type":"string"},{"name":"sizes","optional":true,"type":"string"},{"name":"type","optional":true,"type":"string"}]},{"id":"LaunchHandler","experimental":true,"type":"object","properties":[{"name":"clientMode","type":"string"}]},{"id":"ProtocolHandler","experimental":true,"type":"object","properties":[{"name":"protocol","type":"string"},{"name":"url","type":"string"}]},{"id":"RelatedApplication","experimental":true,"type":"object","properties":[{"name":"id","optional":true,"type":"string"},{"name":"url","type":"string"}]},{"id":"ScopeExtension","experimental":true,"type":"object","properties":[{"name":"origin","description":"Instead of using tuple, this field always returns the serialized string\nfor easy understanding and comparison.","type":"string"},{"name":"hasOriginWildcard","type":"boolean"}]},{"id":"Screenshot","experimental":true,"type":"object","properties":[{"name":"image","$ref":"ImageResource"},{"name":"formFactor","type":"string"},{"name":"label","optional":true,"type":"string"}]},{"id":"ShareTarget","experimental":true,"type":"object","properties":[{"name":"action","type":"string"},{"name":"method","type":"string"},{"name":"enctype","type":"string"},{"name":"title","description":"Embed the ShareTargetParams","optional":true,"type":"string"},{"name":"text","optional":true,"type":"string"},{"name":"url","optional":true,"type":"string"},{"name":"files","optional":true,"type":"array","items":{"$ref":"FileFilter"}}]},{"id":"Shortcut","experimental":true,"type":"object","properties":[{"name":"name","type":"string"},{"name":"url","type":"string"}]},{"id":"WebAppManifest","experimental":true,"type":"object","properties":[{"name":"backgroundColor","optional":true,"type":"string"},{"name":"description","description":"The extra description provided by the manifest.","optional":true,"type":"string"},{"name":"dir","optional":true,"type":"string"},{"name":"display","optional":true,"type":"string"},{"name":"displayOverrides","description":"The overrided display mode controlled by the user.","optional":true,"type":"array","items":{"type":"string"}},{"name":"fileHandlers","description":"The handlers to open files.","optional":true,"type":"array","items":{"$ref":"FileHandler"}},{"name":"icons","optional":true,"type":"array","items":{"$ref":"ImageResource"}},{"name":"id","optional":true,"type":"string"},{"name":"lang","optional":true,"type":"string"},{"name":"launchHandler","description":"TODO(crbug.com/1231886): This field is non-standard and part of a Chrome\nexperiment. See:\nhttps://github.com/WICG/web-app-launch/blob/main/launch_handler.md","optional":true,"$ref":"LaunchHandler"},{"name":"name","optional":true,"type":"string"},{"name":"orientation","optional":true,"type":"string"},{"name":"preferRelatedApplications","optional":true,"type":"boolean"},{"name":"protocolHandlers","description":"The handlers to open protocols.","optional":true,"type":"array","items":{"$ref":"ProtocolHandler"}},{"name":"relatedApplications","optional":true,"type":"array","items":{"$ref":"RelatedApplication"}},{"name":"scope","optional":true,"type":"string"},{"name":"scopeExtensions","description":"Non-standard, see\nhttps://github.com/WICG/manifest-incubations/blob/gh-pages/scope_extensions-explainer.md","optional":true,"type":"array","items":{"$ref":"ScopeExtension"}},{"name":"screenshots","description":"The screenshots used by chromium.","optional":true,"type":"array","items":{"$ref":"Screenshot"}},{"name":"shareTarget","optional":true,"$ref":"ShareTarget"},{"name":"shortName","optional":true,"type":"string"},{"name":"shortcuts","optional":true,"type":"array","items":{"$ref":"Shortcut"}},{"name":"startUrl","optional":true,"type":"string"},{"name":"themeColor","optional":true,"type":"string"}]},{"id":"NavigationType","description":"The type of a frameNavigated event.","experimental":true,"type":"string","enum":["Navigation","BackForwardCacheRestore"]},{"id":"BackForwardCacheNotRestoredReason","description":"List of not restored reasons for back-forward cache.","experimental":true,"type":"string","enum":["NotPrimaryMainFrame","BackForwardCacheDisabled","RelatedActiveContentsExist","HTTPStatusNotOK","SchemeNotHTTPOrHTTPS","Loading","WasGrantedMediaAccess","DisableForRenderFrameHostCalled","DomainNotAllowed","HTTPMethodNotGET","SubframeIsNavigating","Timeout","CacheLimit","JavaScriptExecution","RendererProcessKilled","RendererProcessCrashed","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","ForwardCacheDisabled","BrowsingInstanceNotSwapped","BackForwardCacheDisabledForDelegate","UnloadHandlerExistsInMainFrame","UnloadHandlerExistsInSubFrame","ServiceWorkerUnregistration","CacheControlNoStore","CacheControlNoStoreCookieModified","CacheControlNoStoreHTTPOnlyCookieModified","NoResponseHead","Unknown","ActivationNavigationsDisallowedForBug1234857","ErrorDocument","FencedFramesEmbedder","CookieDisabled","HTTPAuthRequired","CookieFlushed","BroadcastChannelOnMessage","WebViewSettingsChanged","WebViewJavaScriptObjectChanged","WebViewMessageListenerInjected","WebViewSafeBrowsingAllowlistChanged","WebViewDocumentStartJavascriptChanged","WebSocket","WebTransport","WebRTC","MainResourceHasCacheControlNoStore","MainResourceHasCacheControlNoCache","SubresourceHasCacheControlNoStore","SubresourceHasCacheControlNoCache","ContainsPlugins","DocumentLoaded","OutstandingNetworkRequestOthers","RequestedMIDIPermission","RequestedAudioCapturePermission","RequestedVideoCapturePermission","RequestedBackForwardCacheBlockedSensors","RequestedBackgroundWorkPermission","BroadcastChannel","WebXR","SharedWorker","SharedWorkerMessage","SharedWorkerWithNoActiveClient","WebLocks","WebLocksContention","WebHID","WebBluetooth","WebShare","RequestedStorageAccessGrant","WebNfc","OutstandingNetworkRequestFetch","OutstandingNetworkRequestXHR","AppBanner","Printing","WebDatabase","PictureInPicture","SpeechRecognizer","IdleManager","PaymentManager","SpeechSynthesis","KeyboardLock","WebOTPService","OutstandingNetworkRequestDirectSocket","InjectedJavascript","InjectedStyleSheet","KeepaliveRequest","IndexedDBEvent","Dummy","JsNetworkRequestReceivedCacheControlNoStoreResource","WebRTCUsedWithCCNS","WebTransportUsedWithCCNS","WebSocketUsedWithCCNS","SmartCard","LiveMediaStreamTrack","UnloadHandler","ParserAborted","ContentSecurityHandler","ContentWebAuthenticationAPI","ContentFileChooser","ContentSerial","ContentFileSystemAccess","ContentMediaDevicesDispatcherHost","ContentWebBluetooth","ContentWebUSB","ContentMediaSessionService","ContentScreenReader","ContentDiscarded","EmbedderPopupBlockerTabHelper","EmbedderSafeBrowsingTriggeredPopupBlocker","EmbedderSafeBrowsingThreatDetails","EmbedderAppBannerManager","EmbedderDomDistillerViewerSource","EmbedderDomDistillerSelfDeletingRequestDelegate","EmbedderOomInterventionTabHelper","EmbedderOfflinePage","EmbedderChromePasswordManagerClientBindCredentialManager","EmbedderPermissionRequestManager","EmbedderModalDialog","EmbedderExtensions","EmbedderExtensionMessaging","EmbedderExtensionMessagingForOpenPort","EmbedderExtensionSentMessageToCachedFrame","EmbedderExtensionFrame","RequestedByWebViewClient","PostMessageByWebViewClient","CacheControlNoStoreDeviceBoundSessionTerminated","CacheLimitPrunedOnModerateMemoryPressure","CacheLimitPrunedOnCriticalMemoryPressure"]},{"id":"BackForwardCacheNotRestoredReasonType","description":"Types of not restored reasons for back-forward cache.","experimental":true,"type":"string","enum":["SupportPending","PageSupportNeeded","Circumstantial"]},{"id":"BackForwardCacheBlockingDetails","experimental":true,"type":"object","properties":[{"name":"url","description":"Url of the file where blockage happened. Optional because of tests.","optional":true,"type":"string"},{"name":"function","description":"Function name where blockage happened. Optional because of anonymous functions and tests.","optional":true,"type":"string"},{"name":"lineNumber","description":"Line number in the script (0-based).","type":"integer"},{"name":"columnNumber","description":"Column number in the script (0-based).","type":"integer"}]},{"id":"BackForwardCacheNotRestoredExplanation","experimental":true,"type":"object","properties":[{"name":"type","description":"Type of the reason","$ref":"BackForwardCacheNotRestoredReasonType"},{"name":"reason","description":"Not restored reason","$ref":"BackForwardCacheNotRestoredReason"},{"name":"context","description":"Context associated with the reason. The meaning of this context is\ndependent on the reason:\n- EmbedderExtensionSentMessageToCachedFrame: the extension ID.","optional":true,"type":"string"},{"name":"details","optional":true,"type":"array","items":{"$ref":"BackForwardCacheBlockingDetails"}}]},{"id":"BackForwardCacheNotRestoredExplanationTree","experimental":true,"type":"object","properties":[{"name":"url","description":"URL of each frame","type":"string"},{"name":"explanations","description":"Not restored reasons of each frame","type":"array","items":{"$ref":"BackForwardCacheNotRestoredExplanation"}},{"name":"children","description":"Array of children frame","type":"array","items":{"$ref":"BackForwardCacheNotRestoredExplanationTree"}}]}],"events":[{"name":"domContentEventFired","parameters":[{"name":"timestamp","$ref":"Network.MonotonicTime"}]},{"name":"fileChooserOpened","description":"Emitted only when `page.interceptFileChooser` is enabled.","parameters":[{"name":"frameId","description":"Id of the frame containing input node.","experimental":true,"$ref":"FrameId"},{"name":"mode","description":"Input mode.","type":"string","enum":["selectSingle","selectMultiple"]},{"name":"backendNodeId","description":"Input node id. Only present for file choosers opened via an `` element.","experimental":true,"optional":true,"$ref":"DOM.BackendNodeId"}]},{"name":"frameAttached","description":"Fired when frame has been attached to its parent.","parameters":[{"name":"frameId","description":"Id of the frame that has been attached.","$ref":"FrameId"},{"name":"parentFrameId","description":"Parent frame identifier.","$ref":"FrameId"},{"name":"stack","description":"JavaScript stack trace of when frame was attached, only set if frame initiated from script.","optional":true,"$ref":"Runtime.StackTrace"}]},{"name":"frameClearedScheduledNavigation","description":"Fired when frame no longer has a scheduled navigation.","deprecated":true,"parameters":[{"name":"frameId","description":"Id of the frame that has cleared its scheduled navigation.","$ref":"FrameId"}]},{"name":"frameDetached","description":"Fired when frame has been detached from its parent.","parameters":[{"name":"frameId","description":"Id of the frame that has been detached.","$ref":"FrameId"},{"name":"reason","experimental":true,"type":"string","enum":["remove","swap"]}]},{"name":"frameSubtreeWillBeDetached","description":"Fired before frame subtree is detached. Emitted before any frame of the\nsubtree is actually detached.","experimental":true,"parameters":[{"name":"frameId","description":"Id of the frame that is the root of the subtree that will be detached.","$ref":"FrameId"}]},{"name":"frameNavigated","description":"Fired once navigation of the frame has completed. Frame is now associated with the new loader.","parameters":[{"name":"frame","description":"Frame object.","$ref":"Frame"},{"name":"type","experimental":true,"$ref":"NavigationType"}]},{"name":"documentOpened","description":"Fired when opening document to write to.","experimental":true,"parameters":[{"name":"frame","description":"Frame object.","$ref":"Frame"}]},{"name":"frameResized","experimental":true},{"name":"frameStartedNavigating","description":"Fired when a navigation starts. This event is fired for both\nrenderer-initiated and browser-initiated navigations. For renderer-initiated\nnavigations, the event is fired after `frameRequestedNavigation`.\nNavigation may still be cancelled after the event is issued. Multiple events\ncan be fired for a single navigation, for example, when a same-document\nnavigation becomes a cross-document navigation (such as in the case of a\nframeset).","experimental":true,"parameters":[{"name":"frameId","description":"ID of the frame that is being navigated.","$ref":"FrameId"},{"name":"url","description":"The URL the navigation started with. The final URL can be different.","type":"string"},{"name":"loaderId","description":"Loader identifier. Even though it is present in case of same-document\nnavigation, the previously committed loaderId would not change unless\nthe navigation changes from a same-document to a cross-document\nnavigation.","$ref":"Network.LoaderId"},{"name":"navigationType","type":"string","enum":["reload","reloadBypassingCache","restore","restoreWithPost","historySameDocument","historyDifferentDocument","sameDocument","differentDocument"]}]},{"name":"frameRequestedNavigation","description":"Fired when a renderer-initiated navigation is requested.\nNavigation may still be cancelled after the event is issued.","experimental":true,"parameters":[{"name":"frameId","description":"Id of the frame that is being navigated.","$ref":"FrameId"},{"name":"reason","description":"The reason for the navigation.","$ref":"ClientNavigationReason"},{"name":"url","description":"The destination URL for the requested navigation.","type":"string"},{"name":"disposition","description":"The disposition for the navigation.","$ref":"ClientNavigationDisposition"}]},{"name":"frameScheduledNavigation","description":"Fired when frame schedules a potential navigation.","deprecated":true,"parameters":[{"name":"frameId","description":"Id of the frame that has scheduled a navigation.","$ref":"FrameId"},{"name":"delay","description":"Delay (in seconds) until the navigation is scheduled to begin. The navigation is not\nguaranteed to start.","type":"number"},{"name":"reason","description":"The reason for the navigation.","$ref":"ClientNavigationReason"},{"name":"url","description":"The destination URL for the scheduled navigation.","type":"string"}]},{"name":"frameStartedLoading","description":"Fired when frame has started loading.","experimental":true,"parameters":[{"name":"frameId","description":"Id of the frame that has started loading.","$ref":"FrameId"}]},{"name":"frameStoppedLoading","description":"Fired when frame has stopped loading.","experimental":true,"parameters":[{"name":"frameId","description":"Id of the frame that has stopped loading.","$ref":"FrameId"}]},{"name":"downloadWillBegin","description":"Fired when page is about to start a download.\nDeprecated. Use Browser.downloadWillBegin instead.","experimental":true,"deprecated":true,"parameters":[{"name":"frameId","description":"Id of the frame that caused download to begin.","$ref":"FrameId"},{"name":"guid","description":"Global unique identifier of the download.","type":"string"},{"name":"url","description":"URL of the resource being downloaded.","type":"string"},{"name":"suggestedFilename","description":"Suggested file name of the resource (the actual name of the file saved on disk may differ).","type":"string"}]},{"name":"downloadProgress","description":"Fired when download makes progress. Last call has |done| == true.\nDeprecated. Use Browser.downloadProgress instead.","experimental":true,"deprecated":true,"parameters":[{"name":"guid","description":"Global unique identifier of the download.","type":"string"},{"name":"totalBytes","description":"Total expected bytes to download.","type":"number"},{"name":"receivedBytes","description":"Total bytes received.","type":"number"},{"name":"state","description":"Download status.","type":"string","enum":["inProgress","completed","canceled"]}]},{"name":"interstitialHidden","description":"Fired when interstitial page was hidden"},{"name":"interstitialShown","description":"Fired when interstitial page was shown"},{"name":"javascriptDialogClosed","description":"Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been\nclosed.","parameters":[{"name":"frameId","description":"Frame id.","experimental":true,"$ref":"FrameId"},{"name":"result","description":"Whether dialog was confirmed.","type":"boolean"},{"name":"userInput","description":"User input in case of prompt.","type":"string"}]},{"name":"javascriptDialogOpening","description":"Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to\nopen.","parameters":[{"name":"url","description":"Frame url.","type":"string"},{"name":"frameId","description":"Frame id.","experimental":true,"$ref":"FrameId"},{"name":"message","description":"Message that will be displayed by the dialog.","type":"string"},{"name":"type","description":"Dialog type.","$ref":"DialogType"},{"name":"hasBrowserHandler","description":"True iff browser is capable showing or acting on the given dialog. When browser has no\ndialog handler for given target, calling alert while Page domain is engaged will stall\nthe page execution. Execution can be resumed via calling Page.handleJavaScriptDialog.","type":"boolean"},{"name":"defaultPrompt","description":"Default dialog prompt.","optional":true,"type":"string"}]},{"name":"lifecycleEvent","description":"Fired for lifecycle events (navigation, load, paint, etc) in the current\ntarget (including local frames).","parameters":[{"name":"frameId","description":"Id of the frame.","$ref":"FrameId"},{"name":"loaderId","description":"Loader identifier. Empty string if the request is fetched from worker.","$ref":"Network.LoaderId"},{"name":"name","type":"string"},{"name":"timestamp","$ref":"Network.MonotonicTime"}]},{"name":"backForwardCacheNotUsed","description":"Fired for failed bfcache history navigations if BackForwardCache feature is enabled. Do\nnot assume any ordering with the Page.frameNavigated event. This event is fired only for\nmain-frame history navigation where the document changes (non-same-document navigations),\nwhen bfcache navigation fails.","experimental":true,"parameters":[{"name":"loaderId","description":"The loader id for the associated navigation.","$ref":"Network.LoaderId"},{"name":"frameId","description":"The frame id of the associated frame.","$ref":"FrameId"},{"name":"notRestoredExplanations","description":"Array of reasons why the page could not be cached. This must not be empty.","type":"array","items":{"$ref":"BackForwardCacheNotRestoredExplanation"}},{"name":"notRestoredExplanationsTree","description":"Tree structure of reasons why the page could not be cached for each frame.","optional":true,"$ref":"BackForwardCacheNotRestoredExplanationTree"}]},{"name":"loadEventFired","parameters":[{"name":"timestamp","$ref":"Network.MonotonicTime"}]},{"name":"navigatedWithinDocument","description":"Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.","experimental":true,"parameters":[{"name":"frameId","description":"Id of the frame.","$ref":"FrameId"},{"name":"url","description":"Frame's new url.","type":"string"},{"name":"navigationType","description":"Navigation type","type":"string","enum":["fragment","historyApi","other"]}]},{"name":"screencastFrame","description":"Compressed image data requested by the `startScreencast`.","experimental":true,"parameters":[{"name":"data","description":"Base64-encoded compressed image.","type":"binary"},{"name":"metadata","description":"Screencast frame metadata.","$ref":"ScreencastFrameMetadata"},{"name":"sessionId","description":"Frame number.","type":"integer"}]},{"name":"screencastVisibilityChanged","description":"Fired when the page with currently enabled screencast was shown or hidden `.","experimental":true,"parameters":[{"name":"visible","description":"True if the page is visible.","type":"boolean"}]},{"name":"windowOpen","description":"Fired when a new window is going to be opened, via window.open(), link click, form submission,\netc.","parameters":[{"name":"url","description":"The URL for the new window.","type":"string"},{"name":"windowName","description":"Window name.","type":"string"},{"name":"windowFeatures","description":"An array of enabled window features.","type":"array","items":{"type":"string"}},{"name":"userGesture","description":"Whether or not it was triggered by user gesture.","type":"boolean"}]},{"name":"compilationCacheProduced","description":"Issued for every compilation cache generated.","experimental":true,"parameters":[{"name":"url","type":"string"},{"name":"data","description":"Base64-encoded data","type":"binary"}]}],"commands":[{"name":"enable","description":"Enables page domain notifications.","parameters":[{"name":"enableFileChooserOpenedEvent","description":"If true, the `Page.fileChooserOpened` event will be emitted regardless of the state set by\n`Page.setInterceptFileChooserDialog` command (default: false).","experimental":true,"optional":true,"type":"boolean"}]},{"name":"getFrameTree","description":"Returns present frame tree structure.","returns":[{"name":"frameTree","description":"Present frame tree structure.","$ref":"FrameTree"}]},{"name":"getNavigationHistory","description":"Returns navigation history for the current page.","returns":[{"name":"currentIndex","description":"Index of the current navigation history entry.","type":"integer"},{"name":"entries","description":"Array of navigation history entries.","type":"array","items":{"$ref":"NavigationEntry"}}]},{"name":"setLifecycleEventsEnabled","description":"Controls whether page will emit lifecycle events.","parameters":[{"name":"enabled","description":"If true, starts emitting lifecycle events.","type":"boolean"}]},{"name":"addScriptToEvaluateOnNewDocument","description":"Evaluates given script in every frame upon creation (before loading frame's scripts).","parameters":[{"name":"source","type":"string"},{"name":"worldName","description":"If specified, creates an isolated world with the given name and evaluates given script in it.\nThis world name will be used as the ExecutionContextDescription::name when the corresponding\nevent is emitted.","experimental":true,"optional":true,"type":"string"},{"name":"includeCommandLineAPI","description":"Specifies whether command line API should be available to the script, defaults\nto false.","experimental":true,"optional":true,"type":"boolean"},{"name":"runImmediately","description":"If true, runs the script immediately on existing execution contexts or worlds.\nDefault: false.","experimental":true,"optional":true,"type":"boolean"}],"returns":[{"name":"identifier","description":"Identifier of the added script.","$ref":"ScriptIdentifier"}]},{"name":"removeScriptToEvaluateOnNewDocument","description":"Removes given script from the list.","parameters":[{"name":"identifier","$ref":"ScriptIdentifier"}]},{"name":"createIsolatedWorld","description":"Creates an isolated world for the given frame.","parameters":[{"name":"frameId","description":"Id of the frame in which the isolated world should be created.","$ref":"FrameId"},{"name":"worldName","description":"An optional name which is reported in the Execution Context.","optional":true,"type":"string"},{"name":"grantUniveralAccess","description":"Whether or not universal access should be granted to the isolated world. This is a powerful\noption, use with caution.","optional":true,"type":"boolean"}],"returns":[{"name":"executionContextId","description":"Execution context of the isolated world.","$ref":"Runtime.ExecutionContextId"}]},{"name":"navigate","description":"Navigates current page to the given URL.","parameters":[{"name":"url","description":"URL to navigate the page to.","type":"string"},{"name":"referrer","description":"Referrer URL.","optional":true,"type":"string"},{"name":"transitionType","description":"Intended transition type.","optional":true,"$ref":"TransitionType"},{"name":"frameId","description":"Frame id to navigate, if not specified navigates the top frame.","optional":true,"$ref":"FrameId"},{"name":"referrerPolicy","description":"Referrer-policy used for the navigation.","experimental":true,"optional":true,"$ref":"ReferrerPolicy"}],"returns":[{"name":"frameId","description":"Frame id that has navigated (or failed to navigate)","$ref":"FrameId"},{"name":"loaderId","description":"Loader identifier. This is omitted in case of same-document navigation,\nas the previously committed loaderId would not change.","optional":true,"$ref":"Network.LoaderId"},{"name":"errorText","description":"User friendly error message, present if and only if navigation has failed.","optional":true,"type":"string"},{"name":"isDownload","description":"Whether the navigation resulted in a download.","experimental":true,"optional":true,"type":"boolean"}]},{"name":"navigateToHistoryEntry","description":"Navigates current page to the given history entry.","parameters":[{"name":"entryId","description":"Unique id of the entry to navigate to.","type":"integer"}]},{"name":"reload","description":"Reloads given page optionally ignoring the cache.","parameters":[{"name":"ignoreCache","description":"If true, browser cache is ignored (as if the user pressed Shift+refresh).","optional":true,"type":"boolean"},{"name":"scriptToEvaluateOnLoad","description":"If set, the script will be injected into all frames of the inspected page after reload.\nArgument will be ignored if reloading dataURL origin.","optional":true,"type":"string"},{"name":"loaderId","description":"If set, an error will be thrown if the target page's main frame's\nloader id does not match the provided id. This prevents accidentally\nreloading an unintended target in case there's a racing navigation.","experimental":true,"optional":true,"$ref":"Network.LoaderId"}]},{"name":"stopLoading","description":"Force the page stop all navigations and pending resource fetches."},{"name":"close","description":"Tries to close page, running its beforeunload hooks, if any."},{"name":"captureScreenshot","description":"Capture page screenshot.","parameters":[{"name":"format","description":"Image compression format (defaults to png).","optional":true,"type":"string","enum":["jpeg","png","webp"]},{"name":"quality","description":"Compression quality from range [0..100] (jpeg only).","optional":true,"type":"integer"},{"name":"clip","description":"Capture the screenshot of a given region only.","optional":true,"$ref":"Viewport"},{"name":"fromSurface","description":"Capture the screenshot from the surface, rather than the view. Defaults to true.","experimental":true,"optional":true,"type":"boolean"},{"name":"captureBeyondViewport","description":"Capture the screenshot beyond the viewport. Defaults to false.","experimental":true,"optional":true,"type":"boolean"},{"name":"optimizeForSpeed","description":"Optimize image encoding for speed, not for resulting size (defaults to false)","experimental":true,"optional":true,"type":"boolean"}],"returns":[{"name":"data","description":"Base64-encoded image data.","type":"binary"}]},{"name":"printToPDF","description":"Print page as PDF.","parameters":[{"name":"landscape","description":"Paper orientation. Defaults to false.","optional":true,"type":"boolean"},{"name":"displayHeaderFooter","description":"Display header and footer. Defaults to false.","optional":true,"type":"boolean"},{"name":"printBackground","description":"Print background graphics. Defaults to false.","optional":true,"type":"boolean"},{"name":"scale","description":"Scale of the webpage rendering. Defaults to 1.","optional":true,"type":"number"},{"name":"paperWidth","description":"Paper width in inches. Defaults to 8.5 inches.","optional":true,"type":"number"},{"name":"paperHeight","description":"Paper height in inches. Defaults to 11 inches.","optional":true,"type":"number"},{"name":"marginTop","description":"Top margin in inches. Defaults to 1cm (~0.4 inches).","optional":true,"type":"number"},{"name":"marginBottom","description":"Bottom margin in inches. Defaults to 1cm (~0.4 inches).","optional":true,"type":"number"},{"name":"marginLeft","description":"Left margin in inches. Defaults to 1cm (~0.4 inches).","optional":true,"type":"number"},{"name":"marginRight","description":"Right margin in inches. Defaults to 1cm (~0.4 inches).","optional":true,"type":"number"},{"name":"pageRanges","description":"Paper ranges to print, one based, e.g., '1-5, 8, 11-13'. Pages are\nprinted in the document order, not in the order specified, and no\nmore than once.\nDefaults to empty string, which implies the entire document is printed.\nThe page numbers are quietly capped to actual page count of the\ndocument, and ranges beyond the end of the document are ignored.\nIf this results in no pages to print, an error is reported.\nIt is an error to specify a range with start greater than end.","optional":true,"type":"string"},{"name":"headerTemplate","description":"HTML template for the print header. Should be valid HTML markup with following\nclasses used to inject printing values into them:\n- `date`: formatted print date\n- `title`: document title\n- `url`: document location\n- `pageNumber`: current page number\n- `totalPages`: total pages in the document\n\nFor example, `` would generate span containing the title.","optional":true,"type":"string"},{"name":"footerTemplate","description":"HTML template for the print footer. Should use the same format as the `headerTemplate`.","optional":true,"type":"string"},{"name":"preferCSSPageSize","description":"Whether or not to prefer page size as defined by css. Defaults to false,\nin which case the content will be scaled to fit the paper size.","optional":true,"type":"boolean"},{"name":"transferMode","description":"return as stream","experimental":true,"optional":true,"type":"string","enum":["ReturnAsBase64","ReturnAsStream"]},{"name":"generateTaggedPDF","description":"Whether or not to generate tagged (accessible) PDF. Defaults to embedder choice.","experimental":true,"optional":true,"type":"boolean"},{"name":"generateDocumentOutline","description":"Whether or not to embed the document outline into the PDF.","experimental":true,"optional":true,"type":"boolean"}],"returns":[{"name":"data","description":"Base64-encoded pdf data. Empty if |returnAsStream| is specified.","type":"binary"},{"name":"stream","description":"A handle of the stream that holds resulting PDF data.","experimental":true,"optional":true,"$ref":"IO.StreamHandle"}]},{"name":"getLayoutMetrics","description":"Returns metrics relating to the layouting of the page, such as viewport bounds/scale.","returns":[{"name":"layoutViewport","description":"Deprecated metrics relating to the layout viewport. Is in device pixels. Use `cssLayoutViewport` instead.","deprecated":true,"$ref":"LayoutViewport"},{"name":"visualViewport","description":"Deprecated metrics relating to the visual viewport. Is in device pixels. Use `cssVisualViewport` instead.","deprecated":true,"$ref":"VisualViewport"},{"name":"contentSize","description":"Deprecated size of scrollable area. Is in DP. Use `cssContentSize` instead.","deprecated":true,"$ref":"DOM.Rect"},{"name":"cssLayoutViewport","description":"Metrics relating to the layout viewport in CSS pixels.","$ref":"LayoutViewport"},{"name":"cssVisualViewport","description":"Metrics relating to the visual viewport in CSS pixels.","$ref":"VisualViewport"},{"name":"cssContentSize","description":"Size of scrollable area in CSS pixels.","$ref":"DOM.Rect"}]},{"name":"handleJavaScriptDialog","description":"Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).","parameters":[{"name":"accept","description":"Whether to accept or dismiss the dialog.","type":"boolean"},{"name":"promptText","description":"The text to enter into the dialog prompt before accepting. Used only if this is a prompt\ndialog.","optional":true,"type":"string"}]},{"name":"setBypassCSP","description":"Enable page Content Security Policy by-passing.","parameters":[{"name":"enabled","description":"Whether to bypass page CSP.","type":"boolean"}]},{"name":"bringToFront","description":"Brings page to front (activates tab)."},{"name":"setInterceptFileChooserDialog","description":"Intercept file chooser requests and transfer control to protocol clients.\nWhen file chooser interception is enabled, native file chooser dialog is not shown.\nInstead, a protocol event `Page.fileChooserOpened` is emitted.","parameters":[{"name":"enabled","type":"boolean"},{"name":"cancel","description":"If true, cancels the dialog by emitting relevant events (if any)\nin addition to not showing it if the interception is enabled\n(default: false).","experimental":true,"optional":true,"type":"boolean"}]}]},{"domain":"Fetch","description":"A domain for letting clients substitute browser's network layer with client code.","dependencies":["Network","IO","Page"],"types":[{"id":"RequestId","description":"Unique request identifier.\nNote that this does not identify individual HTTP requests that are part of\na network request.","type":"string"},{"id":"RequestStage","description":"Stages of the request to handle. Request will intercept before the request is\nsent. Response will intercept after the response is received (but before response\nbody is received).","type":"string","enum":["Request","Response"]},{"id":"RequestPattern","type":"object","properties":[{"name":"urlPattern","description":"Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to `\"*\"`.","optional":true,"type":"string"},{"name":"resourceType","description":"If set, only requests for matching resource types will be intercepted.","optional":true,"$ref":"Network.ResourceType"},{"name":"requestStage","description":"Stage at which to begin intercepting requests. Default is Request.","optional":true,"$ref":"RequestStage"}]},{"id":"HeaderEntry","description":"Response HTTP header entry","type":"object","properties":[{"name":"name","type":"string"},{"name":"value","type":"string"}]},{"id":"AuthChallenge","description":"Authorization challenge for HTTP status code 401 or 407.","type":"object","properties":[{"name":"source","description":"Source of the authentication challenge.","optional":true,"type":"string","enum":["Server","Proxy"]},{"name":"origin","description":"Origin of the challenger.","type":"string"},{"name":"scheme","description":"The authentication scheme used, such as basic or digest","type":"string"},{"name":"realm","description":"The realm of the challenge. May be empty.","type":"string"}]},{"id":"AuthChallengeResponse","description":"Response to an AuthChallenge.","type":"object","properties":[{"name":"response","description":"The decision on what to do in response to the authorization challenge. Default means\ndeferring to the default behavior of the net stack, which will likely either the Cancel\nauthentication or display a popup dialog box.","type":"string","enum":["Default","CancelAuth","ProvideCredentials"]},{"name":"username","description":"The username to provide, possibly empty. Should only be set if response is\nProvideCredentials.","optional":true,"type":"string"},{"name":"password","description":"The password to provide, possibly empty. Should only be set if response is\nProvideCredentials.","optional":true,"type":"string"}]}],"events":[{"name":"requestPaused","description":"Issued when the domain is enabled and the request URL matches the\nspecified filter. The request is paused until the client responds\nwith one of continueRequest, failRequest or fulfillRequest.\nThe stage of the request can be determined by presence of responseErrorReason\nand responseStatusCode -- the request is at the response stage if either\nof these fields is present and in the request stage otherwise.\nRedirect responses and subsequent requests are reported similarly to regular\nresponses and requests. Redirect responses may be distinguished by the value\nof `responseStatusCode` (which is one of 301, 302, 303, 307, 308) along with\npresence of the `location` header. Requests resulting from a redirect will\nhave `redirectedRequestId` field set.","parameters":[{"name":"requestId","description":"Each request the page makes will have a unique id.","$ref":"RequestId"},{"name":"request","description":"The details of the request.","$ref":"Network.Request"},{"name":"frameId","description":"The id of the frame that initiated the request.","$ref":"Page.FrameId"},{"name":"resourceType","description":"How the requested resource will be used.","$ref":"Network.ResourceType"},{"name":"responseErrorReason","description":"Response error if intercepted at response stage.","optional":true,"$ref":"Network.ErrorReason"},{"name":"responseStatusCode","description":"Response code if intercepted at response stage.","optional":true,"type":"integer"},{"name":"responseStatusText","description":"Response status text if intercepted at response stage.","optional":true,"type":"string"},{"name":"responseHeaders","description":"Response headers if intercepted at the response stage.","optional":true,"type":"array","items":{"$ref":"HeaderEntry"}},{"name":"networkId","description":"If the intercepted request had a corresponding Network.requestWillBeSent event fired for it,\nthen this networkId will be the same as the requestId present in the requestWillBeSent event.","optional":true,"$ref":"Network.RequestId"},{"name":"redirectedRequestId","description":"If the request is due to a redirect response from the server, the id of the request that\nhas caused the redirect.","experimental":true,"optional":true,"$ref":"RequestId"}]},{"name":"authRequired","description":"Issued when the domain is enabled with handleAuthRequests set to true.\nThe request is paused until client responds with continueWithAuth.","parameters":[{"name":"requestId","description":"Each request the page makes will have a unique id.","$ref":"RequestId"},{"name":"request","description":"The details of the request.","$ref":"Network.Request"},{"name":"frameId","description":"The id of the frame that initiated the request.","$ref":"Page.FrameId"},{"name":"resourceType","description":"How the requested resource will be used.","$ref":"Network.ResourceType"},{"name":"authChallenge","description":"Details of the Authorization Challenge encountered.\nIf this is set, client should respond with continueRequest that\ncontains AuthChallengeResponse.","$ref":"AuthChallenge"}]}],"commands":[{"name":"disable","description":"Disables the fetch domain."},{"name":"enable","description":"Enables issuing of requestPaused events. A request will be paused until client\ncalls one of failRequest, fulfillRequest or continueRequest/continueWithAuth.","parameters":[{"name":"patterns","description":"If specified, only requests matching any of these patterns will produce\nfetchRequested event and will be paused until clients response. If not set,\nall requests will be affected.","optional":true,"type":"array","items":{"$ref":"RequestPattern"}},{"name":"handleAuthRequests","description":"If true, authRequired events will be issued and requests will be paused\nexpecting a call to continueWithAuth.","optional":true,"type":"boolean"}]},{"name":"continueRequest","description":"Continues the request, optionally modifying some of its parameters.","parameters":[{"name":"requestId","description":"An id the client received in requestPaused event.","$ref":"RequestId"},{"name":"url","description":"If set, the request url will be modified in a way that's not observable by page.","optional":true,"type":"string"},{"name":"method","description":"If set, the request method is overridden.","optional":true,"type":"string"},{"name":"postData","description":"If set, overrides the post data in the request.","optional":true,"type":"binary"},{"name":"headers","description":"If set, overrides the request headers. Note that the overrides do not\nextend to subsequent redirect hops, if a redirect happens. Another override\nmay be applied to a different request produced by a redirect.","optional":true,"type":"array","items":{"$ref":"HeaderEntry"}},{"name":"interceptResponse","description":"If set, overrides response interception behavior for this request.","experimental":true,"optional":true,"type":"boolean"}]},{"name":"failRequest","description":"Causes the request to fail with specified reason.","parameters":[{"name":"requestId","description":"An id the client received in requestPaused event.","$ref":"RequestId"},{"name":"errorReason","description":"Causes the request to fail with the given reason.","$ref":"Network.ErrorReason"}]},{"name":"fulfillRequest","description":"Provides response to the request.","parameters":[{"name":"requestId","description":"An id the client received in requestPaused event.","$ref":"RequestId"},{"name":"responseCode","description":"An HTTP response code.","type":"integer"},{"name":"responseHeaders","description":"Response headers.","optional":true,"type":"array","items":{"$ref":"HeaderEntry"}},{"name":"binaryResponseHeaders","description":"Alternative way of specifying response headers as a \\0-separated\nseries of name: value pairs. Prefer the above method unless you\nneed to represent some non-UTF8 values that can't be transmitted\nover the protocol as text.","optional":true,"type":"binary"},{"name":"body","description":"A response body. If absent, original response body will be used if\nthe request is intercepted at the response stage and empty body\nwill be used if the request is intercepted at the request stage.","optional":true,"type":"binary"},{"name":"responsePhrase","description":"A textual representation of responseCode.\nIf absent, a standard phrase matching responseCode is used.","optional":true,"type":"string"}]},{"name":"continueWithAuth","description":"Continues a request supplying authChallengeResponse following authRequired event.","parameters":[{"name":"requestId","description":"An id the client received in authRequired event.","$ref":"RequestId"},{"name":"authChallengeResponse","description":"Response to with an authChallenge.","$ref":"AuthChallengeResponse"}]}]},{"domain":"Input","types":[{"id":"TouchPoint","type":"object","properties":[{"name":"x","description":"X coordinate of the event relative to the main frame's viewport in CSS pixels.","type":"number"},{"name":"y","description":"Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to\nthe top of the viewport and Y increases as it proceeds towards the bottom of the viewport.","type":"number"},{"name":"radiusX","description":"X radius of the touch area (default: 1.0).","optional":true,"type":"number"},{"name":"radiusY","description":"Y radius of the touch area (default: 1.0).","optional":true,"type":"number"},{"name":"rotationAngle","description":"Rotation angle (default: 0.0).","optional":true,"type":"number"},{"name":"force","description":"Force (default: 1.0).","optional":true,"type":"number"},{"name":"tangentialPressure","description":"The normalized tangential pressure, which has a range of [-1,1] (default: 0).","experimental":true,"optional":true,"type":"number"},{"name":"tiltX","description":"The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0)","optional":true,"type":"number"},{"name":"tiltY","description":"The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0).","optional":true,"type":"number"},{"name":"twist","description":"The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0).","experimental":true,"optional":true,"type":"integer"},{"name":"id","description":"Identifier used to track touch sources between events, must be unique within an event.","optional":true,"type":"number"}]},{"id":"GestureSourceType","experimental":true,"type":"string","enum":["default","touch","mouse"]},{"id":"MouseButton","type":"string","enum":["none","left","middle","right","back","forward"]},{"id":"TimeSinceEpoch","description":"UTC time in seconds, counted from January 1, 1970.","type":"number"},{"id":"DragDataItem","experimental":true,"type":"object","properties":[{"name":"mimeType","description":"Mime type of the dragged data.","type":"string"},{"name":"data","description":"Depending of the value of `mimeType`, it contains the dragged link,\ntext, HTML markup or any other data.","type":"string"},{"name":"title","description":"Title associated with a link. Only valid when `mimeType` == \"text/uri-list\".","optional":true,"type":"string"},{"name":"baseURL","description":"Stores the base URL for the contained markup. Only valid when `mimeType`\n== \"text/html\".","optional":true,"type":"string"}]},{"id":"DragData","experimental":true,"type":"object","properties":[{"name":"items","type":"array","items":{"$ref":"DragDataItem"}},{"name":"files","description":"List of filenames that should be included when dropping","optional":true,"type":"array","items":{"type":"string"}},{"name":"dragOperationsMask","description":"Bit field representing allowed drag operations. Copy = 1, Link = 2, Move = 16","type":"integer"}]}],"events":[{"name":"dragIntercepted","description":"Emitted only when `Input.setInterceptDrags` is enabled. Use this data with `Input.dispatchDragEvent` to\nrestore normal drag and drop behavior.","experimental":true,"parameters":[{"name":"data","$ref":"DragData"}]}],"commands":[{"name":"dispatchKeyEvent","description":"Dispatches a key event to the page.","parameters":[{"name":"type","description":"Type of the key event.","type":"string","enum":["keyDown","keyUp","rawKeyDown","char"]},{"name":"modifiers","description":"Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).","optional":true,"type":"integer"},{"name":"timestamp","description":"Time at which the event occurred.","optional":true,"$ref":"TimeSinceEpoch"},{"name":"text","description":"Text as generated by processing a virtual key code with a keyboard layout. Not needed for\nfor `keyUp` and `rawKeyDown` events (default: \"\")","optional":true,"type":"string"},{"name":"unmodifiedText","description":"Text that would have been generated by the keyboard if no modifiers were pressed (except for\nshift). Useful for shortcut (accelerator) key handling (default: \"\").","optional":true,"type":"string"},{"name":"keyIdentifier","description":"Unique key identifier (e.g., 'U+0041') (default: \"\").","optional":true,"type":"string"},{"name":"code","description":"Unique DOM defined string value for each physical key (e.g., 'KeyA') (default: \"\").","optional":true,"type":"string"},{"name":"key","description":"Unique DOM defined string value describing the meaning of the key in the context of active\nmodifiers, keyboard layout, etc (e.g., 'AltGr') (default: \"\").","optional":true,"type":"string"},{"name":"windowsVirtualKeyCode","description":"Windows virtual key code (default: 0).","optional":true,"type":"integer"},{"name":"nativeVirtualKeyCode","description":"Native virtual key code (default: 0).","optional":true,"type":"integer"},{"name":"autoRepeat","description":"Whether the event was generated from auto repeat (default: false).","optional":true,"type":"boolean"},{"name":"isKeypad","description":"Whether the event was generated from the keypad (default: false).","optional":true,"type":"boolean"},{"name":"isSystemKey","description":"Whether the event was a system key event (default: false).","optional":true,"type":"boolean"},{"name":"location","description":"Whether the event was from the left or right side of the keyboard. 1=Left, 2=Right (default:\n0).","optional":true,"type":"integer"},{"name":"commands","description":"Editing commands to send with the key event (e.g., 'selectAll') (default: []).\nThese are related to but not equal the command names used in `document.execCommand` and NSStandardKeyBindingResponding.\nSee https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/editing/commands/editor_command_names.h for valid command names.","experimental":true,"optional":true,"type":"array","items":{"type":"string"}}]},{"name":"dispatchMouseEvent","description":"Dispatches a mouse event to the page.","parameters":[{"name":"type","description":"Type of the mouse event.","type":"string","enum":["mousePressed","mouseReleased","mouseMoved","mouseWheel"]},{"name":"x","description":"X coordinate of the event relative to the main frame's viewport in CSS pixels.","type":"number"},{"name":"y","description":"Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to\nthe top of the viewport and Y increases as it proceeds towards the bottom of the viewport.","type":"number"},{"name":"modifiers","description":"Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).","optional":true,"type":"integer"},{"name":"timestamp","description":"Time at which the event occurred.","optional":true,"$ref":"TimeSinceEpoch"},{"name":"button","description":"Mouse button (default: \"none\").","optional":true,"$ref":"MouseButton"},{"name":"buttons","description":"A number indicating which buttons are pressed on the mouse when a mouse event is triggered.\nLeft=1, Right=2, Middle=4, Back=8, Forward=16, None=0.","optional":true,"type":"integer"},{"name":"clickCount","description":"Number of times the mouse button was clicked (default: 0).","optional":true,"type":"integer"},{"name":"force","description":"The normalized pressure, which has a range of [0,1] (default: 0).","experimental":true,"optional":true,"type":"number"},{"name":"tangentialPressure","description":"The normalized tangential pressure, which has a range of [-1,1] (default: 0).","experimental":true,"optional":true,"type":"number"},{"name":"tiltX","description":"The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0).","optional":true,"type":"number"},{"name":"tiltY","description":"The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0).","optional":true,"type":"number"},{"name":"twist","description":"The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0).","experimental":true,"optional":true,"type":"integer"},{"name":"deltaX","description":"X delta in CSS pixels for mouse wheel event (default: 0).","optional":true,"type":"number"},{"name":"deltaY","description":"Y delta in CSS pixels for mouse wheel event (default: 0).","optional":true,"type":"number"},{"name":"pointerType","description":"Pointer type (default: \"mouse\").","optional":true,"type":"string","enum":["mouse","pen"]}]},{"name":"insertText","description":"This method emulates inserting text that doesn't come from a key press,\nfor example an emoji keyboard or an IME.","experimental":true,"parameters":[{"name":"text","description":"The text to insert.","type":"string"}]}]},{"domain":"Target","description":"Supports additional targets discovery and allows to attach to them.","types":[{"id":"TargetID","type":"string"},{"id":"SessionID","description":"Unique identifier of attached debugging session.","type":"string"},{"id":"TargetInfo","type":"object","properties":[{"name":"targetId","$ref":"TargetID"},{"name":"type","description":"List of types: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/devtools_agent_host_impl.cc?ss=chromium&q=f:devtools%20-f:out%20%22::kTypeTab%5B%5D%22","type":"string"},{"name":"title","type":"string"},{"name":"url","type":"string"},{"name":"attached","description":"Whether the target has an attached client.","type":"boolean"},{"name":"parentId","description":"Id of the parent target, if any. For example, \"iframe\" target may have a \"page\" parent.","optional":true,"$ref":"TargetID"},{"name":"openerId","description":"Opener target Id","optional":true,"$ref":"TargetID"},{"name":"canAccessOpener","description":"Whether the target has access to the originating window.","experimental":true,"type":"boolean"},{"name":"openerFrameId","description":"Frame id of originating window (is only set if target has an opener).","experimental":true,"optional":true,"$ref":"Page.FrameId"},{"name":"parentFrameId","description":"Id of the parent frame, present for \"iframe\" and \"worker\" targets. For nested workers,\nthis is the \"ancestor\" frame that created the first worker in the nested chain.","experimental":true,"optional":true,"$ref":"Page.FrameId"},{"name":"browserContextId","experimental":true,"optional":true,"$ref":"Browser.BrowserContextID"},{"name":"subtype","description":"Provides additional details for specific target types. For example, for\nthe type of \"page\", this may be set to \"prerender\".","experimental":true,"optional":true,"type":"string"},{"name":"embedderData","description":"Embedder-specific target metadata. This is only set for targets of\ntype \"tab\".","experimental":true,"optional":true,"type":"object"}]},{"id":"FilterEntry","description":"A filter used by target query/discovery/auto-attach operations.","experimental":true,"type":"object","properties":[{"name":"exclude","description":"If set, causes exclusion of matching targets from the list.","optional":true,"type":"boolean"},{"name":"type","description":"If not present, matches any type.","optional":true,"type":"string"}]},{"id":"TargetFilter","description":"The entries in TargetFilter are matched sequentially against targets and\nthe first entry that matches determines if the target is included or not,\ndepending on the value of `exclude` field in the entry.\nIf filter is not specified, the one assumed is\n[{type: \"browser\", exclude: true}, {type: \"tab\", exclude: true}, {}]\n(i.e. include everything but `browser` and `tab`).","experimental":true,"type":"array","items":{"$ref":"FilterEntry"}},{"id":"RemoteLocation","experimental":true,"type":"object","properties":[{"name":"host","type":"string"},{"name":"port","type":"integer"}]},{"id":"WindowState","description":"The state of the target window.","experimental":true,"type":"string","enum":["normal","minimized","maximized","fullscreen"]}],"events":[{"name":"attachedToTarget","description":"Issued when attached to target because of auto-attach or `attachToTarget` command.","experimental":true,"parameters":[{"name":"sessionId","description":"Identifier assigned to the session used to send/receive messages.","$ref":"SessionID"},{"name":"targetInfo","$ref":"TargetInfo"},{"name":"waitingForDebugger","type":"boolean"}]},{"name":"detachedFromTarget","description":"Issued when detached from target for any reason (including `detachFromTarget` command). Can be\nissued multiple times per target if multiple sessions have been attached to it.","experimental":true,"parameters":[{"name":"sessionId","description":"Detached session identifier.","$ref":"SessionID"},{"name":"targetId","description":"Deprecated.","deprecated":true,"optional":true,"$ref":"TargetID"}]},{"name":"receivedMessageFromTarget","description":"Notifies about a new protocol message received from the session (as reported in\n`attachedToTarget` event).","parameters":[{"name":"sessionId","description":"Identifier of a session which sends a message.","$ref":"SessionID"},{"name":"message","type":"string"},{"name":"targetId","description":"Deprecated.","deprecated":true,"optional":true,"$ref":"TargetID"}]},{"name":"targetCreated","description":"Issued when a possible inspection target is created.","parameters":[{"name":"targetInfo","$ref":"TargetInfo"}]},{"name":"targetDestroyed","description":"Issued when a target is destroyed.","parameters":[{"name":"targetId","$ref":"TargetID"}]},{"name":"targetCrashed","description":"Issued when a target has crashed.","parameters":[{"name":"targetId","$ref":"TargetID"},{"name":"status","description":"Termination status type.","type":"string"},{"name":"errorCode","description":"Termination error code.","type":"integer"}]},{"name":"targetInfoChanged","description":"Issued when some information about a target has changed. This only happens between\n`targetCreated` and `targetDestroyed`.","parameters":[{"name":"targetInfo","$ref":"TargetInfo"}]}],"commands":[{"name":"getTargets","description":"Retrieves a list of available targets.","parameters":[{"name":"filter","description":"Only targets matching filter will be reported. If filter is not specified\nand target discovery is currently enabled, a filter used for target discovery\nis used for consistency.","experimental":true,"optional":true,"$ref":"TargetFilter"}],"returns":[{"name":"targetInfos","description":"The list of targets.","type":"array","items":{"$ref":"TargetInfo"}}]},{"name":"attachToTarget","description":"Attaches to the target with given id.","parameters":[{"name":"targetId","$ref":"TargetID"},{"name":"flatten","description":"Enables \"flat\" access to the session via specifying sessionId attribute in the commands.\nWe plan to make this the default, deprecate non-flattened mode,\nand eventually retire it. See crbug.com/991325.","optional":true,"type":"boolean"}],"returns":[{"name":"sessionId","description":"Id assigned to the session.","$ref":"SessionID"}]},{"name":"attachToBrowserTarget","description":"Attaches to the browser target, only uses flat sessionId mode.","experimental":true,"returns":[{"name":"sessionId","description":"Id assigned to the session.","$ref":"SessionID"}]},{"name":"closeTarget","description":"Closes the target. If the target is a page that gets closed too.","parameters":[{"name":"targetId","$ref":"TargetID"}],"returns":[{"name":"success","description":"Always set to true. If an error occurs, the response indicates protocol error.","deprecated":true,"type":"boolean"}]},{"name":"createBrowserContext","description":"Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than\none.","parameters":[{"name":"disposeOnDetach","description":"If specified, disposes this context when debugging session disconnects.","experimental":true,"optional":true,"type":"boolean"},{"name":"proxyServer","description":"Proxy server, similar to the one passed to --proxy-server","experimental":true,"optional":true,"type":"string"},{"name":"proxyBypassList","description":"Proxy bypass list, similar to the one passed to --proxy-bypass-list","experimental":true,"optional":true,"type":"string"},{"name":"originsWithUniversalNetworkAccess","description":"An optional list of origins to grant unlimited cross-origin access to.\nParts of the URL other than those constituting origin are ignored.","experimental":true,"optional":true,"type":"array","items":{"type":"string"}}],"returns":[{"name":"browserContextId","description":"The id of the context created.","$ref":"Browser.BrowserContextID"}]},{"name":"createTarget","description":"Creates a new page.","parameters":[{"name":"url","description":"The initial URL the page will be navigated to. An empty string indicates about:blank.","type":"string"},{"name":"left","description":"Frame left origin in DIP (requires newWindow to be true or headless shell).","experimental":true,"optional":true,"type":"integer"},{"name":"top","description":"Frame top origin in DIP (requires newWindow to be true or headless shell).","experimental":true,"optional":true,"type":"integer"},{"name":"width","description":"Frame width in DIP (requires newWindow to be true or headless shell).","optional":true,"type":"integer"},{"name":"height","description":"Frame height in DIP (requires newWindow to be true or headless shell).","optional":true,"type":"integer"},{"name":"windowState","description":"Frame window state (requires newWindow to be true or headless shell).\nDefault is normal.","optional":true,"$ref":"WindowState"},{"name":"browserContextId","description":"The browser context to create the page in.","experimental":true,"optional":true,"$ref":"Browser.BrowserContextID"},{"name":"enableBeginFrameControl","description":"Whether BeginFrames for this target will be controlled via DevTools (headless shell only,\nnot supported on MacOS yet, false by default).","experimental":true,"optional":true,"type":"boolean"},{"name":"newWindow","description":"Whether to create a new Window or Tab (false by default, not supported by headless shell).","optional":true,"type":"boolean"},{"name":"background","description":"Whether to create the target in background or foreground (false by default, not supported\nby headless shell).","optional":true,"type":"boolean"},{"name":"forTab","description":"Whether to create the target of type \"tab\".","experimental":true,"optional":true,"type":"boolean"},{"name":"hidden","description":"Whether to create a hidden target. The hidden target is observable via protocol, but not\npresent in the tab UI strip. Cannot be created with `forTab: true`, `newWindow: true` or\n`background: false`. The life-time of the tab is limited to the life-time of the session.","experimental":true,"optional":true,"type":"boolean"},{"name":"focus","description":"If specified, the option is used to determine if the new target should\nbe focused or not. By default, the focus behavior depends on the\nvalue of the background field. For example, background=false and focus=false\nwill result in the target tab being opened but the browser window remain\nunchanged (if it was in the background, it will remain in the background)\nand background=false with focus=undefined will result in the window being focused.\nUsing background: true and focus: true is not supported and will result in an error.","experimental":true,"optional":true,"type":"boolean"}],"returns":[{"name":"targetId","description":"The id of the page opened.","$ref":"TargetID"}]},{"name":"detachFromTarget","description":"Detaches session with given id.","parameters":[{"name":"sessionId","description":"Session to detach.","optional":true,"$ref":"SessionID"},{"name":"targetId","description":"Deprecated.","deprecated":true,"optional":true,"$ref":"TargetID"}]},{"name":"disposeBrowserContext","description":"Deletes a BrowserContext. All the belonging pages will be closed without calling their\nbeforeunload hooks.","parameters":[{"name":"browserContextId","$ref":"Browser.BrowserContextID"}]},{"name":"getBrowserContexts","description":"Returns all browser contexts created with `Target.createBrowserContext` method.","returns":[{"name":"browserContextIds","description":"An array of browser context ids.","type":"array","items":{"$ref":"Browser.BrowserContextID"}},{"name":"defaultBrowserContextId","description":"The id of the default browser context if available.","experimental":true,"optional":true,"$ref":"Browser.BrowserContextID"}]},{"name":"getTargetInfo","description":"Returns information about a target.","experimental":true,"parameters":[{"name":"targetId","optional":true,"$ref":"TargetID"}],"returns":[{"name":"targetInfo","$ref":"TargetInfo"}]},{"name":"sendMessageToTarget","description":"Sends protocol message over session with given id.\nConsider using flat mode instead; see commands attachToTarget, setAutoAttach,\nand crbug.com/991325.","deprecated":true,"parameters":[{"name":"message","type":"string"},{"name":"sessionId","description":"Identifier of the session.","optional":true,"$ref":"SessionID"},{"name":"targetId","description":"Deprecated.","deprecated":true,"optional":true,"$ref":"TargetID"}]},{"name":"setAutoAttach","description":"Controls whether to automatically attach to new targets which are considered\nto be directly related to this one (for example, iframes or workers).\nWhen turned on, attaches to all existing related targets as well. When turned off,\nautomatically detaches from all currently attached targets.\nThis also clears all targets added by `autoAttachRelated` from the list of targets to watch\nfor creation of related targets.\nYou might want to call this recursively for auto-attached targets to attach\nto all available targets.","parameters":[{"name":"autoAttach","description":"Whether to auto-attach to related targets.","type":"boolean"},{"name":"waitForDebuggerOnStart","description":"Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger`\nto run paused targets.","type":"boolean"},{"name":"flatten","description":"Enables \"flat\" access to the session via specifying sessionId attribute in the commands.\nWe plan to make this the default, deprecate non-flattened mode,\nand eventually retire it. See crbug.com/991325.","experimental":true,"optional":true,"type":"boolean"},{"name":"filter","description":"Only targets matching filter will be attached.","experimental":true,"optional":true,"$ref":"TargetFilter"}]},{"name":"setDiscoverTargets","description":"Controls whether to discover available targets and notify via\n`targetCreated/targetInfoChanged/targetDestroyed` events.","parameters":[{"name":"discover","description":"Whether to discover available targets.","type":"boolean"},{"name":"filter","description":"Only targets matching filter will be attached. If `discover` is false,\n`filter` must be omitted or empty.","experimental":true,"optional":true,"$ref":"TargetFilter"}]},{"name":"activateTarget","description":"Activates (focuses) the target.","parameters":[{"name":"targetId","$ref":"TargetID"}]}]},{"domain":"Audits","description":"Audits domain allows investigation of page violations and possible improvements.","experimental":true,"dependencies":["Network","Runtime"],"types":[{"id":"AffectedCookie","description":"Information about a cookie that is affected by an inspector issue.","type":"object","properties":[{"name":"name","description":"The following three properties uniquely identify a cookie","type":"string"},{"name":"path","type":"string"},{"name":"domain","type":"string"}]},{"id":"AffectedRequest","description":"Information about a request that is affected by an inspector issue.","type":"object","properties":[{"name":"requestId","description":"The unique request id.","optional":true,"$ref":"Network.RequestId"},{"name":"url","type":"string"}]},{"id":"AffectedFrame","description":"Information about the frame affected by an inspector issue.","type":"object","properties":[{"name":"frameId","$ref":"Page.FrameId"}]},{"id":"CookieExclusionReason","type":"string","enum":["ExcludeSameSiteUnspecifiedTreatedAsLax","ExcludeSameSiteNoneInsecure","ExcludeSameSiteLax","ExcludeSameSiteStrict","ExcludeDomainNonASCII","ExcludeThirdPartyCookieBlockedInFirstPartySet","ExcludeThirdPartyPhaseout","ExcludePortMismatch","ExcludeSchemeMismatch"]},{"id":"CookieWarningReason","type":"string","enum":["WarnSameSiteUnspecifiedCrossSiteContext","WarnSameSiteNoneInsecure","WarnSameSiteUnspecifiedLaxAllowUnsafe","WarnSameSiteStrictLaxDowngradeStrict","WarnSameSiteStrictCrossDowngradeStrict","WarnSameSiteStrictCrossDowngradeLax","WarnSameSiteLaxCrossDowngradeStrict","WarnSameSiteLaxCrossDowngradeLax","WarnAttributeValueExceedsMaxSize","WarnDomainNonASCII","WarnThirdPartyPhaseout","WarnCrossSiteRedirectDowngradeChangesInclusion","WarnDeprecationTrialMetadata","WarnThirdPartyCookieHeuristic"]},{"id":"CookieOperation","type":"string","enum":["SetCookie","ReadCookie"]},{"id":"InsightType","description":"Represents the category of insight that a cookie issue falls under.","type":"string","enum":["GitHubResource","GracePeriod","Heuristics"]},{"id":"CookieIssueInsight","description":"Information about the suggested solution to a cookie issue.","type":"object","properties":[{"name":"type","$ref":"InsightType"},{"name":"tableEntryUrl","description":"Link to table entry in third-party cookie migration readiness list.","optional":true,"type":"string"}]},{"id":"CookieIssueDetails","description":"This information is currently necessary, as the front-end has a difficult\ntime finding a specific cookie. With this, we can convey specific error\ninformation without the cookie.","type":"object","properties":[{"name":"cookie","description":"If AffectedCookie is not set then rawCookieLine contains the raw\nSet-Cookie header string. This hints at a problem where the\ncookie line is syntactically or semantically malformed in a way\nthat no valid cookie could be created.","optional":true,"$ref":"AffectedCookie"},{"name":"rawCookieLine","optional":true,"type":"string"},{"name":"cookieWarningReasons","type":"array","items":{"$ref":"CookieWarningReason"}},{"name":"cookieExclusionReasons","type":"array","items":{"$ref":"CookieExclusionReason"}},{"name":"operation","description":"Optionally identifies the site-for-cookies and the cookie url, which\nmay be used by the front-end as additional context.","$ref":"CookieOperation"},{"name":"siteForCookies","optional":true,"type":"string"},{"name":"cookieUrl","optional":true,"type":"string"},{"name":"request","optional":true,"$ref":"AffectedRequest"},{"name":"insight","description":"The recommended solution to the issue.","optional":true,"$ref":"CookieIssueInsight"}]},{"id":"PerformanceIssueType","type":"string","enum":["DocumentCookie"]},{"id":"PerformanceIssueDetails","description":"Details for a performance issue.","type":"object","properties":[{"name":"performanceIssueType","$ref":"PerformanceIssueType"},{"name":"sourceCodeLocation","optional":true,"$ref":"SourceCodeLocation"}]},{"id":"MixedContentResolutionStatus","type":"string","enum":["MixedContentBlocked","MixedContentAutomaticallyUpgraded","MixedContentWarning"]},{"id":"MixedContentResourceType","type":"string","enum":["AttributionSrc","Audio","Beacon","CSPReport","Download","EventSource","Favicon","Font","Form","Frame","Image","Import","JSON","Manifest","Ping","PluginData","PluginResource","Prefetch","Resource","Script","ServiceWorker","SharedWorker","SpeculationRules","Stylesheet","Track","Video","Worker","XMLHttpRequest","XSLT"]},{"id":"MixedContentIssueDetails","type":"object","properties":[{"name":"resourceType","description":"The type of resource causing the mixed content issue (css, js, iframe,\nform,...). Marked as optional because it is mapped to from\nblink::mojom::RequestContextType, which will be replaced\nby network::mojom::RequestDestination","optional":true,"$ref":"MixedContentResourceType"},{"name":"resolutionStatus","description":"The way the mixed content issue is being resolved.","$ref":"MixedContentResolutionStatus"},{"name":"insecureURL","description":"The unsafe http url causing the mixed content issue.","type":"string"},{"name":"mainResourceURL","description":"The url responsible for the call to an unsafe url.","type":"string"},{"name":"request","description":"The mixed content request.\nDoes not always exist (e.g. for unsafe form submission urls).","optional":true,"$ref":"AffectedRequest"},{"name":"frame","description":"Optional because not every mixed content issue is necessarily linked to a frame.","optional":true,"$ref":"AffectedFrame"}]},{"id":"BlockedByResponseReason","description":"Enum indicating the reason a response has been blocked. These reasons are\nrefinements of the net error BLOCKED_BY_RESPONSE.","type":"string","enum":["CoepFrameResourceNeedsCoepHeader","CoopSandboxedIFrameCannotNavigateToCoopPage","CorpNotSameOrigin","CorpNotSameOriginAfterDefaultedToSameOriginByCoep","CorpNotSameOriginAfterDefaultedToSameOriginByDip","CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip","CorpNotSameSite","SRIMessageSignatureMismatch"]},{"id":"BlockedByResponseIssueDetails","description":"Details for a request that has been blocked with the BLOCKED_BY_RESPONSE\ncode. Currently only used for COEP/COOP, but may be extended to include\nsome CSP errors in the future.","type":"object","properties":[{"name":"request","$ref":"AffectedRequest"},{"name":"parentFrame","optional":true,"$ref":"AffectedFrame"},{"name":"blockedFrame","optional":true,"$ref":"AffectedFrame"},{"name":"reason","$ref":"BlockedByResponseReason"}]},{"id":"HeavyAdResolutionStatus","type":"string","enum":["HeavyAdBlocked","HeavyAdWarning"]},{"id":"HeavyAdReason","type":"string","enum":["NetworkTotalLimit","CpuTotalLimit","CpuPeakLimit"]},{"id":"HeavyAdIssueDetails","type":"object","properties":[{"name":"resolution","description":"The resolution status, either blocking the content or warning.","$ref":"HeavyAdResolutionStatus"},{"name":"reason","description":"The reason the ad was blocked, total network or cpu or peak cpu.","$ref":"HeavyAdReason"},{"name":"frame","description":"The frame that was blocked.","$ref":"AffectedFrame"}]},{"id":"ContentSecurityPolicyViolationType","type":"string","enum":["kInlineViolation","kEvalViolation","kURLViolation","kSRIViolation","kTrustedTypesSinkViolation","kTrustedTypesPolicyViolation","kWasmEvalViolation"]},{"id":"SourceCodeLocation","type":"object","properties":[{"name":"scriptId","optional":true,"$ref":"Runtime.ScriptId"},{"name":"url","type":"string"},{"name":"lineNumber","type":"integer"},{"name":"columnNumber","type":"integer"}]},{"id":"ContentSecurityPolicyIssueDetails","type":"object","properties":[{"name":"blockedURL","description":"The url not included in allowed sources.","optional":true,"type":"string"},{"name":"violatedDirective","description":"Specific directive that is violated, causing the CSP issue.","type":"string"},{"name":"isReportOnly","type":"boolean"},{"name":"contentSecurityPolicyViolationType","$ref":"ContentSecurityPolicyViolationType"},{"name":"frameAncestor","optional":true,"$ref":"AffectedFrame"},{"name":"sourceCodeLocation","optional":true,"$ref":"SourceCodeLocation"},{"name":"violatingNodeId","optional":true,"$ref":"DOM.BackendNodeId"}]},{"id":"SharedArrayBufferIssueType","type":"string","enum":["TransferIssue","CreationIssue"]},{"id":"SharedArrayBufferIssueDetails","description":"Details for a issue arising from an SAB being instantiated in, or\ntransferred to a context that is not cross-origin isolated.","type":"object","properties":[{"name":"sourceCodeLocation","$ref":"SourceCodeLocation"},{"name":"isWarning","type":"boolean"},{"name":"type","$ref":"SharedArrayBufferIssueType"}]},{"id":"CorsIssueDetails","description":"Details for a CORS related issue, e.g. a warning or error related to\nCORS RFC1918 enforcement.","type":"object","properties":[{"name":"corsErrorStatus","$ref":"Network.CorsErrorStatus"},{"name":"isWarning","type":"boolean"},{"name":"request","$ref":"AffectedRequest"},{"name":"location","optional":true,"$ref":"SourceCodeLocation"},{"name":"initiatorOrigin","optional":true,"type":"string"},{"name":"resourceIPAddressSpace","optional":true,"$ref":"Network.IPAddressSpace"},{"name":"clientSecurityState","optional":true,"$ref":"Network.ClientSecurityState"}]},{"id":"AttributionReportingIssueType","type":"string","enum":["PermissionPolicyDisabled","UntrustworthyReportingOrigin","InsecureContext","InvalidHeader","InvalidRegisterTriggerHeader","SourceAndTriggerHeaders","SourceIgnored","TriggerIgnored","OsSourceIgnored","OsTriggerIgnored","InvalidRegisterOsSourceHeader","InvalidRegisterOsTriggerHeader","WebAndOsHeaders","NoWebOrOsSupport","NavigationRegistrationWithoutTransientUserActivation","InvalidInfoHeader","NoRegisterSourceHeader","NoRegisterTriggerHeader","NoRegisterOsSourceHeader","NoRegisterOsTriggerHeader","NavigationRegistrationUniqueScopeAlreadySet"]},{"id":"SharedDictionaryError","type":"string","enum":["UseErrorCrossOriginNoCorsRequest","UseErrorDictionaryLoadFailure","UseErrorMatchingDictionaryNotUsed","UseErrorUnexpectedContentDictionaryHeader","WriteErrorCossOriginNoCorsRequest","WriteErrorDisallowedBySettings","WriteErrorExpiredResponse","WriteErrorFeatureDisabled","WriteErrorInsufficientResources","WriteErrorInvalidMatchField","WriteErrorInvalidStructuredHeader","WriteErrorInvalidTTLField","WriteErrorNavigationRequest","WriteErrorNoMatchField","WriteErrorNonIntegerTTLField","WriteErrorNonListMatchDestField","WriteErrorNonSecureContext","WriteErrorNonStringIdField","WriteErrorNonStringInMatchDestList","WriteErrorInvalidMatchDestList","WriteErrorNonStringMatchField","WriteErrorNonTokenTypeField","WriteErrorRequestAborted","WriteErrorShuttingDown","WriteErrorTooLongIdField","WriteErrorUnsupportedType"]},{"id":"SRIMessageSignatureError","type":"string","enum":["MissingSignatureHeader","MissingSignatureInputHeader","InvalidSignatureHeader","InvalidSignatureInputHeader","SignatureHeaderValueIsNotByteSequence","SignatureHeaderValueIsParameterized","SignatureHeaderValueIsIncorrectLength","SignatureInputHeaderMissingLabel","SignatureInputHeaderValueNotInnerList","SignatureInputHeaderValueMissingComponents","SignatureInputHeaderInvalidComponentType","SignatureInputHeaderInvalidComponentName","SignatureInputHeaderInvalidHeaderComponentParameter","SignatureInputHeaderInvalidDerivedComponentParameter","SignatureInputHeaderKeyIdLength","SignatureInputHeaderInvalidParameter","SignatureInputHeaderMissingRequiredParameters","ValidationFailedSignatureExpired","ValidationFailedInvalidLength","ValidationFailedSignatureMismatch","ValidationFailedIntegrityMismatch","SignatureBaseUnknownDerivedComponent","SignatureBaseMissingHeader","SignatureBaseInvalidUnencodedDigest","SignatureBaseUnsupportedComponent"]},{"id":"UnencodedDigestError","type":"string","enum":["MalformedDictionary","UnknownAlgorithm","IncorrectDigestType","IncorrectDigestLength"]},{"id":"ConnectionAllowlistError","type":"string","enum":["InvalidHeader","MoreThanOneList","ItemNotInnerList","InvalidAllowlistItemType","ReportingEndpointNotToken","InvalidUrlPattern"]},{"id":"AttributionReportingIssueDetails","description":"Details for issues around \"Attribution Reporting API\" usage.\nExplainer: https://github.com/WICG/attribution-reporting-api","type":"object","properties":[{"name":"violationType","$ref":"AttributionReportingIssueType"},{"name":"request","optional":true,"$ref":"AffectedRequest"},{"name":"violatingNodeId","optional":true,"$ref":"DOM.BackendNodeId"},{"name":"invalidParameter","optional":true,"type":"string"}]},{"id":"QuirksModeIssueDetails","description":"Details for issues about documents in Quirks Mode\nor Limited Quirks Mode that affects page layouting.","type":"object","properties":[{"name":"isLimitedQuirksMode","description":"If false, it means the document's mode is \"quirks\"\ninstead of \"limited-quirks\".","type":"boolean"},{"name":"documentNodeId","$ref":"DOM.BackendNodeId"},{"name":"url","type":"string"},{"name":"frameId","$ref":"Page.FrameId"},{"name":"loaderId","$ref":"Network.LoaderId"}]},{"id":"NavigatorUserAgentIssueDetails","deprecated":true,"type":"object","properties":[{"name":"url","type":"string"},{"name":"location","optional":true,"$ref":"SourceCodeLocation"}]},{"id":"SharedDictionaryIssueDetails","type":"object","properties":[{"name":"sharedDictionaryError","$ref":"SharedDictionaryError"},{"name":"request","$ref":"AffectedRequest"}]},{"id":"SRIMessageSignatureIssueDetails","type":"object","properties":[{"name":"error","$ref":"SRIMessageSignatureError"},{"name":"signatureBase","type":"string"},{"name":"integrityAssertions","type":"array","items":{"type":"string"}},{"name":"request","$ref":"AffectedRequest"}]},{"id":"UnencodedDigestIssueDetails","type":"object","properties":[{"name":"error","$ref":"UnencodedDigestError"},{"name":"request","$ref":"AffectedRequest"}]},{"id":"ConnectionAllowlistIssueDetails","type":"object","properties":[{"name":"error","$ref":"ConnectionAllowlistError"},{"name":"request","$ref":"AffectedRequest"}]},{"id":"GenericIssueErrorType","type":"string","enum":["FormLabelForNameError","FormDuplicateIdForInputError","FormInputWithNoLabelError","FormAutocompleteAttributeEmptyError","FormEmptyIdAndNameAttributesForInputError","FormAriaLabelledByToNonExistingIdError","FormInputAssignedAutocompleteValueToIdOrNameAttributeError","FormLabelHasNeitherForNorNestedInputError","FormLabelForMatchesNonExistingIdError","FormInputHasWrongButWellIntendedAutocompleteValueError","ResponseWasBlockedByORB","NavigationEntryMarkedSkippable","BackUINavigationWouldSkipAd","AutofillAndManualTextPolicyControlledFeaturesInfo","AutofillPolicyControlledFeatureInfo","ManualTextPolicyControlledFeatureInfo","FormModelContextParameterMissingTitleAndDescription","FormModelContextMissingToolName","FormModelContextMissingToolDescription","FormModelContextRequiredParameterMissingName","FormModelContextParameterMissingName"]},{"id":"GenericIssueDetails","description":"Depending on the concrete errorType, different properties are set.","type":"object","properties":[{"name":"errorType","description":"Issues with the same errorType are aggregated in the frontend.","$ref":"GenericIssueErrorType"},{"name":"frameId","optional":true,"$ref":"Page.FrameId"},{"name":"violatingNodeId","optional":true,"$ref":"DOM.BackendNodeId"},{"name":"violatingNodeAttribute","optional":true,"type":"string"},{"name":"request","optional":true,"$ref":"AffectedRequest"}]},{"id":"DeprecationIssueDetails","description":"This issue tracks information needed to print a deprecation message.\nhttps://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/third_party/blink/renderer/core/frame/deprecation/README.md","type":"object","properties":[{"name":"affectedFrame","optional":true,"$ref":"AffectedFrame"},{"name":"sourceCodeLocation","$ref":"SourceCodeLocation"},{"name":"type","description":"One of the deprecation names from third_party/blink/renderer/core/frame/deprecation/deprecation.json5","type":"string"}]},{"id":"BounceTrackingIssueDetails","description":"This issue warns about sites in the redirect chain of a finished navigation\nthat may be flagged as trackers and have their state cleared if they don't\nreceive a user interaction. Note that in this context 'site' means eTLD+1.\nFor example, if the URL `https://example.test:80/bounce` was in the\nredirect chain, the site reported would be `example.test`.","type":"object","properties":[{"name":"trackingSites","type":"array","items":{"type":"string"}}]},{"id":"CookieDeprecationMetadataIssueDetails","description":"This issue warns about third-party sites that are accessing cookies on the\ncurrent page, and have been permitted due to having a global metadata grant.\nNote that in this context 'site' means eTLD+1. For example, if the URL\n`https://example.test:80/web_page` was accessing cookies, the site reported\nwould be `example.test`.","type":"object","properties":[{"name":"allowedSites","type":"array","items":{"type":"string"}},{"name":"optOutPercentage","type":"number"},{"name":"isOptOutTopLevel","type":"boolean"},{"name":"operation","$ref":"CookieOperation"}]},{"id":"ClientHintIssueReason","type":"string","enum":["MetaTagAllowListInvalidOrigin","MetaTagModifiedHTML"]},{"id":"FederatedAuthRequestIssueDetails","type":"object","properties":[{"name":"federatedAuthRequestIssueReason","$ref":"FederatedAuthRequestIssueReason"}]},{"id":"FederatedAuthRequestIssueReason","description":"Represents the failure reason when a federated authentication reason fails.\nShould be updated alongside RequestIdTokenStatus in\nthird_party/blink/public/mojom/devtools/inspector_issue.mojom to include\nall cases except for success.","type":"string","enum":["ShouldEmbargo","TooManyRequests","WellKnownHttpNotFound","WellKnownNoResponse","WellKnownInvalidResponse","WellKnownListEmpty","WellKnownInvalidContentType","ConfigNotInWellKnown","WellKnownTooBig","ConfigHttpNotFound","ConfigNoResponse","ConfigInvalidResponse","ConfigInvalidContentType","IdpNotPotentiallyTrustworthy","DisabledInSettings","DisabledInFlags","ErrorFetchingSignin","InvalidSigninResponse","AccountsHttpNotFound","AccountsNoResponse","AccountsInvalidResponse","AccountsListEmpty","AccountsInvalidContentType","IdTokenHttpNotFound","IdTokenNoResponse","IdTokenInvalidResponse","IdTokenIdpErrorResponse","IdTokenCrossSiteIdpErrorResponse","IdTokenInvalidRequest","IdTokenInvalidContentType","ErrorIdToken","Canceled","RpPageNotVisible","SilentMediationFailure","NotSignedInWithIdp","MissingTransientUserActivation","ReplacedByActiveMode","RelyingPartyOriginIsOpaque","TypeNotMatching","UiDismissedNoEmbargo","CorsError","SuppressedBySegmentationPlatform"]},{"id":"FederatedAuthUserInfoRequestIssueDetails","type":"object","properties":[{"name":"federatedAuthUserInfoRequestIssueReason","$ref":"FederatedAuthUserInfoRequestIssueReason"}]},{"id":"FederatedAuthUserInfoRequestIssueReason","description":"Represents the failure reason when a getUserInfo() call fails.\nShould be updated alongside FederatedAuthUserInfoRequestResult in\nthird_party/blink/public/mojom/devtools/inspector_issue.mojom.","type":"string","enum":["NotSameOrigin","NotIframe","NotPotentiallyTrustworthy","NoApiPermission","NotSignedInWithIdp","NoAccountSharingPermission","InvalidConfigOrWellKnown","InvalidAccountsResponse","NoReturningUserFromFetchedAccounts"]},{"id":"EmailVerificationRequestIssueDetails","type":"object","properties":[{"name":"emailVerificationRequestIssueReason","$ref":"EmailVerificationRequestIssueReason"}]},{"id":"EmailVerificationRequestIssueReason","description":"Represents the failure reason when an email verification request fails.\nShould be updated alongside EmailVerificationRequestResult in\nthird_party/blink/public/mojom/devtools/inspector_issue.mojom.","type":"string","enum":["InvalidEmail","DnsFetchFailed","DnsInvalidRecord","WellKnownHttpNotFound","WellKnownNoResponse","WellKnownInvalidResponse","WellKnownListEmpty","WellKnownInvalidContentType","WellKnownMissingIssuanceEndpoint","WellKnownIssuanceEndpointCrossOrigin","WellKnownUnsupportedSigningAlgorithm","TokenHttpNotFound","TokenNoResponse","TokenInvalidResponse","TokenInvalidContentType","TokenMalformedSdJwt","TokenInvalidSdJwt","KeyBindingSigningFailed","RpOriginIsOpaque","WellKnownMissingAccountsEndpoint","UserLoggedOut","WellKnownAccountsEndpointCrossOrigin","AccountsHttpNotFound","AccountsNoResponse","AccountsInvalidResponse","AccountsInvalidContentType","AccountsEmptyList","EmailVerificationWellKnownHttpNotFound","EmailVerificationWellKnownNoResponse","EmailVerificationWellKnownInvalidResponse","EmailVerificationWellKnownInvalidContentType","JwksHttpNotFound","JwksInvalidResponse","TokenVerificationSdJwtUnsupportedHeaderAlg","TokenVerificationSdJwtMissingIss","TokenVerificationSdJwtMissingIat","TokenVerificationSdJwtMissingCnf","TokenVerificationSdJwtMissingEmail","TokenVerificationSdJwtInvalidIssuedAt","TokenVerificationSdJwtInvalidIssuer","TokenVerificationSdJwtJwksMissingKeys","TokenVerificationSdJwtSignatureFailed","TokenVerificationSdJwtInvalidEmailVerified","TokenVerificationSdJwtInvalidEmail","TokenVerificationSdJwtInvalidHolderKey","TokenVerificationKbInvalidTyp","TokenVerificationKbMissingAud","TokenVerificationKbMissingNonce","TokenVerificationKbMissingIat","TokenVerificationKbMissingSdHash","TokenVerificationKbInvalidIssuedAt","TokenVerificationKbInvalidAudience","TokenVerificationKbInvalidNonce","TokenVerificationKbInvalidSdHash","TokenVerificationKbMissingCnf","TokenVerificationKbSignatureFailed"]},{"id":"ClientHintIssueDetails","description":"This issue tracks client hints related issues. It's used to deprecate old\nfeatures, encourage the use of new ones, and provide general guidance.","type":"object","properties":[{"name":"sourceCodeLocation","$ref":"SourceCodeLocation"},{"name":"clientHintIssueReason","$ref":"ClientHintIssueReason"}]},{"id":"FailedRequestInfo","type":"object","properties":[{"name":"url","description":"The URL that failed to load.","type":"string"},{"name":"failureMessage","description":"The failure message for the failed request.","type":"string"},{"name":"requestId","optional":true,"$ref":"Network.RequestId"}]},{"id":"PartitioningBlobURLInfo","type":"string","enum":["BlockedCrossPartitionFetching","EnforceNoopenerForNavigation"]},{"id":"PartitioningBlobURLIssueDetails","type":"object","properties":[{"name":"url","description":"The BlobURL that failed to load.","type":"string"},{"name":"partitioningBlobURLInfo","description":"Additional information about the Partitioning Blob URL issue.","$ref":"PartitioningBlobURLInfo"}]},{"id":"ElementAccessibilityIssueReason","type":"string","enum":["DisallowedSelectChild","DisallowedOptGroupChild","NonPhrasingContentOptionChild","InteractiveContentOptionChild","InteractiveContentLegendChild","InteractiveContentSummaryDescendant"]},{"id":"ElementAccessibilityIssueDetails","description":"This issue warns about errors in the select or summary element content model.","type":"object","properties":[{"name":"nodeId","$ref":"DOM.BackendNodeId"},{"name":"elementAccessibilityIssueReason","$ref":"ElementAccessibilityIssueReason"},{"name":"hasDisallowedAttributes","type":"boolean"}]},{"id":"StyleSheetLoadingIssueReason","type":"string","enum":["LateImportRule","RequestFailed"]},{"id":"StylesheetLoadingIssueDetails","description":"This issue warns when a referenced stylesheet couldn't be loaded.","type":"object","properties":[{"name":"sourceCodeLocation","description":"Source code position that referenced the failing stylesheet.","$ref":"SourceCodeLocation"},{"name":"styleSheetLoadingIssueReason","description":"Reason why the stylesheet couldn't be loaded.","$ref":"StyleSheetLoadingIssueReason"},{"name":"failedRequestInfo","description":"Contains additional info when the failure was due to a request.","optional":true,"$ref":"FailedRequestInfo"}]},{"id":"PropertyRuleIssueReason","type":"string","enum":["InvalidSyntax","InvalidInitialValue","InvalidInherits","InvalidName"]},{"id":"PropertyRuleIssueDetails","description":"This issue warns about errors in property rules that lead to property\nregistrations being ignored.","type":"object","properties":[{"name":"sourceCodeLocation","description":"Source code position of the property rule.","$ref":"SourceCodeLocation"},{"name":"propertyRuleIssueReason","description":"Reason why the property rule was discarded.","$ref":"PropertyRuleIssueReason"},{"name":"propertyValue","description":"The value of the property rule property that failed to parse","optional":true,"type":"string"}]},{"id":"UserReidentificationIssueType","type":"string","enum":["BlockedFrameNavigation","BlockedSubresource","NoisedCanvasReadback"]},{"id":"UserReidentificationIssueDetails","description":"This issue warns about uses of APIs that may be considered misuse to\nre-identify users.","type":"object","properties":[{"name":"type","$ref":"UserReidentificationIssueType"},{"name":"request","description":"Applies to BlockedFrameNavigation and BlockedSubresource issue types.","optional":true,"$ref":"AffectedRequest"},{"name":"sourceCodeLocation","description":"Applies to NoisedCanvasReadback issue type.","optional":true,"$ref":"SourceCodeLocation"}]},{"id":"PermissionElementIssueType","type":"string","enum":["InvalidType","FencedFrameDisallowed","CspFrameAncestorsMissing","PermissionsPolicyBlocked","PaddingRightUnsupported","PaddingBottomUnsupported","InsetBoxShadowUnsupported","RequestInProgress","UntrustedEvent","RegistrationFailed","TypeNotSupported","InvalidTypeActivation","SecurityChecksFailed","ActivationDisabled","GeolocationDeprecated","InvalidDisplayStyle","NonOpaqueColor","LowContrast","FontSizeTooSmall","FontSizeTooLarge","InvalidSizeValue"]},{"id":"PermissionElementIssueDetails","description":"This issue warns about improper usage of the element.","type":"object","properties":[{"name":"issueType","$ref":"PermissionElementIssueType"},{"name":"type","description":"The value of the type attribute.","optional":true,"type":"string"},{"name":"nodeId","description":"The node ID of the element.","optional":true,"$ref":"DOM.BackendNodeId"},{"name":"isWarning","description":"True if the issue is a warning, false if it is an error.","optional":true,"type":"boolean"},{"name":"permissionName","description":"Fields for message construction:\nUsed for messages that reference a specific permission name","optional":true,"type":"string"},{"name":"occluderNodeInfo","description":"Used for messages about occlusion","optional":true,"type":"string"},{"name":"occluderParentNodeInfo","description":"Used for messages about occluder's parent","optional":true,"type":"string"},{"name":"disableReason","description":"Used for messages about activation disabled reason","optional":true,"type":"string"}]},{"id":"SelectivePermissionsInterventionIssueDetails","description":"The issue warns about blocked calls to privacy sensitive APIs via the\nSelective Permissions Intervention.","type":"object","properties":[{"name":"apiName","description":"Which API was intervened on.","type":"string"},{"name":"adAncestry","description":"Why the ad script using the API is considered an ad.","$ref":"Network.AdAncestry"},{"name":"stackTrace","description":"The stack trace at the time of the intervention.","optional":true,"$ref":"Runtime.StackTrace"}]},{"id":"InspectorIssueCode","description":"A unique identifier for the type of issue. Each type may use one of the\noptional fields in InspectorIssueDetails to convey more specific\ninformation about the kind of issue.","type":"string","enum":["CookieIssue","MixedContentIssue","BlockedByResponseIssue","HeavyAdIssue","ContentSecurityPolicyIssue","SharedArrayBufferIssue","CorsIssue","AttributionReportingIssue","QuirksModeIssue","PartitioningBlobURLIssue","NavigatorUserAgentIssue","GenericIssue","DeprecationIssue","ClientHintIssue","FederatedAuthRequestIssue","BounceTrackingIssue","CookieDeprecationMetadataIssue","StylesheetLoadingIssue","FederatedAuthUserInfoRequestIssue","PropertyRuleIssue","SharedDictionaryIssue","ElementAccessibilityIssue","SRIMessageSignatureIssue","UnencodedDigestIssue","ConnectionAllowlistIssue","UserReidentificationIssue","PermissionElementIssue","PerformanceIssue","SelectivePermissionsInterventionIssue","EmailVerificationRequestIssue"]},{"id":"InspectorIssueDetails","description":"This struct holds a list of optional fields with additional information\nspecific to the kind of issue. When adding a new issue code, please also\nadd a new optional field to this type.","type":"object","properties":[{"name":"cookieIssueDetails","optional":true,"$ref":"CookieIssueDetails"},{"name":"mixedContentIssueDetails","optional":true,"$ref":"MixedContentIssueDetails"},{"name":"blockedByResponseIssueDetails","optional":true,"$ref":"BlockedByResponseIssueDetails"},{"name":"heavyAdIssueDetails","optional":true,"$ref":"HeavyAdIssueDetails"},{"name":"contentSecurityPolicyIssueDetails","optional":true,"$ref":"ContentSecurityPolicyIssueDetails"},{"name":"sharedArrayBufferIssueDetails","optional":true,"$ref":"SharedArrayBufferIssueDetails"},{"name":"corsIssueDetails","optional":true,"$ref":"CorsIssueDetails"},{"name":"attributionReportingIssueDetails","optional":true,"$ref":"AttributionReportingIssueDetails"},{"name":"quirksModeIssueDetails","optional":true,"$ref":"QuirksModeIssueDetails"},{"name":"partitioningBlobURLIssueDetails","optional":true,"$ref":"PartitioningBlobURLIssueDetails"},{"name":"navigatorUserAgentIssueDetails","deprecated":true,"optional":true,"$ref":"NavigatorUserAgentIssueDetails"},{"name":"genericIssueDetails","optional":true,"$ref":"GenericIssueDetails"},{"name":"deprecationIssueDetails","optional":true,"$ref":"DeprecationIssueDetails"},{"name":"clientHintIssueDetails","optional":true,"$ref":"ClientHintIssueDetails"},{"name":"federatedAuthRequestIssueDetails","optional":true,"$ref":"FederatedAuthRequestIssueDetails"},{"name":"bounceTrackingIssueDetails","optional":true,"$ref":"BounceTrackingIssueDetails"},{"name":"cookieDeprecationMetadataIssueDetails","optional":true,"$ref":"CookieDeprecationMetadataIssueDetails"},{"name":"stylesheetLoadingIssueDetails","optional":true,"$ref":"StylesheetLoadingIssueDetails"},{"name":"propertyRuleIssueDetails","optional":true,"$ref":"PropertyRuleIssueDetails"},{"name":"federatedAuthUserInfoRequestIssueDetails","optional":true,"$ref":"FederatedAuthUserInfoRequestIssueDetails"},{"name":"sharedDictionaryIssueDetails","optional":true,"$ref":"SharedDictionaryIssueDetails"},{"name":"elementAccessibilityIssueDetails","optional":true,"$ref":"ElementAccessibilityIssueDetails"},{"name":"sriMessageSignatureIssueDetails","optional":true,"$ref":"SRIMessageSignatureIssueDetails"},{"name":"unencodedDigestIssueDetails","optional":true,"$ref":"UnencodedDigestIssueDetails"},{"name":"connectionAllowlistIssueDetails","optional":true,"$ref":"ConnectionAllowlistIssueDetails"},{"name":"userReidentificationIssueDetails","optional":true,"$ref":"UserReidentificationIssueDetails"},{"name":"permissionElementIssueDetails","optional":true,"$ref":"PermissionElementIssueDetails"},{"name":"performanceIssueDetails","optional":true,"$ref":"PerformanceIssueDetails"},{"name":"selectivePermissionsInterventionIssueDetails","optional":true,"$ref":"SelectivePermissionsInterventionIssueDetails"},{"name":"emailVerificationRequestIssueDetails","optional":true,"$ref":"EmailVerificationRequestIssueDetails"}]},{"id":"IssueId","description":"A unique id for a DevTools inspector issue. Allows other entities (e.g.\nexceptions, CDP message, console messages, etc.) to reference an issue.","type":"string"},{"id":"InspectorIssue","description":"An inspector issue reported from the back-end.","type":"object","properties":[{"name":"code","$ref":"InspectorIssueCode"},{"name":"details","$ref":"InspectorIssueDetails"},{"name":"issueId","description":"A unique id for this issue. May be omitted if no other entity (e.g.\nexception, CDP message, etc.) is referencing this issue.","optional":true,"$ref":"IssueId"}]}],"events":[{"name":"issueAdded","parameters":[{"name":"issue","$ref":"InspectorIssue"}]}],"commands":[{"name":"enable","description":"Enables issues domain, sends the issues collected so far to the client by means of the\n`issueAdded` event."},{"name":"disable","description":"Disables issues domain, prevents further issues from being reported to the client."}]},{"domain":"WebMCP","experimental":true,"dependencies":["Runtime","Page","DOM"],"types":[{"id":"Annotation","description":"Tool annotations","type":"object","properties":[{"name":"readOnly","description":"A hint indicating that the tool does not modify any state.","optional":true,"type":"boolean"},{"name":"untrustedContent","description":"A hint indicating that the tool output may contain untrusted content, ex: UGC, 3rd party data.","optional":true,"type":"boolean"},{"name":"autosubmit","description":"If the declarative tool was declared with the autosubmit attribute.","optional":true,"type":"boolean"}]},{"id":"InvocationStatus","description":"Represents the status of a tool invocation.","type":"string","enum":["Completed","Canceled","Error"]},{"id":"Tool","description":"Definition of a tool that can be invoked.","type":"object","properties":[{"name":"name","description":"Tool name.","type":"string"},{"name":"description","description":"Tool description.","type":"string"},{"name":"inputSchema","description":"Schema for the tool's input parameters.","optional":true,"type":"object"},{"name":"annotations","description":"Optional annotations for the tool.","optional":true,"$ref":"Annotation"},{"name":"frameId","description":"Frame identifier associated with the tool registration.","$ref":"Page.FrameId"},{"name":"backendNodeId","description":"Optional node ID for declarative tools.","optional":true,"$ref":"DOM.BackendNodeId"},{"name":"stackTrace","description":"The stack trace at the time of the registration.","optional":true,"$ref":"Runtime.StackTrace"}]},{"id":"RemovedTool","description":"Definition of a tool that was removed.","type":"object","properties":[{"name":"name","description":"Tool name.","type":"string"},{"name":"frameId","description":"Frame identifier associated with the tool registration.","$ref":"Page.FrameId"}]}],"events":[{"name":"toolsAdded","description":"Event fired when new tools are added.","parameters":[{"name":"tools","description":"Array of tools that were added.","type":"array","items":{"$ref":"Tool"}}]},{"name":"toolsRemoved","description":"Event fired when tools are removed.","parameters":[{"name":"tools","description":"Array of tools that were removed.","type":"array","items":{"$ref":"RemovedTool"}}]},{"name":"toolInvoked","description":"Event fired when a tool invocation starts.","parameters":[{"name":"toolName","description":"Name of the tool to invoke.","type":"string"},{"name":"frameId","description":"Frame id","$ref":"Page.FrameId"},{"name":"invocationId","description":"Invocation identifier.","type":"string"},{"name":"input","description":"The input parameters used for the invocation.","type":"string"}]},{"name":"toolResponded","description":"Event fired when a tool invocation completes or fails.","parameters":[{"name":"invocationId","description":"Invocation identifier.","type":"string"},{"name":"status","description":"Status of the invocation.","$ref":"InvocationStatus"},{"name":"output","description":"Output or error delivered as delivered to the agent. Missing if `status` is anything other than Completed.\nNote: The output is untrusted and poses a prompt injection risk. Clients should treat this as potentially malicious user input.","optional":true,"type":"any"},{"name":"errorText","description":"Error text for protocol users.","optional":true,"type":"string"},{"name":"exception","description":"The exception object, if the javascript tool threw an error>","optional":true,"$ref":"Runtime.RemoteObject"}]}],"commands":[{"name":"enable","description":"Enables the WebMCP domain, allowing events to be sent. Enabling the domain will trigger a toolsAdded event for\nall currently registered tools."},{"name":"disable","description":"Disables the WebMCP domain."},{"name":"invokeTool","description":"Invokes a registered tool.","parameters":[{"name":"frameId","description":"Frame in which to invoke the tool.","$ref":"Page.FrameId"},{"name":"toolName","description":"Name of the tool to invoke.","type":"string"},{"name":"input","description":"Input parameters for the tool, matching the tool's inputSchema.","type":"object"}],"returns":[{"name":"invocationId","description":"Unique identifier for this invocation. Response is sent before tool events.","type":"string"}]},{"name":"cancelInvocation","description":"Cancels a pending tool invocation.","parameters":[{"name":"invocationId","description":"Invocation identifier to cancel.","type":"string"}]}]},{"domain":"Browser","description":"The Browser domain defines methods and events for browser managing.","types":[{"id":"BrowserContextID","experimental":true,"type":"string"},{"id":"WindowID","experimental":true,"type":"integer"},{"id":"WindowState","description":"The state of the browser window.","experimental":true,"type":"string","enum":["normal","minimized","maximized","fullscreen"]},{"id":"Bounds","description":"Browser window bounds information","experimental":true,"type":"object","properties":[{"name":"left","description":"The offset from the left edge of the screen to the window in pixels.","optional":true,"type":"integer"},{"name":"top","description":"The offset from the top edge of the screen to the window in pixels.","optional":true,"type":"integer"},{"name":"width","description":"The window width in pixels.","optional":true,"type":"integer"},{"name":"height","description":"The window height in pixels.","optional":true,"type":"integer"},{"name":"windowState","description":"The window state. Default to normal.","optional":true,"$ref":"WindowState"}]},{"id":"PermissionType","experimental":true,"type":"string","enum":["ar","audioCapture","automaticFullscreen","backgroundFetch","backgroundSync","cameraPanTiltZoom","capturedSurfaceControl","clipboardReadWrite","clipboardSanitizedWrite","displayCapture","durableStorage","geolocation","handTracking","idleDetection","keyboardLock","localFonts","localNetwork","localNetworkAccess","loopbackNetwork","midi","midiSysex","nfc","notifications","paymentHandler","periodicBackgroundSync","pointerLock","protectedMediaIdentifier","sensors","smartCard","speakerSelection","storageAccess","topLevelStorageAccess","videoCapture","vr","wakeLockScreen","wakeLockSystem","webAppInstallation","webPrinting","windowManagement"]},{"id":"PermissionSetting","experimental":true,"type":"string","enum":["granted","denied","prompt"]},{"id":"PermissionDescriptor","description":"Definition of PermissionDescriptor defined in the Permissions API:\nhttps://w3c.github.io/permissions/#dom-permissiondescriptor.","experimental":true,"type":"object","properties":[{"name":"name","description":"Name of permission.\nSee https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names.","type":"string"},{"name":"sysex","description":"For \"midi\" permission, may also specify sysex control.","optional":true,"type":"boolean"},{"name":"userVisibleOnly","description":"For \"push\" permission, may specify userVisibleOnly.\nNote that userVisibleOnly = true is the only currently supported type.","optional":true,"type":"boolean"},{"name":"allowWithoutSanitization","description":"For \"clipboard\" permission, may specify allowWithoutSanitization.","optional":true,"type":"boolean"},{"name":"allowWithoutGesture","description":"For \"fullscreen\" permission, must specify allowWithoutGesture:true.","optional":true,"type":"boolean"},{"name":"panTiltZoom","description":"For \"camera\" permission, may specify panTiltZoom.","optional":true,"type":"boolean"}]},{"id":"BrowserCommandId","description":"Browser command ids used by executeBrowserCommand.","experimental":true,"type":"string","enum":["openTabSearch","closeTabSearch","openGlic"]},{"id":"Bucket","description":"Chrome histogram bucket.","experimental":true,"type":"object","properties":[{"name":"low","description":"Minimum value (inclusive).","type":"integer"},{"name":"high","description":"Maximum value (exclusive).","type":"integer"},{"name":"count","description":"Number of samples.","type":"integer"}]},{"id":"Histogram","description":"Chrome histogram.","experimental":true,"type":"object","properties":[{"name":"name","description":"Name.","type":"string"},{"name":"sum","description":"Sum of sample values.","type":"integer"},{"name":"count","description":"Total number of samples.","type":"integer"},{"name":"buckets","description":"Buckets.","type":"array","items":{"$ref":"Bucket"}}]},{"id":"PrivacySandboxAPI","experimental":true,"type":"string","enum":["BiddingAndAuctionServices","TrustedKeyValue"]}],"events":[{"name":"downloadWillBegin","description":"Fired when page is about to start a download.","experimental":true,"parameters":[{"name":"frameId","description":"Id of the frame that caused the download to begin.","$ref":"Page.FrameId"},{"name":"guid","description":"Global unique identifier of the download.","type":"string"},{"name":"url","description":"URL of the resource being downloaded.","type":"string"},{"name":"suggestedFilename","description":"Suggested file name of the resource (the actual name of the file saved on disk may differ).","type":"string"}]},{"name":"downloadProgress","description":"Fired when download makes progress. Last call has |done| == true.","experimental":true,"parameters":[{"name":"guid","description":"Global unique identifier of the download.","type":"string"},{"name":"totalBytes","description":"Total expected bytes to download.","type":"number"},{"name":"receivedBytes","description":"Total bytes received.","type":"number"},{"name":"state","description":"Download status.","type":"string","enum":["inProgress","completed","canceled"]},{"name":"filePath","description":"If download is \"completed\", provides the path of the downloaded file.\nDepending on the platform, it is not guaranteed to be set, nor the file\nis guaranteed to exist.","experimental":true,"optional":true,"type":"string"}]}],"commands":[{"name":"getVersion","description":"Returns version information.","returns":[{"name":"protocolVersion","description":"Protocol version.","type":"string"},{"name":"product","description":"Product name.","type":"string"},{"name":"revision","description":"Product revision.","type":"string"},{"name":"userAgent","description":"User-Agent.","type":"string"},{"name":"jsVersion","description":"V8 version.","type":"string"}]},{"name":"setPermission","description":"Set permission settings for given embedding and embedded origins.","experimental":true,"parameters":[{"name":"permission","description":"Descriptor of permission to override.","$ref":"PermissionDescriptor"},{"name":"setting","description":"Setting of the permission.","$ref":"PermissionSetting"},{"name":"origin","description":"Embedding origin the permission applies to, all origins if not specified.","optional":true,"type":"string"},{"name":"embeddedOrigin","description":"Embedded origin the permission applies to. It is ignored unless the embedding origin is\npresent and valid. If the embedding origin is provided but the embedded origin isn't, the\nembedding origin is used as the embedded origin.","optional":true,"type":"string"},{"name":"browserContextId","description":"Context to override. When omitted, default browser context is used.","optional":true,"$ref":"BrowserContextID"}]},{"name":"setWindowBounds","description":"Set position and/or size of the browser window.","experimental":true,"parameters":[{"name":"windowId","description":"Browser window id.","$ref":"WindowID"},{"name":"bounds","description":"New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined\nwith 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged.","$ref":"Bounds"}]},{"name":"resetPermissions","description":"Reset all permission management for all origins.","parameters":[{"name":"browserContextId","description":"BrowserContext to reset permissions. When omitted, default browser context is used.","optional":true,"$ref":"BrowserContextID"}]},{"name":"grantPermissions","description":"Grant specific permissions to the given origin and reject all others. Deprecated. Use\nsetPermission instead.","experimental":true,"deprecated":true,"parameters":[{"name":"permissions","type":"array","items":{"$ref":"PermissionType"}},{"name":"origin","description":"Origin the permission applies to, all origins if not specified.","optional":true,"type":"string"},{"name":"browserContextId","description":"BrowserContext to override permissions. When omitted, default browser context is used.","optional":true,"$ref":"BrowserContextID"}]},{"name":"getWindowForTarget","description":"Get the browser window that contains the devtools target.","experimental":true,"parameters":[{"name":"targetId","description":"Devtools agent host id. If called as a part of the session, associated targetId is used.","optional":true,"$ref":"Target.TargetID"}],"returns":[{"name":"windowId","description":"Browser window id.","$ref":"WindowID"},{"name":"bounds","description":"Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.","$ref":"Bounds"}]},{"name":"setDownloadBehavior","description":"Set the behavior when downloading a file.","experimental":true,"parameters":[{"name":"behavior","description":"Whether to allow all or deny all download requests, or use default Chrome behavior if\navailable (otherwise deny). |allowAndName| allows download and names files according to\ntheir download guids.","type":"string","enum":["deny","allow","allowAndName","default"]},{"name":"browserContextId","description":"BrowserContext to set download behavior. When omitted, default browser context is used.","optional":true,"$ref":"BrowserContextID"},{"name":"downloadPath","description":"The default path to save downloaded files to. This is required if behavior is set to 'allow'\nor 'allowAndName'.","optional":true,"type":"string"},{"name":"eventsEnabled","description":"Whether to emit download events (defaults to false).","optional":true,"type":"boolean"}]}]},{"domain":"Runtime","description":"Runtime domain exposes JavaScript runtime by means of remote evaluation and mirror objects.\nEvaluation results are returned as mirror object that expose object type, string representation\nand unique identifier that can be used for further object reference. Original objects are\nmaintained in memory unless they are either explicitly released or are released along with the\nother objects in their object group.","types":[{"id":"ScriptId","description":"Unique script identifier.","type":"string"},{"id":"SerializationOptions","description":"Represents options for serialization. Overrides `generatePreview` and `returnByValue`.","type":"object","properties":[{"name":"serialization","type":"string","enum":["deep","json","idOnly"]},{"name":"maxDepth","description":"Deep serialization depth. Default is full depth. Respected only in `deep` serialization mode.","optional":true,"type":"integer"},{"name":"additionalParameters","description":"Embedder-specific parameters. For example if connected to V8 in Chrome these control DOM\nserialization via `maxNodeDepth: integer` and `includeShadowTree: \"none\" | \"open\" | \"all\"`.\nValues can be only of type string or integer.","optional":true,"type":"object"}]},{"id":"DeepSerializedValue","description":"Represents deep serialized value.","type":"object","properties":[{"name":"type","type":"string","enum":["undefined","null","string","number","boolean","bigint","regexp","date","symbol","array","object","function","map","set","weakmap","weakset","error","proxy","promise","typedarray","arraybuffer","node","window","generator"]},{"name":"value","optional":true,"type":"any"},{"name":"objectId","optional":true,"type":"string"},{"name":"weakLocalObjectReference","description":"Set if value reference met more then once during serialization. In such\ncase, value is provided only to one of the serialized values. Unique\nper value in the scope of one CDP call.","optional":true,"type":"integer"}]},{"id":"RemoteObjectId","description":"Unique object identifier.","type":"string"},{"id":"UnserializableValue","description":"Primitive value which cannot be JSON-stringified. Includes values `-0`, `NaN`, `Infinity`,\n`-Infinity`, and bigint literals.","type":"string"},{"id":"RemoteObject","description":"Mirror object referencing original JavaScript object.","type":"object","properties":[{"name":"type","description":"Object type.","type":"string","enum":["object","function","undefined","string","number","boolean","symbol","bigint"]},{"name":"subtype","description":"Object subtype hint. Specified for `object` type values only.\nNOTE: If you change anything here, make sure to also update\n`subtype` in `ObjectPreview` and `PropertyPreview` below.","optional":true,"type":"string","enum":["array","null","node","regexp","date","map","set","weakmap","weakset","iterator","generator","error","proxy","promise","typedarray","arraybuffer","dataview","webassemblymemory","wasmvalue","trustedtype"]},{"name":"className","description":"Object class (constructor) name. Specified for `object` type values only.","optional":true,"type":"string"},{"name":"value","description":"Remote object value in case of primitive values or JSON values (if it was requested).","optional":true,"type":"any"},{"name":"unserializableValue","description":"Primitive value which can not be JSON-stringified does not have `value`, but gets this\nproperty.","optional":true,"$ref":"UnserializableValue"},{"name":"description","description":"String representation of the object.","optional":true,"type":"string"},{"name":"deepSerializedValue","description":"Deep serialized value.","experimental":true,"optional":true,"$ref":"DeepSerializedValue"},{"name":"objectId","description":"Unique object identifier (for non-primitive values).","optional":true,"$ref":"RemoteObjectId"},{"name":"preview","description":"Preview containing abbreviated property values. Specified for `object` type values only.","experimental":true,"optional":true,"$ref":"ObjectPreview"},{"name":"customPreview","experimental":true,"optional":true,"$ref":"CustomPreview"}]},{"id":"CustomPreview","experimental":true,"type":"object","properties":[{"name":"header","description":"The JSON-stringified result of formatter.header(object, config) call.\nIt contains json ML array that represents RemoteObject.","type":"string"},{"name":"bodyGetterId","description":"If formatter returns true as a result of formatter.hasBody call then bodyGetterId will\ncontain RemoteObjectId for the function that returns result of formatter.body(object, config) call.\nThe result value is json ML array.","optional":true,"$ref":"RemoteObjectId"}]},{"id":"ObjectPreview","description":"Object containing abbreviated remote object value.","experimental":true,"type":"object","properties":[{"name":"type","description":"Object type.","type":"string","enum":["object","function","undefined","string","number","boolean","symbol","bigint"]},{"name":"subtype","description":"Object subtype hint. Specified for `object` type values only.","optional":true,"type":"string","enum":["array","null","node","regexp","date","map","set","weakmap","weakset","iterator","generator","error","proxy","promise","typedarray","arraybuffer","dataview","webassemblymemory","wasmvalue","trustedtype"]},{"name":"description","description":"String representation of the object.","optional":true,"type":"string"},{"name":"overflow","description":"True iff some of the properties or entries of the original object did not fit.","type":"boolean"},{"name":"properties","description":"List of the properties.","type":"array","items":{"$ref":"PropertyPreview"}},{"name":"entries","description":"List of the entries. Specified for `map` and `set` subtype values only.","optional":true,"type":"array","items":{"$ref":"EntryPreview"}}]},{"id":"PropertyPreview","experimental":true,"type":"object","properties":[{"name":"name","description":"Property name.","type":"string"},{"name":"type","description":"Object type. Accessor means that the property itself is an accessor property.","type":"string","enum":["object","function","undefined","string","number","boolean","symbol","accessor","bigint"]},{"name":"value","description":"User-friendly property value string.","optional":true,"type":"string"},{"name":"valuePreview","description":"Nested value preview.","optional":true,"$ref":"ObjectPreview"},{"name":"subtype","description":"Object subtype hint. Specified for `object` type values only.","optional":true,"type":"string","enum":["array","null","node","regexp","date","map","set","weakmap","weakset","iterator","generator","error","proxy","promise","typedarray","arraybuffer","dataview","webassemblymemory","wasmvalue","trustedtype"]}]},{"id":"EntryPreview","experimental":true,"type":"object","properties":[{"name":"key","description":"Preview of the key. Specified for map-like collection entries.","optional":true,"$ref":"ObjectPreview"},{"name":"value","description":"Preview of the value.","$ref":"ObjectPreview"}]},{"id":"PropertyDescriptor","description":"Object property descriptor.","type":"object","properties":[{"name":"name","description":"Property name or symbol description.","type":"string"},{"name":"value","description":"The value associated with the property.","optional":true,"$ref":"RemoteObject"},{"name":"writable","description":"True if the value associated with the property may be changed (data descriptors only).","optional":true,"type":"boolean"},{"name":"get","description":"A function which serves as a getter for the property, or `undefined` if there is no getter\n(accessor descriptors only).","optional":true,"$ref":"RemoteObject"},{"name":"set","description":"A function which serves as a setter for the property, or `undefined` if there is no setter\n(accessor descriptors only).","optional":true,"$ref":"RemoteObject"},{"name":"configurable","description":"True if the type of this property descriptor may be changed and if the property may be\ndeleted from the corresponding object.","type":"boolean"},{"name":"enumerable","description":"True if this property shows up during enumeration of the properties on the corresponding\nobject.","type":"boolean"},{"name":"wasThrown","description":"True if the result was thrown during the evaluation.","optional":true,"type":"boolean"},{"name":"isOwn","description":"True if the property is owned for the object.","optional":true,"type":"boolean"},{"name":"symbol","description":"Property symbol object, if the property is of the `symbol` type.","optional":true,"$ref":"RemoteObject"}]},{"id":"InternalPropertyDescriptor","description":"Object internal property descriptor. This property isn't normally visible in JavaScript code.","type":"object","properties":[{"name":"name","description":"Conventional property name.","type":"string"},{"name":"value","description":"The value associated with the property.","optional":true,"$ref":"RemoteObject"}]},{"id":"PrivatePropertyDescriptor","description":"Object private field descriptor.","experimental":true,"type":"object","properties":[{"name":"name","description":"Private property name.","type":"string"},{"name":"value","description":"The value associated with the private property.","optional":true,"$ref":"RemoteObject"},{"name":"get","description":"A function which serves as a getter for the private property,\nor `undefined` if there is no getter (accessor descriptors only).","optional":true,"$ref":"RemoteObject"},{"name":"set","description":"A function which serves as a setter for the private property,\nor `undefined` if there is no setter (accessor descriptors only).","optional":true,"$ref":"RemoteObject"}]},{"id":"CallArgument","description":"Represents function call argument. Either remote object id `objectId`, primitive `value`,\nunserializable primitive value or neither of (for undefined) them should be specified.","type":"object","properties":[{"name":"value","description":"Primitive value or serializable javascript object.","optional":true,"type":"any"},{"name":"unserializableValue","description":"Primitive value which can not be JSON-stringified.","optional":true,"$ref":"UnserializableValue"},{"name":"objectId","description":"Remote object handle.","optional":true,"$ref":"RemoteObjectId"}]},{"id":"ExecutionContextId","description":"Id of an execution context.","type":"integer"},{"id":"ExecutionContextDescription","description":"Description of an isolated world.","type":"object","properties":[{"name":"id","description":"Unique id of the execution context. It can be used to specify in which execution context\nscript evaluation should be performed.","$ref":"ExecutionContextId"},{"name":"origin","description":"Execution context origin.","type":"string"},{"name":"name","description":"Human readable name describing given context.","type":"string"},{"name":"uniqueId","description":"A system-unique execution context identifier. Unlike the id, this is unique across\nmultiple processes, so can be reliably used to identify specific context while backend\nperforms a cross-process navigation.","experimental":true,"type":"string"},{"name":"auxData","description":"Embedder-specific auxiliary data likely matching {isDefault: boolean, type: 'default'|'isolated'|'worker', frameId: string}","optional":true,"type":"object"}]},{"id":"ExceptionDetails","description":"Detailed information about exception (or error) that was thrown during script compilation or\nexecution.","type":"object","properties":[{"name":"exceptionId","description":"Exception id.","type":"integer"},{"name":"text","description":"Exception text, which should be used together with exception object when available.","type":"string"},{"name":"lineNumber","description":"Line number of the exception location (0-based).","type":"integer"},{"name":"columnNumber","description":"Column number of the exception location (0-based).","type":"integer"},{"name":"scriptId","description":"Script ID of the exception location.","optional":true,"$ref":"ScriptId"},{"name":"url","description":"URL of the exception location, to be used when the script was not reported.","optional":true,"type":"string"},{"name":"stackTrace","description":"JavaScript stack trace if available.","optional":true,"$ref":"StackTrace"},{"name":"exception","description":"Exception object if available.","optional":true,"$ref":"RemoteObject"},{"name":"executionContextId","description":"Identifier of the context where exception happened.","optional":true,"$ref":"ExecutionContextId"},{"name":"exceptionMetaData","description":"Dictionary with entries of meta data that the client associated\nwith this exception, such as information about associated network\nrequests, etc.","experimental":true,"optional":true,"type":"object"}]},{"id":"Timestamp","description":"Number of milliseconds since epoch.","type":"number"},{"id":"TimeDelta","description":"Number of milliseconds.","type":"number"},{"id":"CallFrame","description":"Stack entry for runtime errors and assertions.","type":"object","properties":[{"name":"functionName","description":"JavaScript function name.","type":"string"},{"name":"scriptId","description":"JavaScript script id.","$ref":"ScriptId"},{"name":"url","description":"JavaScript script name or url.","type":"string"},{"name":"lineNumber","description":"JavaScript script line number (0-based).","type":"integer"},{"name":"columnNumber","description":"JavaScript script column number (0-based).","type":"integer"}]},{"id":"StackTrace","description":"Call frames for assertions or error messages.","type":"object","properties":[{"name":"description","description":"String label of this stack trace. For async traces this may be a name of the function that\ninitiated the async call.","optional":true,"type":"string"},{"name":"callFrames","description":"JavaScript function name.","type":"array","items":{"$ref":"CallFrame"}},{"name":"parent","description":"Asynchronous JavaScript stack trace that preceded this stack, if available.","optional":true,"$ref":"StackTrace"},{"name":"parentId","description":"Asynchronous JavaScript stack trace that preceded this stack, if available.","experimental":true,"optional":true,"$ref":"StackTraceId"}]},{"id":"UniqueDebuggerId","description":"Unique identifier of current debugger.","experimental":true,"type":"string"},{"id":"StackTraceId","description":"If `debuggerId` is set stack trace comes from another debugger and can be resolved there. This\nallows to track cross-debugger calls. See `Runtime.StackTrace` and `Debugger.paused` for usages.","experimental":true,"type":"object","properties":[{"name":"id","type":"string"},{"name":"debuggerId","optional":true,"$ref":"UniqueDebuggerId"}]}],"events":[{"name":"bindingCalled","description":"Notification is issued every time when binding is called.","experimental":true,"parameters":[{"name":"name","type":"string"},{"name":"payload","type":"string"},{"name":"executionContextId","description":"Identifier of the context where the call was made.","$ref":"ExecutionContextId"}]},{"name":"consoleAPICalled","description":"Issued when console API was called.","parameters":[{"name":"type","description":"Type of the call.","type":"string","enum":["log","debug","info","error","warning","dir","dirxml","table","trace","clear","startGroup","startGroupCollapsed","endGroup","assert","profile","profileEnd","count","timeEnd"]},{"name":"args","description":"Call arguments.","type":"array","items":{"$ref":"RemoteObject"}},{"name":"executionContextId","description":"Identifier of the context where the call was made.","$ref":"ExecutionContextId"},{"name":"timestamp","description":"Call timestamp.","$ref":"Timestamp"},{"name":"stackTrace","description":"Stack trace captured when the call was made. The async stack chain is automatically reported for\nthe following call types: `assert`, `error`, `trace`, `warning`. For other types the async call\nchain can be retrieved using `Debugger.getStackTrace` and `stackTrace.parentId` field.","optional":true,"$ref":"StackTrace"},{"name":"context","description":"Console context descriptor for calls on non-default console context (not console.*):\n'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call\non named context.","experimental":true,"optional":true,"type":"string"}]},{"name":"exceptionRevoked","description":"Issued when unhandled exception was revoked.","parameters":[{"name":"reason","description":"Reason describing why exception was revoked.","type":"string"},{"name":"exceptionId","description":"The id of revoked exception, as reported in `exceptionThrown`.","type":"integer"}]},{"name":"exceptionThrown","description":"Issued when exception was thrown and unhandled.","parameters":[{"name":"timestamp","description":"Timestamp of the exception.","$ref":"Timestamp"},{"name":"exceptionDetails","$ref":"ExceptionDetails"}]},{"name":"executionContextCreated","description":"Issued when new execution context is created.","parameters":[{"name":"context","description":"A newly created execution context.","$ref":"ExecutionContextDescription"}]},{"name":"executionContextDestroyed","description":"Issued when execution context is destroyed.","parameters":[{"name":"executionContextId","description":"Id of the destroyed context","deprecated":true,"$ref":"ExecutionContextId"},{"name":"executionContextUniqueId","description":"Unique Id of the destroyed context","experimental":true,"type":"string"}]},{"name":"executionContextsCleared","description":"Issued when all executionContexts were cleared in browser"},{"name":"inspectRequested","description":"Issued when object should be inspected (for example, as a result of inspect() command line API\ncall).","parameters":[{"name":"object","$ref":"RemoteObject"},{"name":"hints","type":"object"},{"name":"executionContextId","description":"Identifier of the context where the call was made.","experimental":true,"optional":true,"$ref":"ExecutionContextId"}]}],"commands":[{"name":"enable","description":"Enables reporting of execution contexts creation by means of `executionContextCreated` event.\nWhen the reporting gets enabled the event will be sent immediately for each existing execution\ncontext."},{"name":"disable","description":"Disables reporting of execution contexts creation."},{"name":"runIfWaitingForDebugger","description":"Tells inspected instance to run if it was waiting for debugger to attach."},{"name":"evaluate","description":"Evaluates expression on global object.","parameters":[{"name":"expression","description":"Expression to evaluate.","type":"string"},{"name":"objectGroup","description":"Symbolic group name that can be used to release multiple objects.","optional":true,"type":"string"},{"name":"includeCommandLineAPI","description":"Determines whether Command Line API should be available during the evaluation.","optional":true,"type":"boolean"},{"name":"silent","description":"In silent mode exceptions thrown during evaluation are not reported and do not pause\nexecution. Overrides `setPauseOnException` state.","optional":true,"type":"boolean"},{"name":"contextId","description":"Specifies in which execution context to perform evaluation. If the parameter is omitted the\nevaluation will be performed in the context of the inspected page.\nThis is mutually exclusive with `uniqueContextId`, which offers an\nalternative way to identify the execution context that is more reliable\nin a multi-process environment.","optional":true,"$ref":"ExecutionContextId"},{"name":"returnByValue","description":"Whether the result is expected to be a JSON object that should be sent by value.","optional":true,"type":"boolean"},{"name":"generatePreview","description":"Whether preview should be generated for the result.","experimental":true,"optional":true,"type":"boolean"},{"name":"userGesture","description":"Whether execution should be treated as initiated by user in the UI.","optional":true,"type":"boolean"},{"name":"awaitPromise","description":"Whether execution should `await` for resulting value and return once awaited promise is\nresolved.","optional":true,"type":"boolean"},{"name":"throwOnSideEffect","description":"Whether to throw an exception if side effect cannot be ruled out during evaluation.\nThis implies `disableBreaks` below.","experimental":true,"optional":true,"type":"boolean"},{"name":"timeout","description":"Terminate execution after timing out (number of milliseconds).","experimental":true,"optional":true,"$ref":"TimeDelta"},{"name":"disableBreaks","description":"Disable breakpoints during execution.","experimental":true,"optional":true,"type":"boolean"},{"name":"replMode","description":"Setting this flag to true enables `let` re-declaration and top-level `await`.\nNote that `let` variables can only be re-declared if they originate from\n`replMode` themselves.","experimental":true,"optional":true,"type":"boolean"},{"name":"allowUnsafeEvalBlockedByCSP","description":"The Content Security Policy (CSP) for the target might block 'unsafe-eval'\nwhich includes eval(), Function(), setTimeout() and setInterval()\nwhen called with non-callable arguments. This flag bypasses CSP for this\nevaluation and allows unsafe-eval. Defaults to true.","experimental":true,"optional":true,"type":"boolean"},{"name":"uniqueContextId","description":"An alternative way to specify the execution context to evaluate in.\nCompared to contextId that may be reused across processes, this is guaranteed to be\nsystem-unique, so it can be used to prevent accidental evaluation of the expression\nin context different than intended (e.g. as a result of navigation across process\nboundaries).\nThis is mutually exclusive with `contextId`.","experimental":true,"optional":true,"type":"string"},{"name":"serializationOptions","description":"Specifies the result serialization. If provided, overrides\n`generatePreview` and `returnByValue`.","experimental":true,"optional":true,"$ref":"SerializationOptions"}],"returns":[{"name":"result","description":"Evaluation result.","$ref":"RemoteObject"},{"name":"exceptionDetails","description":"Exception details.","optional":true,"$ref":"ExceptionDetails"}]},{"name":"addBinding","description":"If executionContextId is empty, adds binding with the given name on the\nglobal objects of all inspected contexts, including those created later,\nbindings survive reloads.\nBinding function takes exactly one argument, this argument should be string,\nin case of any other input, function throws an exception.\nEach binding function call produces Runtime.bindingCalled notification.","parameters":[{"name":"name","type":"string"},{"name":"executionContextId","description":"If specified, the binding would only be exposed to the specified\nexecution context. If omitted and `executionContextName` is not set,\nthe binding is exposed to all execution contexts of the target.\nThis parameter is mutually exclusive with `executionContextName`.\nDeprecated in favor of `executionContextName` due to an unclear use case\nand bugs in implementation (crbug.com/1169639). `executionContextId` will be\nremoved in the future.","experimental":true,"deprecated":true,"optional":true,"$ref":"ExecutionContextId"},{"name":"executionContextName","description":"If specified, the binding is exposed to the executionContext with\nmatching name, even for contexts created after the binding is added.\nSee also `ExecutionContext.name` and `worldName` parameter to\n`Page.addScriptToEvaluateOnNewDocument`.\nThis parameter is mutually exclusive with `executionContextId`.","optional":true,"type":"string"}]},{"name":"callFunctionOn","description":"Calls function with given declaration on the given object. Object group of the result is\ninherited from the target object.","parameters":[{"name":"functionDeclaration","description":"Declaration of the function to call.","type":"string"},{"name":"objectId","description":"Identifier of the object to call function on. Either objectId or executionContextId should\nbe specified.","optional":true,"$ref":"RemoteObjectId"},{"name":"arguments","description":"Call arguments. All call arguments must belong to the same JavaScript world as the target\nobject.","optional":true,"type":"array","items":{"$ref":"CallArgument"}},{"name":"silent","description":"In silent mode exceptions thrown during evaluation are not reported and do not pause\nexecution. Overrides `setPauseOnException` state.","optional":true,"type":"boolean"},{"name":"returnByValue","description":"Whether the result is expected to be a JSON object which should be sent by value.\nCan be overriden by `serializationOptions`.","optional":true,"type":"boolean"},{"name":"generatePreview","description":"Whether preview should be generated for the result.","experimental":true,"optional":true,"type":"boolean"},{"name":"userGesture","description":"Whether execution should be treated as initiated by user in the UI.","optional":true,"type":"boolean"},{"name":"awaitPromise","description":"Whether execution should `await` for resulting value and return once awaited promise is\nresolved.","optional":true,"type":"boolean"},{"name":"executionContextId","description":"Specifies execution context which global object will be used to call function on. Either\nexecutionContextId or objectId should be specified.","optional":true,"$ref":"ExecutionContextId"},{"name":"objectGroup","description":"Symbolic group name that can be used to release multiple objects. If objectGroup is not\nspecified and objectId is, objectGroup will be inherited from object.","optional":true,"type":"string"},{"name":"throwOnSideEffect","description":"Whether to throw an exception if side effect cannot be ruled out during evaluation.","experimental":true,"optional":true,"type":"boolean"},{"name":"uniqueContextId","description":"An alternative way to specify the execution context to call function on.\nCompared to contextId that may be reused across processes, this is guaranteed to be\nsystem-unique, so it can be used to prevent accidental function call\nin context different than intended (e.g. as a result of navigation across process\nboundaries).\nThis is mutually exclusive with `executionContextId`.","experimental":true,"optional":true,"type":"string"},{"name":"serializationOptions","description":"Specifies the result serialization. If provided, overrides\n`generatePreview` and `returnByValue`.","experimental":true,"optional":true,"$ref":"SerializationOptions"}],"returns":[{"name":"result","description":"Call result.","$ref":"RemoteObject"},{"name":"exceptionDetails","description":"Exception details.","optional":true,"$ref":"ExceptionDetails"}]},{"name":"releaseObject","description":"Releases remote object with given id.","parameters":[{"name":"objectId","description":"Identifier of the object to release.","$ref":"RemoteObjectId"}]},{"name":"getProperties","description":"Returns properties of a given object. Object group of the result is inherited from the target\nobject.","parameters":[{"name":"objectId","description":"Identifier of the object to return properties for.","$ref":"RemoteObjectId"},{"name":"ownProperties","description":"If true, returns properties belonging only to the element itself, not to its prototype\nchain.","optional":true,"type":"boolean"},{"name":"accessorPropertiesOnly","description":"If true, returns accessor properties (with getter/setter) only; internal properties are not\nreturned either.","experimental":true,"optional":true,"type":"boolean"},{"name":"generatePreview","description":"Whether preview should be generated for the results.","experimental":true,"optional":true,"type":"boolean"},{"name":"nonIndexedPropertiesOnly","description":"If true, returns non-indexed properties only.","experimental":true,"optional":true,"type":"boolean"}],"returns":[{"name":"result","description":"Object properties.","type":"array","items":{"$ref":"PropertyDescriptor"}},{"name":"internalProperties","description":"Internal object properties (only of the element itself).","optional":true,"type":"array","items":{"$ref":"InternalPropertyDescriptor"}},{"name":"privateProperties","description":"Object private properties.","experimental":true,"optional":true,"type":"array","items":{"$ref":"PrivatePropertyDescriptor"}},{"name":"exceptionDetails","description":"Exception details.","optional":true,"$ref":"ExceptionDetails"}]},{"name":"releaseObjectGroup","description":"Releases all remote objects that belong to a given group.","parameters":[{"name":"objectGroup","description":"Symbolic object group name.","type":"string"}]},{"name":"awaitPromise","description":"Add handler to promise with given promise object id.","parameters":[{"name":"promiseObjectId","description":"Identifier of the promise.","$ref":"RemoteObjectId"},{"name":"returnByValue","description":"Whether the result is expected to be a JSON object that should be sent by value.","optional":true,"type":"boolean"},{"name":"generatePreview","description":"Whether preview should be generated for the result.","optional":true,"type":"boolean"}],"returns":[{"name":"result","description":"Promise result. Will contain rejected value if promise was rejected.","$ref":"RemoteObject"},{"name":"exceptionDetails","description":"Exception details if stack strace is available.","optional":true,"$ref":"ExceptionDetails"}]},{"name":"compileScript","description":"Compiles expression.","parameters":[{"name":"expression","description":"Expression to compile.","type":"string"},{"name":"sourceURL","description":"Source url to be set for the script.","type":"string"},{"name":"persistScript","description":"Specifies whether the compiled script should be persisted.","type":"boolean"},{"name":"executionContextId","description":"Specifies in which execution context to perform script run. If the parameter is omitted the\nevaluation will be performed in the context of the inspected page.","optional":true,"$ref":"ExecutionContextId"}],"returns":[{"name":"scriptId","description":"Id of the script.","optional":true,"$ref":"ScriptId"},{"name":"exceptionDetails","description":"Exception details.","optional":true,"$ref":"ExceptionDetails"}]},{"name":"runScript","description":"Runs script with given id in a given context.","parameters":[{"name":"scriptId","description":"Id of the script to run.","$ref":"ScriptId"},{"name":"executionContextId","description":"Specifies in which execution context to perform script run. If the parameter is omitted the\nevaluation will be performed in the context of the inspected page.","optional":true,"$ref":"ExecutionContextId"},{"name":"objectGroup","description":"Symbolic group name that can be used to release multiple objects.","optional":true,"type":"string"},{"name":"silent","description":"In silent mode exceptions thrown during evaluation are not reported and do not pause\nexecution. Overrides `setPauseOnException` state.","optional":true,"type":"boolean"},{"name":"includeCommandLineAPI","description":"Determines whether Command Line API should be available during the evaluation.","optional":true,"type":"boolean"},{"name":"returnByValue","description":"Whether the result is expected to be a JSON object which should be sent by value.","optional":true,"type":"boolean"},{"name":"generatePreview","description":"Whether preview should be generated for the result.","optional":true,"type":"boolean"},{"name":"awaitPromise","description":"Whether execution should `await` for resulting value and return once awaited promise is\nresolved.","optional":true,"type":"boolean"}],"returns":[{"name":"result","description":"Run result.","$ref":"RemoteObject"},{"name":"exceptionDetails","description":"Exception details.","optional":true,"$ref":"ExceptionDetails"}]},{"name":"queryObjects","parameters":[{"name":"prototypeObjectId","description":"Identifier of the prototype to return objects for.","$ref":"RemoteObjectId"},{"name":"objectGroup","description":"Symbolic group name that can be used to release the results.","optional":true,"type":"string"}],"returns":[{"name":"objects","description":"Array with objects.","$ref":"RemoteObject"}]},{"name":"globalLexicalScopeNames","description":"Returns all let, const and class variables from global scope.","parameters":[{"name":"executionContextId","description":"Specifies in which execution context to lookup global scope variables.","optional":true,"$ref":"ExecutionContextId"}],"returns":[{"name":"names","type":"array","items":{"type":"string"}}]},{"name":"removeBinding","description":"This method does not remove binding function from global object but\nunsubscribes current runtime agent from Runtime.bindingCalled notifications.","parameters":[{"name":"name","type":"string"}]},{"name":"terminateExecution","description":"Terminate current or next JavaScript execution.\nWill cancel the termination when the outer-most script execution ends.","experimental":true},{"name":"getExceptionDetails","description":"This method tries to lookup and populate exception details for a\nJavaScript Error object.\nNote that the stackTrace portion of the resulting exceptionDetails will\nonly be populated if the Runtime domain was enabled at the time when the\nError was thrown.","experimental":true,"parameters":[{"name":"errorObjectId","description":"The error object for which to resolve the exception details.","$ref":"RemoteObjectId"}],"returns":[{"name":"exceptionDetails","optional":true,"$ref":"ExceptionDetails"}]},{"name":"discardConsoleEntries","description":"Discards collected exceptions and console API calls."},{"name":"getHeapUsage","description":"Returns the JavaScript heap usage.\nIt is the total usage of the corresponding isolate not scoped to a particular Runtime.","experimental":true,"returns":[{"name":"usedSize","description":"Used JavaScript heap size in bytes.","type":"number"},{"name":"totalSize","description":"Allocated JavaScript heap size in bytes.","type":"number"},{"name":"embedderHeapUsedSize","description":"Used size in bytes in the embedder's garbage-collected heap.","type":"number"},{"name":"backingStorageSize","description":"Size in bytes of backing storage for array buffers and external strings.","type":"number"}]},{"name":"getIsolateId","description":"Returns the isolate id.","experimental":true,"returns":[{"name":"id","description":"The isolate id.","type":"string"}]},{"name":"setCustomObjectFormatterEnabled","experimental":true,"parameters":[{"name":"enabled","type":"boolean"}]},{"name":"setMaxCallStackSizeToCapture","experimental":true,"parameters":[{"name":"size","type":"integer"}]}]},{"domain":"Network","description":"Network domain allows tracking network activities of the page. It exposes information about http,\nfile, data and other requests and responses, their headers, bodies, timing, etc.","dependencies":["Debugger","Runtime","Security"],"types":[{"id":"ResourceType","description":"Resource type as it was perceived by the rendering engine.","type":"string","enum":["Document","Stylesheet","Image","Media","Font","Script","TextTrack","XHR","Fetch","Prefetch","EventSource","WebSocket","Manifest","SignedExchange","Ping","CSPViolationReport","Preflight","FedCM","Other"]},{"id":"LoaderId","description":"Unique loader identifier.","type":"string"},{"id":"RequestId","description":"Unique network request identifier.\nNote that this does not identify individual HTTP requests that are part of\na network request.","type":"string"},{"id":"InterceptionId","description":"Unique intercepted request identifier.","type":"string"},{"id":"ErrorReason","description":"Network level fetch failure reason.","type":"string","enum":["Failed","Aborted","TimedOut","AccessDenied","ConnectionClosed","ConnectionReset","ConnectionRefused","ConnectionAborted","ConnectionFailed","NameNotResolved","InternetDisconnected","AddressUnreachable","BlockedByClient","BlockedByResponse"]},{"id":"TimeSinceEpoch","description":"UTC time in seconds, counted from January 1, 1970.","type":"number"},{"id":"MonotonicTime","description":"Monotonically increasing time in seconds since an arbitrary point in the past.","type":"number"},{"id":"Headers","description":"Request / response headers as keys / values of JSON object.","type":"object"},{"id":"ConnectionType","description":"The underlying connection technology that the browser is supposedly using.","type":"string","enum":["none","cellular2g","cellular3g","cellular4g","bluetooth","ethernet","wifi","wimax","other"]},{"id":"CookieSameSite","description":"Represents the cookie's 'SameSite' status:\nhttps://tools.ietf.org/html/draft-west-first-party-cookies","type":"string","enum":["Strict","Lax","None"]},{"id":"CookiePriority","description":"Represents the cookie's 'Priority' status:\nhttps://tools.ietf.org/html/draft-west-cookie-priority-00","experimental":true,"type":"string","enum":["Low","Medium","High"]},{"id":"CookieSourceScheme","description":"Represents the source scheme of the origin that originally set the cookie.\nA value of \"Unset\" allows protocol clients to emulate legacy cookie scope for the scheme.\nThis is a temporary ability and it will be removed in the future.","experimental":true,"type":"string","enum":["Unset","NonSecure","Secure"]},{"id":"ResourceTiming","description":"Timing information for the request.","type":"object","properties":[{"name":"requestTime","description":"Timing's requestTime is a baseline in seconds, while the other numbers are ticks in\nmilliseconds relatively to this requestTime.","type":"number"},{"name":"proxyStart","description":"Started resolving proxy.","type":"number"},{"name":"proxyEnd","description":"Finished resolving proxy.","type":"number"},{"name":"dnsStart","description":"Started DNS address resolve.","type":"number"},{"name":"dnsEnd","description":"Finished DNS address resolve.","type":"number"},{"name":"connectStart","description":"Started connecting to the remote host.","type":"number"},{"name":"connectEnd","description":"Connected to the remote host.","type":"number"},{"name":"sslStart","description":"Started SSL handshake.","type":"number"},{"name":"sslEnd","description":"Finished SSL handshake.","type":"number"},{"name":"workerStart","description":"Started running ServiceWorker.","experimental":true,"type":"number"},{"name":"workerReady","description":"Finished Starting ServiceWorker.","experimental":true,"type":"number"},{"name":"workerFetchStart","description":"Started fetch event.","experimental":true,"type":"number"},{"name":"workerRespondWithSettled","description":"Settled fetch event respondWith promise.","experimental":true,"type":"number"},{"name":"workerRouterEvaluationStart","description":"Started ServiceWorker static routing source evaluation.","experimental":true,"optional":true,"type":"number"},{"name":"workerCacheLookupStart","description":"Started cache lookup when the source was evaluated to `cache`.","experimental":true,"optional":true,"type":"number"},{"name":"sendStart","description":"Started sending request.","type":"number"},{"name":"sendEnd","description":"Finished sending request.","type":"number"},{"name":"pushStart","description":"Time the server started pushing request.","experimental":true,"type":"number"},{"name":"pushEnd","description":"Time the server finished pushing request.","experimental":true,"type":"number"},{"name":"receiveHeadersStart","description":"Started receiving response headers.","experimental":true,"type":"number"},{"name":"receiveHeadersEnd","description":"Finished receiving response headers.","type":"number"}]},{"id":"ResourcePriority","description":"Loading priority of a resource request.","type":"string","enum":["VeryLow","Low","Medium","High","VeryHigh"]},{"id":"RenderBlockingBehavior","description":"The render-blocking behavior of a resource request.","experimental":true,"type":"string","enum":["Blocking","InBodyParserBlocking","NonBlocking","NonBlockingDynamic","PotentiallyBlocking"]},{"id":"PostDataEntry","description":"Post data entry for HTTP request","type":"object","properties":[{"name":"bytes","optional":true,"type":"binary"}]},{"id":"Request","description":"HTTP request data.","type":"object","properties":[{"name":"url","description":"Request URL (without fragment).","type":"string"},{"name":"urlFragment","description":"Fragment of the requested URL starting with hash, if present.","optional":true,"type":"string"},{"name":"method","description":"HTTP request method.","type":"string"},{"name":"headers","description":"HTTP request headers.","$ref":"Headers"},{"name":"postData","description":"HTTP POST request data.\nUse postDataEntries instead.","deprecated":true,"optional":true,"type":"string"},{"name":"hasPostData","description":"True when the request has POST data. Note that postData might still be omitted when this flag is true when the data is too long.","optional":true,"type":"boolean"},{"name":"postDataEntries","description":"Request body elements (post data broken into individual entries).","experimental":true,"optional":true,"type":"array","items":{"$ref":"PostDataEntry"}},{"name":"mixedContentType","description":"The mixed content type of the request.","optional":true,"$ref":"Security.MixedContentType"},{"name":"initialPriority","description":"Priority of the resource request at the time request is sent.","$ref":"ResourcePriority"},{"name":"referrerPolicy","description":"The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/","type":"string","enum":["unsafe-url","no-referrer-when-downgrade","no-referrer","origin","origin-when-cross-origin","same-origin","strict-origin","strict-origin-when-cross-origin"]},{"name":"isLinkPreload","description":"Whether is loaded via link preload.","optional":true,"type":"boolean"},{"name":"trustTokenParams","description":"Set for requests when the TrustToken API is used. Contains the parameters\npassed by the developer (e.g. via \"fetch\") as understood by the backend.","experimental":true,"optional":true,"$ref":"TrustTokenParams"},{"name":"isSameSite","description":"True if this resource request is considered to be the 'same site' as the\nrequest corresponding to the main frame.","experimental":true,"optional":true,"type":"boolean"},{"name":"isAdRelated","description":"True when the resource request is ad-related.","experimental":true,"optional":true,"type":"boolean"}]},{"id":"SignedCertificateTimestamp","description":"Details of a signed certificate timestamp (SCT).","type":"object","properties":[{"name":"status","description":"Validation status.","type":"string"},{"name":"origin","description":"Origin.","type":"string"},{"name":"logDescription","description":"Log name / description.","type":"string"},{"name":"logId","description":"Log ID.","type":"string"},{"name":"timestamp","description":"Issuance date. Unlike TimeSinceEpoch, this contains the number of\nmilliseconds since January 1, 1970, UTC, not the number of seconds.","type":"number"},{"name":"hashAlgorithm","description":"Hash algorithm.","type":"string"},{"name":"signatureAlgorithm","description":"Signature algorithm.","type":"string"},{"name":"signatureData","description":"Signature data.","type":"string"}]},{"id":"SecurityDetails","description":"Security details about a request.","type":"object","properties":[{"name":"protocol","description":"Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").","type":"string"},{"name":"keyExchange","description":"Key Exchange used by the connection, or the empty string if not applicable.","type":"string"},{"name":"keyExchangeGroup","description":"(EC)DH group used by the connection, if applicable.","optional":true,"type":"string"},{"name":"cipher","description":"Cipher name.","type":"string"},{"name":"mac","description":"TLS MAC. Note that AEAD ciphers do not have separate MACs.","optional":true,"type":"string"},{"name":"certificateId","description":"Certificate ID value.","$ref":"Security.CertificateId"},{"name":"subjectName","description":"Certificate subject name.","type":"string"},{"name":"sanList","description":"Subject Alternative Name (SAN) DNS names and IP addresses.","type":"array","items":{"type":"string"}},{"name":"issuer","description":"Name of the issuing CA.","type":"string"},{"name":"validFrom","description":"Certificate valid from date.","$ref":"TimeSinceEpoch"},{"name":"validTo","description":"Certificate valid to (expiration) date","$ref":"TimeSinceEpoch"},{"name":"signedCertificateTimestampList","description":"List of signed certificate timestamps (SCTs).","type":"array","items":{"$ref":"SignedCertificateTimestamp"}},{"name":"certificateTransparencyCompliance","description":"Whether the request complied with Certificate Transparency policy","$ref":"CertificateTransparencyCompliance"},{"name":"serverSignatureAlgorithm","description":"The signature algorithm used by the server in the TLS server signature,\nrepresented as a TLS SignatureScheme code point. Omitted if not\napplicable or not known.","optional":true,"type":"integer"},{"name":"encryptedClientHello","description":"Whether the connection used Encrypted ClientHello","type":"boolean"}]},{"id":"CertificateTransparencyCompliance","description":"Whether the request complied with Certificate Transparency policy.","type":"string","enum":["unknown","not-compliant","compliant"]},{"id":"BlockedReason","description":"The reason why request was blocked.","type":"string","enum":["other","csp","mixed-content","origin","inspector","integrity","subresource-filter","content-type","coep-frame-resource-needs-coep-header","coop-sandboxed-iframe-cannot-navigate-to-coop-page","corp-not-same-origin","corp-not-same-origin-after-defaulted-to-same-origin-by-coep","corp-not-same-origin-after-defaulted-to-same-origin-by-dip","corp-not-same-origin-after-defaulted-to-same-origin-by-coep-and-dip","corp-not-same-site","sri-message-signature-mismatch"]},{"id":"CorsError","description":"The reason why request was blocked.","type":"string","enum":["DisallowedByMode","InvalidResponse","WildcardOriginNotAllowed","MissingAllowOriginHeader","MultipleAllowOriginValues","InvalidAllowOriginValue","AllowOriginMismatch","InvalidAllowCredentials","CorsDisabledScheme","PreflightInvalidStatus","PreflightDisallowedRedirect","PreflightWildcardOriginNotAllowed","PreflightMissingAllowOriginHeader","PreflightMultipleAllowOriginValues","PreflightInvalidAllowOriginValue","PreflightAllowOriginMismatch","PreflightInvalidAllowCredentials","PreflightMissingAllowExternal","PreflightInvalidAllowExternal","InvalidAllowMethodsPreflightResponse","InvalidAllowHeadersPreflightResponse","MethodDisallowedByPreflightResponse","HeaderDisallowedByPreflightResponse","RedirectContainsCredentials","InsecureLocalNetwork","InvalidLocalNetworkAccess","NoCorsRedirectModeNotFollow","LocalNetworkAccessPermissionDenied"]},{"id":"CorsErrorStatus","type":"object","properties":[{"name":"corsError","$ref":"CorsError"},{"name":"failedParameter","type":"string"}]},{"id":"ServiceWorkerResponseSource","description":"Source of serviceworker response.","type":"string","enum":["cache-storage","http-cache","fallback-code","network"]},{"id":"TrustTokenParams","description":"Determines what type of Trust Token operation is executed and\ndepending on the type, some additional parameters. The values\nare specified in third_party/blink/renderer/core/fetch/trust_token.idl.","experimental":true,"type":"object","properties":[{"name":"operation","$ref":"TrustTokenOperationType"},{"name":"refreshPolicy","description":"Only set for \"token-redemption\" operation and determine whether\nto request a fresh SRR or use a still valid cached SRR.","type":"string","enum":["UseCached","Refresh"]},{"name":"issuers","description":"Origins of issuers from whom to request tokens or redemption\nrecords.","optional":true,"type":"array","items":{"type":"string"}}]},{"id":"TrustTokenOperationType","experimental":true,"type":"string","enum":["Issuance","Redemption","Signing"]},{"id":"AlternateProtocolUsage","description":"The reason why Chrome uses a specific transport protocol for HTTP semantics.","experimental":true,"type":"string","enum":["alternativeJobWonWithoutRace","alternativeJobWonRace","mainJobWonRace","mappingMissing","broken","dnsAlpnH3JobWonWithoutRace","dnsAlpnH3JobWonRace","unspecifiedReason"]},{"id":"ServiceWorkerRouterSource","description":"Source of service worker router.","type":"string","enum":["network","cache","fetch-event","race-network-and-fetch-handler","race-network-and-cache"]},{"id":"ServiceWorkerRouterInfo","experimental":true,"type":"object","properties":[{"name":"ruleIdMatched","description":"ID of the rule matched. If there is a matched rule, this field will\nbe set, otherwiser no value will be set.","optional":true,"type":"integer"},{"name":"matchedSourceType","description":"The router source of the matched rule. If there is a matched rule, this\nfield will be set, otherwise no value will be set.","optional":true,"$ref":"ServiceWorkerRouterSource"},{"name":"actualSourceType","description":"The actual router source used.","optional":true,"$ref":"ServiceWorkerRouterSource"}]},{"id":"Response","description":"HTTP response data.","type":"object","properties":[{"name":"url","description":"Response URL. This URL can be different from CachedResource.url in case of redirect.","type":"string"},{"name":"status","description":"HTTP response status code.","type":"integer"},{"name":"statusText","description":"HTTP response status text.","type":"string"},{"name":"headers","description":"HTTP response headers.","$ref":"Headers"},{"name":"headersText","description":"HTTP response headers text. This has been replaced by the headers in Network.responseReceivedExtraInfo.","deprecated":true,"optional":true,"type":"string"},{"name":"mimeType","description":"Resource mimeType as determined by the browser.","type":"string"},{"name":"charset","description":"Resource charset as determined by the browser (if applicable).","type":"string"},{"name":"requestHeaders","description":"Refined HTTP request headers that were actually transmitted over the network.","optional":true,"$ref":"Headers"},{"name":"requestHeadersText","description":"HTTP request headers text. This has been replaced by the headers in Network.requestWillBeSentExtraInfo.","deprecated":true,"optional":true,"type":"string"},{"name":"connectionReused","description":"Specifies whether physical connection was actually reused for this request.","type":"boolean"},{"name":"connectionId","description":"Physical connection id that was actually used for this request.","type":"number"},{"name":"remoteIPAddress","description":"Remote IP address.","optional":true,"type":"string"},{"name":"remotePort","description":"Remote port.","optional":true,"type":"integer"},{"name":"fromDiskCache","description":"Specifies that the request was served from the disk cache.","optional":true,"type":"boolean"},{"name":"fromServiceWorker","description":"Specifies that the request was served from the ServiceWorker.","optional":true,"type":"boolean"},{"name":"fromPrefetchCache","description":"Specifies that the request was served from the prefetch cache.","optional":true,"type":"boolean"},{"name":"fromEarlyHints","description":"Specifies that the request was served from the prefetch cache.","optional":true,"type":"boolean"},{"name":"serviceWorkerRouterInfo","description":"Information about how ServiceWorker Static Router API was used. If this\nfield is set with `matchedSourceType` field, a matching rule is found.\nIf this field is set without `matchedSource`, no matching rule is found.\nOtherwise, the API is not used.","experimental":true,"optional":true,"$ref":"ServiceWorkerRouterInfo"},{"name":"encodedDataLength","description":"Total number of bytes received for this request so far.","type":"number"},{"name":"timing","description":"Timing information for the given request.","optional":true,"$ref":"ResourceTiming"},{"name":"serviceWorkerResponseSource","description":"Response source of response from ServiceWorker.","optional":true,"$ref":"ServiceWorkerResponseSource"},{"name":"responseTime","description":"The time at which the returned response was generated.","optional":true,"$ref":"TimeSinceEpoch"},{"name":"cacheStorageCacheName","description":"Cache Storage Cache Name.","optional":true,"type":"string"},{"name":"protocol","description":"Protocol used to fetch this request.","optional":true,"type":"string"},{"name":"alternateProtocolUsage","description":"The reason why Chrome uses a specific transport protocol for HTTP semantics.","experimental":true,"optional":true,"$ref":"AlternateProtocolUsage"},{"name":"securityState","description":"Security state of the request resource.","$ref":"Security.SecurityState"},{"name":"securityDetails","description":"Security details for the request.","optional":true,"$ref":"SecurityDetails"}]},{"id":"WebSocketRequest","description":"WebSocket request data.","type":"object","properties":[{"name":"headers","description":"HTTP request headers.","$ref":"Headers"}]},{"id":"WebSocketResponse","description":"WebSocket response data.","type":"object","properties":[{"name":"status","description":"HTTP response status code.","type":"integer"},{"name":"statusText","description":"HTTP response status text.","type":"string"},{"name":"headers","description":"HTTP response headers.","$ref":"Headers"},{"name":"headersText","description":"HTTP response headers text.","optional":true,"type":"string"},{"name":"requestHeaders","description":"HTTP request headers.","optional":true,"$ref":"Headers"},{"name":"requestHeadersText","description":"HTTP request headers text.","optional":true,"type":"string"}]},{"id":"WebSocketFrame","description":"WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.","type":"object","properties":[{"name":"opcode","description":"WebSocket message opcode.","type":"number"},{"name":"mask","description":"WebSocket message mask.","type":"boolean"},{"name":"payloadData","description":"WebSocket message payload data.\nIf the opcode is 1, this is a text message and payloadData is a UTF-8 string.\nIf the opcode isn't 1, then payloadData is a base64 encoded string representing binary data.","type":"string"}]},{"id":"CachedResource","description":"Information about the cached resource.","type":"object","properties":[{"name":"url","description":"Resource URL. This is the url of the original network request.","type":"string"},{"name":"type","description":"Type of this resource.","$ref":"ResourceType"},{"name":"response","description":"Cached response data.","optional":true,"$ref":"Response"},{"name":"bodySize","description":"Cached response body size.","type":"number"}]},{"id":"Initiator","description":"Information about the request initiator.","type":"object","properties":[{"name":"type","description":"Type of this initiator.","type":"string","enum":["parser","script","preload","SignedExchange","preflight","FedCM","other"]},{"name":"stack","description":"Initiator JavaScript stack trace, set for Script only.\nRequires the Debugger domain to be enabled.","optional":true,"$ref":"Runtime.StackTrace"},{"name":"url","description":"Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type.","optional":true,"type":"string"},{"name":"lineNumber","description":"Initiator line number, set for Parser type or for Script type (when script is importing\nmodule) (0-based).","optional":true,"type":"number"},{"name":"columnNumber","description":"Initiator column number, set for Parser type or for Script type (when script is importing\nmodule) (0-based).","optional":true,"type":"number"},{"name":"requestId","description":"Set if another request triggered this request (e.g. preflight).","optional":true,"$ref":"RequestId"}]},{"id":"CookiePartitionKey","description":"cookiePartitionKey object\nThe representation of the components of the key that are created by the cookiePartitionKey class contained in net/cookies/cookie_partition_key.h.","experimental":true,"type":"object","properties":[{"name":"topLevelSite","description":"The site of the top-level URL the browser was visiting at the start\nof the request to the endpoint that set the cookie.","type":"string"},{"name":"hasCrossSiteAncestor","description":"Indicates if the cookie has any ancestors that are cross-site to the topLevelSite.","type":"boolean"}]},{"id":"Cookie","description":"Cookie object","type":"object","properties":[{"name":"name","description":"Cookie name.","type":"string"},{"name":"value","description":"Cookie value.","type":"string"},{"name":"domain","description":"Cookie domain.","type":"string"},{"name":"path","description":"Cookie path.","type":"string"},{"name":"expires","description":"Cookie expiration date as the number of seconds since the UNIX epoch.\nThe value is set to -1 if the expiry date is not set.\nThe value can be null for values that cannot be represented in\nJSON (±Inf).","type":"number"},{"name":"size","description":"Cookie size.","type":"integer"},{"name":"httpOnly","description":"True if cookie is http-only.","type":"boolean"},{"name":"secure","description":"True if cookie is secure.","type":"boolean"},{"name":"session","description":"True in case of session cookie.","type":"boolean"},{"name":"sameSite","description":"Cookie SameSite type.","optional":true,"$ref":"CookieSameSite"},{"name":"priority","description":"Cookie Priority","experimental":true,"$ref":"CookiePriority"},{"name":"sourceScheme","description":"Cookie source scheme type.","experimental":true,"$ref":"CookieSourceScheme"},{"name":"sourcePort","description":"Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.\nAn unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\nThis is a temporary ability and it will be removed in the future.","experimental":true,"type":"integer"},{"name":"partitionKey","description":"Cookie partition key.","experimental":true,"optional":true,"$ref":"CookiePartitionKey"},{"name":"partitionKeyOpaque","description":"True if cookie partition key is opaque.","experimental":true,"optional":true,"type":"boolean"}]},{"id":"SetCookieBlockedReason","description":"Types of reasons why a cookie may not be stored from a response.","experimental":true,"type":"string","enum":["SecureOnly","SameSiteStrict","SameSiteLax","SameSiteUnspecifiedTreatedAsLax","SameSiteNoneInsecure","UserPreferences","ThirdPartyPhaseout","ThirdPartyBlockedInFirstPartySet","SyntaxError","SchemeNotSupported","OverwriteSecure","InvalidDomain","InvalidPrefix","UnknownError","SchemefulSameSiteStrict","SchemefulSameSiteLax","SchemefulSameSiteUnspecifiedTreatedAsLax","NameValuePairExceedsMaxSize","DisallowedCharacter","NoCookieContent"]},{"id":"CookieBlockedReason","description":"Types of reasons why a cookie may not be sent with a request.","experimental":true,"type":"string","enum":["SecureOnly","NotOnPath","DomainMismatch","SameSiteStrict","SameSiteLax","SameSiteUnspecifiedTreatedAsLax","SameSiteNoneInsecure","UserPreferences","ThirdPartyPhaseout","ThirdPartyBlockedInFirstPartySet","UnknownError","SchemefulSameSiteStrict","SchemefulSameSiteLax","SchemefulSameSiteUnspecifiedTreatedAsLax","NameValuePairExceedsMaxSize","PortMismatch","SchemeMismatch","AnonymousContext"]},{"id":"CookieExemptionReason","description":"Types of reasons why a cookie should have been blocked by 3PCD but is exempted for the request.","experimental":true,"type":"string","enum":["None","UserSetting","TPCDMetadata","TPCDDeprecationTrial","TopLevelTPCDDeprecationTrial","TPCDHeuristics","EnterprisePolicy","StorageAccess","TopLevelStorageAccess","Scheme","SameSiteNoneCookiesInSandbox"]},{"id":"BlockedSetCookieWithReason","description":"A cookie which was not stored from a response with the corresponding reason.","experimental":true,"type":"object","properties":[{"name":"blockedReasons","description":"The reason(s) this cookie was blocked.","type":"array","items":{"$ref":"SetCookieBlockedReason"}},{"name":"cookieLine","description":"The string representing this individual cookie as it would appear in the header.\nThis is not the entire \"cookie\" or \"set-cookie\" header which could have multiple cookies.","type":"string"},{"name":"cookie","description":"The cookie object which represents the cookie which was not stored. It is optional because\nsometimes complete cookie information is not available, such as in the case of parsing\nerrors.","optional":true,"$ref":"Cookie"}]},{"id":"ExemptedSetCookieWithReason","description":"A cookie should have been blocked by 3PCD but is exempted and stored from a response with the\ncorresponding reason. A cookie could only have at most one exemption reason.","experimental":true,"type":"object","properties":[{"name":"exemptionReason","description":"The reason the cookie was exempted.","$ref":"CookieExemptionReason"},{"name":"cookieLine","description":"The string representing this individual cookie as it would appear in the header.","type":"string"},{"name":"cookie","description":"The cookie object representing the cookie.","$ref":"Cookie"}]},{"id":"AssociatedCookie","description":"A cookie associated with the request which may or may not be sent with it.\nIncludes the cookies itself and reasons for blocking or exemption.","experimental":true,"type":"object","properties":[{"name":"cookie","description":"The cookie object representing the cookie which was not sent.","$ref":"Cookie"},{"name":"blockedReasons","description":"The reason(s) the cookie was blocked. If empty means the cookie is included.","type":"array","items":{"$ref":"CookieBlockedReason"}},{"name":"exemptionReason","description":"The reason the cookie should have been blocked by 3PCD but is exempted. A cookie could\nonly have at most one exemption reason.","optional":true,"$ref":"CookieExemptionReason"}]},{"id":"CookieParam","description":"Cookie parameter object","type":"object","properties":[{"name":"name","description":"Cookie name.","type":"string"},{"name":"value","description":"Cookie value.","type":"string"},{"name":"url","description":"The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain, path, source port, and source scheme values of the created cookie.","optional":true,"type":"string"},{"name":"domain","description":"Cookie domain.","optional":true,"type":"string"},{"name":"path","description":"Cookie path.","optional":true,"type":"string"},{"name":"secure","description":"True if cookie is secure.","optional":true,"type":"boolean"},{"name":"httpOnly","description":"True if cookie is http-only.","optional":true,"type":"boolean"},{"name":"sameSite","description":"Cookie SameSite type.","optional":true,"$ref":"CookieSameSite"},{"name":"expires","description":"Cookie expiration date, session cookie if not set","optional":true,"$ref":"TimeSinceEpoch"},{"name":"priority","description":"Cookie Priority.","experimental":true,"optional":true,"$ref":"CookiePriority"},{"name":"sourceScheme","description":"Cookie source scheme type.","experimental":true,"optional":true,"$ref":"CookieSourceScheme"},{"name":"sourcePort","description":"Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.\nAn unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\nThis is a temporary ability and it will be removed in the future.","experimental":true,"optional":true,"type":"integer"},{"name":"partitionKey","description":"Cookie partition key. If not set, the cookie will be set as not partitioned.","experimental":true,"optional":true,"$ref":"CookiePartitionKey"}]},{"id":"AuthChallenge","description":"Authorization challenge for HTTP status code 401 or 407.","experimental":true,"type":"object","properties":[{"name":"source","description":"Source of the authentication challenge.","optional":true,"type":"string","enum":["Server","Proxy"]},{"name":"origin","description":"Origin of the challenger.","type":"string"},{"name":"scheme","description":"The authentication scheme used, such as basic or digest","type":"string"},{"name":"realm","description":"The realm of the challenge. May be empty.","type":"string"}]},{"id":"AuthChallengeResponse","description":"Response to an AuthChallenge.","experimental":true,"type":"object","properties":[{"name":"response","description":"The decision on what to do in response to the authorization challenge. Default means\ndeferring to the default behavior of the net stack, which will likely either the Cancel\nauthentication or display a popup dialog box.","type":"string","enum":["Default","CancelAuth","ProvideCredentials"]},{"name":"username","description":"The username to provide, possibly empty. Should only be set if response is\nProvideCredentials.","optional":true,"type":"string"},{"name":"password","description":"The password to provide, possibly empty. Should only be set if response is\nProvideCredentials.","optional":true,"type":"string"}]},{"id":"InterceptionStage","description":"Stages of the interception to begin intercepting. Request will intercept before the request is\nsent. Response will intercept after the response is received.","experimental":true,"type":"string","enum":["Request","HeadersReceived"]},{"id":"RequestPattern","description":"Request pattern for interception.","experimental":true,"type":"object","properties":[{"name":"urlPattern","description":"Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to `\"*\"`.","optional":true,"type":"string"},{"name":"resourceType","description":"If set, only requests for matching resource types will be intercepted.","optional":true,"$ref":"ResourceType"},{"name":"interceptionStage","description":"Stage at which to begin intercepting requests. Default is Request.","optional":true,"$ref":"InterceptionStage"}]},{"id":"SignedExchangeSignature","description":"Information about a signed exchange signature.\nhttps://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1","experimental":true,"type":"object","properties":[{"name":"label","description":"Signed exchange signature label.","type":"string"},{"name":"signature","description":"The hex string of signed exchange signature.","type":"string"},{"name":"integrity","description":"Signed exchange signature integrity.","type":"string"},{"name":"certUrl","description":"Signed exchange signature cert Url.","optional":true,"type":"string"},{"name":"certSha256","description":"The hex string of signed exchange signature cert sha256.","optional":true,"type":"string"},{"name":"validityUrl","description":"Signed exchange signature validity Url.","type":"string"},{"name":"date","description":"Signed exchange signature date.","type":"integer"},{"name":"expires","description":"Signed exchange signature expires.","type":"integer"},{"name":"certificates","description":"The encoded certificates.","optional":true,"type":"array","items":{"type":"string"}}]},{"id":"SignedExchangeHeader","description":"Information about a signed exchange header.\nhttps://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation","experimental":true,"type":"object","properties":[{"name":"requestUrl","description":"Signed exchange request URL.","type":"string"},{"name":"responseCode","description":"Signed exchange response code.","type":"integer"},{"name":"responseHeaders","description":"Signed exchange response headers.","$ref":"Headers"},{"name":"signatures","description":"Signed exchange response signature.","type":"array","items":{"$ref":"SignedExchangeSignature"}},{"name":"headerIntegrity","description":"Signed exchange header integrity hash in the form of `sha256-`.","type":"string"}]},{"id":"SignedExchangeErrorField","description":"Field type for a signed exchange related error.","experimental":true,"type":"string","enum":["signatureSig","signatureIntegrity","signatureCertUrl","signatureCertSha256","signatureValidityUrl","signatureTimestamps"]},{"id":"SignedExchangeError","description":"Information about a signed exchange response.","experimental":true,"type":"object","properties":[{"name":"message","description":"Error message.","type":"string"},{"name":"signatureIndex","description":"The index of the signature which caused the error.","optional":true,"type":"integer"},{"name":"errorField","description":"The field which caused the error.","optional":true,"$ref":"SignedExchangeErrorField"}]},{"id":"SignedExchangeInfo","description":"Information about a signed exchange response.","experimental":true,"type":"object","properties":[{"name":"outerResponse","description":"The outer response of signed HTTP exchange which was received from network.","$ref":"Response"},{"name":"hasExtraInfo","description":"Whether network response for the signed exchange was accompanied by\nextra headers.","type":"boolean"},{"name":"header","description":"Information about the signed exchange header.","optional":true,"$ref":"SignedExchangeHeader"},{"name":"securityDetails","description":"Security details for the signed exchange header.","optional":true,"$ref":"SecurityDetails"},{"name":"errors","description":"Errors occurred while handling the signed exchange.","optional":true,"type":"array","items":{"$ref":"SignedExchangeError"}}]},{"id":"ContentEncoding","description":"List of content encodings supported by the backend.","experimental":true,"type":"string","enum":["deflate","gzip","br","zstd"]},{"id":"NetworkConditions","experimental":true,"type":"object","properties":[{"name":"urlPattern","description":"Only matching requests will be affected by these conditions. Patterns use the URLPattern constructor string\nsyntax (https://urlpattern.spec.whatwg.org/) and must be absolute. If the pattern is empty, all requests are\nmatched (including p2p connections).","type":"string"},{"name":"latency","description":"Minimum latency from request sent to response headers received (ms).","type":"number"},{"name":"downloadThroughput","description":"Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.","type":"number"},{"name":"uploadThroughput","description":"Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.","type":"number"},{"name":"connectionType","description":"Connection type if known.","optional":true,"$ref":"ConnectionType"},{"name":"packetLoss","description":"WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets.","optional":true,"type":"number"},{"name":"packetQueueLength","description":"WebRTC packet queue length (packet). 0 removes any queue length limitations.","optional":true,"type":"integer"},{"name":"packetReordering","description":"WebRTC packetReordering feature.","optional":true,"type":"boolean"},{"name":"offline","description":"True to emulate internet disconnection.","optional":true,"type":"boolean"}]},{"id":"BlockPattern","experimental":true,"type":"object","properties":[{"name":"urlPattern","description":"URL pattern to match. Patterns use the URLPattern constructor string syntax\n(https://urlpattern.spec.whatwg.org/) and must be absolute. Example: `*://*:*/*.css`.","type":"string"},{"name":"block","description":"Whether or not to block the pattern. If false, a matching request will not be blocked even if it matches a later\n`BlockPattern`.","type":"boolean"}]},{"id":"DirectSocketDnsQueryType","experimental":true,"type":"string","enum":["ipv4","ipv6"]},{"id":"DirectTCPSocketOptions","experimental":true,"type":"object","properties":[{"name":"noDelay","description":"TCP_NODELAY option","type":"boolean"},{"name":"keepAliveDelay","description":"Expected to be unsigned integer.","optional":true,"type":"number"},{"name":"sendBufferSize","description":"Expected to be unsigned integer.","optional":true,"type":"number"},{"name":"receiveBufferSize","description":"Expected to be unsigned integer.","optional":true,"type":"number"},{"name":"dnsQueryType","optional":true,"$ref":"DirectSocketDnsQueryType"}]},{"id":"DirectUDPSocketOptions","experimental":true,"type":"object","properties":[{"name":"remoteAddr","optional":true,"type":"string"},{"name":"remotePort","description":"Unsigned int 16.","optional":true,"type":"integer"},{"name":"localAddr","optional":true,"type":"string"},{"name":"localPort","description":"Unsigned int 16.","optional":true,"type":"integer"},{"name":"dnsQueryType","optional":true,"$ref":"DirectSocketDnsQueryType"},{"name":"sendBufferSize","description":"Expected to be unsigned integer.","optional":true,"type":"number"},{"name":"receiveBufferSize","description":"Expected to be unsigned integer.","optional":true,"type":"number"},{"name":"multicastLoopback","optional":true,"type":"boolean"},{"name":"multicastTimeToLive","description":"Unsigned int 8.","optional":true,"type":"integer"},{"name":"multicastAllowAddressSharing","optional":true,"type":"boolean"}]},{"id":"DirectUDPMessage","experimental":true,"type":"object","properties":[{"name":"data","type":"binary"},{"name":"remoteAddr","description":"Null for connected mode.","optional":true,"type":"string"},{"name":"remotePort","description":"Null for connected mode.\nExpected to be unsigned integer.","optional":true,"type":"integer"}]},{"id":"LocalNetworkAccessRequestPolicy","experimental":true,"type":"string","enum":["Allow","BlockFromInsecureToMorePrivate","WarnFromInsecureToMorePrivate","PermissionBlock","PermissionWarn"]},{"id":"IPAddressSpace","experimental":true,"type":"string","enum":["Loopback","Local","Public","Unknown"]},{"id":"ConnectTiming","experimental":true,"type":"object","properties":[{"name":"requestTime","description":"Timing's requestTime is a baseline in seconds, while the other numbers are ticks in\nmilliseconds relatively to this requestTime. Matches ResourceTiming's requestTime for\nthe same request (but not for redirected requests).","type":"number"}]},{"id":"ClientSecurityState","experimental":true,"type":"object","properties":[{"name":"initiatorIsSecureContext","type":"boolean"},{"name":"initiatorIPAddressSpace","$ref":"IPAddressSpace"},{"name":"localNetworkAccessRequestPolicy","$ref":"LocalNetworkAccessRequestPolicy"}]},{"id":"AdScriptIdentifier","description":"Identifies the script on the stack that caused a resource or element to be\nlabeled as an ad. For resources, this indicates the context that triggered\nthe fetch. For elements, this indicates the context that caused the element\nto be appended to the DOM.","experimental":true,"type":"object","properties":[{"name":"scriptId","description":"The script's V8 identifier.","$ref":"Runtime.ScriptId"},{"name":"debuggerId","description":"V8's debugging ID for the v8::Context.","$ref":"Runtime.UniqueDebuggerId"},{"name":"name","description":"The script's url (or generated name based on id if inline script).","type":"string"}]},{"id":"AdAncestry","description":"Encapsulates the script ancestry and the root script filter list rule that\ncaused the resource or element to be labeled as an ad.","experimental":true,"type":"object","properties":[{"name":"ancestryChain","description":"A chain of `AdScriptIdentifier`s representing the ancestry of an ad\nscript that led to the creation of a resource or element. The chain is\nordered from the script itself (lowest level) up to its root ancestor\nthat was flagged by a filter list.","type":"array","items":{"$ref":"AdScriptIdentifier"}},{"name":"rootScriptFilterlistRule","description":"The filter list rule that caused the root (last) script in\n`ancestryChain` to be tagged as an ad.","optional":true,"type":"string"}]},{"id":"AdProvenance","description":"Represents the provenance of an ad resource or element. Only one of\n`filterlistRule` or `adScriptAncestry` can be set. If `filterlistRule`\nis provided, the resource URL directly matches a filter list rule. If\n`adScriptAncestry` is provided, an ad script initiated the resource fetch or\nappended the element to the DOM. If neither is provided, the entity is\nknown to be an ad, but provenance tracking information is unavailable.","experimental":true,"type":"object","properties":[{"name":"filterlistRule","description":"The filterlist rule that matched, if any.","optional":true,"type":"string"},{"name":"adScriptAncestry","description":"The script ancestry that created the ad, if any.","optional":true,"$ref":"AdAncestry"}]},{"id":"CrossOriginOpenerPolicyValue","experimental":true,"type":"string","enum":["SameOrigin","SameOriginAllowPopups","RestrictProperties","UnsafeNone","SameOriginPlusCoep","RestrictPropertiesPlusCoep","NoopenerAllowPopups"]},{"id":"CrossOriginOpenerPolicyStatus","experimental":true,"type":"object","properties":[{"name":"value","$ref":"CrossOriginOpenerPolicyValue"},{"name":"reportOnlyValue","$ref":"CrossOriginOpenerPolicyValue"},{"name":"reportingEndpoint","optional":true,"type":"string"},{"name":"reportOnlyReportingEndpoint","optional":true,"type":"string"}]},{"id":"CrossOriginEmbedderPolicyValue","experimental":true,"type":"string","enum":["None","Credentialless","RequireCorp"]},{"id":"CrossOriginEmbedderPolicyStatus","experimental":true,"type":"object","properties":[{"name":"value","$ref":"CrossOriginEmbedderPolicyValue"},{"name":"reportOnlyValue","$ref":"CrossOriginEmbedderPolicyValue"},{"name":"reportingEndpoint","optional":true,"type":"string"},{"name":"reportOnlyReportingEndpoint","optional":true,"type":"string"}]},{"id":"ContentSecurityPolicySource","experimental":true,"type":"string","enum":["HTTP","Meta"]},{"id":"ContentSecurityPolicyStatus","experimental":true,"type":"object","properties":[{"name":"effectiveDirectives","type":"string"},{"name":"isEnforced","type":"boolean"},{"name":"source","$ref":"ContentSecurityPolicySource"}]},{"id":"SecurityIsolationStatus","experimental":true,"type":"object","properties":[{"name":"coop","optional":true,"$ref":"CrossOriginOpenerPolicyStatus"},{"name":"coep","optional":true,"$ref":"CrossOriginEmbedderPolicyStatus"},{"name":"csp","optional":true,"type":"array","items":{"$ref":"ContentSecurityPolicyStatus"}}]},{"id":"ReportStatus","description":"The status of a Reporting API report.","experimental":true,"type":"string","enum":["Queued","Pending","MarkedForRemoval","Success"]},{"id":"ReportId","experimental":true,"type":"string"},{"id":"ReportingApiReport","description":"An object representing a report generated by the Reporting API.","experimental":true,"type":"object","properties":[{"name":"id","$ref":"ReportId"},{"name":"initiatorUrl","description":"The URL of the document that triggered the report.","type":"string"},{"name":"destination","description":"The name of the endpoint group that should be used to deliver the report.","type":"string"},{"name":"type","description":"The type of the report (specifies the set of data that is contained in the report body).","type":"string"},{"name":"timestamp","description":"When the report was generated.","$ref":"Network.TimeSinceEpoch"},{"name":"depth","description":"How many uploads deep the related request was.","type":"integer"},{"name":"completedAttempts","description":"The number of delivery attempts made so far, not including an active attempt.","type":"integer"},{"name":"body","type":"object"},{"name":"status","$ref":"ReportStatus"}]},{"id":"ReportingApiEndpoint","experimental":true,"type":"object","properties":[{"name":"url","description":"The URL of the endpoint to which reports may be delivered.","type":"string"},{"name":"groupName","description":"Name of the endpoint group.","type":"string"}]},{"id":"DeviceBoundSessionKey","description":"Unique identifier for a device bound session.","experimental":true,"type":"object","properties":[{"name":"site","description":"The site the session is set up for.","type":"string"},{"name":"id","description":"The id of the session.","type":"string"}]},{"id":"DeviceBoundSessionWithUsage","description":"How a device bound session was used during a request.","experimental":true,"type":"object","properties":[{"name":"sessionKey","description":"The key for the session.","$ref":"DeviceBoundSessionKey"},{"name":"usage","description":"How the session was used (or not used).","type":"string","enum":["NotInScope","InScopeRefreshNotYetNeeded","InScopeRefreshNotAllowed","ProactiveRefreshNotPossible","ProactiveRefreshAttempted","Deferred"]}]},{"id":"DeviceBoundSessionCookieCraving","description":"A device bound session's cookie craving.","experimental":true,"type":"object","properties":[{"name":"name","description":"The name of the craving.","type":"string"},{"name":"domain","description":"The domain of the craving.","type":"string"},{"name":"path","description":"The path of the craving.","type":"string"},{"name":"secure","description":"The `Secure` attribute of the craving attributes.","type":"boolean"},{"name":"httpOnly","description":"The `HttpOnly` attribute of the craving attributes.","type":"boolean"},{"name":"sameSite","description":"The `SameSite` attribute of the craving attributes.","optional":true,"$ref":"CookieSameSite"}]},{"id":"DeviceBoundSessionUrlRule","description":"A device bound session's inclusion URL rule.","experimental":true,"type":"object","properties":[{"name":"ruleType","description":"See comments on `net::device_bound_sessions::SessionInclusionRules::UrlRule::rule_type`.","type":"string","enum":["Exclude","Include"]},{"name":"hostPattern","description":"See comments on `net::device_bound_sessions::SessionInclusionRules::UrlRule::host_pattern`.","type":"string"},{"name":"pathPrefix","description":"See comments on `net::device_bound_sessions::SessionInclusionRules::UrlRule::path_prefix`.","type":"string"}]},{"id":"DeviceBoundSessionInclusionRules","description":"A device bound session's inclusion rules.","experimental":true,"type":"object","properties":[{"name":"origin","description":"See comments on `net::device_bound_sessions::SessionInclusionRules::origin_`.","type":"string"},{"name":"includeSite","description":"Whether the whole site is included. See comments on\n`net::device_bound_sessions::SessionInclusionRules::include_site_` for more\ndetails; this boolean is true if that value is populated.","type":"boolean"},{"name":"urlRules","description":"See comments on `net::device_bound_sessions::SessionInclusionRules::url_rules_`.","type":"array","items":{"$ref":"DeviceBoundSessionUrlRule"}}]},{"id":"DeviceBoundSession","description":"A device bound session.","experimental":true,"type":"object","properties":[{"name":"key","description":"The site and session ID of the session.","$ref":"DeviceBoundSessionKey"},{"name":"refreshUrl","description":"See comments on `net::device_bound_sessions::Session::refresh_url_`.","type":"string"},{"name":"inclusionRules","description":"See comments on `net::device_bound_sessions::Session::inclusion_rules_`.","$ref":"DeviceBoundSessionInclusionRules"},{"name":"cookieCravings","description":"See comments on `net::device_bound_sessions::Session::cookie_cravings_`.","type":"array","items":{"$ref":"DeviceBoundSessionCookieCraving"}},{"name":"expiryDate","description":"See comments on `net::device_bound_sessions::Session::expiry_date_`.","$ref":"Network.TimeSinceEpoch"},{"name":"cachedChallenge","description":"See comments on `net::device_bound_sessions::Session::cached_challenge__`.","optional":true,"type":"string"},{"name":"allowedRefreshInitiators","description":"See comments on `net::device_bound_sessions::Session::allowed_refresh_initiators_`.","type":"array","items":{"type":"string"}}]},{"id":"DeviceBoundSessionEventId","description":"A unique identifier for a device bound session event.","experimental":true,"type":"string"},{"id":"DeviceBoundSessionFetchResult","description":"A fetch result for a device bound session creation or refresh.","experimental":true,"type":"string","enum":["Success","KeyError","SigningError","TransientSigningError","ServerRequestedTermination","InvalidSessionId","InvalidChallenge","TooManyChallenges","InvalidFetcherUrl","InvalidRefreshUrl","TransientHttpError","ScopeOriginSameSiteMismatch","RefreshUrlSameSiteMismatch","MismatchedSessionId","MissingScope","NoCredentials","SubdomainRegistrationWellKnownUnavailable","SubdomainRegistrationUnauthorized","SubdomainRegistrationWellKnownMalformed","SessionProviderWellKnownUnavailable","RelyingPartyWellKnownUnavailable","FederatedKeyThumbprintMismatch","InvalidFederatedSessionUrl","InvalidFederatedKey","TooManyRelyingOriginLabels","BoundCookieSetForbidden","NetError","ProxyError","EmptySessionConfig","InvalidCredentialsConfig","InvalidCredentialsType","InvalidCredentialsEmptyName","InvalidCredentialsCookie","PersistentHttpError","RegistrationAttemptedChallenge","InvalidScopeOrigin","ScopeOriginContainsPath","RefreshInitiatorNotString","RefreshInitiatorInvalidHostPattern","InvalidScopeSpecification","MissingScopeSpecificationType","EmptyScopeSpecificationDomain","EmptyScopeSpecificationPath","InvalidScopeSpecificationType","InvalidScopeIncludeSite","MissingScopeIncludeSite","FederatedNotAuthorizedByProvider","FederatedNotAuthorizedByRelyingParty","SessionProviderWellKnownMalformed","SessionProviderWellKnownHasProviderOrigin","RelyingPartyWellKnownMalformed","RelyingPartyWellKnownHasRelyingOrigins","InvalidFederatedSessionProviderSessionMissing","InvalidFederatedSessionWrongProviderOrigin","InvalidCredentialsCookieCreationTime","InvalidCredentialsCookieName","InvalidCredentialsCookieParsing","InvalidCredentialsCookieUnpermittedAttribute","InvalidCredentialsCookieInvalidDomain","InvalidCredentialsCookiePrefix","InvalidScopeRulePath","InvalidScopeRuleHostPattern","ScopeRuleOriginScopedHostPatternMismatch","ScopeRuleSiteScopedHostPatternMismatch","SigningQuotaExceeded","InvalidConfigJson","InvalidFederatedSessionProviderFailedToRestoreKey","FailedToUnwrapKey","SessionDeletedDuringRefresh","CrossOriginRegistrationSiteNotIncluded"]},{"id":"DeviceBoundSessionFailedRequest","description":"Details about a failed device bound session network request.","experimental":true,"type":"object","properties":[{"name":"requestUrl","description":"The failed request URL.","type":"string"},{"name":"netError","description":"The net error of the response if it was not OK.","optional":true,"type":"string"},{"name":"responseError","description":"The response code if the net error was OK and the response code was not\n200.","optional":true,"type":"integer"},{"name":"responseErrorBody","description":"The body of the response if the net error was OK, the response code was\nnot 200, and the response body was not empty.","optional":true,"type":"string"}]},{"id":"CreationEventDetails","description":"Session event details specific to creation.","experimental":true,"type":"object","properties":[{"name":"fetchResult","description":"The result of the fetch attempt.","$ref":"DeviceBoundSessionFetchResult"},{"name":"newSession","description":"The session if there was a newly created session. This is populated for\nall successful creation events.","optional":true,"$ref":"DeviceBoundSession"},{"name":"failedRequest","description":"Details about a failed device bound session network request if there was\none.","optional":true,"$ref":"DeviceBoundSessionFailedRequest"}]},{"id":"RefreshEventDetails","description":"Session event details specific to refresh.","experimental":true,"type":"object","properties":[{"name":"refreshResult","description":"The result of a refresh.","type":"string","enum":["Refreshed","InitializedService","Unreachable","ServerError","RefreshQuotaExceeded","FatalError","SigningQuotaExceeded","RefreshedAsWaiter","TransientSigningError"]},{"name":"fetchResult","description":"If there was a fetch attempt, the result of that.","optional":true,"$ref":"DeviceBoundSessionFetchResult"},{"name":"newSession","description":"The session display if there was a newly created session. This is populated\nfor any refresh event that modifies the session config.","optional":true,"$ref":"DeviceBoundSession"},{"name":"wasFullyProactiveRefresh","description":"See comments on `net::device_bound_sessions::RefreshEventResult::was_fully_proactive_refresh`.","type":"boolean"},{"name":"failedRequest","description":"Details about a failed device bound session network request if there was\none.","optional":true,"$ref":"DeviceBoundSessionFailedRequest"}]},{"id":"TerminationEventDetails","description":"Session event details specific to termination.","experimental":true,"type":"object","properties":[{"name":"deletionReason","description":"The reason for a session being deleted.","type":"string","enum":["Expired","FailedToRestoreKey","FailedToUnwrapKey","StoragePartitionCleared","ClearBrowsingData","ServerRequested","InvalidSessionParams","RefreshFatalError","DevTools"]}]},{"id":"ChallengeEventDetails","description":"Session event details specific to challenges.","experimental":true,"type":"object","properties":[{"name":"challengeResult","description":"The result of a challenge.","type":"string","enum":["Success","NoSessionId","NoSessionMatch","CantSetBoundCookie"]},{"name":"challenge","description":"The challenge set.","type":"string"}]},{"id":"LoadNetworkResourcePageResult","description":"An object providing the result of a network resource load.","experimental":true,"type":"object","properties":[{"name":"success","type":"boolean"},{"name":"netError","description":"Optional values used for error reporting.","optional":true,"type":"number"},{"name":"netErrorName","optional":true,"type":"string"},{"name":"httpStatusCode","optional":true,"type":"number"},{"name":"stream","description":"If successful, one of the following two fields holds the result.","optional":true,"$ref":"IO.StreamHandle"},{"name":"headers","description":"Response headers.","optional":true,"$ref":"Network.Headers"}]},{"id":"LoadNetworkResourceOptions","description":"An options object that may be extended later to better support CORS,\nCORB and streaming.","experimental":true,"type":"object","properties":[{"name":"disableCache","type":"boolean"},{"name":"includeCredentials","type":"boolean"}]},{"id":"AdblockInfo","experimental":true,"type":"object","properties":[{"name":"requestUrl","type":"string"},{"name":"checkedUrl","type":"string"},{"name":"sourceHost","type":"string"},{"name":"resourceType","optional":true,"$ref":"ResourceType"},{"name":"aggressive","type":"boolean"},{"name":"blocked","type":"boolean"},{"name":"didMatchImportantRule","type":"boolean"},{"name":"didMatchRule","type":"boolean"},{"name":"didMatchException","type":"boolean"},{"name":"hasMockData","type":"boolean"},{"name":"rewrittenUrl","optional":true,"type":"string"}]}],"events":[{"name":"dataReceived","description":"Fired when data chunk was received over the network.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"dataLength","description":"Data chunk length.","type":"integer"},{"name":"encodedDataLength","description":"Actual bytes received (might be less than dataLength for compressed encodings).","type":"integer"},{"name":"data","description":"Data that was received.","experimental":true,"optional":true,"type":"binary"}]},{"name":"eventSourceMessageReceived","description":"Fired when EventSource message is received.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"eventName","description":"Message type.","type":"string"},{"name":"eventId","description":"Message identifier.","type":"string"},{"name":"data","description":"Message content.","type":"string"}]},{"name":"loadingFailed","description":"Fired when HTTP request has failed to load.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"type","description":"Resource type.","$ref":"ResourceType"},{"name":"errorText","description":"Error message. List of network errors: https://cs.chromium.org/chromium/src/net/base/net_error_list.h","type":"string"},{"name":"canceled","description":"True if loading was canceled.","optional":true,"type":"boolean"},{"name":"blockedReason","description":"The reason why loading was blocked, if any.","optional":true,"$ref":"BlockedReason"},{"name":"corsErrorStatus","description":"The reason why loading was blocked by CORS, if any.","optional":true,"$ref":"CorsErrorStatus"}]},{"name":"loadingFinished","description":"Fired when HTTP request has finished loading.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"encodedDataLength","description":"Total number of bytes received for this request.","type":"number"}]},{"name":"requestIntercepted","description":"Details of an intercepted HTTP request, which must be either allowed, blocked, modified or\nmocked.\nDeprecated, use Fetch.requestPaused instead.","experimental":true,"deprecated":true,"parameters":[{"name":"interceptionId","description":"Each request the page makes will have a unique id, however if any redirects are encountered\nwhile processing that fetch, they will be reported with the same id as the original fetch.\nLikewise if HTTP authentication is needed then the same fetch id will be used.","$ref":"InterceptionId"},{"name":"request","$ref":"Request"},{"name":"frameId","description":"The id of the frame that initiated the request.","$ref":"Page.FrameId"},{"name":"resourceType","description":"How the requested resource will be used.","$ref":"ResourceType"},{"name":"isNavigationRequest","description":"Whether this is a navigation request, which can abort the navigation completely.","type":"boolean"},{"name":"isDownload","description":"Set if the request is a navigation that will result in a download.\nOnly present after response is received from the server (i.e. HeadersReceived stage).","optional":true,"type":"boolean"},{"name":"redirectUrl","description":"Redirect location, only sent if a redirect was intercepted.","optional":true,"type":"string"},{"name":"authChallenge","description":"Details of the Authorization Challenge encountered. If this is set then\ncontinueInterceptedRequest must contain an authChallengeResponse.","optional":true,"$ref":"AuthChallenge"},{"name":"responseErrorReason","description":"Response error if intercepted at response stage or if redirect occurred while intercepting\nrequest.","optional":true,"$ref":"ErrorReason"},{"name":"responseStatusCode","description":"Response code if intercepted at response stage or if redirect occurred while intercepting\nrequest or auth retry occurred.","optional":true,"type":"integer"},{"name":"responseHeaders","description":"Response headers if intercepted at the response stage or if redirect occurred while\nintercepting request or auth retry occurred.","optional":true,"$ref":"Headers"},{"name":"requestId","description":"If the intercepted request had a corresponding requestWillBeSent event fired for it, then\nthis requestId will be the same as the requestId present in the requestWillBeSent event.","optional":true,"$ref":"RequestId"}]},{"name":"requestServedFromCache","description":"Fired if request ended up loading from cache.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"}]},{"name":"requestWillBeSent","description":"Fired when page is about to send HTTP request.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"loaderId","description":"Loader identifier. Empty string if the request is fetched from worker.","$ref":"LoaderId"},{"name":"documentURL","description":"URL of the document this request is loaded for.","type":"string"},{"name":"request","description":"Request data.","$ref":"Request"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"wallTime","description":"Timestamp.","$ref":"TimeSinceEpoch"},{"name":"initiator","description":"Request initiator.","$ref":"Initiator"},{"name":"redirectHasExtraInfo","description":"In the case that redirectResponse is populated, this flag indicates whether\nrequestWillBeSentExtraInfo and responseReceivedExtraInfo events will be or were emitted\nfor the request which was just redirected.","experimental":true,"type":"boolean"},{"name":"redirectResponse","description":"Redirect response data.","optional":true,"$ref":"Response"},{"name":"type","description":"Type of this resource.","optional":true,"$ref":"ResourceType"},{"name":"frameId","description":"Frame identifier.","optional":true,"$ref":"Page.FrameId"},{"name":"hasUserGesture","description":"Whether the request is initiated by a user gesture. Defaults to false.","optional":true,"type":"boolean"},{"name":"renderBlockingBehavior","description":"The render-blocking behavior of the request.","experimental":true,"optional":true,"$ref":"RenderBlockingBehavior"}]},{"name":"resourceChangedPriority","description":"Fired when resource loading priority is changed","experimental":true,"parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"newPriority","description":"New priority","$ref":"ResourcePriority"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"}]},{"name":"signedExchangeReceived","description":"Fired when a signed exchange was received over the network","experimental":true,"parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"info","description":"Information about the signed exchange response.","$ref":"SignedExchangeInfo"}]},{"name":"responseReceived","description":"Fired when HTTP response is available.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"loaderId","description":"Loader identifier. Empty string if the request is fetched from worker.","$ref":"LoaderId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"type","description":"Resource type.","$ref":"ResourceType"},{"name":"response","description":"Response data.","$ref":"Response"},{"name":"hasExtraInfo","description":"Indicates whether requestWillBeSentExtraInfo and responseReceivedExtraInfo events will be\nor were emitted for this request.","experimental":true,"type":"boolean"},{"name":"frameId","description":"Frame identifier.","optional":true,"$ref":"Page.FrameId"}]},{"name":"webSocketClosed","description":"Fired when WebSocket is closed.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"}]},{"name":"webSocketCreated","description":"Fired upon WebSocket creation.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"url","description":"WebSocket request URL.","type":"string"},{"name":"initiator","description":"Request initiator.","optional":true,"$ref":"Initiator"}]},{"name":"webSocketFrameError","description":"Fired when WebSocket message error occurs.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"errorMessage","description":"WebSocket error message.","type":"string"}]},{"name":"webSocketFrameReceived","description":"Fired when WebSocket message is received.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"response","description":"WebSocket response data.","$ref":"WebSocketFrame"}]},{"name":"webSocketFrameSent","description":"Fired when WebSocket message is sent.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"response","description":"WebSocket response data.","$ref":"WebSocketFrame"}]},{"name":"webSocketHandshakeResponseReceived","description":"Fired when WebSocket handshake response becomes available.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"response","description":"WebSocket response data.","$ref":"WebSocketResponse"}]},{"name":"webSocketWillSendHandshakeRequest","description":"Fired when WebSocket is about to initiate handshake.","parameters":[{"name":"requestId","description":"Request identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"wallTime","description":"UTC Timestamp.","$ref":"TimeSinceEpoch"},{"name":"request","description":"WebSocket request data.","$ref":"WebSocketRequest"}]},{"name":"webTransportCreated","description":"Fired upon WebTransport creation.","parameters":[{"name":"transportId","description":"WebTransport identifier.","$ref":"RequestId"},{"name":"url","description":"WebTransport request URL.","type":"string"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"},{"name":"initiator","description":"Request initiator.","optional":true,"$ref":"Initiator"}]},{"name":"webTransportConnectionEstablished","description":"Fired when WebTransport handshake is finished.","parameters":[{"name":"transportId","description":"WebTransport identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"}]},{"name":"webTransportClosed","description":"Fired when WebTransport is disposed.","parameters":[{"name":"transportId","description":"WebTransport identifier.","$ref":"RequestId"},{"name":"timestamp","description":"Timestamp.","$ref":"MonotonicTime"}]},{"name":"directTCPSocketCreated","description":"Fired upon direct_socket.TCPSocket creation.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"remoteAddr","type":"string"},{"name":"remotePort","description":"Unsigned int 16.","type":"integer"},{"name":"options","$ref":"DirectTCPSocketOptions"},{"name":"timestamp","$ref":"MonotonicTime"},{"name":"initiator","optional":true,"$ref":"Initiator"}]},{"name":"directTCPSocketOpened","description":"Fired when direct_socket.TCPSocket connection is opened.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"remoteAddr","type":"string"},{"name":"remotePort","description":"Expected to be unsigned integer.","type":"integer"},{"name":"timestamp","$ref":"MonotonicTime"},{"name":"localAddr","optional":true,"type":"string"},{"name":"localPort","description":"Expected to be unsigned integer.","optional":true,"type":"integer"}]},{"name":"directTCPSocketAborted","description":"Fired when direct_socket.TCPSocket is aborted.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"errorMessage","type":"string"},{"name":"timestamp","$ref":"MonotonicTime"}]},{"name":"directTCPSocketClosed","description":"Fired when direct_socket.TCPSocket is closed.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"timestamp","$ref":"MonotonicTime"}]},{"name":"directTCPSocketChunkSent","description":"Fired when data is sent to tcp direct socket stream.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"data","type":"binary"},{"name":"timestamp","$ref":"MonotonicTime"}]},{"name":"directTCPSocketChunkReceived","description":"Fired when data is received from tcp direct socket stream.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"data","type":"binary"},{"name":"timestamp","$ref":"MonotonicTime"}]},{"name":"directUDPSocketJoinedMulticastGroup","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"IPAddress","type":"string"}]},{"name":"directUDPSocketLeftMulticastGroup","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"IPAddress","type":"string"}]},{"name":"directUDPSocketCreated","description":"Fired upon direct_socket.UDPSocket creation.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"options","$ref":"DirectUDPSocketOptions"},{"name":"timestamp","$ref":"MonotonicTime"},{"name":"initiator","optional":true,"$ref":"Initiator"}]},{"name":"directUDPSocketOpened","description":"Fired when direct_socket.UDPSocket connection is opened.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"localAddr","type":"string"},{"name":"localPort","description":"Expected to be unsigned integer.","type":"integer"},{"name":"timestamp","$ref":"MonotonicTime"},{"name":"remoteAddr","optional":true,"type":"string"},{"name":"remotePort","description":"Expected to be unsigned integer.","optional":true,"type":"integer"}]},{"name":"directUDPSocketAborted","description":"Fired when direct_socket.UDPSocket is aborted.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"errorMessage","type":"string"},{"name":"timestamp","$ref":"MonotonicTime"}]},{"name":"directUDPSocketClosed","description":"Fired when direct_socket.UDPSocket is closed.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"timestamp","$ref":"MonotonicTime"}]},{"name":"directUDPSocketChunkSent","description":"Fired when message is sent to udp direct socket stream.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"message","$ref":"DirectUDPMessage"},{"name":"timestamp","$ref":"MonotonicTime"}]},{"name":"directUDPSocketChunkReceived","description":"Fired when message is received from udp direct socket stream.","experimental":true,"parameters":[{"name":"identifier","$ref":"RequestId"},{"name":"message","$ref":"DirectUDPMessage"},{"name":"timestamp","$ref":"MonotonicTime"}]},{"name":"requestWillBeSentExtraInfo","description":"Fired when additional information about a requestWillBeSent event is available from the\nnetwork stack. Not every requestWillBeSent event will have an additional\nrequestWillBeSentExtraInfo fired for it, and there is no guarantee whether requestWillBeSent\nor requestWillBeSentExtraInfo will be fired first for the same request.","experimental":true,"parameters":[{"name":"requestId","description":"Request identifier. Used to match this information to an existing requestWillBeSent event.","$ref":"RequestId"},{"name":"associatedCookies","description":"A list of cookies potentially associated to the requested URL. This includes both cookies sent with\nthe request and the ones not sent; the latter are distinguished by having blockedReasons field set.","type":"array","items":{"$ref":"AssociatedCookie"}},{"name":"headers","description":"Raw request headers as they will be sent over the wire.","$ref":"Headers"},{"name":"connectTiming","description":"Connection timing information for the request.","experimental":true,"$ref":"ConnectTiming"},{"name":"deviceBoundSessionUsages","description":"How the request site's device bound sessions were used during this request.","optional":true,"type":"array","items":{"$ref":"DeviceBoundSessionWithUsage"}},{"name":"clientSecurityState","description":"The client security state set for the request.","optional":true,"$ref":"ClientSecurityState"},{"name":"siteHasCookieInOtherPartition","description":"Whether the site has partitioned cookies stored in a partition different than the current one.","optional":true,"type":"boolean"},{"name":"appliedNetworkConditionsId","description":"The network conditions id if this request was affected by network conditions configured via\nemulateNetworkConditionsByRule.","optional":true,"type":"string"}]},{"name":"responseReceivedExtraInfo","description":"Fired when additional information about a responseReceived event is available from the network\nstack. Not every responseReceived event will have an additional responseReceivedExtraInfo for\nit, and responseReceivedExtraInfo may be fired before or after responseReceived.","experimental":true,"parameters":[{"name":"requestId","description":"Request identifier. Used to match this information to another responseReceived event.","$ref":"RequestId"},{"name":"blockedCookies","description":"A list of cookies which were not stored from the response along with the corresponding\nreasons for blocking. The cookies here may not be valid due to syntax errors, which\nare represented by the invalid cookie line string instead of a proper cookie.","type":"array","items":{"$ref":"BlockedSetCookieWithReason"}},{"name":"headers","description":"Raw response headers as they were received over the wire.\nDuplicate headers in the response are represented as a single key with their values\nconcatentated using `\\n` as the separator.\nSee also `headersText` that contains verbatim text for HTTP/1.*.","$ref":"Headers"},{"name":"resourceIPAddressSpace","description":"The IP address space of the resource. The address space can only be determined once the transport\nestablished the connection, so we can't send it in `requestWillBeSentExtraInfo`.","$ref":"IPAddressSpace"},{"name":"statusCode","description":"The status code of the response. This is useful in cases the request failed and no responseReceived\nevent is triggered, which is the case for, e.g., CORS errors. This is also the correct status code\nfor cached requests, where the status in responseReceived is a 200 and this will be 304.","type":"integer"},{"name":"headersText","description":"Raw response header text as it was received over the wire. The raw text may not always be\navailable, such as in the case of HTTP/2 or QUIC.","optional":true,"type":"string"},{"name":"cookiePartitionKey","description":"The cookie partition key that will be used to store partitioned cookies set in this response.\nOnly sent when partitioned cookies are enabled.","experimental":true,"optional":true,"$ref":"CookiePartitionKey"},{"name":"cookiePartitionKeyOpaque","description":"True if partitioned cookies are enabled, but the partition key is not serializable to string.","optional":true,"type":"boolean"},{"name":"exemptedCookies","description":"A list of cookies which should have been blocked by 3PCD but are exempted and stored from\nthe response with the corresponding reason.","optional":true,"type":"array","items":{"$ref":"ExemptedSetCookieWithReason"}}]},{"name":"responseReceivedEarlyHints","description":"Fired when 103 Early Hints headers is received in addition to the common response.\nNot every responseReceived event will have an responseReceivedEarlyHints fired.\nOnly one responseReceivedEarlyHints may be fired for eached responseReceived event.","experimental":true,"parameters":[{"name":"requestId","description":"Request identifier. Used to match this information to another responseReceived event.","$ref":"RequestId"},{"name":"headers","description":"Raw response headers as they were received over the wire.\nDuplicate headers in the response are represented as a single key with their values\nconcatentated using `\\n` as the separator.\nSee also `headersText` that contains verbatim text for HTTP/1.*.","$ref":"Headers"}]},{"name":"trustTokenOperationDone","description":"Fired exactly once for each Trust Token operation. Depending on\nthe type of the operation and whether the operation succeeded or\nfailed, the event is fired before the corresponding request was sent\nor after the response was received.","experimental":true,"parameters":[{"name":"status","description":"Detailed success or error status of the operation.\n'AlreadyExists' also signifies a successful operation, as the result\nof the operation already exists und thus, the operation was abort\npreemptively (e.g. a cache hit).","type":"string","enum":["Ok","InvalidArgument","MissingIssuerKeys","FailedPrecondition","ResourceExhausted","AlreadyExists","ResourceLimited","Unauthorized","BadResponse","InternalError","UnknownError","FulfilledLocally","SiteIssuerLimit"]},{"name":"type","$ref":"TrustTokenOperationType"},{"name":"requestId","$ref":"RequestId"},{"name":"topLevelOrigin","description":"Top level origin. The context in which the operation was attempted.","optional":true,"type":"string"},{"name":"issuerOrigin","description":"Origin of the issuer in case of a \"Issuance\" or \"Redemption\" operation.","optional":true,"type":"string"},{"name":"issuedTokenCount","description":"The number of obtained Trust Tokens on a successful \"Issuance\" operation.","optional":true,"type":"integer"}]},{"name":"policyUpdated","description":"Fired once security policy has been updated.","experimental":true},{"name":"reportingApiReportAdded","description":"Is sent whenever a new report is added.\nAnd after 'enableReportingApi' for all existing reports.","experimental":true,"parameters":[{"name":"report","$ref":"ReportingApiReport"}]},{"name":"reportingApiReportUpdated","experimental":true,"parameters":[{"name":"report","$ref":"ReportingApiReport"}]},{"name":"reportingApiEndpointsChangedForOrigin","experimental":true,"parameters":[{"name":"origin","description":"Origin of the document(s) which configured the endpoints.","type":"string"},{"name":"endpoints","type":"array","items":{"$ref":"ReportingApiEndpoint"}}]},{"name":"deviceBoundSessionsAdded","description":"Triggered when the initial set of device bound sessions is added.","experimental":true,"parameters":[{"name":"sessions","description":"The device bound sessions.","type":"array","items":{"$ref":"DeviceBoundSession"}}]},{"name":"deviceBoundSessionEventOccurred","description":"Triggered when a device bound session event occurs.","experimental":true,"parameters":[{"name":"eventId","description":"A unique identifier for this session event.","$ref":"DeviceBoundSessionEventId"},{"name":"site","description":"The site this session event is associated with.","type":"string"},{"name":"succeeded","description":"Whether this event was considered successful.","type":"boolean"},{"name":"sessionId","description":"The session ID this event is associated with. May not be populated for\nfailed events.","optional":true,"type":"string"},{"name":"creationEventDetails","description":"The below are the different session event type details. Exactly one is populated.","optional":true,"$ref":"CreationEventDetails"},{"name":"refreshEventDetails","optional":true,"$ref":"RefreshEventDetails"},{"name":"terminationEventDetails","optional":true,"$ref":"TerminationEventDetails"},{"name":"challengeEventDetails","optional":true,"$ref":"ChallengeEventDetails"}]},{"name":"requestAdblockInfoReceived","experimental":true,"parameters":[{"name":"requestId","$ref":"Network.RequestId"},{"name":"info","$ref":"AdblockInfo"}]}],"commands":[{"name":"enable","description":"Enables network tracking, network events will now be delivered to the client.","parameters":[{"name":"maxTotalBufferSize","description":"Buffer size in bytes to use when preserving network payloads (XHRs, etc).\nThis is the maximum number of bytes that will be collected by this\nDevTools session.","experimental":true,"optional":true,"type":"integer"},{"name":"maxResourceBufferSize","description":"Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).","experimental":true,"optional":true,"type":"integer"},{"name":"maxPostDataSize","description":"Longest post body size (in bytes) that would be included in requestWillBeSent notification","optional":true,"type":"integer"},{"name":"reportDirectSocketTraffic","description":"Whether DirectSocket chunk send/receive events should be reported.","experimental":true,"optional":true,"type":"boolean"},{"name":"enableDurableMessages","description":"Enable storing response bodies outside of renderer, so that these survive\na cross-process navigation. Requires maxTotalBufferSize to be set.\nCurrently defaults to false. This field is being deprecated in favor of the dedicated\nconfigureDurableMessages command, due to the possibility of deadlocks when awaiting\nNetwork.enable before issuing Runtime.runIfWaitingForDebugger.","experimental":true,"optional":true,"type":"boolean"}]},{"name":"disable","description":"Disables network tracking, prevents network events from being sent to the client."},{"name":"setCacheDisabled","description":"Toggles ignoring cache for each request. If `true`, cache will not be used.","parameters":[{"name":"cacheDisabled","description":"Cache disabled state.","type":"boolean"}]},{"name":"setBlockedURLs","description":"Blocks URLs from loading.","experimental":true,"parameters":[{"name":"urlPatterns","description":"Patterns to match in the order in which they are given. These patterns\nalso take precedence over any wildcard patterns defined in `urls`.","optional":true,"type":"array","items":{"$ref":"BlockPattern"}},{"name":"urls","description":"URL patterns to block. Wildcards ('*') are allowed.","deprecated":true,"optional":true,"type":"array","items":{"type":"string"}}]},{"name":"setExtraHTTPHeaders","description":"Specifies whether to always send extra HTTP headers with the requests from this page.","parameters":[{"name":"headers","description":"Map with extra HTTP headers.","$ref":"Headers"}]},{"name":"setUserAgentOverride","description":"Allows overriding user agent with the given string.","redirect":"Emulation","parameters":[{"name":"userAgent","description":"User agent to use.","type":"string"},{"name":"acceptLanguage","description":"Browser language to emulate.","optional":true,"type":"string"},{"name":"platform","description":"The platform navigator.platform should return.","optional":true,"type":"string"},{"name":"userAgentMetadata","description":"To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData","experimental":true,"optional":true,"$ref":"Emulation.UserAgentMetadata"}]},{"name":"deleteCookies","description":"Deletes browser cookies with matching name and url or domain/path/partitionKey pair.","parameters":[{"name":"name","description":"Name of the cookies to remove.","type":"string"},{"name":"url","description":"If specified, deletes all the cookies with the given name where domain and path match\nprovided URL.","optional":true,"type":"string"},{"name":"domain","description":"If specified, deletes only cookies with the exact domain.","optional":true,"type":"string"},{"name":"path","description":"If specified, deletes only cookies with the exact path.","optional":true,"type":"string"},{"name":"partitionKey","description":"If specified, deletes only cookies with the the given name and partitionKey where\nall partition key attributes match the cookie partition key attribute.","experimental":true,"optional":true,"$ref":"CookiePartitionKey"}]},{"name":"clearBrowserCookies","description":"Clears browser cookies."},{"name":"clearBrowserCache","description":"Clears browser cache."},{"name":"canClearBrowserCache","description":"Tells whether clearing browser cache is supported.","deprecated":true,"returns":[{"name":"result","description":"True if browser cache can be cleared.","type":"boolean"}]},{"name":"setCookie","description":"Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.","parameters":[{"name":"name","description":"Cookie name.","type":"string"},{"name":"value","description":"Cookie value.","type":"string"},{"name":"url","description":"The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain, path, source port, and source scheme values of the created cookie.","optional":true,"type":"string"},{"name":"domain","description":"Cookie domain.","optional":true,"type":"string"},{"name":"path","description":"Cookie path.","optional":true,"type":"string"},{"name":"secure","description":"True if cookie is secure.","optional":true,"type":"boolean"},{"name":"httpOnly","description":"True if cookie is http-only.","optional":true,"type":"boolean"},{"name":"sameSite","description":"Cookie SameSite type.","optional":true,"$ref":"CookieSameSite"},{"name":"expires","description":"Cookie expiration date, session cookie if not set","optional":true,"$ref":"TimeSinceEpoch"},{"name":"priority","description":"Cookie Priority type.","experimental":true,"optional":true,"$ref":"CookiePriority"},{"name":"sourceScheme","description":"Cookie source scheme type.","experimental":true,"optional":true,"$ref":"CookieSourceScheme"},{"name":"sourcePort","description":"Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.\nAn unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\nThis is a temporary ability and it will be removed in the future.","experimental":true,"optional":true,"type":"integer"},{"name":"partitionKey","description":"Cookie partition key. If not set, the cookie will be set as not partitioned.","experimental":true,"optional":true,"$ref":"CookiePartitionKey"}],"returns":[{"name":"success","description":"Always set to true. If an error occurs, the response indicates protocol error.","deprecated":true,"type":"boolean"}]},{"name":"setCookies","description":"Sets given cookies.","parameters":[{"name":"cookies","description":"Cookies to be set.","type":"array","items":{"$ref":"CookieParam"}}]},{"name":"getCookies","description":"Returns all browser cookies for the current URL. Depending on the backend support, will return\ndetailed cookie information in the `cookies` field.","parameters":[{"name":"urls","description":"The list of URLs for which applicable cookies will be fetched.\nIf not specified, it's assumed to be set to the list containing\nthe URLs of the page and all of its subframes.","optional":true,"type":"array","items":{"type":"string"}}],"returns":[{"name":"cookies","description":"Array of cookie objects.","type":"array","items":{"$ref":"Cookie"}}]},{"name":"getAllCookies","description":"Returns all browser cookies. Depending on the backend support, will return detailed cookie\ninformation in the `cookies` field.\nDeprecated. Use Storage.getCookies instead.","deprecated":true,"returns":[{"name":"cookies","description":"Array of cookie objects.","type":"array","items":{"$ref":"Cookie"}}]},{"name":"getResponseBody","description":"Returns content served for the given request.","parameters":[{"name":"requestId","description":"Identifier of the network request to get content for.","$ref":"RequestId"}],"returns":[{"name":"body","description":"Response body.","type":"string"},{"name":"base64Encoded","description":"True, if content was sent as base64.","type":"boolean"}]},{"name":"getRequestPostData","description":"Returns post data sent with the request. Returns an error when no data was sent with the request.","parameters":[{"name":"requestId","description":"Identifier of the network request to get content for.","$ref":"RequestId"}],"returns":[{"name":"postData","description":"Request body string, omitting files from multipart requests","type":"string"},{"name":"base64Encoded","description":"True, if content was sent as base64.","type":"boolean"}]},{"name":"emulateNetworkConditions","description":"Activates emulation of network conditions. This command is deprecated in favor of the emulateNetworkConditionsByRule\nand overrideNetworkState commands, which can be used together to the same effect.","deprecated":true,"parameters":[{"name":"offline","description":"True to emulate internet disconnection.","type":"boolean"},{"name":"latency","description":"Minimum latency from request sent to response headers received (ms).","type":"number"},{"name":"downloadThroughput","description":"Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.","type":"number"},{"name":"uploadThroughput","description":"Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.","type":"number"},{"name":"connectionType","description":"Connection type if known.","optional":true,"$ref":"ConnectionType"},{"name":"packetLoss","description":"WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets.","experimental":true,"optional":true,"type":"number"},{"name":"packetQueueLength","description":"WebRTC packet queue length (packet). 0 removes any queue length limitations.","experimental":true,"optional":true,"type":"integer"},{"name":"packetReordering","description":"WebRTC packetReordering feature.","experimental":true,"optional":true,"type":"boolean"}]},{"name":"setBypassServiceWorker","description":"Toggles ignoring of service worker for each request.","parameters":[{"name":"bypass","description":"Bypass service worker and load from network.","type":"boolean"}]}]},{"domain":"Storage","experimental":true,"dependencies":["Browser","Network"],"types":[{"id":"SerializedStorageKey","type":"string"},{"id":"StorageType","description":"Enum of possible storage types.","type":"string","enum":["cookies","file_systems","indexeddb","local_storage","shader_cache","websql","service_workers","cache_storage","interest_groups","shared_storage","storage_buckets","all","other"]},{"id":"UsageForType","description":"Usage for a storage type.","type":"object","properties":[{"name":"storageType","description":"Name of storage type.","$ref":"StorageType"},{"name":"usage","description":"Storage usage (bytes).","type":"number"}]},{"id":"TrustTokens","description":"Pair of issuer origin and number of available (signed, but not used) Trust\nTokens from that issuer.","experimental":true,"type":"object","properties":[{"name":"issuerOrigin","type":"string"},{"name":"count","type":"number"}]},{"id":"InterestGroupAuctionId","description":"Protected audience interest group auction identifier.","type":"string"},{"id":"InterestGroupAccessType","description":"Enum of interest group access types.","type":"string","enum":["join","leave","update","loaded","bid","win","additionalBid","additionalBidWin","topLevelBid","topLevelAdditionalBid","clear"]},{"id":"InterestGroupAuctionEventType","description":"Enum of auction events.","type":"string","enum":["started","configResolved"]},{"id":"InterestGroupAuctionFetchType","description":"Enum of network fetches auctions can do.","type":"string","enum":["bidderJs","bidderWasm","sellerJs","bidderTrustedSignals","sellerTrustedSignals"]},{"id":"SharedStorageAccessScope","description":"Enum of shared storage access scopes.","type":"string","enum":["window","sharedStorageWorklet","protectedAudienceWorklet","header"]},{"id":"SharedStorageAccessMethod","description":"Enum of shared storage access methods.","type":"string","enum":["addModule","createWorklet","selectURL","run","batchUpdate","set","append","delete","clear","get","keys","values","entries","length","remainingBudget"]},{"id":"SharedStorageEntry","description":"Struct for a single key-value pair in an origin's shared storage.","type":"object","properties":[{"name":"key","type":"string"},{"name":"value","type":"string"}]},{"id":"SharedStorageMetadata","description":"Details for an origin's shared storage.","type":"object","properties":[{"name":"creationTime","description":"Time when the origin's shared storage was last created.","$ref":"Network.TimeSinceEpoch"},{"name":"length","description":"Number of key-value pairs stored in origin's shared storage.","type":"integer"},{"name":"remainingBudget","description":"Current amount of bits of entropy remaining in the navigation budget.","type":"number"},{"name":"bytesUsed","description":"Total number of bytes stored as key-value pairs in origin's shared\nstorage.","type":"integer"}]},{"id":"SharedStoragePrivateAggregationConfig","description":"Represents a dictionary object passed in as privateAggregationConfig to\nrun or selectURL.","type":"object","properties":[{"name":"aggregationCoordinatorOrigin","description":"The chosen aggregation service deployment.","optional":true,"type":"string"},{"name":"contextId","description":"The context ID provided.","optional":true,"type":"string"},{"name":"filteringIdMaxBytes","description":"Configures the maximum size allowed for filtering IDs.","type":"integer"},{"name":"maxContributions","description":"The limit on the number of contributions in the final report.","optional":true,"type":"integer"}]},{"id":"SharedStorageReportingMetadata","description":"Pair of reporting metadata details for a candidate URL for `selectURL()`.","type":"object","properties":[{"name":"eventType","type":"string"},{"name":"reportingUrl","type":"string"}]},{"id":"SharedStorageUrlWithMetadata","description":"Bundles a candidate URL with its reporting metadata.","type":"object","properties":[{"name":"url","description":"Spec of candidate URL.","type":"string"},{"name":"reportingMetadata","description":"Any associated reporting metadata.","type":"array","items":{"$ref":"SharedStorageReportingMetadata"}}]},{"id":"SharedStorageAccessParams","description":"Bundles the parameters for shared storage access events whose\npresence/absence can vary according to SharedStorageAccessType.","type":"object","properties":[{"name":"scriptSourceUrl","description":"Spec of the module script URL.\nPresent only for SharedStorageAccessMethods: addModule and\ncreateWorklet.","optional":true,"type":"string"},{"name":"dataOrigin","description":"String denoting \"context-origin\", \"script-origin\", or a custom\norigin to be used as the worklet's data origin.\nPresent only for SharedStorageAccessMethod: createWorklet.","optional":true,"type":"string"},{"name":"operationName","description":"Name of the registered operation to be run.\nPresent only for SharedStorageAccessMethods: run and selectURL.","optional":true,"type":"string"},{"name":"operationId","description":"ID of the operation call.\nPresent only for SharedStorageAccessMethods: run and selectURL.","optional":true,"type":"string"},{"name":"keepAlive","description":"Whether or not to keep the worket alive for future run or selectURL\ncalls.\nPresent only for SharedStorageAccessMethods: run and selectURL.","optional":true,"type":"boolean"},{"name":"privateAggregationConfig","description":"Configures the private aggregation options.\nPresent only for SharedStorageAccessMethods: run and selectURL.","optional":true,"$ref":"SharedStoragePrivateAggregationConfig"},{"name":"serializedData","description":"The operation's serialized data in bytes (converted to a string).\nPresent only for SharedStorageAccessMethods: run and selectURL.\nTODO(crbug.com/401011862): Consider updating this parameter to binary.","optional":true,"type":"string"},{"name":"urlsWithMetadata","description":"Array of candidate URLs' specs, along with any associated metadata.\nPresent only for SharedStorageAccessMethod: selectURL.","optional":true,"type":"array","items":{"$ref":"SharedStorageUrlWithMetadata"}},{"name":"urnUuid","description":"Spec of the URN:UUID generated for a selectURL call.\nPresent only for SharedStorageAccessMethod: selectURL.","optional":true,"type":"string"},{"name":"key","description":"Key for a specific entry in an origin's shared storage.\nPresent only for SharedStorageAccessMethods: set, append, delete, and\nget.","optional":true,"type":"string"},{"name":"value","description":"Value for a specific entry in an origin's shared storage.\nPresent only for SharedStorageAccessMethods: set and append.","optional":true,"type":"string"},{"name":"ignoreIfPresent","description":"Whether or not to set an entry for a key if that key is already present.\nPresent only for SharedStorageAccessMethod: set.","optional":true,"type":"boolean"},{"name":"workletOrdinal","description":"A number denoting the (0-based) order of the worklet's\ncreation relative to all other shared storage worklets created by\ndocuments using the current storage partition.\nPresent only for SharedStorageAccessMethods: addModule, createWorklet.","optional":true,"type":"integer"},{"name":"workletTargetId","description":"Hex representation of the DevTools token used as the TargetID for the\nassociated shared storage worklet.\nPresent only for SharedStorageAccessMethods: addModule, createWorklet,\nrun, selectURL, and any other SharedStorageAccessMethod when the\nSharedStorageAccessScope is sharedStorageWorklet.","optional":true,"$ref":"Target.TargetID"},{"name":"withLock","description":"Name of the lock to be acquired, if present.\nOptionally present only for SharedStorageAccessMethods: batchUpdate,\nset, append, delete, and clear.","optional":true,"type":"string"},{"name":"batchUpdateId","description":"If the method has been called as part of a batchUpdate, then this\nnumber identifies the batch to which it belongs.\nOptionally present only for SharedStorageAccessMethods:\nbatchUpdate (required), set, append, delete, and clear.","optional":true,"type":"string"},{"name":"batchSize","description":"Number of modifier methods sent in batch.\nPresent only for SharedStorageAccessMethod: batchUpdate.","optional":true,"type":"integer"}]},{"id":"StorageBucketsDurability","type":"string","enum":["relaxed","strict"]},{"id":"StorageBucket","type":"object","properties":[{"name":"storageKey","$ref":"SerializedStorageKey"},{"name":"name","description":"If not specified, it is the default bucket of the storageKey.","optional":true,"type":"string"}]},{"id":"StorageBucketInfo","type":"object","properties":[{"name":"bucket","$ref":"StorageBucket"},{"name":"id","type":"string"},{"name":"expiration","$ref":"Network.TimeSinceEpoch"},{"name":"quota","description":"Storage quota (bytes).","type":"number"},{"name":"persistent","type":"boolean"},{"name":"durability","$ref":"StorageBucketsDurability"}]},{"id":"RelatedWebsiteSet","description":"A single Related Website Set object.","experimental":true,"type":"object","properties":[{"name":"primarySites","description":"The primary site of this set, along with the ccTLDs if there is any.","type":"array","items":{"type":"string"}},{"name":"associatedSites","description":"The associated sites of this set, along with the ccTLDs if there is any.","type":"array","items":{"type":"string"}},{"name":"serviceSites","description":"The service sites of this set, along with the ccTLDs if there is any.","type":"array","items":{"type":"string"}}]}],"events":[{"name":"cacheStorageContentUpdated","description":"A cache's contents have been modified.","parameters":[{"name":"origin","description":"Origin to update.","type":"string"},{"name":"storageKey","description":"Storage key to update.","type":"string"},{"name":"bucketId","description":"Storage bucket to update.","type":"string"},{"name":"cacheName","description":"Name of cache in origin.","type":"string"}]},{"name":"cacheStorageListUpdated","description":"A cache has been added/deleted.","parameters":[{"name":"origin","description":"Origin to update.","type":"string"},{"name":"storageKey","description":"Storage key to update.","type":"string"},{"name":"bucketId","description":"Storage bucket to update.","type":"string"}]},{"name":"indexedDBContentUpdated","description":"The origin's IndexedDB object store has been modified.","parameters":[{"name":"origin","description":"Origin to update.","type":"string"},{"name":"storageKey","description":"Storage key to update.","type":"string"},{"name":"bucketId","description":"Storage bucket to update.","type":"string"},{"name":"databaseName","description":"Database to update.","type":"string"},{"name":"objectStoreName","description":"ObjectStore to update.","type":"string"}]},{"name":"indexedDBListUpdated","description":"The origin's IndexedDB database list has been modified.","parameters":[{"name":"origin","description":"Origin to update.","type":"string"},{"name":"storageKey","description":"Storage key to update.","type":"string"},{"name":"bucketId","description":"Storage bucket to update.","type":"string"}]},{"name":"interestGroupAccessed","description":"One of the interest groups was accessed. Note that these events are global\nto all targets sharing an interest group store.","parameters":[{"name":"accessTime","$ref":"Network.TimeSinceEpoch"},{"name":"type","$ref":"InterestGroupAccessType"},{"name":"ownerOrigin","type":"string"},{"name":"name","type":"string"},{"name":"componentSellerOrigin","description":"For topLevelBid/topLevelAdditionalBid, and when appropriate,\nwin and additionalBidWin","optional":true,"type":"string"},{"name":"bid","description":"For bid or somethingBid event, if done locally and not on a server.","optional":true,"type":"number"},{"name":"bidCurrency","optional":true,"type":"string"},{"name":"uniqueAuctionId","description":"For non-global events --- links to interestGroupAuctionEvent","optional":true,"$ref":"InterestGroupAuctionId"}]},{"name":"interestGroupAuctionEventOccurred","description":"An auction involving interest groups is taking place. These events are\ntarget-specific.","parameters":[{"name":"eventTime","$ref":"Network.TimeSinceEpoch"},{"name":"type","$ref":"InterestGroupAuctionEventType"},{"name":"uniqueAuctionId","$ref":"InterestGroupAuctionId"},{"name":"parentAuctionId","description":"Set for child auctions.","optional":true,"$ref":"InterestGroupAuctionId"},{"name":"auctionConfig","description":"Set for started and configResolved","optional":true,"type":"object"}]},{"name":"interestGroupAuctionNetworkRequestCreated","description":"Specifies which auctions a particular network fetch may be related to, and\nin what role. Note that it is not ordered with respect to\nNetwork.requestWillBeSent (but will happen before loadingFinished\nloadingFailed).","parameters":[{"name":"type","$ref":"InterestGroupAuctionFetchType"},{"name":"requestId","$ref":"Network.RequestId"},{"name":"auctions","description":"This is the set of the auctions using the worklet that issued this\nrequest. In the case of trusted signals, it's possible that only some of\nthem actually care about the keys being queried.","type":"array","items":{"$ref":"InterestGroupAuctionId"}}]},{"name":"sharedStorageAccessed","description":"Shared storage was accessed by the associated page.\nThe following parameters are included in all events.","parameters":[{"name":"accessTime","description":"Time of the access.","$ref":"Network.TimeSinceEpoch"},{"name":"scope","description":"Enum value indicating the access scope.","$ref":"SharedStorageAccessScope"},{"name":"method","description":"Enum value indicating the Shared Storage API method invoked.","$ref":"SharedStorageAccessMethod"},{"name":"mainFrameId","description":"DevTools Frame Token for the primary frame tree's root.","$ref":"Page.FrameId"},{"name":"ownerOrigin","description":"Serialization of the origin owning the Shared Storage data.","type":"string"},{"name":"ownerSite","description":"Serialization of the site owning the Shared Storage data.","type":"string"},{"name":"params","description":"The sub-parameters wrapped by `params` are all optional and their\npresence/absence depends on `type`.","$ref":"SharedStorageAccessParams"}]},{"name":"sharedStorageWorkletOperationExecutionFinished","description":"A shared storage run or selectURL operation finished its execution.\nThe following parameters are included in all events.","parameters":[{"name":"finishedTime","description":"Time that the operation finished.","$ref":"Network.TimeSinceEpoch"},{"name":"executionTime","description":"Time, in microseconds, from start of shared storage JS API call until\nend of operation execution in the worklet.","type":"integer"},{"name":"method","description":"Enum value indicating the Shared Storage API method invoked.","$ref":"SharedStorageAccessMethod"},{"name":"operationId","description":"ID of the operation call.","type":"string"},{"name":"workletTargetId","description":"Hex representation of the DevTools token used as the TargetID for the\nassociated shared storage worklet.","$ref":"Target.TargetID"},{"name":"mainFrameId","description":"DevTools Frame Token for the primary frame tree's root.","$ref":"Page.FrameId"},{"name":"ownerOrigin","description":"Serialization of the origin owning the Shared Storage data.","type":"string"}]},{"name":"storageBucketCreatedOrUpdated","parameters":[{"name":"bucketInfo","$ref":"StorageBucketInfo"}]},{"name":"storageBucketDeleted","parameters":[{"name":"bucketId","type":"string"}]}],"commands":[{"name":"clearCookies","description":"Clears cookies.","parameters":[{"name":"browserContextId","description":"Browser context to use when called on the browser endpoint.","optional":true,"$ref":"Browser.BrowserContextID"}]},{"name":"setCookies","description":"Sets given cookies.","parameters":[{"name":"cookies","description":"Cookies to be set.","type":"array","items":{"$ref":"Network.CookieParam"}},{"name":"browserContextId","description":"Browser context to use when called on the browser endpoint.","optional":true,"$ref":"Browser.BrowserContextID"}]},{"name":"getCookies","description":"Returns all browser cookies.","parameters":[{"name":"browserContextId","description":"Browser context to use when called on the browser endpoint.","optional":true,"$ref":"Browser.BrowserContextID"}],"returns":[{"name":"cookies","description":"Array of cookie objects.","type":"array","items":{"$ref":"Network.Cookie"}}]}]},{"domain":"Console","description":"This domain is deprecated - use Runtime or Log instead.","deprecated":true,"dependencies":["Runtime"],"types":[{"id":"ConsoleMessage","description":"Console message.","type":"object","properties":[{"name":"source","description":"Message source.","type":"string","enum":["xml","javascript","network","console-api","storage","appcache","rendering","security","other","deprecation","worker"]},{"name":"level","description":"Message severity.","type":"string","enum":["log","warning","error","debug","info"]},{"name":"text","description":"Message text.","type":"string"},{"name":"url","description":"URL of the message origin.","optional":true,"type":"string"},{"name":"line","description":"Line number in the resource that generated this message (1-based).","optional":true,"type":"integer"},{"name":"column","description":"Column number in the resource that generated this message (1-based).","optional":true,"type":"integer"}]}],"events":[{"name":"messageAdded","description":"Issued when new console message is added.","parameters":[{"name":"message","description":"Console message that has been added.","$ref":"ConsoleMessage"}]}],"commands":[{"name":"enable","description":"Enables console domain, sends the messages collected so far to the client by means of the\n`messageAdded` notification."},{"name":"disable","description":"Disables console domain, prevents further console messages from being reported to the client."},{"name":"clearMessages","description":"Does nothing."}]},{"domain":"Security","types":[{"id":"CertificateId","description":"An internal certificate ID value.","type":"integer"},{"id":"MixedContentType","description":"A description of mixed content (HTTP resources on HTTPS pages), as defined by\nhttps://www.w3.org/TR/mixed-content/#categories","type":"string","enum":["blockable","optionally-blockable","none"]},{"id":"SecurityState","description":"The security level of a page or resource.","type":"string","enum":["unknown","neutral","insecure","secure","info","insecure-broken"]},{"id":"CertificateSecurityState","description":"Details about the security state of the page certificate.","experimental":true,"type":"object","properties":[{"name":"protocol","description":"Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").","type":"string"},{"name":"keyExchange","description":"Key Exchange used by the connection, or the empty string if not applicable.","type":"string"},{"name":"keyExchangeGroup","description":"(EC)DH group used by the connection, if applicable.","optional":true,"type":"string"},{"name":"cipher","description":"Cipher name.","type":"string"},{"name":"mac","description":"TLS MAC. Note that AEAD ciphers do not have separate MACs.","optional":true,"type":"string"},{"name":"certificate","description":"Page certificate.","type":"array","items":{"type":"string"}},{"name":"subjectName","description":"Certificate subject name.","type":"string"},{"name":"issuer","description":"Name of the issuing CA.","type":"string"},{"name":"validFrom","description":"Certificate valid from date.","$ref":"Network.TimeSinceEpoch"},{"name":"validTo","description":"Certificate valid to (expiration) date","$ref":"Network.TimeSinceEpoch"},{"name":"certificateNetworkError","description":"The highest priority network error code, if the certificate has an error.","optional":true,"type":"string"},{"name":"certificateHasWeakSignature","description":"True if the certificate uses a weak signature algorithm.","type":"boolean"},{"name":"certificateHasSha1Signature","description":"True if the certificate has a SHA1 signature in the chain.","type":"boolean"},{"name":"modernSSL","description":"True if modern SSL","type":"boolean"},{"name":"obsoleteSslProtocol","description":"True if the connection is using an obsolete SSL protocol.","type":"boolean"},{"name":"obsoleteSslKeyExchange","description":"True if the connection is using an obsolete SSL key exchange.","type":"boolean"},{"name":"obsoleteSslCipher","description":"True if the connection is using an obsolete SSL cipher.","type":"boolean"},{"name":"obsoleteSslSignature","description":"True if the connection is using an obsolete SSL signature.","type":"boolean"}]},{"id":"SafetyTipStatus","experimental":true,"type":"string","enum":["badReputation","lookalike"]},{"id":"SafetyTipInfo","experimental":true,"type":"object","properties":[{"name":"safetyTipStatus","description":"Describes whether the page triggers any safety tips or reputation warnings. Default is unknown.","$ref":"SafetyTipStatus"},{"name":"safeUrl","description":"The URL the safety tip suggested (\"Did you mean?\"). Only filled in for lookalike matches.","optional":true,"type":"string"}]},{"id":"VisibleSecurityState","description":"Security state information about the page.","experimental":true,"type":"object","properties":[{"name":"securityState","description":"The security level of the page.","$ref":"SecurityState"},{"name":"certificateSecurityState","description":"Security state details about the page certificate.","optional":true,"$ref":"CertificateSecurityState"},{"name":"safetyTipInfo","description":"The type of Safety Tip triggered on the page. Note that this field will be set even if the Safety Tip UI was not actually shown.","optional":true,"$ref":"SafetyTipInfo"},{"name":"securityStateIssueIds","description":"Array of security state issues ids.","type":"array","items":{"type":"string"}}]},{"id":"SecurityStateExplanation","description":"An explanation of an factor contributing to the security state.","type":"object","properties":[{"name":"securityState","description":"Security state representing the severity of the factor being explained.","$ref":"SecurityState"},{"name":"title","description":"Title describing the type of factor.","type":"string"},{"name":"summary","description":"Short phrase describing the type of factor.","type":"string"},{"name":"description","description":"Full text explanation of the factor.","type":"string"},{"name":"mixedContentType","description":"The type of mixed content described by the explanation.","$ref":"MixedContentType"},{"name":"certificate","description":"Page certificate.","type":"array","items":{"type":"string"}},{"name":"recommendations","description":"Recommendations to fix any issues.","optional":true,"type":"array","items":{"type":"string"}}]},{"id":"InsecureContentStatus","description":"Information about insecure content on the page.","deprecated":true,"type":"object","properties":[{"name":"ranMixedContent","description":"Always false.","type":"boolean"},{"name":"displayedMixedContent","description":"Always false.","type":"boolean"},{"name":"containedMixedForm","description":"Always false.","type":"boolean"},{"name":"ranContentWithCertErrors","description":"Always false.","type":"boolean"},{"name":"displayedContentWithCertErrors","description":"Always false.","type":"boolean"},{"name":"ranInsecureContentStyle","description":"Always set to unknown.","$ref":"SecurityState"},{"name":"displayedInsecureContentStyle","description":"Always set to unknown.","$ref":"SecurityState"}]},{"id":"CertificateErrorAction","description":"The action to take when a certificate error occurs. continue will continue processing the\nrequest and cancel will cancel the request.","type":"string","enum":["continue","cancel"]}],"events":[{"name":"certificateError","description":"There is a certificate error. If overriding certificate errors is enabled, then it should be\nhandled with the `handleCertificateError` command. Note: this event does not fire if the\ncertificate error has been allowed internally. Only one client per target should override\ncertificate errors at the same time.","deprecated":true,"parameters":[{"name":"eventId","description":"The ID of the event.","type":"integer"},{"name":"errorType","description":"The type of the error.","type":"string"},{"name":"requestURL","description":"The url that was requested.","type":"string"}]},{"name":"visibleSecurityStateChanged","description":"The security state of the page changed.","experimental":true,"parameters":[{"name":"visibleSecurityState","description":"Security state information about the page.","$ref":"VisibleSecurityState"}]},{"name":"securityStateChanged","description":"The security state of the page changed. No longer being sent.","deprecated":true,"parameters":[{"name":"securityState","description":"Security state.","$ref":"SecurityState"},{"name":"schemeIsCryptographic","description":"True if the page was loaded over cryptographic transport such as HTTPS.","deprecated":true,"type":"boolean"},{"name":"explanations","description":"Previously a list of explanations for the security state. Now always\nempty.","deprecated":true,"type":"array","items":{"$ref":"SecurityStateExplanation"}},{"name":"insecureContentStatus","description":"Information about insecure content on the page.","deprecated":true,"$ref":"InsecureContentStatus"},{"name":"summary","description":"Overrides user-visible description of the state. Always omitted.","deprecated":true,"optional":true,"type":"string"}]}],"commands":[{"name":"enable","description":"Enables tracking security state changes."},{"name":"disable","description":"Disables tracking security state changes."},{"name":"setIgnoreCertificateErrors","description":"Enable/disable whether all certificate errors should be ignored.","parameters":[{"name":"ignore","description":"If true, all certificate errors will be ignored.","type":"boolean"}]}]},{"domain":"Emulation","description":"This domain emulates different environments for the page.","dependencies":["DOM","Page","Runtime"],"types":[{"id":"SafeAreaInsets","experimental":true,"type":"object","properties":[{"name":"top","description":"Overrides safe-area-inset-top.","optional":true,"type":"integer"},{"name":"topMax","description":"Overrides safe-area-max-inset-top.","optional":true,"type":"integer"},{"name":"left","description":"Overrides safe-area-inset-left.","optional":true,"type":"integer"},{"name":"leftMax","description":"Overrides safe-area-max-inset-left.","optional":true,"type":"integer"},{"name":"bottom","description":"Overrides safe-area-inset-bottom.","optional":true,"type":"integer"},{"name":"bottomMax","description":"Overrides safe-area-max-inset-bottom.","optional":true,"type":"integer"},{"name":"right","description":"Overrides safe-area-inset-right.","optional":true,"type":"integer"},{"name":"rightMax","description":"Overrides safe-area-max-inset-right.","optional":true,"type":"integer"}]},{"id":"ScreenOrientation","description":"Screen orientation.","type":"object","properties":[{"name":"type","description":"Orientation type.","type":"string","enum":["portraitPrimary","portraitSecondary","landscapePrimary","landscapeSecondary"]},{"name":"angle","description":"Orientation angle.","type":"integer"}]},{"id":"DisplayFeature","type":"object","properties":[{"name":"orientation","description":"Orientation of a display feature in relation to screen","type":"string","enum":["vertical","horizontal"]},{"name":"offset","description":"The offset from the screen origin in either the x (for vertical\norientation) or y (for horizontal orientation) direction.","type":"integer"},{"name":"maskLength","description":"A display feature may mask content such that it is not physically\ndisplayed - this length along with the offset describes this area.\nA display feature that only splits content will have a 0 mask_length.","type":"integer"}]},{"id":"DevicePosture","type":"object","properties":[{"name":"type","description":"Current posture of the device","type":"string","enum":["continuous","folded"]}]},{"id":"MediaFeature","type":"object","properties":[{"name":"name","type":"string"},{"name":"value","type":"string"}]},{"id":"VirtualTimePolicy","description":"advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to\nallow the next delayed task (if any) to run; pause: The virtual time base may not advance;\npauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending\nresource fetches.","experimental":true,"type":"string","enum":["advance","pause","pauseIfNetworkFetchesPending"]},{"id":"UserAgentBrandVersion","description":"Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints","experimental":true,"type":"object","properties":[{"name":"brand","type":"string"},{"name":"version","type":"string"}]},{"id":"UserAgentMetadata","description":"Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.","experimental":true,"type":"object","properties":[{"name":"brands","description":"Brands appearing in Sec-CH-UA.","optional":true,"type":"array","items":{"$ref":"UserAgentBrandVersion"}},{"name":"fullVersionList","description":"Brands appearing in Sec-CH-UA-Full-Version-List.","optional":true,"type":"array","items":{"$ref":"UserAgentBrandVersion"}},{"name":"fullVersion","deprecated":true,"optional":true,"type":"string"},{"name":"platform","type":"string"},{"name":"platformVersion","type":"string"},{"name":"architecture","type":"string"},{"name":"model","type":"string"},{"name":"mobile","type":"boolean"},{"name":"bitness","optional":true,"type":"string"},{"name":"wow64","optional":true,"type":"boolean"},{"name":"formFactors","description":"Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors","optional":true,"type":"array","items":{"type":"string"}}]},{"id":"SensorType","description":"Used to specify sensor types to emulate.\nSee https://w3c.github.io/sensors/#automation for more information.","experimental":true,"type":"string","enum":["absolute-orientation","accelerometer","ambient-light","gravity","gyroscope","linear-acceleration","magnetometer","relative-orientation"]},{"id":"SensorMetadata","experimental":true,"type":"object","properties":[{"name":"available","optional":true,"type":"boolean"},{"name":"minimumFrequency","optional":true,"type":"number"},{"name":"maximumFrequency","optional":true,"type":"number"}]},{"id":"SensorReadingSingle","experimental":true,"type":"object","properties":[{"name":"value","type":"number"}]},{"id":"SensorReadingXYZ","experimental":true,"type":"object","properties":[{"name":"x","type":"number"},{"name":"y","type":"number"},{"name":"z","type":"number"}]},{"id":"SensorReadingQuaternion","experimental":true,"type":"object","properties":[{"name":"x","type":"number"},{"name":"y","type":"number"},{"name":"z","type":"number"},{"name":"w","type":"number"}]},{"id":"SensorReading","experimental":true,"type":"object","properties":[{"name":"single","optional":true,"$ref":"SensorReadingSingle"},{"name":"xyz","optional":true,"$ref":"SensorReadingXYZ"},{"name":"quaternion","optional":true,"$ref":"SensorReadingQuaternion"}]},{"id":"PressureSource","experimental":true,"type":"string","enum":["cpu"]},{"id":"PressureState","experimental":true,"type":"string","enum":["nominal","fair","serious","critical"]},{"id":"PressureMetadata","experimental":true,"type":"object","properties":[{"name":"available","optional":true,"type":"boolean"}]},{"id":"WorkAreaInsets","experimental":true,"type":"object","properties":[{"name":"top","description":"Work area top inset in pixels. Default is 0;","optional":true,"type":"integer"},{"name":"left","description":"Work area left inset in pixels. Default is 0;","optional":true,"type":"integer"},{"name":"bottom","description":"Work area bottom inset in pixels. Default is 0;","optional":true,"type":"integer"},{"name":"right","description":"Work area right inset in pixels. Default is 0;","optional":true,"type":"integer"}]},{"id":"ScreenId","experimental":true,"type":"string"},{"id":"ScreenInfo","description":"Screen information similar to the one returned by window.getScreenDetails() method,\nsee https://w3c.github.io/window-management/#screendetailed.","experimental":true,"type":"object","properties":[{"name":"left","description":"Offset of the left edge of the screen.","type":"integer"},{"name":"top","description":"Offset of the top edge of the screen.","type":"integer"},{"name":"width","description":"Width of the screen.","type":"integer"},{"name":"height","description":"Height of the screen.","type":"integer"},{"name":"availLeft","description":"Offset of the left edge of the available screen area.","type":"integer"},{"name":"availTop","description":"Offset of the top edge of the available screen area.","type":"integer"},{"name":"availWidth","description":"Width of the available screen area.","type":"integer"},{"name":"availHeight","description":"Height of the available screen area.","type":"integer"},{"name":"devicePixelRatio","description":"Specifies the screen's device pixel ratio.","type":"number"},{"name":"orientation","description":"Specifies the screen's orientation.","$ref":"ScreenOrientation"},{"name":"colorDepth","description":"Specifies the screen's color depth in bits.","type":"integer"},{"name":"isExtended","description":"Indicates whether the device has multiple screens.","type":"boolean"},{"name":"isInternal","description":"Indicates whether the screen is internal to the device or external, attached to the device.","type":"boolean"},{"name":"isPrimary","description":"Indicates whether the screen is set as the the operating system primary screen.","type":"boolean"},{"name":"label","description":"Specifies the descriptive label for the screen.","type":"string"},{"name":"id","description":"Specifies the unique identifier of the screen.","$ref":"ScreenId"}]},{"id":"DisabledImageType","description":"Enum of image types that can be disabled.","experimental":true,"type":"string","enum":["avif","jxl","webp"]}],"events":[{"name":"virtualTimeBudgetExpired","description":"Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.","experimental":true},{"name":"screenOrientationLockChanged","description":"Fired when a page calls screen.orientation.lock() or screen.orientation.unlock()\nwhile device emulation is enabled. This allows the DevTools frontend to update the\nemulated device orientation accordingly.","experimental":true,"parameters":[{"name":"locked","description":"Whether the screen orientation is currently locked.","type":"boolean"},{"name":"orientation","description":"The orientation lock type requested by the page. Only set when locked is true.","optional":true,"$ref":"ScreenOrientation"}]}],"commands":[{"name":"setEmulatedMedia","description":"Emulates the given media type or media feature for CSS media queries.","parameters":[{"name":"media","description":"Media type to emulate. Empty string disables the override.","optional":true,"type":"string"},{"name":"features","description":"Media features to emulate.","optional":true,"type":"array","items":{"$ref":"MediaFeature"}}]},{"name":"setFocusEmulationEnabled","description":"Enables or disables simulating a focused and active page.","experimental":true,"parameters":[{"name":"enabled","description":"Whether to enable to disable focus emulation.","type":"boolean"}]},{"name":"setDeviceMetricsOverride","description":"Overrides the values of device screen dimensions (window.screen.width, window.screen.height,\nwindow.innerWidth, window.innerHeight, and \"device-width\"/\"device-height\"-related CSS media\nquery results).","parameters":[{"name":"width","description":"Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.","type":"integer"},{"name":"height","description":"Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.","type":"integer"},{"name":"deviceScaleFactor","description":"Overriding device scale factor value. 0 disables the override.","type":"number"},{"name":"mobile","description":"Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text\nautosizing and more.","type":"boolean"},{"name":"scale","description":"Scale to apply to resulting view image.","experimental":true,"optional":true,"type":"number"},{"name":"screenWidth","description":"Overriding screen width value in pixels (minimum 0, maximum 10000000).","experimental":true,"optional":true,"type":"integer"},{"name":"screenHeight","description":"Overriding screen height value in pixels (minimum 0, maximum 10000000).","experimental":true,"optional":true,"type":"integer"},{"name":"positionX","description":"Overriding view X position on screen in pixels (minimum 0, maximum 10000000).","experimental":true,"optional":true,"type":"integer"},{"name":"positionY","description":"Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).","experimental":true,"optional":true,"type":"integer"},{"name":"dontSetVisibleSize","description":"Do not set visible view size, rely upon explicit setVisibleSize call.","experimental":true,"optional":true,"type":"boolean"},{"name":"screenOrientation","description":"Screen orientation override.","optional":true,"$ref":"ScreenOrientation"},{"name":"viewport","description":"If set, the visible area of the page will be overridden to this viewport. This viewport\nchange is not observed by the page, e.g. viewport-relative elements do not change positions.","experimental":true,"optional":true,"$ref":"Page.Viewport"},{"name":"displayFeature","description":"If set, the display feature of a multi-segment screen. If not set, multi-segment support\nis turned-off.\nDeprecated, use Emulation.setDisplayFeaturesOverride.","experimental":true,"deprecated":true,"optional":true,"$ref":"DisplayFeature"},{"name":"devicePosture","description":"If set, the posture of a foldable device. If not set the posture is set\nto continuous.\nDeprecated, use Emulation.setDevicePostureOverride.","experimental":true,"deprecated":true,"optional":true,"$ref":"DevicePosture"},{"name":"scrollbarType","description":"Scrollbar type. Default: `default`.","experimental":true,"optional":true,"type":"string","enum":["overlay","default"]},{"name":"screenOrientationLockEmulation","description":"If set to true, enables screen orientation lock emulation, which\nintercepts screen.orientation.lock() calls from the page and reports\norientation changes via screenOrientationLockChanged events. This is\nuseful for emulating mobile device orientation lock behavior in\nresponsive design mode.","experimental":true,"optional":true,"type":"boolean"}]},{"name":"clearDeviceMetricsOverride","description":"Clears the overridden device metrics."},{"name":"setGeolocationOverride","description":"Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position\nunavailable.","parameters":[{"name":"latitude","description":"Mock latitude","optional":true,"type":"number"},{"name":"longitude","description":"Mock longitude","optional":true,"type":"number"},{"name":"accuracy","description":"Mock accuracy","optional":true,"type":"number"}]},{"name":"clearGeolocationOverride","description":"Clears the overridden Geolocation Position and Error."},{"name":"setTouchEmulationEnabled","description":"Enables touch on platforms which do not support them.","parameters":[{"name":"enabled","description":"Whether the touch event emulation should be enabled.","type":"boolean"},{"name":"maxTouchPoints","description":"Maximum touch points supported. Defaults to one.","optional":true,"type":"integer"}]},{"name":"setUserAgentOverride","description":"Allows overriding user agent with the given string.\n`userAgentMetadata` must be set for Client Hint headers to be sent.","parameters":[{"name":"userAgent","description":"User agent to use.","type":"string"},{"name":"acceptLanguage","description":"Browser language to emulate.","optional":true,"type":"string"},{"name":"platform","description":"The platform navigator.platform should return.","optional":true,"type":"string"},{"name":"userAgentMetadata","description":"To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData","experimental":true,"optional":true,"$ref":"UserAgentMetadata"}]},{"name":"setLocaleOverride","description":"Overrides default host system locale with the specified one.","experimental":true,"parameters":[{"name":"locale","description":"ICU style C locale (e.g. \"en_US\"). If not specified or empty, disables the override and\nrestores default host system locale.","optional":true,"type":"string"}]},{"name":"setTimezoneOverride","description":"Overrides default host system timezone with the specified one.","parameters":[{"name":"timezoneId","description":"The timezone identifier. List of supported timezones:\nhttps://source.chromium.org/chromium/chromium/deps/icu.git/+/faee8bc70570192d82d2978a71e2a615788597d1:source/data/misc/metaZones.txt\nIf empty, disables the override and restores default host system timezone.","type":"string"}]},{"name":"setScriptExecutionDisabled","description":"Switches script execution in the page.","parameters":[{"name":"value","description":"Whether script execution should be disabled in the page.","type":"boolean"}]},{"name":"setDefaultBackgroundColorOverride","description":"Sets or clears an override of the default background color of the frame. This override is used\nif the content does not specify one.","parameters":[{"name":"color","description":"RGBA of the default background color. If not specified, any existing override will be\ncleared.","optional":true,"$ref":"DOM.RGBA"}]}]},{"domain":"Inspector","experimental":true,"events":[{"name":"detached","description":"Fired when remote debugging connection is about to be terminated. Contains detach reason.","parameters":[{"name":"reason","description":"The reason why connection has been terminated.","type":"string"}]},{"name":"targetCrashed","description":"Fired when debugging target has crashed"},{"name":"targetReloadedAfterCrash","description":"Fired when debugging target has reloaded after crash"},{"name":"workerScriptLoaded","description":"Fired on worker targets when main worker script and any imported scripts have been evaluated.","experimental":true}],"commands":[{"name":"enable","description":"Enables inspector domain notifications."},{"name":"disable","description":"Disables inspector domain notifications."}]},{"domain":"Performance","types":[{"id":"Metric","description":"Run-time execution metric.","type":"object","properties":[{"name":"name","description":"Metric name.","type":"string"},{"name":"value","description":"Metric value.","type":"number"}]}],"events":[{"name":"metrics","description":"Current values of the metrics.","parameters":[{"name":"metrics","description":"Current values of the metrics.","type":"array","items":{"$ref":"Metric"}},{"name":"title","description":"Timestamp title.","type":"string"}]}],"commands":[{"name":"enable","description":"Enable collecting and reporting metrics.","parameters":[{"name":"timeDomain","description":"Time domain to use for collecting and reporting duration metrics.","optional":true,"type":"string","enum":["timeTicks","threadTicks"]}]},{"name":"disable","description":"Disable collecting and reporting metrics."}]},{"domain":"Accessibility","experimental":true,"dependencies":["DOM"],"types":[{"id":"AXNodeId","description":"Unique accessibility node identifier.","type":"string"},{"id":"AXValueType","description":"Enum of possible property types.","type":"string","enum":["boolean","tristate","booleanOrUndefined","idref","idrefList","integer","node","nodeList","number","string","computedString","token","tokenList","domRelation","role","internalRole","valueUndefined"]},{"id":"AXValueSourceType","description":"Enum of possible property sources.","type":"string","enum":["attribute","implicit","style","contents","placeholder","relatedElement"]},{"id":"AXValueNativeSourceType","description":"Enum of possible native property sources (as a subtype of a particular AXValueSourceType).","type":"string","enum":["description","figcaption","label","labelfor","labelwrapped","legend","rubyannotation","tablecaption","title","other"]},{"id":"AXValueSource","description":"A single source for a computed AX property.","type":"object","properties":[{"name":"type","description":"What type of source this is.","$ref":"AXValueSourceType"},{"name":"value","description":"The value of this property source.","optional":true,"$ref":"AXValue"},{"name":"attribute","description":"The name of the relevant attribute, if any.","optional":true,"type":"string"},{"name":"attributeValue","description":"The value of the relevant attribute, if any.","optional":true,"$ref":"AXValue"},{"name":"superseded","description":"Whether this source is superseded by a higher priority source.","optional":true,"type":"boolean"},{"name":"nativeSource","description":"The native markup source for this value, e.g. a `