`.
+.. autofunction:: clear_cookies
+
.. autofunction:: clear_data_for_origin
+.. autofunction:: clear_trust_tokens
+
+.. autofunction:: get_cookies
+
+.. autofunction:: get_trust_tokens
+
.. autofunction:: get_usage_and_quota
+.. autofunction:: override_quota_for_origin
+
+.. autofunction:: set_cookies
+
.. autofunction:: track_cache_storage_for_origin
.. autofunction:: track_indexed_db_for_origin
diff --git a/docs/api/system_info.rst b/docs/api/system_info.rst
index 4e704f5..1b595c7 100644
--- a/docs/api/system_info.rst
+++ b/docs/api/system_info.rst
@@ -44,6 +44,11 @@ arguments to other commands.
:undoc-members:
:exclude-members: from_json, to_json
+.. autoclass:: ImageType
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
.. autoclass:: ImageDecodeAcceleratorCapability
:members:
:undoc-members:
diff --git a/docs/api/target.rst b/docs/api/target.rst
index 323cb37..263ae8a 100644
--- a/docs/api/target.rst
+++ b/docs/api/target.rst
@@ -27,11 +27,6 @@ arguments to other commands.
:undoc-members:
:exclude-members: from_json, to_json
-.. autoclass:: BrowserContextID
- :members:
- :undoc-members:
- :exclude-members: from_json, to_json
-
.. autoclass:: TargetInfo
:members:
:undoc-members:
@@ -60,6 +55,8 @@ to. For more information, see
.. autofunction:: attach_to_target
+.. autofunction:: auto_attach_related
+
.. autofunction:: close_target
.. autofunction:: create_browser_context
diff --git a/docs/api/tracing.rst b/docs/api/tracing.rst
index 4898f92..fd134ba 100644
--- a/docs/api/tracing.rst
+++ b/docs/api/tracing.rst
@@ -37,6 +37,16 @@ arguments to other commands.
:undoc-members:
:exclude-members: from_json, to_json
+.. autoclass:: MemoryDumpLevelOfDetail
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: TracingBackend
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
Commands
--------
diff --git a/docs/api/web_audio.rst b/docs/api/web_audio.rst
index 4e5233c..4000aab 100644
--- a/docs/api/web_audio.rst
+++ b/docs/api/web_audio.rst
@@ -20,7 +20,7 @@ yourself. Instead, the API creates objects for you as return
values from commands, and then you can use those objects as
arguments to other commands.
-.. autoclass:: ContextId
+.. autoclass:: GraphObjectId
:members:
:undoc-members:
:exclude-members: from_json, to_json
@@ -35,6 +35,31 @@ arguments to other commands.
:undoc-members:
:exclude-members: from_json, to_json
+.. autoclass:: NodeType
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: ChannelCountMode
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: ChannelInterpretation
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: ParamType
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: AutomationRate
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
.. autoclass:: ContextRealtimeData
:members:
:undoc-members:
@@ -45,6 +70,21 @@ arguments to other commands.
:undoc-members:
:exclude-members: from_json, to_json
+.. autoclass:: AudioListener
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: AudioNode
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: AudioParam
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
Commands
--------
@@ -75,7 +115,7 @@ you use the event's attributes.
:undoc-members:
:exclude-members: from_json, to_json
-.. autoclass:: ContextDestroyed
+.. autoclass:: ContextWillBeDestroyed
:members:
:undoc-members:
:exclude-members: from_json, to_json
@@ -84,3 +124,53 @@ you use the event's attributes.
:members:
:undoc-members:
:exclude-members: from_json, to_json
+
+.. autoclass:: AudioListenerCreated
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: AudioListenerWillBeDestroyed
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: AudioNodeCreated
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: AudioNodeWillBeDestroyed
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: AudioParamCreated
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: AudioParamWillBeDestroyed
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: NodesConnected
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: NodesDisconnected
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: NodeParamConnected
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
+.. autoclass:: NodeParamDisconnected
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
diff --git a/docs/api/web_authn.rst b/docs/api/web_authn.rst
index 8bf7d2a..8a1a0b9 100644
--- a/docs/api/web_authn.rst
+++ b/docs/api/web_authn.rst
@@ -30,6 +30,11 @@ arguments to other commands.
:undoc-members:
:exclude-members: from_json, to_json
+.. autoclass:: Ctap2Version
+ :members:
+ :undoc-members:
+ :exclude-members: from_json, to_json
+
.. autoclass:: AuthenticatorTransport
:members:
:undoc-members:
@@ -67,10 +72,16 @@ to. For more information, see
.. autofunction:: enable
+.. autofunction:: get_credential
+
.. autofunction:: get_credentials
+.. autofunction:: remove_credential
+
.. autofunction:: remove_virtual_authenticator
+.. autofunction:: set_automatic_presence_simulation
+
.. autofunction:: set_user_verified
Events
diff --git a/generator/browser_protocol.json b/generator/browser_protocol.json
index d9a2683..befc9d1 100644
--- a/generator/browser_protocol.json
+++ b/generator/browser_protocol.json
@@ -58,11 +58,13 @@
"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"
@@ -306,6 +308,12 @@
"$ref": "AXProperty"
}
},
+ {
+ "name": "parentId",
+ "description": "ID for this node's parent.",
+ "optional": true,
+ "$ref": "AXNodeId"
+ },
{
"name": "childIds",
"description": "IDs for each of this node's child nodes.",
@@ -320,6 +328,12 @@
"description": "The backend ID for the associated DOM node, if any.",
"optional": true,
"$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "frameId",
+ "description": "The frame ID for the frame associated with this nodes document.",
+ "optional": true,
+ "$ref": "Page.FrameId"
}
]
}
@@ -376,11 +390,187 @@
},
{
"name": "getFullAXTree",
- "description": "Fetches the entire accessibility tree",
+ "description": "Fetches the entire accessibility tree for the root Document",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "depth",
+ "description": "The maximum depth at which descendants of the root node should be retrieved.\nIf omitted, the full tree is returned.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "max_depth",
+ "description": "Deprecated. This parameter has been renamed to `depth`. If depth is not provided, max_depth will be used.",
+ "deprecated": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "frameId",
+ "description": "The frame for whose document the AX tree should be retrieved.\nIf omited, the root frame is used.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodes",
+ "type": "array",
+ "items": {
+ "$ref": "AXNode"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getRootAXNode",
+ "description": "Fetches the root node.\nRequires `enable()` to have been called previously.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "The frame in whose document the node resides.\nIf omitted, the root frame is used.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "node",
+ "$ref": "AXNode"
+ }
+ ]
+ },
+ {
+ "name": "getAXNodeAndAncestors",
+ "description": "Fetches a node and all ancestors up to and including the root.\nRequires `enable()` to have been called previously.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "Identifier of the node to get.",
+ "optional": true,
+ "$ref": "DOM.NodeId"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node to get.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper to get.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodes",
+ "type": "array",
+ "items": {
+ "$ref": "AXNode"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getChildAXNodes",
+ "description": "Fetches a particular accessibility node by AXNodeId.\nRequires `enable()` to have been called previously.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "id",
+ "$ref": "AXNodeId"
+ },
+ {
+ "name": "frameId",
+ "description": "The frame in whose document the node resides.\nIf omitted, the root frame is used.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodes",
+ "type": "array",
+ "items": {
+ "$ref": "AXNode"
+ }
+ }
+ ]
+ },
+ {
+ "name": "queryAXTree",
+ "description": "Query a DOM node's accessibility subtree for accessible name and role.\nThis command computes the name and role for all nodes in the subtree, including those that are\nignored for accessibility, and returns those that mactch the specified name and role. If no DOM\nnode is specified, or the DOM node does not exist, the command returns an error. If neither\n`accessibleName` or `role` is specified, it returns all the accessibility nodes in the subtree.",
"experimental": true,
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "Identifier of the node for the root to query.",
+ "optional": true,
+ "$ref": "DOM.NodeId"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node for the root to query.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper for the root to query.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
+ },
+ {
+ "name": "accessibleName",
+ "description": "Find nodes with this computed name.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "role",
+ "description": "Find nodes with this computed role.",
+ "optional": true,
+ "type": "string"
+ }
+ ],
"returns": [
{
"name": "nodes",
+ "description": "A list of `Accessibility.AXNode` matching the specified attributes,\nincluding nodes that are ignored for accessibility.",
+ "type": "array",
+ "items": {
+ "$ref": "AXNode"
+ }
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "loadComplete",
+ "description": "The loadComplete event mirrors the load complete event sent by the browser to assistive\ntechnology when the web page has finished loading.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "root",
+ "description": "New document root node.",
+ "$ref": "AXNode"
+ }
+ ]
+ },
+ {
+ "name": "nodesUpdated",
+ "description": "The nodesUpdated event is sent every time a previously requested node has changed the in tree.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "nodes",
+ "description": "Updated node data.",
"type": "array",
"items": {
"$ref": "AXNode"
@@ -738,11625 +928,16457 @@
]
},
{
- "domain": "ApplicationCache",
+ "domain": "Audits",
+ "description": "Audits domain allows investigation of page violations and possible improvements.",
"experimental": true,
+ "dependencies": [
+ "Network"
+ ],
"types": [
{
- "id": "ApplicationCacheResource",
- "description": "Detailed application cache resource information.",
+ "id": "AffectedCookie",
+ "description": "Information about a cookie that is affected by an inspector issue.",
"type": "object",
"properties": [
{
- "name": "url",
- "description": "Resource url.",
+ "name": "name",
+ "description": "The following three properties uniquely identify a cookie",
"type": "string"
},
{
- "name": "size",
- "description": "Resource size.",
- "type": "integer"
+ "name": "path",
+ "type": "string"
},
{
- "name": "type",
- "description": "Resource type.",
+ "name": "domain",
"type": "string"
}
]
},
{
- "id": "ApplicationCache",
- "description": "Detailed application cache information.",
+ "id": "AffectedRequest",
+ "description": "Information about a request that is affected by an inspector issue.",
"type": "object",
"properties": [
{
- "name": "manifestURL",
- "description": "Manifest URL.",
- "type": "string"
- },
- {
- "name": "size",
- "description": "Application cache size.",
- "type": "number"
- },
- {
- "name": "creationTime",
- "description": "Application cache creation time.",
- "type": "number"
- },
- {
- "name": "updateTime",
- "description": "Application cache update time.",
- "type": "number"
+ "name": "requestId",
+ "description": "The unique request id.",
+ "$ref": "Network.RequestId"
},
{
- "name": "resources",
- "description": "Application cache resources.",
- "type": "array",
- "items": {
- "$ref": "ApplicationCacheResource"
- }
+ "name": "url",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "id": "FrameWithManifest",
- "description": "Frame identifier - manifest URL pair.",
+ "id": "AffectedFrame",
+ "description": "Information about the frame affected by an inspector issue.",
"type": "object",
"properties": [
{
"name": "frameId",
- "description": "Frame identifier.",
"$ref": "Page.FrameId"
- },
- {
- "name": "manifestURL",
- "description": "Manifest URL.",
- "type": "string"
- },
- {
- "name": "status",
- "description": "Application cache status.",
- "type": "integer"
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "enable",
- "description": "Enables application cache domain notifications."
+ "id": "SameSiteCookieExclusionReason",
+ "type": "string",
+ "enum": [
+ "ExcludeSameSiteUnspecifiedTreatedAsLax",
+ "ExcludeSameSiteNoneInsecure",
+ "ExcludeSameSiteLax",
+ "ExcludeSameSiteStrict",
+ "ExcludeInvalidSameParty",
+ "ExcludeSamePartyCrossPartyContext"
+ ]
},
{
- "name": "getApplicationCacheForFrame",
- "description": "Returns relevant application cache data for the document in given frame.",
- "parameters": [
- {
- "name": "frameId",
- "description": "Identifier of the frame containing document whose application cache is retrieved.",
- "$ref": "Page.FrameId"
- }
- ],
- "returns": [
- {
- "name": "applicationCache",
- "description": "Relevant application cache data for the document in given frame.",
- "$ref": "ApplicationCache"
- }
+ "id": "SameSiteCookieWarningReason",
+ "type": "string",
+ "enum": [
+ "WarnSameSiteUnspecifiedCrossSiteContext",
+ "WarnSameSiteNoneInsecure",
+ "WarnSameSiteUnspecifiedLaxAllowUnsafe",
+ "WarnSameSiteStrictLaxDowngradeStrict",
+ "WarnSameSiteStrictCrossDowngradeStrict",
+ "WarnSameSiteStrictCrossDowngradeLax",
+ "WarnSameSiteLaxCrossDowngradeStrict",
+ "WarnSameSiteLaxCrossDowngradeLax"
]
},
{
- "name": "getFramesWithManifests",
- "description": "Returns array of frame identifiers with manifest urls for each frame containing a document\nassociated with some application cache.",
- "returns": [
- {
- "name": "frameIds",
- "description": "Array of frame identifiers with manifest urls for each frame containing a document\nassociated with some application cache.",
- "type": "array",
- "items": {
- "$ref": "FrameWithManifest"
- }
- }
+ "id": "SameSiteCookieOperation",
+ "type": "string",
+ "enum": [
+ "SetCookie",
+ "ReadCookie"
]
},
{
- "name": "getManifestForFrame",
- "description": "Returns manifest URL for document in the given frame.",
- "parameters": [
+ "id": "SameSiteCookieIssueDetails",
+ "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": "frameId",
- "description": "Identifier of the frame containing document whose manifest is retrieved.",
- "$ref": "Page.FrameId"
- }
- ],
- "returns": [
+ "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": "manifestURL",
- "description": "Manifest URL for document in the given frame.",
+ "name": "rawCookieLine",
+ "optional": true,
"type": "string"
- }
- ]
- }
- ],
- "events": [
- {
- "name": "applicationCacheStatusUpdated",
- "parameters": [
+ },
{
- "name": "frameId",
- "description": "Identifier of the frame containing document whose application cache updated status.",
- "$ref": "Page.FrameId"
+ "name": "cookieWarningReasons",
+ "type": "array",
+ "items": {
+ "$ref": "SameSiteCookieWarningReason"
+ }
},
{
- "name": "manifestURL",
- "description": "Manifest URL.",
+ "name": "cookieExclusionReasons",
+ "type": "array",
+ "items": {
+ "$ref": "SameSiteCookieExclusionReason"
+ }
+ },
+ {
+ "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": "SameSiteCookieOperation"
+ },
+ {
+ "name": "siteForCookies",
+ "optional": true,
"type": "string"
},
{
- "name": "status",
- "description": "Updated application cache status.",
- "type": "integer"
+ "name": "cookieUrl",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "request",
+ "optional": true,
+ "$ref": "AffectedRequest"
}
]
},
{
- "name": "networkStateUpdated",
- "parameters": [
- {
- "name": "isNowOnline",
- "type": "boolean"
- }
+ "id": "MixedContentResolutionStatus",
+ "type": "string",
+ "enum": [
+ "MixedContentBlocked",
+ "MixedContentAutomaticallyUpgraded",
+ "MixedContentWarning"
]
- }
- ]
- },
- {
- "domain": "Audits",
- "description": "Audits domain allows investigation of page violations and possible improvements.",
- "experimental": true,
- "dependencies": [
- "Network"
- ],
- "commands": [
+ },
{
- "name": "getEncodedResponse",
- "description": "Returns the response body and size if it were re-encoded with the specified settings. Only\napplies to images.",
- "parameters": [
+ "id": "MixedContentResourceType",
+ "type": "string",
+ "enum": [
+ "Audio",
+ "Beacon",
+ "CSPReport",
+ "Download",
+ "EventSource",
+ "Favicon",
+ "Font",
+ "Form",
+ "Frame",
+ "Image",
+ "Import",
+ "Manifest",
+ "Ping",
+ "PluginData",
+ "PluginResource",
+ "Prefetch",
+ "Resource",
+ "Script",
+ "ServiceWorker",
+ "SharedWorker",
+ "Stylesheet",
+ "Track",
+ "Video",
+ "Worker",
+ "XMLHttpRequest",
+ "XSLT"
+ ]
+ },
+ {
+ "id": "MixedContentIssueDetails",
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Identifier of the network request to get content for.",
- "$ref": "Network.RequestId"
+ "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": "encoding",
- "description": "The encoding to use.",
- "type": "string",
- "enum": [
- "webp",
- "jpeg",
- "png"
- ]
+ "name": "resolutionStatus",
+ "description": "The way the mixed content issue is being resolved.",
+ "$ref": "MixedContentResolutionStatus"
},
{
- "name": "quality",
- "description": "The quality of the encoding (0-1). (defaults to 1)",
+ "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,
- "type": "number"
+ "$ref": "AffectedRequest"
},
{
- "name": "sizeOnly",
- "description": "Whether to only return the size information (defaults to false).",
+ "name": "frame",
+ "description": "Optional because not every mixed content issue is necessarily linked to a frame.",
"optional": true,
- "type": "boolean"
+ "$ref": "AffectedFrame"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "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",
+ "CorpNotSameSite"
+ ]
+ },
+ {
+ "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": "body",
- "description": "The encoded body as a base64 string. Omitted if sizeOnly is true.",
+ "name": "request",
+ "$ref": "AffectedRequest"
+ },
+ {
+ "name": "parentFrame",
"optional": true,
- "type": "string"
+ "$ref": "AffectedFrame"
},
{
- "name": "originalSize",
- "description": "Size before re-encoding.",
- "type": "integer"
+ "name": "blockedFrame",
+ "optional": true,
+ "$ref": "AffectedFrame"
},
{
- "name": "encodedSize",
- "description": "Size after re-encoding.",
- "type": "integer"
+ "name": "reason",
+ "$ref": "BlockedByResponseReason"
}
]
- }
- ]
- },
- {
- "domain": "BackgroundService",
- "description": "Defines events for background web platform features.",
- "experimental": true,
- "types": [
+ },
{
- "id": "ServiceName",
- "description": "The Background Service that will be associated with the commands/events.\nEvery Background Service operates independently, but they share the same\nAPI.",
+ "id": "HeavyAdResolutionStatus",
"type": "string",
"enum": [
- "backgroundFetch",
- "backgroundSync",
- "pushMessaging",
- "notifications",
- "paymentHandler"
+ "HeavyAdBlocked",
+ "HeavyAdWarning"
]
},
{
- "id": "EventMetadata",
- "description": "A key-value pair for additional event information to pass along.",
+ "id": "HeavyAdReason",
+ "type": "string",
+ "enum": [
+ "NetworkTotalLimit",
+ "CpuTotalLimit",
+ "CpuPeakLimit"
+ ]
+ },
+ {
+ "id": "HeavyAdIssueDetails",
"type": "object",
"properties": [
{
- "name": "key",
- "type": "string"
+ "name": "resolution",
+ "description": "The resolution status, either blocking the content or warning.",
+ "$ref": "HeavyAdResolutionStatus"
},
{
- "name": "value",
- "type": "string"
+ "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": "BackgroundServiceEvent",
+ "id": "ContentSecurityPolicyViolationType",
+ "type": "string",
+ "enum": [
+ "kInlineViolation",
+ "kEvalViolation",
+ "kURLViolation",
+ "kTrustedTypesSinkViolation",
+ "kTrustedTypesPolicyViolation",
+ "kWasmEvalViolation"
+ ]
+ },
+ {
+ "id": "SourceCodeLocation",
"type": "object",
"properties": [
{
- "name": "timestamp",
- "description": "Timestamp of the event (in seconds).",
- "$ref": "Network.TimeSinceEpoch"
+ "name": "scriptId",
+ "optional": true,
+ "$ref": "Runtime.ScriptId"
},
{
- "name": "origin",
- "description": "The origin this event belongs to.",
+ "name": "url",
"type": "string"
},
{
- "name": "serviceWorkerRegistrationId",
- "description": "The Service Worker ID that initiated the event.",
- "$ref": "ServiceWorker.RegistrationID"
+ "name": "lineNumber",
+ "type": "integer"
},
{
- "name": "service",
- "description": "The Background Service this event belongs to.",
- "$ref": "ServiceName"
- },
+ "name": "columnNumber",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "id": "ContentSecurityPolicyIssueDetails",
+ "type": "object",
+ "properties": [
{
- "name": "eventName",
- "description": "A description of the event.",
+ "name": "blockedURL",
+ "description": "The url not included in allowed sources.",
+ "optional": true,
"type": "string"
},
{
- "name": "instanceId",
- "description": "An identifier that groups related events together.",
+ "name": "violatedDirective",
+ "description": "Specific directive that is violated, causing the CSP issue.",
"type": "string"
},
{
- "name": "eventMetadata",
- "description": "A list of event-specific information.",
- "type": "array",
- "items": {
- "$ref": "EventMetadata"
- }
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "startObserving",
- "description": "Enables event updates for the service.",
- "parameters": [
+ "name": "isReportOnly",
+ "type": "boolean"
+ },
{
- "name": "service",
- "$ref": "ServiceName"
+ "name": "contentSecurityPolicyViolationType",
+ "$ref": "ContentSecurityPolicyViolationType"
+ },
+ {
+ "name": "frameAncestor",
+ "optional": true,
+ "$ref": "AffectedFrame"
+ },
+ {
+ "name": "sourceCodeLocation",
+ "optional": true,
+ "$ref": "SourceCodeLocation"
+ },
+ {
+ "name": "violatingNodeId",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
}
]
},
{
- "name": "stopObserving",
- "description": "Disables event updates for the service.",
- "parameters": [
- {
- "name": "service",
- "$ref": "ServiceName"
- }
+ "id": "SharedArrayBufferIssueType",
+ "type": "string",
+ "enum": [
+ "TransferIssue",
+ "CreationIssue"
]
},
{
- "name": "setRecording",
- "description": "Set the recording state for the service.",
- "parameters": [
+ "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": "shouldRecord",
+ "name": "sourceCodeLocation",
+ "$ref": "SourceCodeLocation"
+ },
+ {
+ "name": "isWarning",
"type": "boolean"
},
{
- "name": "service",
- "$ref": "ServiceName"
+ "name": "type",
+ "$ref": "SharedArrayBufferIssueType"
}
]
},
{
- "name": "clearEvents",
- "description": "Clears all stored data for the service.",
- "parameters": [
- {
- "name": "service",
- "$ref": "ServiceName"
- }
+ "id": "TwaQualityEnforcementViolationType",
+ "type": "string",
+ "enum": [
+ "kHttpError",
+ "kUnavailableOffline",
+ "kDigitalAssetLinks"
]
- }
- ],
- "events": [
+ },
{
- "name": "recordingStateChanged",
- "description": "Called when the recording state for the service has been updated.",
- "parameters": [
+ "id": "TrustedWebActivityIssueDetails",
+ "type": "object",
+ "properties": [
{
- "name": "isRecording",
- "type": "boolean"
+ "name": "url",
+ "description": "The url that triggers the violation.",
+ "type": "string"
},
{
- "name": "service",
- "$ref": "ServiceName"
+ "name": "violationType",
+ "$ref": "TwaQualityEnforcementViolationType"
+ },
+ {
+ "name": "httpStatusCode",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "packageName",
+ "description": "The package name of the Trusted Web Activity client app. This field is\nonly used when violation type is kDigitalAssetLinks.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "signature",
+ "description": "The signature of the Trusted Web Activity client app. This field is only\nused when violation type is kDigitalAssetLinks.",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "backgroundServiceEventReceived",
- "description": "Called with all existing backgroundServiceEvents when enabled, and all new\nevents afterwards if enabled and recording.",
- "parameters": [
+ "id": "LowTextContrastIssueDetails",
+ "type": "object",
+ "properties": [
{
- "name": "backgroundServiceEvent",
- "$ref": "BackgroundServiceEvent"
- }
- ]
- }
- ]
- },
- {
- "domain": "Browser",
- "description": "The Browser domain defines methods and events for browser managing.",
- "types": [
- {
- "id": "WindowID",
- "experimental": true,
- "type": "integer"
- },
- {
- "id": "WindowState",
- "description": "The state of the browser window.",
- "experimental": true,
- "type": "string",
- "enum": [
- "normal",
- "minimized",
- "maximized",
- "fullscreen"
+ "name": "violatingNodeId",
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "violatingNodeSelector",
+ "type": "string"
+ },
+ {
+ "name": "contrastRatio",
+ "type": "number"
+ },
+ {
+ "name": "thresholdAA",
+ "type": "number"
+ },
+ {
+ "name": "thresholdAAA",
+ "type": "number"
+ },
+ {
+ "name": "fontSize",
+ "type": "string"
+ },
+ {
+ "name": "fontWeight",
+ "type": "string"
+ }
]
},
{
- "id": "Bounds",
- "description": "Browser window bounds information",
- "experimental": true,
+ "id": "CorsIssueDetails",
+ "description": "Details for a CORS related issue, e.g. a warning or error related to\nCORS RFC1918 enforcement.",
"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": "corsErrorStatus",
+ "$ref": "Network.CorsErrorStatus"
},
{
- "name": "top",
- "description": "The offset from the top edge of the screen to the window in pixels.",
+ "name": "isWarning",
+ "type": "boolean"
+ },
+ {
+ "name": "request",
+ "$ref": "AffectedRequest"
+ },
+ {
+ "name": "location",
"optional": true,
- "type": "integer"
+ "$ref": "SourceCodeLocation"
},
{
- "name": "width",
- "description": "The window width in pixels.",
+ "name": "initiatorOrigin",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "height",
- "description": "The window height in pixels.",
+ "name": "resourceIPAddressSpace",
"optional": true,
- "type": "integer"
+ "$ref": "Network.IPAddressSpace"
},
{
- "name": "windowState",
- "description": "The window state. Default to normal.",
+ "name": "clientSecurityState",
"optional": true,
- "$ref": "WindowState"
+ "$ref": "Network.ClientSecurityState"
}
]
},
{
- "id": "PermissionType",
- "experimental": true,
+ "id": "AttributionReportingIssueType",
"type": "string",
"enum": [
- "accessibilityEvents",
- "audioCapture",
- "backgroundSync",
- "backgroundFetch",
- "clipboardRead",
- "clipboardWrite",
- "durableStorage",
- "flash",
- "geolocation",
- "midi",
- "midiSysex",
- "notifications",
- "paymentHandler",
- "periodicBackgroundSync",
- "protectedMediaIdentifier",
- "sensors",
- "videoCapture",
- "idleDetection",
- "wakeLockScreen",
- "wakeLockSystem"
- ]
- },
- {
- "id": "Bucket",
- "description": "Chrome histogram bucket.",
- "experimental": true,
+ "PermissionPolicyDisabled",
+ "InvalidAttributionSourceEventId",
+ "InvalidAttributionData",
+ "AttributionSourceUntrustworthyOrigin",
+ "AttributionUntrustworthyOrigin",
+ "AttributionTriggerDataTooLarge",
+ "AttributionEventSourceTriggerDataTooLarge",
+ "InvalidAttributionSourceExpiry",
+ "InvalidAttributionSourcePriority",
+ "InvalidEventSourceTriggerData",
+ "InvalidTriggerPriority",
+ "InvalidTriggerDedupKey"
+ ]
+ },
+ {
+ "id": "AttributionReportingIssueDetails",
+ "description": "Details for issues around \"Attribution Reporting API\" usage.\nExplainer: https://github.com/WICG/conversion-measurement-api",
"type": "object",
"properties": [
{
- "name": "low",
- "description": "Minimum value (inclusive).",
- "type": "integer"
+ "name": "violationType",
+ "$ref": "AttributionReportingIssueType"
},
{
- "name": "high",
- "description": "Maximum value (exclusive).",
- "type": "integer"
+ "name": "frame",
+ "optional": true,
+ "$ref": "AffectedFrame"
},
{
- "name": "count",
- "description": "Number of samples.",
- "type": "integer"
+ "name": "request",
+ "optional": true,
+ "$ref": "AffectedRequest"
+ },
+ {
+ "name": "violatingNodeId",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "invalidParameter",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "id": "Histogram",
- "description": "Chrome histogram.",
- "experimental": true,
+ "id": "QuirksModeIssueDetails",
+ "description": "Details for issues about documents in Quirks Mode\nor Limited Quirks Mode that affects page layouting.",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Name.",
- "type": "string"
- },
- {
- "name": "sum",
- "description": "Sum of sample values.",
- "type": "integer"
+ "name": "isLimitedQuirksMode",
+ "description": "If false, it means the document's mode is \"quirks\"\ninstead of \"limited-quirks\".",
+ "type": "boolean"
},
{
- "name": "count",
- "description": "Total number of samples.",
- "type": "integer"
+ "name": "documentNodeId",
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "buckets",
- "description": "Buckets.",
- "type": "array",
- "items": {
- "$ref": "Bucket"
- }
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "grantPermissions",
- "description": "Grant specific permissions to the given origin and reject all others.",
- "experimental": true,
- "parameters": [
- {
- "name": "origin",
+ "name": "url",
"type": "string"
},
{
- "name": "permissions",
- "type": "array",
- "items": {
- "$ref": "PermissionType"
- }
+ "name": "frameId",
+ "$ref": "Page.FrameId"
},
{
- "name": "browserContextId",
- "description": "BrowserContext to override permissions. When omitted, default browser context is used.",
- "optional": true,
- "$ref": "Target.BrowserContextID"
+ "name": "loaderId",
+ "$ref": "Network.LoaderId"
}
]
},
{
- "name": "resetPermissions",
- "description": "Reset all permission management for all origins.",
- "experimental": true,
- "parameters": [
+ "id": "NavigatorUserAgentIssueDetails",
+ "type": "object",
+ "properties": [
{
- "name": "browserContextId",
- "description": "BrowserContext to reset permissions. When omitted, default browser context is used.",
+ "name": "url",
+ "type": "string"
+ },
+ {
+ "name": "location",
"optional": true,
- "$ref": "Target.BrowserContextID"
+ "$ref": "SourceCodeLocation"
}
]
},
{
- "name": "close",
- "description": "Close browser gracefully."
- },
- {
- "name": "crash",
- "description": "Crashes browser on the main thread.",
- "experimental": true
- },
- {
- "name": "crashGpuProcess",
- "description": "Crashes GPU process.",
- "experimental": true
- },
- {
- "name": "getVersion",
- "description": "Returns version information.",
- "returns": [
- {
- "name": "protocolVersion",
- "description": "Protocol version.",
- "type": "string"
- },
+ "id": "WasmCrossOriginModuleSharingIssueDetails",
+ "type": "object",
+ "properties": [
{
- "name": "product",
- "description": "Product name.",
+ "name": "wasmModuleUrl",
"type": "string"
},
{
- "name": "revision",
- "description": "Product revision.",
+ "name": "sourceOrigin",
"type": "string"
},
{
- "name": "userAgent",
- "description": "User-Agent.",
+ "name": "targetOrigin",
"type": "string"
},
{
- "name": "jsVersion",
- "description": "V8 version.",
- "type": "string"
+ "name": "isWarning",
+ "type": "boolean"
}
]
},
{
- "name": "getBrowserCommandLine",
- "description": "Returns the command line switches for the browser process if, and only if\n--enable-automation is on the commandline.",
- "experimental": true,
- "returns": [
- {
- "name": "arguments",
- "description": "Commandline parameters",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
+ "id": "GenericIssueErrorType",
+ "type": "string",
+ "enum": [
+ "CrossOriginPortalPostMessageError"
]
},
{
- "name": "getHistograms",
- "description": "Get Chrome histograms.",
- "experimental": true,
- "parameters": [
+ "id": "GenericIssueDetails",
+ "description": "Depending on the concrete errorType, different properties are set.",
+ "type": "object",
+ "properties": [
{
- "name": "query",
- "description": "Requested substring in name. Only histograms which have query as a\nsubstring in their name are extracted. An empty or absent query returns\nall histograms.",
- "optional": true,
- "type": "string"
+ "name": "errorType",
+ "description": "Issues with the same errorType are aggregated in the frontend.",
+ "$ref": "GenericIssueErrorType"
},
{
- "name": "delta",
- "description": "If true, retrieve delta since last call.",
+ "name": "frameId",
"optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
- {
- "name": "histograms",
- "description": "Histograms.",
- "type": "array",
- "items": {
- "$ref": "Histogram"
- }
+ "$ref": "Page.FrameId"
}
]
},
{
- "name": "getHistogram",
- "description": "Get a Chrome histogram by name.",
- "experimental": true,
- "parameters": [
- {
- "name": "name",
- "description": "Requested histogram name.",
- "type": "string"
- },
- {
- "name": "delta",
- "description": "If true, retrieve delta since last call.",
- "optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
- {
- "name": "histogram",
- "description": "Histogram.",
- "$ref": "Histogram"
- }
- ]
- },
- {
- "name": "getWindowBounds",
- "description": "Get position and size of the browser window.",
- "experimental": true,
- "parameters": [
- {
- "name": "windowId",
- "description": "Browser window id.",
- "$ref": "WindowID"
- }
- ],
- "returns": [
- {
- "name": "bounds",
- "description": "Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.",
- "$ref": "Bounds"
- }
- ]
- },
- {
- "name": "getWindowForTarget",
- "description": "Get the browser window that contains the devtools target.",
- "experimental": true,
- "parameters": [
+ "id": "DeprecationIssueDetails",
+ "description": "This issue tracks information needed to print a deprecation message.\nThe formatting is inherited from the old console.log version, see more at:\nhttps://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/deprecation.cc\nTODO(crbug.com/1264960): Re-work format to add i18n support per:\nhttps://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/public/devtools_protocol/README.md",
+ "type": "object",
+ "properties": [
{
- "name": "targetId",
- "description": "Devtools agent host id. If called as a part of the session, associated targetId is used.",
+ "name": "affectedFrame",
"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": "setWindowBounds",
- "description": "Set position and/or size of the browser window.",
- "experimental": true,
- "parameters": [
- {
- "name": "windowId",
- "description": "Browser window id.",
- "$ref": "WindowID"
+ "$ref": "AffectedFrame"
},
{
- "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": "setDockTile",
- "description": "Set dock tile details, platform-specific.",
- "experimental": true,
- "parameters": [
- {
- "name": "badgeLabel",
- "optional": true,
- "type": "string"
+ "name": "sourceCodeLocation",
+ "$ref": "SourceCodeLocation"
},
{
- "name": "image",
- "description": "Png encoded image.",
+ "name": "message",
+ "description": "The content of the deprecation issue (this won't be translated),\ne.g. \"window.inefficientLegacyStorageMethod will be removed in M97,\naround January 2022. Please use Web Storage or Indexed Database\ninstead. This standard was abandoned in January, 1970. See\nhttps://www.chromestatus.com/feature/5684870116278272 for more details.\"",
+ "deprecated": true,
"optional": true,
"type": "string"
}
]
- }
- ]
- },
- {
- "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"
- ],
- "types": [
- {
- "id": "StyleSheetId",
- "type": "string"
},
{
- "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.",
+ "id": "ClientHintIssueReason",
"type": "string",
"enum": [
- "injected",
- "user-agent",
- "inspector",
- "regular"
+ "MetaTagAllowListInvalidOrigin",
+ "MetaTagModifiedHTML"
]
},
{
- "id": "PseudoElementMatches",
- "description": "CSS rule collection for a single pseudo style.",
+ "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": "pseudoType",
- "description": "Pseudo element type.",
- "$ref": "DOM.PseudoType"
+ "name": "sourceCodeLocation",
+ "$ref": "SourceCodeLocation"
},
{
- "name": "matches",
- "description": "Matches of CSS rules applicable to the pseudo style.",
- "type": "array",
- "items": {
- "$ref": "RuleMatch"
- }
+ "name": "clientHintIssueReason",
+ "$ref": "ClientHintIssueReason"
}
]
},
{
- "id": "InheritedStyleEntry",
- "description": "Inherited CSS rule collection from ancestor node.",
+ "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": [
+ "SameSiteCookieIssue",
+ "MixedContentIssue",
+ "BlockedByResponseIssue",
+ "HeavyAdIssue",
+ "ContentSecurityPolicyIssue",
+ "SharedArrayBufferIssue",
+ "TrustedWebActivityIssue",
+ "LowTextContrastIssue",
+ "CorsIssue",
+ "AttributionReportingIssue",
+ "QuirksModeIssue",
+ "NavigatorUserAgentIssue",
+ "WasmCrossOriginModuleSharingIssue",
+ "GenericIssue",
+ "DeprecationIssue",
+ "ClientHintIssue"
+ ]
+ },
+ {
+ "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": "inlineStyle",
- "description": "The ancestor node's inline style, if any, in the style inheritance chain.",
+ "name": "sameSiteCookieIssueDetails",
"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": "RuleMatch",
- "description": "Match data for a CSS rule.",
- "type": "object",
- "properties": [
- {
- "name": "rule",
- "description": "CSS rule in the match.",
- "$ref": "CSSRule"
+ "$ref": "SameSiteCookieIssueDetails"
},
{
- "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": "mixedContentIssueDetails",
+ "optional": true,
+ "$ref": "MixedContentIssueDetails"
},
{
- "name": "range",
- "description": "Value range in the underlying resource (if available).",
+ "name": "blockedByResponseIssueDetails",
"optional": true,
- "$ref": "SourceRange"
- }
- ]
- },
- {
- "id": "SelectorList",
- "description": "Selector list data.",
- "type": "object",
- "properties": [
- {
- "name": "selectors",
- "description": "Selectors in the list.",
- "type": "array",
- "items": {
- "$ref": "Value"
- }
+ "$ref": "BlockedByResponseIssueDetails"
},
{
- "name": "text",
- "description": "Rule selector text.",
- "type": "string"
- }
- ]
- },
- {
- "id": "CSSStyleSheetHeader",
- "description": "CSS stylesheet metainformation.",
- "type": "object",
- "properties": [
- {
- "name": "styleSheetId",
- "description": "The stylesheet identifier.",
- "$ref": "StyleSheetId"
+ "name": "heavyAdIssueDetails",
+ "optional": true,
+ "$ref": "HeavyAdIssueDetails"
},
{
- "name": "frameId",
- "description": "Owner frame identifier.",
- "$ref": "Page.FrameId"
+ "name": "contentSecurityPolicyIssueDetails",
+ "optional": true,
+ "$ref": "ContentSecurityPolicyIssueDetails"
},
{
- "name": "sourceURL",
- "description": "Stylesheet resource URL.",
- "type": "string"
+ "name": "sharedArrayBufferIssueDetails",
+ "optional": true,
+ "$ref": "SharedArrayBufferIssueDetails"
},
{
- "name": "sourceMapURL",
- "description": "URL of source map associated with the stylesheet (if any).",
+ "name": "twaQualityEnforcementDetails",
"optional": true,
- "type": "string"
+ "$ref": "TrustedWebActivityIssueDetails"
},
{
- "name": "origin",
- "description": "Stylesheet origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "lowTextContrastIssueDetails",
+ "optional": true,
+ "$ref": "LowTextContrastIssueDetails"
},
{
- "name": "title",
- "description": "Stylesheet title.",
- "type": "string"
+ "name": "corsIssueDetails",
+ "optional": true,
+ "$ref": "CorsIssueDetails"
},
{
- "name": "ownerNode",
- "description": "The backend id for the owner node of the stylesheet.",
+ "name": "attributionReportingIssueDetails",
"optional": true,
- "$ref": "DOM.BackendNodeId"
+ "$ref": "AttributionReportingIssueDetails"
},
{
- "name": "disabled",
- "description": "Denotes whether the stylesheet is disabled.",
- "type": "boolean"
+ "name": "quirksModeIssueDetails",
+ "optional": true,
+ "$ref": "QuirksModeIssueDetails"
},
{
- "name": "hasSourceURL",
- "description": "Whether the sourceURL field value comes from the sourceURL comment.",
+ "name": "navigatorUserAgentIssueDetails",
"optional": true,
- "type": "boolean"
+ "$ref": "NavigatorUserAgentIssueDetails"
},
{
- "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": "wasmCrossOriginModuleSharingIssue",
+ "optional": true,
+ "$ref": "WasmCrossOriginModuleSharingIssueDetails"
},
{
- "name": "startLine",
- "description": "Line offset of the stylesheet within the resource (zero based).",
- "type": "number"
+ "name": "genericIssueDetails",
+ "optional": true,
+ "$ref": "GenericIssueDetails"
},
{
- "name": "startColumn",
- "description": "Column offset of the stylesheet within the resource (zero based).",
- "type": "number"
+ "name": "deprecationIssueDetails",
+ "optional": true,
+ "$ref": "DeprecationIssueDetails"
},
{
- "name": "length",
- "description": "Size of the content (in characters).",
- "type": "number"
+ "name": "clientHintIssueDetails",
+ "optional": true,
+ "$ref": "ClientHintIssueDetails"
}
]
},
{
- "id": "CSSRule",
- "description": "CSS rule representation.",
+ "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": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
- "optional": true,
- "$ref": "StyleSheetId"
+ "name": "code",
+ "$ref": "InspectorIssueCode"
},
{
- "name": "selectorList",
- "description": "Rule selector data.",
- "$ref": "SelectorList"
- },
- {
- "name": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "details",
+ "$ref": "InspectorIssueDetails"
},
{
- "name": "style",
- "description": "Associated style declaration.",
- "$ref": "CSSStyle"
- },
- {
- "name": "media",
- "description": "Media list array (for rules involving media queries). The array enumerates media queries\nstarting with the innermost one, going outwards.",
+ "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,
- "type": "array",
- "items": {
- "$ref": "CSSMedia"
- }
+ "$ref": "IssueId"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "id": "RuleUsage",
- "description": "CSS coverage information.",
- "type": "object",
- "properties": [
+ "name": "getEncodedResponse",
+ "description": "Returns the response body and size if it were re-encoded with the specified settings. Only\napplies to images.",
+ "parameters": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
- "$ref": "StyleSheetId"
+ "name": "requestId",
+ "description": "Identifier of the network request to get content for.",
+ "$ref": "Network.RequestId"
},
{
- "name": "startOffset",
- "description": "Offset of the start of the rule (including selector) from the beginning of the stylesheet.",
- "type": "number"
+ "name": "encoding",
+ "description": "The encoding to use.",
+ "type": "string",
+ "enum": [
+ "webp",
+ "jpeg",
+ "png"
+ ]
},
{
- "name": "endOffset",
- "description": "Offset of the end of the rule body from the beginning of the stylesheet.",
+ "name": "quality",
+ "description": "The quality of the encoding (0-1). (defaults to 1)",
+ "optional": true,
"type": "number"
},
{
- "name": "used",
- "description": "Indicates whether the rule was actually used by some element in the page.",
+ "name": "sizeOnly",
+ "description": "Whether to only return the size information (defaults to false).",
+ "optional": true,
"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"
- },
+ ],
+ "returns": [
{
- "name": "startColumn",
- "description": "Start column of range (inclusive).",
- "type": "integer"
+ "name": "body",
+ "description": "The encoded body as a base64 string. Omitted if sizeOnly is true. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
},
{
- "name": "endLine",
- "description": "End line of range",
+ "name": "originalSize",
+ "description": "Size before re-encoding.",
"type": "integer"
},
{
- "name": "endColumn",
- "description": "End column of range (exclusive).",
+ "name": "encodedSize",
+ "description": "Size after re-encoding.",
"type": "integer"
}
]
},
{
- "id": "ShorthandEntry",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Shorthand name.",
- "type": "string"
- },
- {
- "name": "value",
- "description": "Shorthand value.",
- "type": "string"
- },
+ "name": "disable",
+ "description": "Disables issues domain, prevents further issues from being reported to the client."
+ },
+ {
+ "name": "enable",
+ "description": "Enables issues domain, sends the issues collected so far to the client by means of the\n`issueAdded` event."
+ },
+ {
+ "name": "checkContrast",
+ "description": "Runs the contrast check for the target page. Found issues are reported\nusing Audits.issueAdded event.",
+ "parameters": [
{
- "name": "important",
- "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
+ "name": "reportAAA",
+ "description": "Whether to report WCAG AAA level issues. Default is false.",
"optional": true,
"type": "boolean"
}
]
- },
+ }
+ ],
+ "events": [
{
- "id": "CSSComputedStyleProperty",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Computed style property name.",
- "type": "string"
- },
+ "name": "issueAdded",
+ "parameters": [
{
- "name": "value",
- "description": "Computed style property value.",
- "type": "string"
+ "name": "issue",
+ "$ref": "InspectorIssue"
}
]
+ }
+ ]
+ },
+ {
+ "domain": "BackgroundService",
+ "description": "Defines events for background web platform features.",
+ "experimental": true,
+ "types": [
+ {
+ "id": "ServiceName",
+ "description": "The Background Service that will be associated with the commands/events.\nEvery Background Service operates independently, but they share the same\nAPI.",
+ "type": "string",
+ "enum": [
+ "backgroundFetch",
+ "backgroundSync",
+ "pushMessaging",
+ "notifications",
+ "paymentHandler",
+ "periodicBackgroundSync"
+ ]
},
{
- "id": "CSSStyle",
- "description": "CSS style representation.",
+ "id": "EventMetadata",
+ "description": "A key-value pair for additional event information to pass along.",
"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": "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,
+ "name": "key",
"type": "string"
},
{
- "name": "range",
- "description": "Style declaration range in the enclosing stylesheet (if available).",
- "optional": true,
- "$ref": "SourceRange"
+ "name": "value",
+ "type": "string"
}
]
},
{
- "id": "CSSProperty",
- "description": "CSS property declaration data.",
+ "id": "BackgroundServiceEvent",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "The property name.",
- "type": "string"
+ "name": "timestamp",
+ "description": "Timestamp of the event (in seconds).",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "value",
- "description": "The property value.",
+ "name": "origin",
+ "description": "The origin this event belongs to.",
"type": "string"
},
{
- "name": "important",
- "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
- "optional": true,
- "type": "boolean"
+ "name": "serviceWorkerRegistrationId",
+ "description": "The Service Worker ID that initiated the event.",
+ "$ref": "ServiceWorker.RegistrationID"
},
{
- "name": "implicit",
- "description": "Whether the property is implicit (implies `false` if absent).",
- "optional": true,
- "type": "boolean"
+ "name": "service",
+ "description": "The Background Service this event belongs to.",
+ "$ref": "ServiceName"
},
{
- "name": "text",
- "description": "The full property text as specified in the style.",
- "optional": true,
+ "name": "eventName",
+ "description": "A description of the event.",
"type": "string"
},
{
- "name": "parsedOk",
- "description": "Whether the property is understood by the browser (implies `true` if absent).",
- "optional": true,
- "type": "boolean"
+ "name": "instanceId",
+ "description": "An identifier that groups related events together.",
+ "type": "string"
},
{
- "name": "disabled",
- "description": "Whether the property is disabled by the user (present for source-based properties only).",
- "optional": true,
- "type": "boolean"
- },
+ "name": "eventMetadata",
+ "description": "A list of event-specific information.",
+ "type": "array",
+ "items": {
+ "$ref": "EventMetadata"
+ }
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "startObserving",
+ "description": "Enables event updates for the service.",
+ "parameters": [
{
- "name": "range",
- "description": "The entire property range in the enclosing style declaration (if available).",
- "optional": true,
- "$ref": "SourceRange"
+ "name": "service",
+ "$ref": "ServiceName"
}
]
},
{
- "id": "CSSMedia",
- "description": "CSS media rule descriptor.",
- "type": "object",
- "properties": [
- {
- "name": "text",
- "description": "Media query text.",
- "type": "string"
- },
+ "name": "stopObserving",
+ "description": "Disables event updates for the service.",
+ "parameters": [
{
- "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": "service",
+ "$ref": "ServiceName"
+ }
+ ]
+ },
+ {
+ "name": "setRecording",
+ "description": "Set the recording state for the service.",
+ "parameters": [
{
- "name": "sourceURL",
- "description": "URL of the document containing the media query description.",
- "optional": true,
- "type": "string"
+ "name": "shouldRecord",
+ "type": "boolean"
},
{
- "name": "range",
- "description": "The associated rule (@media or @import) header range in the enclosing stylesheet (if\navailable).",
- "optional": true,
- "$ref": "SourceRange"
- },
+ "name": "service",
+ "$ref": "ServiceName"
+ }
+ ]
+ },
+ {
+ "name": "clearEvents",
+ "description": "Clears all stored data for the service.",
+ "parameters": [
{
- "name": "styleSheetId",
- "description": "Identifier of the stylesheet containing this object (if exists).",
- "optional": true,
- "$ref": "StyleSheetId"
+ "name": "service",
+ "$ref": "ServiceName"
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "recordingStateChanged",
+ "description": "Called when the recording state for the service has been updated.",
+ "parameters": [
+ {
+ "name": "isRecording",
+ "type": "boolean"
},
{
- "name": "mediaList",
- "description": "Array of media queries.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "MediaQuery"
- }
+ "name": "service",
+ "$ref": "ServiceName"
}
]
},
{
- "id": "MediaQuery",
- "description": "Media query descriptor.",
- "type": "object",
- "properties": [
- {
- "name": "expressions",
- "description": "Array of media query expressions.",
- "type": "array",
- "items": {
- "$ref": "MediaQueryExpression"
- }
- },
+ "name": "backgroundServiceEventReceived",
+ "description": "Called with all existing backgroundServiceEvents when enabled, and all new\nevents afterwards if enabled and recording.",
+ "parameters": [
{
- "name": "active",
- "description": "Whether the media query condition is satisfied.",
- "type": "boolean"
+ "name": "backgroundServiceEvent",
+ "$ref": "BackgroundServiceEvent"
}
]
+ }
+ ]
+ },
+ {
+ "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": "MediaQueryExpression",
- "description": "Media query expression descriptor.",
+ "id": "Bounds",
+ "description": "Browser window bounds information",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "value",
- "description": "Media query expression value.",
- "type": "number"
+ "name": "left",
+ "description": "The offset from the left edge of the screen to the window in pixels.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "unit",
- "description": "Media query expression units.",
- "type": "string"
+ "name": "top",
+ "description": "The offset from the top edge of the screen to the window in pixels.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "feature",
- "description": "Media query expression feature.",
- "type": "string"
+ "name": "width",
+ "description": "The window width in pixels.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "valueRange",
- "description": "The associated range of the value text in the enclosing stylesheet (if available).",
+ "name": "height",
+ "description": "The window height in pixels.",
"optional": true,
- "$ref": "SourceRange"
+ "type": "integer"
},
{
- "name": "computedLength",
- "description": "Computed length of media query expression (if applicable).",
+ "name": "windowState",
+ "description": "The window state. Default to normal.",
"optional": true,
- "type": "number"
+ "$ref": "WindowState"
}
]
},
{
- "id": "PlatformFontUsage",
- "description": "Information about amount of glyphs that were rendered with given font.",
+ "id": "PermissionType",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "accessibilityEvents",
+ "audioCapture",
+ "backgroundSync",
+ "backgroundFetch",
+ "clipboardReadWrite",
+ "clipboardSanitizedWrite",
+ "displayCapture",
+ "durableStorage",
+ "flash",
+ "geolocation",
+ "midi",
+ "midiSysex",
+ "nfc",
+ "notifications",
+ "paymentHandler",
+ "periodicBackgroundSync",
+ "protectedMediaIdentifier",
+ "sensors",
+ "videoCapture",
+ "videoCapturePanTiltZoom",
+ "idleDetection",
+ "wakeLockScreen",
+ "wakeLockSystem"
+ ]
+ },
+ {
+ "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/#dictdef-permissiondescriptor.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "familyName",
- "description": "Font's family name reported by platform.",
+ "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": "isCustomFont",
- "description": "Indicates if the font was downloaded or resolved locally.",
+ "name": "sysex",
+ "description": "For \"midi\" permission, may also specify sysex control.",
+ "optional": true,
"type": "boolean"
},
{
- "name": "glyphCount",
- "description": "Amount of glyphs that were rendered with this font.",
- "type": "number"
+ "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": "panTiltZoom",
+ "description": "For \"camera\" permission, may specify panTiltZoom.",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "id": "FontFace",
- "description": "Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions",
+ "id": "BrowserCommandId",
+ "description": "Browser command ids used by executeBrowserCommand.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "openTabSearch",
+ "closeTabSearch"
+ ]
+ },
+ {
+ "id": "Bucket",
+ "description": "Chrome histogram bucket.",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "fontFamily",
- "description": "The font-family.",
- "type": "string"
+ "name": "low",
+ "description": "Minimum value (inclusive).",
+ "type": "integer"
},
{
- "name": "fontStyle",
- "description": "The font-style.",
- "type": "string"
+ "name": "high",
+ "description": "Maximum value (exclusive).",
+ "type": "integer"
},
{
- "name": "fontVariant",
- "description": "The font-variant.",
+ "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": "fontWeight",
- "description": "The font-weight.",
- "type": "string"
+ "name": "sum",
+ "description": "Sum of sample values.",
+ "type": "integer"
},
{
- "name": "fontStretch",
- "description": "The font-stretch.",
- "type": "string"
+ "name": "count",
+ "description": "Total number of samples.",
+ "type": "integer"
},
{
- "name": "unicodeRange",
- "description": "The unicode-range.",
- "type": "string"
+ "name": "buckets",
+ "description": "Buckets.",
+ "type": "array",
+ "items": {
+ "$ref": "Bucket"
+ }
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "setPermission",
+ "description": "Set permission settings for given origin.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "permission",
+ "description": "Descriptor of permission to override.",
+ "$ref": "PermissionDescriptor"
},
{
- "name": "src",
- "description": "The src.",
- "type": "string"
+ "name": "setting",
+ "description": "Setting of the permission.",
+ "$ref": "PermissionSetting"
},
{
- "name": "platformFontFamily",
- "description": "The resolved platform font family",
+ "name": "origin",
+ "description": "Origin the permission applies to, all origins if not specified.",
+ "optional": true,
"type": "string"
+ },
+ {
+ "name": "browserContextId",
+ "description": "Context to override. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
}
]
},
{
- "id": "CSSKeyframesRule",
- "description": "CSS keyframes rule representation.",
- "type": "object",
- "properties": [
- {
- "name": "animationName",
- "description": "Animation name.",
- "$ref": "Value"
- },
+ "name": "grantPermissions",
+ "description": "Grant specific permissions to the given origin and reject all others.",
+ "experimental": true,
+ "parameters": [
{
- "name": "keyframes",
- "description": "List of keyframes.",
+ "name": "permissions",
"type": "array",
"items": {
- "$ref": "CSSKeyframeRule"
+ "$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"
}
]
},
{
- "id": "CSSKeyframeRule",
- "description": "CSS keyframe rule representation.",
- "type": "object",
- "properties": [
+ "name": "resetPermissions",
+ "description": "Reset all permission management for all origins.",
+ "experimental": true,
+ "parameters": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
+ "name": "browserContextId",
+ "description": "BrowserContext to reset permissions. When omitted, default browser context is used.",
"optional": true,
- "$ref": "StyleSheetId"
+ "$ref": "BrowserContextID"
+ }
+ ]
+ },
+ {
+ "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 dowmload guids.",
+ "type": "string",
+ "enum": [
+ "deny",
+ "allow",
+ "allowAndName",
+ "default"
+ ]
},
{
- "name": "origin",
- "description": "Parent stylesheet's origin.",
- "$ref": "StyleSheetOrigin"
+ "name": "browserContextId",
+ "description": "BrowserContext to set download behavior. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
},
{
- "name": "keyText",
- "description": "Associated key text.",
- "$ref": "Value"
+ "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": "style",
- "description": "Associated style declaration.",
- "$ref": "CSSStyle"
+ "name": "eventsEnabled",
+ "description": "Whether to emit download events (defaults to false).",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "id": "StyleDeclarationEdit",
- "description": "A descriptor of operation to mutate style declaration text.",
- "type": "object",
- "properties": [
- {
- "name": "styleSheetId",
- "description": "The css style sheet identifier.",
- "$ref": "StyleSheetId"
- },
+ "name": "cancelDownload",
+ "description": "Cancel a download if in progress",
+ "experimental": true,
+ "parameters": [
{
- "name": "range",
- "description": "The range of the style text in the enclosing stylesheet.",
- "$ref": "SourceRange"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "text",
- "description": "New style text.",
- "type": "string"
+ "name": "browserContextId",
+ "description": "BrowserContext to perform the action in. When omitted, default browser context is used.",
+ "optional": true,
+ "$ref": "BrowserContextID"
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "addRule",
- "description": "Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the\nposition specified by `location`.",
- "parameters": [
+ "name": "close",
+ "description": "Close browser gracefully."
+ },
+ {
+ "name": "crash",
+ "description": "Crashes browser on the main thread.",
+ "experimental": true
+ },
+ {
+ "name": "crashGpuProcess",
+ "description": "Crashes GPU process.",
+ "experimental": true
+ },
+ {
+ "name": "getVersion",
+ "description": "Returns version information.",
+ "returns": [
{
- "name": "styleSheetId",
- "description": "The css style sheet identifier where a new rule should be inserted.",
- "$ref": "StyleSheetId"
+ "name": "protocolVersion",
+ "description": "Protocol version.",
+ "type": "string"
},
{
- "name": "ruleText",
- "description": "The text of a new rule.",
+ "name": "product",
+ "description": "Product name.",
"type": "string"
},
{
- "name": "location",
- "description": "Text position of a new rule in the target style sheet.",
- "$ref": "SourceRange"
+ "name": "revision",
+ "description": "Product revision.",
+ "type": "string"
+ },
+ {
+ "name": "userAgent",
+ "description": "User-Agent.",
+ "type": "string"
+ },
+ {
+ "name": "jsVersion",
+ "description": "V8 version.",
+ "type": "string"
}
- ],
+ ]
+ },
+ {
+ "name": "getBrowserCommandLine",
+ "description": "Returns the command line switches for the browser process if, and only if\n--enable-automation is on the commandline.",
+ "experimental": true,
"returns": [
{
- "name": "rule",
- "description": "The newly created rule.",
- "$ref": "CSSRule"
+ "name": "arguments",
+ "description": "Commandline parameters",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
},
{
- "name": "collectClassNames",
- "description": "Returns all class names from specified stylesheet.",
+ "name": "getHistograms",
+ "description": "Get Chrome histograms.",
+ "experimental": true,
"parameters": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "query",
+ "description": "Requested substring in name. Only histograms which have query as a\nsubstring in their name are extracted. An empty or absent query returns\nall histograms.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "delta",
+ "description": "If true, retrieve delta since last call.",
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
{
- "name": "classNames",
- "description": "Class name list.",
+ "name": "histograms",
+ "description": "Histograms.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "Histogram"
}
}
]
},
{
- "name": "createStyleSheet",
- "description": "Creates a new special \"via-inspector\" stylesheet in the frame with given `frameId`.",
+ "name": "getHistogram",
+ "description": "Get a Chrome histogram by name.",
+ "experimental": true,
"parameters": [
{
- "name": "frameId",
- "description": "Identifier of the frame where \"via-inspector\" stylesheet should be created.",
- "$ref": "Page.FrameId"
+ "name": "name",
+ "description": "Requested histogram name.",
+ "type": "string"
+ },
+ {
+ "name": "delta",
+ "description": "If true, retrieve delta since last call.",
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
{
- "name": "styleSheetId",
- "description": "Identifier of the created \"via-inspector\" stylesheet.",
- "$ref": "StyleSheetId"
+ "name": "histogram",
+ "description": "Histogram.",
+ "$ref": "Histogram"
}
]
},
{
- "name": "disable",
- "description": "Disables the CSS agent for the given page."
- },
- {
- "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."
- },
- {
- "name": "forcePseudoState",
- "description": "Ensures that the given node will have specified pseudo-classes whenever its style is computed by\nthe browser.",
+ "name": "getWindowBounds",
+ "description": "Get position and size of the browser window.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "description": "The element id for which to force the pseudo state.",
- "$ref": "DOM.NodeId"
- },
+ "name": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
+ }
+ ],
+ "returns": [
{
- "name": "forcedPseudoClasses",
- "description": "Element pseudo classes to force when computing the element's style.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "bounds",
+ "description": "Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.",
+ "$ref": "Bounds"
}
]
},
{
- "name": "getBackgroundColors",
+ "name": "getWindowForTarget",
+ "description": "Get the browser window that contains the devtools target.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to get background colors for.",
- "$ref": "DOM.NodeId"
+ "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": "backgroundColors",
- "description": "The range of background colors behind this element, if it contains any visible text. If no\nvisible text is present, this will be undefined. In the case of a flat background color,\nthis will consist of simply that color. In the case of a gradient, this will consist of each\nof the color stops. For anything more complicated, this will be an empty array. Images will\nbe ignored (as if the image had failed to load).",
- "optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- {
- "name": "computedFontSize",
- "description": "The computed font size for this node, as a CSS computed value string (e.g. '12px').",
- "optional": true,
- "type": "string"
+ "name": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
},
{
- "name": "computedFontWeight",
- "description": "The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or\n'100').",
- "optional": true,
- "type": "string"
+ "name": "bounds",
+ "description": "Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.",
+ "$ref": "Bounds"
}
]
},
{
- "name": "getComputedStyleForNode",
- "description": "Returns the computed style for a DOM node identified by `nodeId`.",
+ "name": "setWindowBounds",
+ "description": "Set position and/or size of the browser window.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
+ "name": "windowId",
+ "description": "Browser window id.",
+ "$ref": "WindowID"
+ },
{
- "name": "computedStyle",
- "description": "Computed style for the specified DOM node.",
- "type": "array",
- "items": {
- "$ref": "CSSComputedStyleProperty"
- }
+ "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": "getInlineStylesForNode",
- "description": "Returns the styles defined inline (explicitly in the \"style\" attribute and implicitly, using DOM\nattributes) for a DOM node identified by `nodeId`.",
+ "name": "setDockTile",
+ "description": "Set dock tile details, platform-specific.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
- {
- "name": "inlineStyle",
- "description": "Inline style for the specified DOM node.",
+ "name": "badgeLabel",
"optional": true,
- "$ref": "CSSStyle"
+ "type": "string"
},
{
- "name": "attributesStyle",
- "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
+ "name": "image",
+ "description": "Png encoded image. (Encoded as a base64 string when passed over JSON)",
"optional": true,
- "$ref": "CSSStyle"
+ "type": "string"
}
]
},
{
- "name": "getMatchedStylesForNode",
- "description": "Returns requested styles for a DOM node identified by `nodeId`.",
+ "name": "executeBrowserCommand",
+ "description": "Invoke custom browser commands used by telemetry.",
+ "experimental": true,
"parameters": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
+ "name": "commandId",
+ "$ref": "BrowserCommandId"
}
- ],
- "returns": [
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "downloadWillBegin",
+ "description": "Fired when page is about to start a download.",
+ "experimental": true,
+ "parameters": [
{
- "name": "inlineStyle",
- "description": "Inline style for the specified DOM node.",
- "optional": true,
- "$ref": "CSSStyle"
+ "name": "frameId",
+ "description": "Id of the frame that caused the download to begin.",
+ "$ref": "Page.FrameId"
},
{
- "name": "attributesStyle",
- "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
- "optional": true,
- "$ref": "CSSStyle"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "matchedCSSRules",
- "description": "CSS rules matching this node, from all applicable stylesheets.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "RuleMatch"
- }
+ "name": "url",
+ "description": "URL of the resource being downloaded.",
+ "type": "string"
},
{
- "name": "pseudoElements",
- "description": "Pseudo style matches for this node.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "PseudoElementMatches"
- }
+ "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": "inherited",
- "description": "A chain of inherited styles (from the immediate node parent up to the DOM tree root).",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "InheritedStyleEntry"
- }
+ "name": "totalBytes",
+ "description": "Total expected bytes to download.",
+ "type": "number"
},
{
- "name": "cssKeyframesRules",
- "description": "A list of CSS keyframed animations matching this node.",
- "optional": true,
+ "name": "receivedBytes",
+ "description": "Total bytes received.",
+ "type": "number"
+ },
+ {
+ "name": "state",
+ "description": "Download status.",
+ "type": "string",
+ "enum": [
+ "inProgress",
+ "completed",
+ "canceled"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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": "StyleSheetId",
+ "type": "string"
+ },
+ {
+ "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": "matches",
+ "description": "Matches of CSS rules applicable to the pseudo style.",
"type": "array",
"items": {
- "$ref": "CSSKeyframesRule"
+ "$ref": "RuleMatch"
}
}
]
},
{
- "name": "getMediaQueries",
- "description": "Returns all media queries parsed by the rendering engine.",
- "returns": [
+ "id": "InheritedStyleEntry",
+ "description": "Inherited CSS rule collection from ancestor node.",
+ "type": "object",
+ "properties": [
{
- "name": "medias",
+ "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": "CSSMedia"
+ "$ref": "RuleMatch"
}
}
]
},
{
- "name": "getPlatformFontsForNode",
- "description": "Requests information about platform fonts which we used to render child TextNodes in the given\nnode.",
- "parameters": [
+ "id": "RuleMatch",
+ "description": "Match data for a CSS rule.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
- }
- ],
- "returns": [
+ "name": "rule",
+ "description": "CSS rule in the match.",
+ "$ref": "CSSRule"
+ },
{
- "name": "fonts",
- "description": "Usage statistics for every employed platform font.",
+ "name": "matchingSelectors",
+ "description": "Matching selector indices in the rule's selectorList selectors (0-based).",
"type": "array",
"items": {
- "$ref": "PlatformFontUsage"
+ "type": "integer"
}
}
]
},
{
- "name": "getStyleSheetText",
- "description": "Returns the current textual content for a stylesheet.",
- "parameters": [
- {
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
- }
- ],
- "returns": [
+ "id": "Value",
+ "description": "Data for a simple selector (these are delimited by commas in a selector list).",
+ "type": "object",
+ "properties": [
{
"name": "text",
- "description": "The stylesheet text.",
+ "description": "Value text.",
"type": "string"
+ },
+ {
+ "name": "range",
+ "description": "Value range in the underlying resource (if available).",
+ "optional": true,
+ "$ref": "SourceRange"
}
]
},
{
- "name": "setEffectivePropertyValueForNode",
- "description": "Find a rule with the given active property for the given node and set the new value for this\nproperty",
- "parameters": [
- {
- "name": "nodeId",
- "description": "The element id for which to set property.",
- "$ref": "DOM.NodeId"
- },
+ "id": "SelectorList",
+ "description": "Selector list data.",
+ "type": "object",
+ "properties": [
{
- "name": "propertyName",
- "type": "string"
+ "name": "selectors",
+ "description": "Selectors in the list.",
+ "type": "array",
+ "items": {
+ "$ref": "Value"
+ }
},
{
- "name": "value",
+ "name": "text",
+ "description": "Rule selector text.",
"type": "string"
}
]
},
{
- "name": "setKeyframeKey",
- "description": "Modifies the keyframe rule key text.",
- "parameters": [
+ "id": "CSSStyleSheetHeader",
+ "description": "CSS stylesheet metainformation.",
+ "type": "object",
+ "properties": [
{
"name": "styleSheetId",
+ "description": "The stylesheet identifier.",
"$ref": "StyleSheetId"
},
{
- "name": "range",
- "$ref": "SourceRange"
+ "name": "frameId",
+ "description": "Owner frame identifier.",
+ "$ref": "Page.FrameId"
},
{
- "name": "keyText",
+ "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 sylesheet imported\nas a CSS module script).",
"type": "string"
- }
- ],
- "returns": [
+ },
{
- "name": "keyText",
- "description": "The resulting key text after modification.",
- "$ref": "Value"
+ "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": "setMediaText",
- "description": "Modifies the rule selector.",
- "parameters": [
+ "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": "StyleSheetId"
},
{
- "name": "range",
- "$ref": "SourceRange"
+ "name": "selectorList",
+ "description": "Rule selector data.",
+ "$ref": "SelectorList"
},
{
- "name": "text",
- "type": "string"
- }
- ],
- "returns": [
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
+ },
+ {
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
+ },
{
"name": "media",
- "description": "The resulting CSS media rule after modification.",
- "$ref": "CSSMedia"
+ "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": "setRuleSelector",
- "description": "Modifies the rule selector.",
- "parameters": [
+ "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": "StyleSheetId"
},
{
- "name": "range",
- "$ref": "SourceRange"
+ "name": "startOffset",
+ "description": "Offset of the start of the rule (including selector) from the beginning of the stylesheet.",
+ "type": "number"
},
{
- "name": "selector",
- "type": "string"
+ "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"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "SourceRange",
+ "description": "Text range within a resource. All numbers are zero-based.",
+ "type": "object",
+ "properties": [
{
- "name": "selectorList",
- "description": "The resulting selector list after modification.",
- "$ref": "SelectorList"
+ "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"
}
]
},
{
- "name": "setStyleSheetText",
- "description": "Sets the new stylesheet text.",
- "parameters": [
+ "id": "ShorthandEntry",
+ "type": "object",
+ "properties": [
{
- "name": "styleSheetId",
- "$ref": "StyleSheetId"
+ "name": "name",
+ "description": "Shorthand name.",
+ "type": "string"
},
{
- "name": "text",
+ "name": "value",
+ "description": "Shorthand value.",
"type": "string"
- }
- ],
- "returns": [
+ },
{
- "name": "sourceMapURL",
- "description": "URL of source map associated with script (if any).",
+ "name": "important",
+ "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
"optional": true,
- "type": "string"
+ "type": "boolean"
}
]
},
{
- "name": "setStyleTexts",
- "description": "Applies specified style edits one after another in the given order.",
- "parameters": [
+ "id": "CSSComputedStyleProperty",
+ "type": "object",
+ "properties": [
{
- "name": "edits",
- "type": "array",
- "items": {
- "$ref": "StyleDeclarationEdit"
- }
- }
- ],
- "returns": [
+ "name": "name",
+ "description": "Computed style property name.",
+ "type": "string"
+ },
{
- "name": "styles",
- "description": "The resulting styles after modification.",
- "type": "array",
- "items": {
- "$ref": "CSSStyle"
- }
+ "name": "value",
+ "description": "Computed style property value.",
+ "type": "string"
}
]
},
{
- "name": "startRuleUsageTracking",
- "description": "Enables the selector recording."
- },
- {
- "name": "stopRuleUsageTracking",
- "description": "Stop tracking rule usage and return the list of rules that were used since last call to\n`takeCoverageDelta` (or since start of coverage instrumentation)",
- "returns": [
+ "id": "CSSStyle",
+ "description": "CSS style representation.",
+ "type": "object",
+ "properties": [
{
- "name": "ruleUsage",
+ "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": "StyleSheetId"
+ },
+ {
+ "name": "cssProperties",
+ "description": "CSS properties in the style.",
"type": "array",
"items": {
- "$ref": "RuleUsage"
+ "$ref": "CSSProperty"
}
- }
- ]
- },
- {
- "name": "takeCoverageDelta",
- "description": "Obtain list of rules that became used since last call to this method (or since start of coverage\ninstrumentation)",
- "returns": [
+ },
{
- "name": "coverage",
+ "name": "shorthandEntries",
+ "description": "Computed values for all shorthands found in the style.",
"type": "array",
"items": {
- "$ref": "RuleUsage"
+ "$ref": "ShorthandEntry"
}
- }
- ]
- }
- ],
- "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.",
+ "name": "cssText",
+ "description": "Style declaration text (if available).",
"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": "StyleSheetId"
- }
- ]
- },
- {
- "name": "styleSheetRemoved",
- "description": "Fired whenever an active document stylesheet is removed.",
- "parameters": [
+ "type": "string"
+ },
{
- "name": "styleSheetId",
- "description": "Identifier of the removed stylesheet.",
- "$ref": "StyleSheetId"
+ "name": "range",
+ "description": "Style declaration range in the enclosing stylesheet (if available).",
+ "optional": true,
+ "$ref": "SourceRange"
}
]
- }
- ]
- },
- {
- "domain": "CacheStorage",
- "experimental": true,
- "types": [
- {
- "id": "CacheId",
- "description": "Unique identifier of the Cache object.",
- "type": "string"
- },
- {
- "id": "CachedResponseType",
- "description": "type of HTTP response cached",
- "type": "string",
- "enum": [
- "basic",
- "cors",
- "default",
- "error",
- "opaqueResponse",
- "opaqueRedirect"
- ]
},
{
- "id": "DataEntry",
- "description": "Data entry.",
+ "id": "CSSProperty",
+ "description": "CSS property declaration data.",
"type": "object",
"properties": [
{
- "name": "requestURL",
- "description": "Request URL.",
+ "name": "name",
+ "description": "The property name.",
"type": "string"
},
{
- "name": "requestMethod",
- "description": "Request method.",
+ "name": "value",
+ "description": "The property value.",
"type": "string"
},
{
- "name": "requestHeaders",
- "description": "Request headers",
- "type": "array",
- "items": {
- "$ref": "Header"
- }
+ "name": "important",
+ "description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "responseTime",
- "description": "Number of seconds since epoch.",
- "type": "number"
+ "name": "implicit",
+ "description": "Whether the property is implicit (implies `false` if absent).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "responseStatus",
- "description": "HTTP response status code.",
- "type": "integer"
+ "name": "text",
+ "description": "The full property text as specified in the style.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "responseStatusText",
- "description": "HTTP response status text.",
- "type": "string"
+ "name": "parsedOk",
+ "description": "Whether the property is understood by the browser (implies `true` if absent).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "responseType",
- "description": "HTTP response type",
- "$ref": "CachedResponseType"
+ "name": "disabled",
+ "description": "Whether the property is disabled by the user (present for source-based properties only).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "responseHeaders",
- "description": "Response headers",
- "type": "array",
- "items": {
- "$ref": "Header"
- }
+ "name": "range",
+ "description": "The entire property range in the enclosing style declaration (if available).",
+ "optional": true,
+ "$ref": "SourceRange"
}
]
},
{
- "id": "Cache",
- "description": "Cache identifier.",
+ "id": "CSSMedia",
+ "description": "CSS media rule descriptor.",
"type": "object",
"properties": [
{
- "name": "cacheId",
- "description": "An opaque unique id of the cache.",
- "$ref": "CacheId"
+ "name": "text",
+ "description": "Media query text.",
+ "type": "string"
},
{
- "name": "securityOrigin",
- "description": "Security origin of the cache.",
- "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": "cacheName",
- "description": "The name of the cache.",
+ "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": "StyleSheetId"
+ },
+ {
+ "name": "mediaList",
+ "description": "Array of media queries.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "MediaQuery"
+ }
}
]
},
{
- "id": "Header",
+ "id": "MediaQuery",
+ "description": "Media query descriptor.",
"type": "object",
"properties": [
{
- "name": "name",
- "type": "string"
+ "name": "expressions",
+ "description": "Array of media query expressions.",
+ "type": "array",
+ "items": {
+ "$ref": "MediaQueryExpression"
+ }
},
{
- "name": "value",
- "type": "string"
+ "name": "active",
+ "description": "Whether the media query condition is satisfied.",
+ "type": "boolean"
}
]
},
{
- "id": "CachedResponse",
- "description": "Cached response",
- "type": "object",
+ "id": "MediaQueryExpression",
+ "description": "Media query expression descriptor.",
+ "type": "object",
"properties": [
{
- "name": "body",
- "description": "Entry content, base64-encoded.",
+ "name": "value",
+ "description": "Media query expression value.",
+ "type": "number"
+ },
+ {
+ "name": "unit",
+ "description": "Media query expression units.",
"type": "string"
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "deleteCache",
- "description": "Deletes a cache.",
- "parameters": [
+ },
{
- "name": "cacheId",
- "description": "Id of cache for deletion.",
- "$ref": "CacheId"
- }
- ]
- },
- {
- "name": "deleteEntry",
- "description": "Deletes a cache entry.",
- "parameters": [
+ "name": "feature",
+ "description": "Media query expression feature.",
+ "type": "string"
+ },
{
- "name": "cacheId",
- "description": "Id of cache where the entry will be deleted.",
- "$ref": "CacheId"
+ "name": "valueRange",
+ "description": "The associated range of the value text in the enclosing stylesheet (if available).",
+ "optional": true,
+ "$ref": "SourceRange"
},
{
- "name": "request",
- "description": "URL spec of the request.",
- "type": "string"
+ "name": "computedLength",
+ "description": "Computed length of media query expression (if applicable).",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "name": "requestCacheNames",
- "description": "Requests cache names.",
- "parameters": [
+ "id": "CSSContainerQuery",
+ "description": "CSS container query rule descriptor.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "securityOrigin",
- "description": "Security origin.",
+ "name": "text",
+ "description": "Container query text.",
"type": "string"
- }
- ],
- "returns": [
+ },
{
- "name": "caches",
- "description": "Caches for the security origin.",
- "type": "array",
- "items": {
- "$ref": "Cache"
- }
+ "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": "StyleSheetId"
+ },
+ {
+ "name": "name",
+ "description": "Optional name for the container.",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "name": "requestCachedResponse",
- "description": "Fetches cache entry.",
- "parameters": [
- {
- "name": "cacheId",
- "description": "Id of cache that contains the entry.",
- "$ref": "CacheId"
- },
+ "id": "PlatformFontUsage",
+ "description": "Information about amount of glyphs that were rendered with given font.",
+ "type": "object",
+ "properties": [
{
- "name": "requestURL",
- "description": "URL spec of the request.",
+ "name": "familyName",
+ "description": "Font's family name reported by platform.",
"type": "string"
},
{
- "name": "requestHeaders",
- "description": "headers of the request.",
- "type": "array",
- "items": {
- "$ref": "Header"
- }
- }
- ],
- "returns": [
+ "name": "isCustomFont",
+ "description": "Indicates if the font was downloaded or resolved locally.",
+ "type": "boolean"
+ },
{
- "name": "response",
- "description": "Response read from the cache.",
- "$ref": "CachedResponse"
+ "name": "glyphCount",
+ "description": "Amount of glyphs that were rendered with this font.",
+ "type": "number"
}
]
},
{
- "name": "requestEntries",
- "description": "Requests data from cache.",
- "parameters": [
+ "id": "FontVariationAxis",
+ "description": "Information about font variation axes for variable fonts",
+ "type": "object",
+ "properties": [
{
- "name": "cacheId",
- "description": "ID of cache to get entries from.",
- "$ref": "CacheId"
+ "name": "tag",
+ "description": "The font-variation-setting tag (a.k.a. \"axis tag\").",
+ "type": "string"
},
{
- "name": "skipCount",
- "description": "Number of records to skip.",
- "type": "integer"
+ "name": "name",
+ "description": "Human-readable variation name in the default language (normally, \"en\").",
+ "type": "string"
},
{
- "name": "pageSize",
- "description": "Number of records to fetch.",
- "type": "integer"
+ "name": "minValue",
+ "description": "The minimum value (inclusive) the font supports for this tag.",
+ "type": "number"
},
{
- "name": "pathFilter",
- "description": "If present, only return the entries containing this substring in the path",
- "optional": true,
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "cacheDataEntries",
- "description": "Array of object store data entries.",
- "type": "array",
- "items": {
- "$ref": "DataEntry"
- }
+ "name": "maxValue",
+ "description": "The maximum value (inclusive) the font supports for this tag.",
+ "type": "number"
},
{
- "name": "returnCount",
- "description": "Count of returned entries from this storage. If pathFilter is empty, it\nis the count of all entries from this storage.",
+ "name": "defaultValue",
+ "description": "The default value.",
"type": "number"
}
]
- }
- ]
- },
- {
- "domain": "Cast",
- "description": "A domain for interacting with Cast, Presentation API, and Remote Playback API\nfunctionalities.",
- "experimental": true,
- "types": [
+ },
{
- "id": "Sink",
+ "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": "name",
+ "name": "fontFamily",
+ "description": "The font-family.",
"type": "string"
},
{
- "name": "id",
+ "name": "fontStyle",
+ "description": "The font-style.",
"type": "string"
},
{
- "name": "session",
- "description": "Text describing the current session. Present only if there is an active\nsession on the sink.",
- "optional": true,
+ "name": "fontVariant",
+ "description": "The font-variant.",
"type": "string"
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "enable",
- "description": "Starts observing for sinks that can be used for tab mirroring, and if set,\nsinks compatible with |presentationUrl| as well. When sinks are found, a\n|sinksUpdated| event is fired.\nAlso starts observing for issue messages. When an issue is added or removed,\nan |issueUpdated| event is fired.",
- "parameters": [
+ },
{
- "name": "presentationUrl",
- "optional": true,
+ "name": "fontWeight",
+ "description": "The font-weight.",
"type": "string"
- }
- ]
- },
- {
- "name": "disable",
- "description": "Stops observing for sinks and issues."
- },
- {
- "name": "setSinkToUse",
- "description": "Sets a sink to be used when the web page requests the browser to choose a\nsink via Presentation API, Remote Playback API, or Cast SDK.",
- "parameters": [
+ },
{
- "name": "sinkName",
+ "name": "fontStretch",
+ "description": "The font-stretch.",
"type": "string"
- }
- ]
- },
- {
- "name": "startTabMirroring",
- "description": "Starts mirroring the tab to the sink.",
- "parameters": [
+ },
{
- "name": "sinkName",
+ "name": "unicodeRange",
+ "description": "The unicode-range.",
"type": "string"
- }
- ]
- },
- {
- "name": "stopCasting",
- "description": "Stops the active Cast session on the sink.",
- "parameters": [
+ },
{
- "name": "sinkName",
+ "name": "src",
+ "description": "The src.",
"type": "string"
- }
- ]
- }
- ],
- "events": [
- {
- "name": "sinksUpdated",
- "description": "This is fired whenever the list of available sinks changes. A sink is a\ndevice or a software surface that you can cast to.",
- "parameters": [
+ },
{
- "name": "sinks",
+ "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": "Sink"
+ "$ref": "FontVariationAxis"
}
}
]
},
{
- "name": "issueUpdated",
- "description": "This is fired whenever the outstanding issue/error message changes.\n|issueMessage| is empty if there is no issue.",
- "parameters": [
+ "id": "CSSKeyframesRule",
+ "description": "CSS keyframes rule representation.",
+ "type": "object",
+ "properties": [
{
- "name": "issueMessage",
- "type": "string"
- }
- ]
- }
- ]
- },
- {
- "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"
- ],
- "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"
+ "name": "animationName",
+ "description": "Animation name.",
+ "$ref": "Value"
+ },
+ {
+ "name": "keyframes",
+ "description": "List of keyframes.",
+ "type": "array",
+ "items": {
+ "$ref": "CSSKeyframeRule"
+ }
+ }
+ ]
},
{
- "id": "BackendNode",
- "description": "Backend node with a friendly name.",
+ "id": "CSSKeyframeRule",
+ "description": "CSS keyframe rule representation.",
"type": "object",
"properties": [
{
- "name": "nodeType",
- "description": "`Node`'s nodeType.",
- "type": "integer"
+ "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": "StyleSheetId"
},
{
- "name": "nodeName",
- "description": "`Node`'s nodeName.",
- "type": "string"
+ "name": "origin",
+ "description": "Parent stylesheet's origin.",
+ "$ref": "StyleSheetOrigin"
},
{
- "name": "backendNodeId",
- "$ref": "BackendNodeId"
+ "name": "keyText",
+ "description": "Associated key text.",
+ "$ref": "Value"
+ },
+ {
+ "name": "style",
+ "description": "Associated style declaration.",
+ "$ref": "CSSStyle"
}
]
},
{
- "id": "PseudoType",
- "description": "Pseudo element type.",
- "type": "string",
- "enum": [
- "first-line",
- "first-letter",
- "before",
- "after",
- "backdrop",
- "selection",
- "first-line-inherited",
- "scrollbar",
- "scrollbar-thumb",
- "scrollbar-button",
- "scrollbar-track",
- "scrollbar-track-piece",
- "scrollbar-corner",
- "resizer",
- "input-list-button"
- ]
- },
- {
- "id": "ShadowRootType",
- "description": "Shadow root type.",
- "type": "string",
- "enum": [
- "user-agent",
- "open",
- "closed"
- ]
- },
- {
- "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.",
+ "id": "StyleDeclarationEdit",
+ "description": "A descriptor of operation to mutate style declaration text.",
"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": "styleSheetId",
+ "description": "The css style sheet identifier.",
+ "$ref": "StyleSheetId"
},
{
- "name": "parentId",
- "description": "The id of the parent node if any.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "range",
+ "description": "The range of the style text in the enclosing stylesheet.",
+ "$ref": "SourceRange"
},
{
- "name": "backendNodeId",
- "description": "The BackendNodeId for this node.",
- "$ref": "BackendNodeId"
- },
+ "name": "text",
+ "description": "New style text.",
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "addRule",
+ "description": "Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the\nposition specified by `location`.",
+ "parameters": [
{
- "name": "nodeType",
- "description": "`Node`'s nodeType.",
- "type": "integer"
+ "name": "styleSheetId",
+ "description": "The css style sheet identifier where a new rule should be inserted.",
+ "$ref": "StyleSheetId"
},
{
- "name": "nodeName",
- "description": "`Node`'s nodeName.",
+ "name": "ruleText",
+ "description": "The text of a new rule.",
"type": "string"
},
{
- "name": "localName",
- "description": "`Node`'s localName.",
- "type": "string"
- },
+ "name": "location",
+ "description": "Text position of a new rule in the target style sheet.",
+ "$ref": "SourceRange"
+ }
+ ],
+ "returns": [
{
- "name": "nodeValue",
- "description": "`Node`'s nodeValue.",
- "type": "string"
- },
+ "name": "rule",
+ "description": "The newly created rule.",
+ "$ref": "CSSRule"
+ }
+ ]
+ },
+ {
+ "name": "collectClassNames",
+ "description": "Returns all class names from specified stylesheet.",
+ "parameters": [
{
- "name": "childNodeCount",
- "description": "Child count for `Container` nodes.",
- "optional": true,
- "type": "integer"
- },
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
+ }
+ ],
+ "returns": [
{
- "name": "children",
- "description": "Child nodes of this node when requested with children.",
- "optional": true,
+ "name": "classNames",
+ "description": "Class name list.",
"type": "array",
"items": {
- "$ref": "Node"
+ "type": "string"
}
+ }
+ ]
+ },
+ {
+ "name": "createStyleSheet",
+ "description": "Creates a new special \"via-inspector\" stylesheet in the frame with given `frameId`.",
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "Identifier of the frame where \"via-inspector\" stylesheet should be created.",
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "styleSheetId",
+ "description": "Identifier of the created \"via-inspector\" stylesheet.",
+ "$ref": "StyleSheetId"
+ }
+ ]
+ },
+ {
+ "name": "disable",
+ "description": "Disables the CSS agent for the given page."
+ },
+ {
+ "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."
+ },
+ {
+ "name": "forcePseudoState",
+ "description": "Ensures that the given node will have specified pseudo-classes whenever its style is computed by\nthe browser.",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "The element id for which to force the pseudo state.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "attributes",
- "description": "Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.",
- "optional": true,
+ "name": "forcedPseudoClasses",
+ "description": "Element pseudo classes to force when computing the element's style.",
"type": "array",
"items": {
"type": "string"
}
- },
- {
- "name": "documentURL",
- "description": "Document URL that `Document` or `FrameOwner` node points to.",
- "optional": true,
- "type": "string"
- },
+ }
+ ]
+ },
+ {
+ "name": "getBackgroundColors",
+ "parameters": [
{
- "name": "baseURL",
- "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
- "optional": true,
- "type": "string"
- },
+ "name": "nodeId",
+ "description": "Id of the node to get background colors for.",
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "publicId",
- "description": "`DocumentType`'s publicId.",
+ "name": "backgroundColors",
+ "description": "The range of background colors behind this element, if it contains any visible text. If no\nvisible text is present, this will be undefined. In the case of a flat background color,\nthis will consist of simply that color. In the case of a gradient, this will consist of each\nof the color stops. For anything more complicated, this will be an empty array. Images will\nbe ignored (as if the image had failed to load).",
"optional": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "systemId",
- "description": "`DocumentType`'s systemId.",
+ "name": "computedFontSize",
+ "description": "The computed font size for this node, as a CSS computed value string (e.g. '12px').",
"optional": true,
"type": "string"
},
{
- "name": "internalSubset",
- "description": "`DocumentType`'s internalSubset.",
+ "name": "computedFontWeight",
+ "description": "The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or\n'100').",
"optional": true,
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "name": "getComputedStyleForNode",
+ "description": "Returns the computed style for a DOM node identified by `nodeId`.",
+ "parameters": [
{
- "name": "xmlVersion",
- "description": "`Document`'s XML version in case of XML documents.",
- "optional": true,
- "type": "string"
- },
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "name",
- "description": "`Attr`'s name.",
- "optional": true,
- "type": "string"
- },
+ "name": "computedStyle",
+ "description": "Computed style for the specified DOM node.",
+ "type": "array",
+ "items": {
+ "$ref": "CSSComputedStyleProperty"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getInlineStylesForNode",
+ "description": "Returns the styles defined inline (explicitly in the \"style\" attribute and implicitly, using DOM\nattributes) for a DOM node identified by `nodeId`.",
+ "parameters": [
{
- "name": "value",
- "description": "`Attr`'s value.",
- "optional": true,
- "type": "string"
- },
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "pseudoType",
- "description": "Pseudo element type for this node.",
+ "name": "inlineStyle",
+ "description": "Inline style for the specified DOM node.",
"optional": true,
- "$ref": "PseudoType"
+ "$ref": "CSSStyle"
},
{
- "name": "shadowRootType",
- "description": "Shadow root type.",
+ "name": "attributesStyle",
+ "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
"optional": true,
- "$ref": "ShadowRootType"
- },
+ "$ref": "CSSStyle"
+ }
+ ]
+ },
+ {
+ "name": "getMatchedStylesForNode",
+ "description": "Returns requested styles for a DOM node identified by `nodeId`.",
+ "parameters": [
{
- "name": "frameId",
- "description": "Frame ID for frame owner elements.",
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "inlineStyle",
+ "description": "Inline style for the specified DOM node.",
"optional": true,
- "$ref": "Page.FrameId"
+ "$ref": "CSSStyle"
},
{
- "name": "contentDocument",
- "description": "Content document for frame owner elements.",
+ "name": "attributesStyle",
+ "description": "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\").",
"optional": true,
- "$ref": "Node"
+ "$ref": "CSSStyle"
},
{
- "name": "shadowRoots",
- "description": "Shadow root list for given element host.",
+ "name": "matchedCSSRules",
+ "description": "CSS rules matching this node, from all applicable stylesheets.",
"optional": true,
"type": "array",
"items": {
- "$ref": "Node"
+ "$ref": "RuleMatch"
}
},
- {
- "name": "templateContent",
- "description": "Content document fragment for template elements.",
- "optional": true,
- "$ref": "Node"
- },
{
"name": "pseudoElements",
- "description": "Pseudo elements associated with this node.",
+ "description": "Pseudo style matches for this node.",
"optional": true,
"type": "array",
"items": {
- "$ref": "Node"
+ "$ref": "PseudoElementMatches"
}
},
{
- "name": "importedDocument",
- "description": "Import document for the HTMLImport links.",
- "optional": true,
- "$ref": "Node"
- },
- {
- "name": "distributedNodes",
- "description": "Distributed nodes for given insertion point.",
+ "name": "inherited",
+ "description": "A chain of inherited styles (from the immediate node parent up to the DOM tree root).",
"optional": true,
"type": "array",
"items": {
- "$ref": "BackendNode"
+ "$ref": "InheritedStyleEntry"
}
},
{
- "name": "isSVG",
- "description": "Whether the node is SVG.",
+ "name": "cssKeyframesRules",
+ "description": "A list of CSS keyframed animations matching this node.",
"optional": true,
- "type": "boolean"
+ "type": "array",
+ "items": {
+ "$ref": "CSSKeyframesRule"
+ }
}
]
},
{
- "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": "getMediaQueries",
+ "description": "Returns all media queries parsed by the rendering engine.",
+ "returns": [
{
- "name": "a",
- "description": "The alpha component, in the [0-1] range (default: 1).",
- "optional": true,
- "type": "number"
+ "name": "medias",
+ "type": "array",
+ "items": {
+ "$ref": "CSSMedia"
+ }
}
]
},
{
- "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": "getPlatformFontsForNode",
+ "description": "Requests information about platform fonts which we used to render child TextNodes in the given\nnode.",
+ "parameters": [
{
- "name": "margin",
- "description": "Margin box",
- "$ref": "Quad"
- },
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "width",
- "description": "Node width",
- "type": "integer"
- },
+ "name": "fonts",
+ "description": "Usage statistics for every employed platform font.",
+ "type": "array",
+ "items": {
+ "$ref": "PlatformFontUsage"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getStyleSheetText",
+ "description": "Returns the current textual content for a stylesheet.",
+ "parameters": [
{
- "name": "height",
- "description": "Node height",
- "type": "integer"
- },
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
+ }
+ ],
+ "returns": [
{
- "name": "shapeOutside",
- "description": "Shape outside coordinates",
- "optional": true,
- "$ref": "ShapeOutsideInfo"
+ "name": "text",
+ "description": "The stylesheet text.",
+ "type": "string"
}
]
},
{
- "id": "ShapeOutsideInfo",
- "description": "CSS Shape Outside details.",
- "type": "object",
- "properties": [
- {
- "name": "bounds",
- "description": "Shape bounds",
- "$ref": "Quad"
- },
+ "name": "trackComputedStyleUpdates",
+ "description": "Starts tracking the given computed styles for updates. The specified array of properties\nreplaces the one previously specified. Pass empty array to disable tracking.\nUse takeComputedStyleUpdates to retrieve the list of nodes that had properties modified.\nThe changes to computed style properties are only tracked for nodes pushed to the front-end\nby the DOM agent. If no changes to the tracked properties occur after the node has been pushed\nto the front-end, no updates will be issued for the node.",
+ "experimental": true,
+ "parameters": [
{
- "name": "shape",
- "description": "Shape coordinate details",
+ "name": "propertiesToTrack",
"type": "array",
"items": {
- "type": "any"
+ "$ref": "CSSComputedStyleProperty"
}
- },
+ }
+ ]
+ },
+ {
+ "name": "takeComputedStyleUpdates",
+ "description": "Polls the next batch of computed style updates.",
+ "experimental": true,
+ "returns": [
{
- "name": "marginShape",
- "description": "Margin shape bounds",
+ "name": "nodeIds",
+ "description": "The list of node Ids that have their tracked computed styles updated",
"type": "array",
"items": {
- "type": "any"
+ "$ref": "DOM.NodeId"
}
}
]
},
{
- "id": "Rect",
- "description": "Rectangle.",
- "type": "object",
- "properties": [
+ "name": "setEffectivePropertyValueForNode",
+ "description": "Find a rule with the given active property for the given node and set the new value for this\nproperty",
+ "parameters": [
{
- "name": "x",
- "description": "X coordinate",
- "type": "number"
- },
- {
- "name": "y",
- "description": "Y coordinate",
- "type": "number"
+ "name": "nodeId",
+ "description": "The element id for which to set property.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "width",
- "description": "Rectangle width",
- "type": "number"
+ "name": "propertyName",
+ "type": "string"
},
{
- "name": "height",
- "description": "Rectangle height",
- "type": "number"
+ "name": "value",
+ "type": "string"
}
]
- }
- ],
- "commands": [
+ },
{
- "name": "collectClassNamesFromSubtree",
- "description": "Collects class names for the node with given id and all of it's child nodes.",
- "experimental": true,
+ "name": "setKeyframeKey",
+ "description": "Modifies the keyframe rule key text.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to collect class names.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
+ },
+ {
+ "name": "range",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "keyText",
+ "type": "string"
}
],
"returns": [
{
- "name": "classNames",
- "description": "Class name list.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "keyText",
+ "description": "The resulting key text after modification.",
+ "$ref": "Value"
}
]
},
{
- "name": "copyTo",
- "description": "Creates a deep copy of the specified node and places it into the target container before the\ngiven anchor.",
- "experimental": true,
+ "name": "setMediaText",
+ "description": "Modifies the rule selector.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to copy.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "targetNodeId",
- "description": "Id of the element to drop the copy into.",
- "$ref": "NodeId"
+ "name": "range",
+ "$ref": "SourceRange"
},
{
- "name": "insertBeforeNodeId",
- "description": "Drop the copy before this node (if absent, the copy becomes the last child of\n`targetNodeId`).",
- "optional": true,
- "$ref": "NodeId"
+ "name": "text",
+ "type": "string"
}
],
"returns": [
{
- "name": "nodeId",
- "description": "Id of the node clone.",
- "$ref": "NodeId"
+ "name": "media",
+ "description": "The resulting CSS media rule after modification.",
+ "$ref": "CSSMedia"
}
]
},
{
- "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.",
+ "name": "setContainerQueryText",
+ "description": "Modifies the expression of a container query.",
+ "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"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "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": "range",
+ "$ref": "SourceRange"
},
{
- "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"
+ "name": "text",
+ "type": "string"
}
],
"returns": [
{
- "name": "node",
- "description": "Node description.",
- "$ref": "Node"
+ "name": "containerQuery",
+ "description": "The resulting CSS container query rule after modification.",
+ "$ref": "CSSContainerQuery"
}
]
},
{
- "name": "disable",
- "description": "Disables DOM agent for the given page."
- },
- {
- "name": "discardSearchResults",
- "description": "Discards search results from the session with the given id. `getSearchResults` should no longer\nbe called for that search.",
- "experimental": true,
+ "name": "setRuleSelector",
+ "description": "Modifies the rule selector.",
"parameters": [
{
- "name": "searchId",
- "description": "Unique search session identifier.",
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
+ },
+ {
+ "name": "range",
+ "$ref": "SourceRange"
+ },
+ {
+ "name": "selector",
"type": "string"
}
+ ],
+ "returns": [
+ {
+ "name": "selectorList",
+ "description": "The resulting selector list after modification.",
+ "$ref": "SelectorList"
+ }
]
},
{
- "name": "enable",
- "description": "Enables DOM agent for the given page."
- },
- {
- "name": "focus",
- "description": "Focuses the given element.",
+ "name": "setStyleSheetText",
+ "description": "Sets the new stylesheet text.",
"parameters": [
{
- "name": "nodeId",
- "description": "Identifier of the node.",
- "optional": true,
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
},
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node.",
- "optional": true,
- "$ref": "BackendNodeId"
- },
+ "name": "text",
+ "type": "string"
+ }
+ ],
+ "returns": [
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
+ "name": "sourceMapURL",
+ "description": "URL of source map associated with script (if any).",
"optional": true,
- "$ref": "Runtime.RemoteObjectId"
+ "type": "string"
}
]
},
{
- "name": "getAttributes",
- "description": "Returns attributes for the specified node.",
+ "name": "setStyleTexts",
+ "description": "Applies specified style edits one after another in the given order.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to retrieve attibutes for.",
- "$ref": "NodeId"
+ "name": "edits",
+ "type": "array",
+ "items": {
+ "$ref": "StyleDeclarationEdit"
+ }
}
],
"returns": [
{
- "name": "attributes",
- "description": "An interleaved array of node attribute names and values.",
+ "name": "styles",
+ "description": "The resulting styles after modification.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "CSSStyle"
}
}
]
},
{
- "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": "startRuleUsageTracking",
+ "description": "Enables the selector recording."
},
{
- "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"
- }
- ],
+ "name": "stopRuleUsageTracking",
+ "description": "Stop tracking rule usage and return the list of rules that were used since last call to\n`takeCoverageDelta` (or since start of coverage instrumentation)",
"returns": [
{
- "name": "quads",
- "description": "Quads that describe node layout relative to viewport.",
+ "name": "ruleUsage",
"type": "array",
"items": {
- "$ref": "Quad"
+ "$ref": "RuleUsage"
}
}
]
},
{
- "name": "getDocument",
- "description": "Returns the root DOM node (and optionally the subtree) to the caller.",
- "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": "getFlattenedDocument",
- "description": "Returns the root DOM node (and optionally the subtree) to the caller.",
- "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"
- }
- ],
+ "name": "takeCoverageDelta",
+ "description": "Obtain list of rules that became used since last call to this method (or since start of coverage\ninstrumentation)",
"returns": [
{
- "name": "nodes",
- "description": "Resulting node.",
+ "name": "coverage",
"type": "array",
"items": {
- "$ref": "Node"
+ "$ref": "RuleUsage"
}
+ },
+ {
+ "name": "timestamp",
+ "description": "Monotonically increasing time, in seconds.",
+ "type": "number"
}
]
},
{
- "name": "getNodeForLocation",
- "description": "Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is\neither returned or not.",
+ "name": "setLocalFontsEnabled",
+ "description": "Enables/disables rendering of local CSS fonts (enabled by default).",
"experimental": true,
"parameters": [
{
- "name": "x",
- "description": "X coordinate.",
- "type": "integer"
- },
- {
- "name": "y",
- "description": "Y coordinate.",
- "type": "integer"
- },
- {
- "name": "includeUserAgentShadowDOM",
- "description": "False to skip to the nearest non-UA shadow root ancestor (default: false).",
- "optional": true,
+ "name": "enabled",
+ "description": "Whether rendering of local fonts is enabled.",
"type": "boolean"
}
- ],
- "returns": [
- {
- "name": "backendNodeId",
- "description": "Resulting node.",
- "$ref": "BackendNodeId"
- },
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "fontsUpdated",
+ "description": "Fires whenever a web font is updated. A non-empty font parameter indicates a successfully loaded\nweb font",
+ "parameters": [
{
- "name": "nodeId",
- "description": "Id of the node at given coordinates, only when enabled and requested document.",
+ "name": "font",
+ "description": "The web font that has loaded.",
"optional": true,
- "$ref": "NodeId"
+ "$ref": "FontFace"
}
]
},
{
- "name": "getOuterHTML",
- "description": "Returns node's HTML markup.",
+ "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": "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": "outerHTML",
- "description": "Outer HTML markup.",
- "type": "string"
+ "name": "header",
+ "description": "Added stylesheet metainfo.",
+ "$ref": "CSSStyleSheetHeader"
}
]
},
{
- "name": "getRelayoutBoundary",
- "description": "Returns the id of the nearest ancestor that is a relayout boundary.",
- "experimental": true,
+ "name": "styleSheetChanged",
+ "description": "Fired whenever a stylesheet is changed as a result of the client operation.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "$ref": "StyleSheetId"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "name": "styleSheetRemoved",
+ "description": "Fired whenever an active document stylesheet is removed.",
+ "parameters": [
{
- "name": "nodeId",
- "description": "Relayout boundary node id for the given node.",
- "$ref": "NodeId"
+ "name": "styleSheetId",
+ "description": "Identifier of the removed stylesheet.",
+ "$ref": "StyleSheetId"
}
]
+ }
+ ]
+ },
+ {
+ "domain": "CacheStorage",
+ "experimental": true,
+ "types": [
+ {
+ "id": "CacheId",
+ "description": "Unique identifier of the Cache object.",
+ "type": "string"
},
{
- "name": "getSearchResults",
- "description": "Returns search results from given `fromIndex` to given `toIndex` from the search with the given\nidentifier.",
- "experimental": true,
- "parameters": [
+ "id": "CachedResponseType",
+ "description": "type of HTTP response cached",
+ "type": "string",
+ "enum": [
+ "basic",
+ "cors",
+ "default",
+ "error",
+ "opaqueResponse",
+ "opaqueRedirect"
+ ]
+ },
+ {
+ "id": "DataEntry",
+ "description": "Data entry.",
+ "type": "object",
+ "properties": [
{
- "name": "searchId",
- "description": "Unique search session identifier.",
+ "name": "requestURL",
+ "description": "Request URL.",
"type": "string"
},
{
- "name": "fromIndex",
- "description": "Start index of the search result to be returned.",
- "type": "integer"
+ "name": "requestMethod",
+ "description": "Request method.",
+ "type": "string"
},
{
- "name": "toIndex",
- "description": "End index of the search result to be returned.",
+ "name": "requestHeaders",
+ "description": "Request headers",
+ "type": "array",
+ "items": {
+ "$ref": "Header"
+ }
+ },
+ {
+ "name": "responseTime",
+ "description": "Number of seconds since epoch.",
+ "type": "number"
+ },
+ {
+ "name": "responseStatus",
+ "description": "HTTP response status code.",
"type": "integer"
- }
- ],
- "returns": [
+ },
{
- "name": "nodeIds",
- "description": "Ids of the search result nodes.",
+ "name": "responseStatusText",
+ "description": "HTTP response status text.",
+ "type": "string"
+ },
+ {
+ "name": "responseType",
+ "description": "HTTP response type",
+ "$ref": "CachedResponseType"
+ },
+ {
+ "name": "responseHeaders",
+ "description": "Response headers",
"type": "array",
"items": {
- "$ref": "NodeId"
+ "$ref": "Header"
}
}
]
},
{
- "name": "hideHighlight",
- "description": "Hides any highlight.",
- "redirect": "Overlay"
- },
- {
- "name": "highlightNode",
- "description": "Highlights DOM node.",
- "redirect": "Overlay"
- },
- {
- "name": "highlightRect",
- "description": "Highlights given rectangle.",
- "redirect": "Overlay"
- },
- {
- "name": "markUndoableState",
- "description": "Marks last undoable state.",
- "experimental": true
- },
- {
- "name": "moveTo",
- "description": "Moves node into the new container, places it before the given anchor.",
- "parameters": [
+ "id": "Cache",
+ "description": "Cache identifier.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Id of the node to move.",
- "$ref": "NodeId"
+ "name": "cacheId",
+ "description": "An opaque unique id of the cache.",
+ "$ref": "CacheId"
},
{
- "name": "targetNodeId",
- "description": "Id of the element to drop the moved node into.",
- "$ref": "NodeId"
+ "name": "securityOrigin",
+ "description": "Security origin of the cache.",
+ "type": "string"
},
{
- "name": "insertBeforeNodeId",
- "description": "Drop node before this one (if absent, the moved node becomes the last child of\n`targetNodeId`).",
- "optional": true,
- "$ref": "NodeId"
- }
- ],
- "returns": [
- {
- "name": "nodeId",
- "description": "New id of the moved node.",
- "$ref": "NodeId"
+ "name": "cacheName",
+ "description": "The name of the cache.",
+ "type": "string"
}
]
},
{
- "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": [
+ "id": "Header",
+ "type": "object",
+ "properties": [
{
- "name": "query",
- "description": "Plain text or query selector or XPath search query.",
+ "name": "name",
"type": "string"
},
{
- "name": "includeUserAgentShadowDOM",
- "description": "True to search in user agent shadow DOM.",
- "optional": true,
- "type": "boolean"
+ "name": "value",
+ "type": "string"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "CachedResponse",
+ "description": "Cached response",
+ "type": "object",
+ "properties": [
{
- "name": "searchId",
- "description": "Unique search session identifier.",
+ "name": "body",
+ "description": "Entry content, base64-encoded. (Encoded as a base64 string when passed over JSON)",
"type": "string"
- },
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "deleteCache",
+ "description": "Deletes a cache.",
+ "parameters": [
{
- "name": "resultCount",
- "description": "Number of search results.",
- "type": "integer"
+ "name": "cacheId",
+ "description": "Id of cache for deletion.",
+ "$ref": "CacheId"
}
]
},
{
- "name": "pushNodeByPathToFrontend",
- "description": "Requests that the node is sent to the caller given its path. // FIXME, use XPath",
- "experimental": true,
+ "name": "deleteEntry",
+ "description": "Deletes a cache entry.",
"parameters": [
{
- "name": "path",
- "description": "Path to node in the proprietary format.",
- "type": "string"
- }
- ],
- "returns": [
+ "name": "cacheId",
+ "description": "Id of cache where the entry will be deleted.",
+ "$ref": "CacheId"
+ },
{
- "name": "nodeId",
- "description": "Id of the node for given path.",
- "$ref": "NodeId"
+ "name": "request",
+ "description": "URL spec of the request.",
+ "type": "string"
}
]
},
{
- "name": "pushNodesByBackendIdsToFrontend",
- "description": "Requests that a batch of nodes is sent to the caller given their backend node ids.",
- "experimental": true,
+ "name": "requestCacheNames",
+ "description": "Requests cache names.",
"parameters": [
{
- "name": "backendNodeIds",
- "description": "The array of backend node ids.",
- "type": "array",
- "items": {
- "$ref": "BackendNodeId"
- }
+ "name": "securityOrigin",
+ "description": "Security origin.",
+ "type": "string"
}
],
"returns": [
{
- "name": "nodeIds",
- "description": "The array of ids of pushed nodes that correspond to the backend ids specified in\nbackendNodeIds.",
+ "name": "caches",
+ "description": "Caches for the security origin.",
"type": "array",
"items": {
- "$ref": "NodeId"
+ "$ref": "Cache"
}
}
]
},
{
- "name": "querySelector",
- "description": "Executes `querySelector` on a given node.",
+ "name": "requestCachedResponse",
+ "description": "Fetches cache entry.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to query upon.",
- "$ref": "NodeId"
+ "name": "cacheId",
+ "description": "Id of cache that contains the entry.",
+ "$ref": "CacheId"
},
{
- "name": "selector",
- "description": "Selector string.",
+ "name": "requestURL",
+ "description": "URL spec of the request.",
"type": "string"
+ },
+ {
+ "name": "requestHeaders",
+ "description": "headers of the request.",
+ "type": "array",
+ "items": {
+ "$ref": "Header"
+ }
}
],
"returns": [
{
- "name": "nodeId",
- "description": "Query selector result.",
- "$ref": "NodeId"
+ "name": "response",
+ "description": "Response read from the cache.",
+ "$ref": "CachedResponse"
}
]
},
{
- "name": "querySelectorAll",
- "description": "Executes `querySelectorAll` on a given node.",
+ "name": "requestEntries",
+ "description": "Requests data from cache.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to query upon.",
- "$ref": "NodeId"
+ "name": "cacheId",
+ "description": "ID of cache to get entries from.",
+ "$ref": "CacheId"
},
{
- "name": "selector",
- "description": "Selector string.",
+ "name": "skipCount",
+ "description": "Number of records to skip.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "pageSize",
+ "description": "Number of records to fetch.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "pathFilter",
+ "description": "If present, only return the entries containing this substring in the path",
+ "optional": true,
"type": "string"
}
],
"returns": [
{
- "name": "nodeIds",
- "description": "Query selector result.",
+ "name": "cacheDataEntries",
+ "description": "Array of object store data entries.",
"type": "array",
"items": {
- "$ref": "NodeId"
+ "$ref": "DataEntry"
}
+ },
+ {
+ "name": "returnCount",
+ "description": "Count of returned entries from this storage. If pathFilter is empty, it\nis the count of all entries from this storage.",
+ "type": "number"
}
]
- },
- {
- "name": "redo",
- "description": "Re-does the last undone action.",
- "experimental": true
- },
+ }
+ ]
+ },
+ {
+ "domain": "Cast",
+ "description": "A domain for interacting with Cast, Presentation API, and Remote Playback API\nfunctionalities.",
+ "experimental": true,
+ "types": [
{
- "name": "removeAttribute",
- "description": "Removes attribute with given name from an element with given id.",
- "parameters": [
+ "id": "Sink",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Id of the element to remove attribute from.",
- "$ref": "NodeId"
+ "name": "name",
+ "type": "string"
},
{
- "name": "name",
- "description": "Name of the attribute to remove.",
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "name": "session",
+ "description": "Text describing the current session. Present only if there is an active\nsession on the sink.",
+ "optional": true,
"type": "string"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "name": "removeNode",
- "description": "Removes node with given id.",
+ "name": "enable",
+ "description": "Starts observing for sinks that can be used for tab mirroring, and if set,\nsinks compatible with |presentationUrl| as well. When sinks are found, a\n|sinksUpdated| event is fired.\nAlso starts observing for issue messages. When an issue is added or removed,\nan |issueUpdated| event is fired.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the node to remove.",
- "$ref": "NodeId"
+ "name": "presentationUrl",
+ "optional": true,
+ "type": "string"
}
]
},
{
- "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.",
+ "name": "disable",
+ "description": "Stops observing for sinks and issues."
+ },
+ {
+ "name": "setSinkToUse",
+ "description": "Sets a sink to be used when the web page requests the browser to choose a\nsink via Presentation API, Remote Playback API, or Cast SDK.",
"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": "sinkName",
+ "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.",
+ "name": "startDesktopMirroring",
+ "description": "Starts mirroring the desktop to the sink.",
"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": "sinkName",
+ "type": "string"
}
]
},
{
- "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": "setAttributeValue",
- "description": "Sets attribute for an element with given id.",
+ "name": "startTabMirroring",
+ "description": "Starts mirroring the tab to the sink.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the element to set attribute for.",
- "$ref": "NodeId"
- },
- {
- "name": "name",
- "description": "Attribute name.",
- "type": "string"
- },
- {
- "name": "value",
- "description": "Attribute value.",
+ "name": "sinkName",
"type": "string"
}
]
},
{
- "name": "setAttributesAsText",
- "description": "Sets attributes on element with given id. This method is useful when user edits some existing\nattribute value and types in several attribute name/value pairs.",
+ "name": "stopCasting",
+ "description": "Stops the active Cast session on the sink.",
"parameters": [
{
- "name": "nodeId",
- "description": "Id of the element to set attributes for.",
- "$ref": "NodeId"
- },
- {
- "name": "text",
- "description": "Text with a number of attributes. Will parse this text using HTML parser.",
- "type": "string"
- },
- {
- "name": "name",
- "description": "Attribute name to replace with new attributes derived from text in case text parsed\nsuccessfully.",
- "optional": true,
+ "name": "sinkName",
"type": "string"
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "setFileInputFiles",
- "description": "Sets files for the given file input element.",
+ "name": "sinksUpdated",
+ "description": "This is fired whenever the list of available sinks changes. A sink is a\ndevice or a software surface that you can cast to.",
"parameters": [
{
- "name": "files",
- "description": "Array of file paths to set.",
+ "name": "sinks",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "Sink"
}
- },
- {
- "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": "getFileInfo",
- "description": "Returns file information for the given\nFile wrapper.",
- "experimental": true,
+ "name": "issueUpdated",
+ "description": "This is fired whenever the outstanding issue/error message changes.\n|issueMessage| is empty if there is no issue.",
"parameters": [
{
- "name": "objectId",
- "description": "JavaScript object id of the node wrapper.",
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
- {
- "name": "path",
+ "name": "issueMessage",
"type": "string"
}
]
+ }
+ ]
+ },
+ {
+ "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"
+ ],
+ "types": [
+ {
+ "id": "NodeId",
+ "description": "Unique DOM node identifier.",
+ "type": "integer"
},
{
- "name": "setInspectedNode",
- "description": "Enables console to refer to the node with given id via $x (see Command Line API for more details\n$x functions).",
- "experimental": true,
- "parameters": [
- {
- "name": "nodeId",
- "description": "DOM node id to be accessible by means of $x command line API.",
- "$ref": "NodeId"
- }
- ]
+ "id": "BackendNodeId",
+ "description": "Unique DOM node identifier used to reference a node that may not have been pushed to the\nfront-end.",
+ "type": "integer"
},
{
- "name": "setNodeName",
- "description": "Sets node name for a node with given id.",
- "parameters": [
+ "id": "BackendNode",
+ "description": "Backend node with a friendly name.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeId",
- "description": "Id of the node to set name for.",
- "$ref": "NodeId"
+ "name": "nodeType",
+ "description": "`Node`'s nodeType.",
+ "type": "integer"
},
{
- "name": "name",
- "description": "New node's name.",
+ "name": "nodeName",
+ "description": "`Node`'s nodeName.",
"type": "string"
- }
- ],
- "returns": [
+ },
{
- "name": "nodeId",
- "description": "New node's id.",
- "$ref": "NodeId"
+ "name": "backendNodeId",
+ "$ref": "BackendNodeId"
}
]
},
{
- "name": "setNodeValue",
- "description": "Sets node value for a node with given id.",
- "parameters": [
- {
- "name": "nodeId",
- "description": "Id of the node to set value for.",
- "$ref": "NodeId"
- },
- {
- "name": "value",
- "description": "New node's value.",
- "type": "string"
- }
+ "id": "PseudoType",
+ "description": "Pseudo element type.",
+ "type": "string",
+ "enum": [
+ "first-line",
+ "first-letter",
+ "before",
+ "after",
+ "marker",
+ "backdrop",
+ "selection",
+ "target-text",
+ "spelling-error",
+ "grammar-error",
+ "highlight",
+ "first-line-inherited",
+ "scrollbar",
+ "scrollbar-thumb",
+ "scrollbar-button",
+ "scrollbar-track",
+ "scrollbar-track-piece",
+ "scrollbar-corner",
+ "resizer",
+ "input-list-button",
+ "transition",
+ "transition-container",
+ "transition-old-content",
+ "transition-new-content"
]
},
{
- "name": "setOuterHTML",
- "description": "Sets node HTML markup, returns new node id.",
- "parameters": [
- {
- "name": "nodeId",
- "description": "Id of the node to set markup for.",
- "$ref": "NodeId"
- },
- {
- "name": "outerHTML",
- "description": "Outer HTML markup to set.",
- "type": "string"
- }
+ "id": "ShadowRootType",
+ "description": "Shadow root type.",
+ "type": "string",
+ "enum": [
+ "user-agent",
+ "open",
+ "closed"
]
},
{
- "name": "undo",
- "description": "Undoes the last performed action.",
- "experimental": true
+ "id": "CompatibilityMode",
+ "description": "Document compatibility mode.",
+ "type": "string",
+ "enum": [
+ "QuirksMode",
+ "LimitedQuirksMode",
+ "NoQuirksMode"
+ ]
},
{
- "name": "getFrameOwner",
- "description": "Returns iframe node that owns iframe with the given domain.",
- "experimental": true,
- "parameters": [
+ "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": "frameId",
- "$ref": "Page.FrameId"
- }
- ],
- "returns": [
+ "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": "Resulting node.",
+ "description": "The BackendNodeId for this node.",
"$ref": "BackendNodeId"
},
{
- "name": "nodeId",
- "description": "Id of the node at given coordinates, only when enabled and requested document.",
- "optional": true,
- "$ref": "NodeId"
- }
- ]
- }
- ],
- "events": [
- {
- "name": "attributeModified",
- "description": "Fired when `Element`'s attribute is modified.",
- "parameters": [
+ "name": "nodeType",
+ "description": "`Node`'s nodeType.",
+ "type": "integer"
+ },
{
- "name": "nodeId",
- "description": "Id of the node that has changed.",
- "$ref": "NodeId"
+ "name": "nodeName",
+ "description": "`Node`'s nodeName.",
+ "type": "string"
},
{
- "name": "name",
- "description": "Attribute name.",
+ "name": "localName",
+ "description": "`Node`'s localName.",
"type": "string"
},
{
- "name": "value",
- "description": "Attribute value.",
+ "name": "nodeValue",
+ "description": "`Node`'s nodeValue.",
"type": "string"
- }
- ]
- },
- {
- "name": "attributeRemoved",
- "description": "Fired when `Element`'s attribute is removed.",
- "parameters": [
+ },
{
- "name": "nodeId",
- "description": "Id of the node that has changed.",
- "$ref": "NodeId"
+ "name": "childNodeCount",
+ "description": "Child count for `Container` nodes.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "name",
- "description": "A ttribute name.",
+ "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": "characterDataModified",
- "description": "Mirrors `DOMCharacterDataModified` event.",
- "parameters": [
+ },
{
- "name": "nodeId",
- "description": "Id of the node that has changed.",
- "$ref": "NodeId"
+ "name": "baseURL",
+ "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "characterData",
- "description": "New text value.",
+ "name": "publicId",
+ "description": "`DocumentType`'s publicId.",
+ "optional": true,
"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": "systemId",
+ "description": "`DocumentType`'s systemId.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "childNodeCount",
- "description": "New node count.",
- "type": "integer"
- }
- ]
- },
- {
- "name": "childNodeInserted",
- "description": "Mirrors `DOMNodeInserted` event.",
- "parameters": [
+ "name": "internalSubset",
+ "description": "`DocumentType`'s internalSubset.",
+ "optional": true,
+ "type": "string"
+ },
{
- "name": "parentNodeId",
- "description": "Id of the node that has changed.",
- "$ref": "NodeId"
+ "name": "xmlVersion",
+ "description": "`Document`'s XML version in case of XML documents.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "previousNodeId",
- "description": "If of the previous siblint.",
- "$ref": "NodeId"
+ "name": "name",
+ "description": "`Attr`'s name.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "node",
- "description": "Inserted node data.",
+ "name": "value",
+ "description": "`Attr`'s value.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "pseudoType",
+ "description": "Pseudo element type for this node.",
+ "optional": true,
+ "$ref": "PseudoType"
+ },
+ {
+ "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": "childNodeRemoved",
- "description": "Mirrors `DOMNodeRemoved` event.",
- "parameters": [
+ },
{
- "name": "parentNodeId",
- "description": "Parent id.",
- "$ref": "NodeId"
+ "name": "shadowRoots",
+ "description": "Shadow root list for given element host.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "Node"
+ }
},
{
- "name": "nodeId",
- "description": "Id of the node that has been removed.",
- "$ref": "NodeId"
- }
- ]
- },
- {
- "name": "distributedNodesUpdated",
- "description": "Called when distrubution is changed.",
- "experimental": true,
- "parameters": [
+ "name": "templateContent",
+ "description": "Content document fragment for template elements.",
+ "optional": true,
+ "$ref": "Node"
+ },
{
- "name": "insertionPointId",
- "description": "Insertion point where distrubuted nodes were updated.",
- "$ref": "NodeId"
+ "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": "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": [
+ "id": "RGBA",
+ "description": "A structure holding an RGBA color.",
+ "type": "object",
+ "properties": [
{
- "name": "nodeIds",
- "description": "Ids of the nodes for which the inline styles have been invalidated.",
- "type": "array",
- "items": {
- "$ref": "NodeId"
- }
+ "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"
}
]
},
{
- "name": "pseudoElementAdded",
- "description": "Called when a pseudo element is added to an element.",
- "experimental": true,
- "parameters": [
+ "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": "parentId",
- "description": "Pseudo element's parent element id.",
- "$ref": "NodeId"
+ "name": "content",
+ "description": "Content box",
+ "$ref": "Quad"
},
{
- "name": "pseudoElement",
- "description": "The added pseudo element.",
- "$ref": "Node"
- }
- ]
- },
- {
- "name": "pseudoElementRemoved",
- "description": "Called when a pseudo element is removed from an element.",
- "experimental": true,
- "parameters": [
+ "name": "padding",
+ "description": "Padding box",
+ "$ref": "Quad"
+ },
{
- "name": "parentId",
- "description": "Pseudo element's parent element id.",
- "$ref": "NodeId"
+ "name": "border",
+ "description": "Border box",
+ "$ref": "Quad"
},
{
- "name": "pseudoElementId",
- "description": "The removed pseudo element id.",
- "$ref": "NodeId"
+ "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"
}
]
},
{
- "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": [
+ "id": "ShapeOutsideInfo",
+ "description": "CSS Shape Outside details.",
+ "type": "object",
+ "properties": [
{
- "name": "parentId",
- "description": "Parent node id to populate with children.",
- "$ref": "NodeId"
+ "name": "bounds",
+ "description": "Shape bounds",
+ "$ref": "Quad"
},
{
- "name": "nodes",
- "description": "Child nodes array.",
+ "name": "shape",
+ "description": "Shape coordinate details",
"type": "array",
"items": {
- "$ref": "Node"
+ "type": "any"
+ }
+ },
+ {
+ "name": "marginShape",
+ "description": "Margin shape bounds",
+ "type": "array",
+ "items": {
+ "type": "any"
}
}
]
},
{
- "name": "shadowRootPopped",
- "description": "Called when shadow root is popped from the element.",
- "experimental": true,
- "parameters": [
+ "id": "Rect",
+ "description": "Rectangle.",
+ "type": "object",
+ "properties": [
{
- "name": "hostId",
- "description": "Host element id.",
- "$ref": "NodeId"
+ "name": "x",
+ "description": "X coordinate",
+ "type": "number"
},
{
- "name": "rootId",
- "description": "Shadow root id.",
- "$ref": "NodeId"
- }
- ]
- },
- {
- "name": "shadowRootPushed",
- "description": "Called when shadow root is pushed into the element.",
- "experimental": true,
- "parameters": [
+ "name": "y",
+ "description": "Y coordinate",
+ "type": "number"
+ },
{
- "name": "hostId",
- "description": "Host element id.",
- "$ref": "NodeId"
+ "name": "width",
+ "description": "Rectangle width",
+ "type": "number"
},
{
- "name": "root",
- "description": "Shadow root.",
- "$ref": "Node"
+ "name": "height",
+ "description": "Rectangle height",
+ "type": "number"
}
]
- }
- ]
- },
- {
- "domain": "DOMDebugger",
- "description": "DOM debugging allows setting breakpoints on particular DOM operations and events. JavaScript\nexecution will stop on these operations as if there was a regular breakpoint set.",
- "dependencies": [
- "DOM",
- "Debugger",
- "Runtime"
- ],
- "types": [
- {
- "id": "DOMBreakpointType",
- "description": "DOM breakpoint type.",
- "type": "string",
- "enum": [
- "subtree-modified",
- "attribute-modified",
- "node-removed"
- ]
},
{
- "id": "EventListener",
- "description": "Object event listener.",
+ "id": "CSSComputedStyleProperty",
"type": "object",
"properties": [
{
- "name": "type",
- "description": "`EventListener`'s type.",
+ "name": "name",
+ "description": "Computed style property name.",
"type": "string"
},
{
- "name": "useCapture",
- "description": "`EventListener`'s useCapture.",
- "type": "boolean"
- },
- {
- "name": "passive",
- "description": "`EventListener`'s passive flag.",
- "type": "boolean"
- },
- {
- "name": "once",
- "description": "`EventListener`'s once flag.",
- "type": "boolean"
- },
- {
- "name": "scriptId",
- "description": "Script id of the handler code.",
- "$ref": "Runtime.ScriptId"
- },
- {
- "name": "lineNumber",
- "description": "Line number in the script (0-based).",
- "type": "integer"
- },
- {
- "name": "columnNumber",
- "description": "Column number in the script (0-based).",
- "type": "integer"
- },
- {
- "name": "handler",
- "description": "Event handler function value.",
- "optional": true,
- "$ref": "Runtime.RemoteObject"
- },
- {
- "name": "originalHandler",
- "description": "Event original handler function value.",
- "optional": true,
- "$ref": "Runtime.RemoteObject"
- },
- {
- "name": "backendNodeId",
- "description": "Node the listener is added to (if any).",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
+ "name": "value",
+ "description": "Computed style property value.",
+ "type": "string"
}
]
}
],
"commands": [
{
- "name": "getEventListeners",
- "description": "Returns event listeners of the given object.",
+ "name": "collectClassNamesFromSubtree",
+ "description": "Collects class names for the node with given id and all of it's child nodes.",
+ "experimental": true,
"parameters": [
{
- "name": "objectId",
- "description": "Identifier of the object to return listeners for.",
- "$ref": "Runtime.RemoteObjectId"
- },
- {
- "name": "depth",
- "description": "The maximum depth at which Node 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). Reports listeners for all contexts if pierce is enabled.",
- "optional": true,
- "type": "boolean"
+ "name": "nodeId",
+ "description": "Id of the node to collect class names.",
+ "$ref": "NodeId"
}
],
"returns": [
{
- "name": "listeners",
- "description": "Array of relevant listeners.",
+ "name": "classNames",
+ "description": "Class name list.",
"type": "array",
"items": {
- "$ref": "EventListener"
+ "type": "string"
}
}
]
},
{
- "name": "removeDOMBreakpoint",
- "description": "Removes DOM breakpoint that was set using `setDOMBreakpoint`.",
+ "name": "copyTo",
+ "description": "Creates a deep copy of the specified node and places it into the target container before the\ngiven anchor.",
+ "experimental": true,
"parameters": [
{
"name": "nodeId",
- "description": "Identifier of the node to remove breakpoint from.",
- "$ref": "DOM.NodeId"
+ "description": "Id of the node to copy.",
+ "$ref": "NodeId"
},
{
- "name": "type",
- "description": "Type of the breakpoint to remove.",
- "$ref": "DOMBreakpointType"
- }
- ]
- },
- {
- "name": "removeEventListenerBreakpoint",
- "description": "Removes breakpoint on particular DOM event.",
- "parameters": [
- {
- "name": "eventName",
- "description": "Event name.",
- "type": "string"
+ "name": "targetNodeId",
+ "description": "Id of the element to drop the copy into.",
+ "$ref": "NodeId"
},
{
- "name": "targetName",
- "description": "EventTarget interface name.",
- "experimental": true,
+ "name": "insertBeforeNodeId",
+ "description": "Drop the copy before this node (if absent, the copy becomes the last child of\n`targetNodeId`).",
"optional": true,
- "type": "string"
+ "$ref": "NodeId"
}
- ]
- },
- {
- "name": "removeInstrumentationBreakpoint",
- "description": "Removes breakpoint on particular native event.",
- "experimental": true,
- "parameters": [
+ ],
+ "returns": [
{
- "name": "eventName",
- "description": "Instrumentation name to stop on.",
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the node clone.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "removeXHRBreakpoint",
- "description": "Removes breakpoint from XMLHttpRequest.",
+ "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": "url",
- "description": "Resource URL substring.",
- "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": "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": "setDOMBreakpoint",
- "description": "Sets breakpoint on particular operation with DOM.",
+ "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.",
+ "experimental": true,
"parameters": [
{
"name": "nodeId",
- "description": "Identifier of the node to set breakpoint on.",
- "$ref": "DOM.NodeId"
+ "description": "Identifier of the node.",
+ "optional": true,
+ "$ref": "NodeId"
},
{
- "name": "type",
- "description": "Type of the operation to stop upon.",
- "$ref": "DOMBreakpointType"
- }
- ]
- },
- {
- "name": "setEventListenerBreakpoint",
- "description": "Sets breakpoint on particular DOM event.",
- "parameters": [
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
+ "optional": true,
+ "$ref": "BackendNodeId"
+ },
{
- "name": "eventName",
- "description": "DOM Event name to stop on (any DOM event will do).",
- "type": "string"
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
},
{
- "name": "targetName",
- "description": "EventTarget interface name to stop on. If equal to `\"*\"` or not provided, will stop on any\nEventTarget.",
- "experimental": true,
+ "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,
- "type": "string"
+ "$ref": "Rect"
}
]
},
{
- "name": "setInstrumentationBreakpoint",
- "description": "Sets breakpoint on particular native event.",
+ "name": "disable",
+ "description": "Disables DOM agent for the given page."
+ },
+ {
+ "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": "eventName",
- "description": "Instrumentation name to stop on.",
+ "name": "searchId",
+ "description": "Unique search session identifier.",
"type": "string"
}
]
},
{
- "name": "setXHRBreakpoint",
- "description": "Sets breakpoint on XMLHttpRequest.",
+ "name": "enable",
+ "description": "Enables DOM agent for the given page."
+ },
+ {
+ "name": "focus",
+ "description": "Focuses the given element.",
"parameters": [
{
- "name": "url",
- "description": "Resource URL substring. All XHRs having this substring in the URL will get stopped upon.",
- "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"
}
]
- }
- ]
- },
- {
- "domain": "DOMSnapshot",
- "description": "This domain facilitates obtaining document snapshots with DOM, layout, and style information.",
- "experimental": true,
- "dependencies": [
- "CSS",
- "DOM",
- "DOMDebugger",
- "Page"
- ],
- "types": [
+ },
{
- "id": "DOMNode",
- "description": "A Node in the DOM tree.",
- "type": "object",
- "properties": [
- {
- "name": "nodeType",
- "description": "`Node`'s nodeType.",
- "type": "integer"
- },
+ "name": "getAttributes",
+ "description": "Returns attributes for the specified node.",
+ "parameters": [
{
- "name": "nodeName",
- "description": "`Node`'s nodeName.",
- "type": "string"
- },
+ "name": "nodeId",
+ "description": "Id of the node to retrieve attibutes for.",
+ "$ref": "NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "nodeValue",
- "description": "`Node`'s nodeValue.",
- "type": "string"
- },
+ "name": "attributes",
+ "description": "An interleaved array of node attribute names and values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getBoxModel",
+ "description": "Returns boxes for the given node.",
+ "parameters": [
{
- "name": "textValue",
- "description": "Only set for textarea elements, contains the text value.",
+ "name": "nodeId",
+ "description": "Identifier of the node.",
"optional": true,
- "type": "string"
+ "$ref": "NodeId"
},
{
- "name": "inputValue",
- "description": "Only set for input elements, contains the input's associated text value.",
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
"optional": true,
- "type": "string"
+ "$ref": "BackendNodeId"
},
{
- "name": "inputChecked",
- "description": "Only set for radio and checkbox input elements, indicates if the element has been checked",
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
"optional": true,
- "type": "boolean"
- },
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ],
+ "returns": [
{
- "name": "optionSelected",
- "description": "Only set for option elements, indicates if the element has been selected",
+ "name": "model",
+ "description": "Box model for the node.",
+ "$ref": "BoxModel"
+ }
+ ]
+ },
+ {
+ "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,
- "type": "boolean"
+ "$ref": "NodeId"
},
{
"name": "backendNodeId",
- "description": "`Node`'s id, corresponds to DOM.Node.backendNodeId.",
- "$ref": "DOM.BackendNodeId"
+ "description": "Identifier of the backend node.",
+ "optional": true,
+ "$ref": "BackendNodeId"
},
{
- "name": "childNodeIndexes",
- "description": "The indexes of the node's child nodes in the `domNodes` array returned by `getSnapshot`, if\nany.",
+ "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": {
- "type": "integer"
+ "$ref": "Quad"
}
- },
+ }
+ ]
+ },
+ {
+ "name": "getDocument",
+ "description": "Returns the root DOM node (and optionally the subtree) to the caller.",
+ "parameters": [
{
- "name": "attributes",
- "description": "Attributes of an `Element` node.",
+ "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": "array",
- "items": {
- "$ref": "NameValue"
- }
+ "type": "integer"
},
{
- "name": "pseudoElementIndexes",
- "description": "Indexes of pseudo elements associated with this node in the `domNodes` array returned by\n`getSnapshot`, if any.",
+ "name": "pierce",
+ "description": "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false).",
"optional": true,
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
+ "type": "boolean"
+ }
+ ],
+ "returns": [
{
- "name": "layoutNodeIndex",
- "description": "The index of the node's related layout tree node in the `layoutTreeNodes` array returned by\n`getSnapshot`, if any.",
- "optional": true,
- "type": "integer"
- },
+ "name": "root",
+ "description": "Resulting node.",
+ "$ref": "Node"
+ }
+ ]
+ },
+ {
+ "name": "getFlattenedDocument",
+ "description": "Returns the root DOM node (and optionally the subtree) to the caller.\nDeprecated, as it is not designed to work well with the rest of the DOM agent.\nUse DOMSnapshot.captureSnapshot instead.",
+ "deprecated": true,
+ "parameters": [
{
- "name": "documentURL",
- "description": "Document URL that `Document` or `FrameOwner` node points to.",
+ "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": "string"
+ "type": "integer"
},
{
- "name": "baseURL",
- "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
+ "name": "pierce",
+ "description": "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false).",
"optional": true,
- "type": "string"
- },
+ "type": "boolean"
+ }
+ ],
+ "returns": [
{
- "name": "contentLanguage",
- "description": "Only set for documents, contains the document's content language.",
- "optional": true,
- "type": "string"
- },
+ "name": "nodes",
+ "description": "Resulting node.",
+ "type": "array",
+ "items": {
+ "$ref": "Node"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getNodesForSubtreeByStyle",
+ "description": "Finds nodes with a given computed style in a subtree.",
+ "experimental": true,
+ "parameters": [
{
- "name": "documentEncoding",
- "description": "Only set for documents, contains the document's character set encoding.",
- "optional": true,
- "type": "string"
+ "name": "nodeId",
+ "description": "Node ID pointing to the root of a subtree.",
+ "$ref": "NodeId"
},
{
- "name": "publicId",
- "description": "`DocumentType` node's publicId.",
- "optional": true,
- "type": "string"
+ "name": "computedStyles",
+ "description": "The style to filter nodes by (includes nodes if any of properties matches).",
+ "type": "array",
+ "items": {
+ "$ref": "CSSComputedStyleProperty"
+ }
},
{
- "name": "systemId",
- "description": "`DocumentType` node's systemId.",
+ "name": "pierce",
+ "description": "Whether or not iframes and shadow roots in the same target should be traversed when returning the\nresults (default is false).",
"optional": true,
- "type": "string"
- },
+ "type": "boolean"
+ }
+ ],
+ "returns": [
{
- "name": "frameId",
- "description": "Frame ID for frame owner elements and also for the document node.",
- "optional": true,
- "$ref": "Page.FrameId"
- },
+ "name": "nodeIds",
+ "description": "Resulting nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getNodeForLocation",
+ "description": "Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is\neither returned or not.",
+ "parameters": [
{
- "name": "contentDocumentIndex",
- "description": "The index of a frame owner element's content document in the `domNodes` array returned by\n`getSnapshot`, if any.",
- "optional": true,
+ "name": "x",
+ "description": "X coordinate.",
"type": "integer"
},
{
- "name": "pseudoType",
- "description": "Type of a pseudo element node.",
- "optional": true,
- "$ref": "DOM.PseudoType"
+ "name": "y",
+ "description": "Y coordinate.",
+ "type": "integer"
},
{
- "name": "shadowRootType",
- "description": "Shadow root type.",
+ "name": "includeUserAgentShadowDOM",
+ "description": "False to skip to the nearest non-UA shadow root ancestor (default: false).",
"optional": true,
- "$ref": "DOM.ShadowRootType"
+ "type": "boolean"
},
{
- "name": "isClickable",
- "description": "Whether this DOM node responds to mouse clicks. This includes nodes that have had click\nevent listeners attached via JavaScript as well as anchor tags that naturally navigate when\nclicked.",
+ "name": "ignorePointerEventsNone",
+ "description": "Whether to ignore pointer-events: none on elements and hit test them.",
"optional": true,
"type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "backendNodeId",
+ "description": "Resulting node.",
+ "$ref": "BackendNodeId"
},
{
- "name": "eventListeners",
- "description": "Details of the node's event listeners, if any.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "DOMDebugger.EventListener"
- }
+ "name": "frameId",
+ "description": "Frame this node belongs to.",
+ "$ref": "Page.FrameId"
},
{
- "name": "currentSourceURL",
- "description": "The selected url for nodes with a srcset attribute.",
+ "name": "nodeId",
+ "description": "Id of the node at given coordinates, only when enabled and requested document.",
"optional": true,
- "type": "string"
- },
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "name": "getOuterHTML",
+ "description": "Returns node's HTML markup.",
+ "parameters": [
{
- "name": "originURL",
- "description": "The url of the script (if any) that generates this node.",
+ "name": "nodeId",
+ "description": "Identifier of the node.",
"optional": true,
- "type": "string"
+ "$ref": "NodeId"
},
{
- "name": "scrollOffsetX",
- "description": "Scroll offsets, set when this node is a Document.",
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
"optional": true,
- "type": "number"
+ "$ref": "BackendNodeId"
},
{
- "name": "scrollOffsetY",
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
"optional": true,
- "type": "number"
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "outerHTML",
+ "description": "Outer HTML markup.",
+ "type": "string"
}
]
},
{
- "id": "InlineTextBox",
- "description": "Details of post layout rendered text positions. The exact layout should not be regarded as\nstable and may change between versions.",
- "type": "object",
- "properties": [
- {
- "name": "boundingBox",
- "description": "The bounding box in document coordinates. Note that scroll offset of the document is ignored.",
- "$ref": "DOM.Rect"
- },
+ "name": "getRelayoutBoundary",
+ "description": "Returns the id of the nearest ancestor that is a relayout boundary.",
+ "experimental": true,
+ "parameters": [
{
- "name": "startCharacterIndex",
- "description": "The starting index in characters, for this post layout textbox substring. Characters that\nwould be represented as a surrogate pair in UTF-16 have length 2.",
- "type": "integer"
- },
+ "name": "nodeId",
+ "description": "Id of the node.",
+ "$ref": "NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "numCharacters",
- "description": "The number of characters in this post layout textbox substring. Characters that would be\nrepresented as a surrogate pair in UTF-16 have length 2.",
- "type": "integer"
+ "name": "nodeId",
+ "description": "Relayout boundary node id for the given node.",
+ "$ref": "NodeId"
}
]
},
{
- "id": "LayoutTreeNode",
- "description": "Details of an element in the DOM tree with a LayoutObject.",
- "type": "object",
- "properties": [
- {
- "name": "domNodeIndex",
- "description": "The index of the related DOM node in the `domNodes` array returned by `getSnapshot`.",
- "type": "integer"
- },
- {
- "name": "boundingBox",
- "description": "The bounding box in document coordinates. Note that scroll offset of the document is ignored.",
- "$ref": "DOM.Rect"
- },
+ "name": "getSearchResults",
+ "description": "Returns search results from given `fromIndex` to given `toIndex` from the search with the given\nidentifier.",
+ "experimental": true,
+ "parameters": [
{
- "name": "layoutText",
- "description": "Contents of the LayoutText, if any.",
- "optional": true,
+ "name": "searchId",
+ "description": "Unique search session identifier.",
"type": "string"
},
{
- "name": "inlineTextNodes",
- "description": "The post-layout inline text nodes, if any.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "InlineTextBox"
- }
+ "name": "fromIndex",
+ "description": "Start index of the search result to be returned.",
+ "type": "integer"
},
{
- "name": "styleIndex",
- "description": "Index into the `computedStyles` array returned by `getSnapshot`.",
- "optional": true,
+ "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": "hideHighlight",
+ "description": "Hides any highlight.",
+ "redirect": "Overlay"
+ },
+ {
+ "name": "highlightNode",
+ "description": "Highlights DOM node.",
+ "redirect": "Overlay"
+ },
+ {
+ "name": "highlightRect",
+ "description": "Highlights given rectangle.",
+ "redirect": "Overlay"
+ },
+ {
+ "name": "markUndoableState",
+ "description": "Marks last undoable state.",
+ "experimental": true
+ },
+ {
+ "name": "moveTo",
+ "description": "Moves node into the new container, places it before the given anchor.",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "Id of the node to move.",
+ "$ref": "NodeId"
},
{
- "name": "paintOrder",
- "description": "Global paint order index, which is determined by the stacking order of the nodes. Nodes\nthat are painted together will have the same index. Only provided if includePaintOrder in\ngetSnapshot was true.",
- "optional": true,
- "type": "integer"
+ "name": "targetNodeId",
+ "description": "Id of the element to drop the moved node into.",
+ "$ref": "NodeId"
},
{
- "name": "isStackingContext",
- "description": "Set to true to indicate the element begins a new stacking context.",
+ "name": "insertBeforeNodeId",
+ "description": "Drop node before this one (if absent, the moved node becomes the last child of\n`targetNodeId`).",
"optional": true,
- "type": "boolean"
+ "$ref": "NodeId"
}
- ]
- },
- {
- "id": "ComputedStyle",
- "description": "A subset of the full ComputedStyle as defined by the request whitelist.",
- "type": "object",
- "properties": [
+ ],
+ "returns": [
{
- "name": "properties",
- "description": "Name/value pairs of computed style properties.",
- "type": "array",
- "items": {
- "$ref": "NameValue"
- }
+ "name": "nodeId",
+ "description": "New id of the moved node.",
+ "$ref": "NodeId"
}
]
},
{
- "id": "NameValue",
- "description": "A name/value pair.",
- "type": "object",
- "properties": [
+ "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": "name",
- "description": "Attribute/property name.",
+ "name": "query",
+ "description": "Plain text or query selector or XPath search query.",
"type": "string"
},
{
- "name": "value",
- "description": "Attribute/property value.",
+ "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"
}
]
},
{
- "id": "StringIndex",
- "description": "Index of the string in the strings table.",
- "type": "integer"
- },
- {
- "id": "ArrayOfStrings",
- "description": "Index of the string in the strings table.",
- "type": "array",
- "items": {
- "$ref": "StringIndex"
- }
+ "name": "pushNodeByPathToFrontend",
+ "description": "Requests that the node is sent to the caller given its path. // FIXME, use XPath",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "path",
+ "description": "Path to node in the proprietary format.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodeId",
+ "description": "Id of the node for given path.",
+ "$ref": "NodeId"
+ }
+ ]
},
{
- "id": "RareStringData",
- "description": "Data that is only present on rare nodes.",
- "type": "object",
- "properties": [
+ "name": "pushNodesByBackendIdsToFrontend",
+ "description": "Requests that a batch of nodes is sent to the caller given their backend node ids.",
+ "experimental": true,
+ "parameters": [
{
- "name": "index",
+ "name": "backendNodeIds",
+ "description": "The array of backend node ids.",
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "BackendNodeId"
}
- },
+ }
+ ],
+ "returns": [
{
- "name": "value",
+ "name": "nodeIds",
+ "description": "The array of ids of pushed nodes that correspond to the backend ids specified in\nbackendNodeIds.",
"type": "array",
"items": {
- "$ref": "StringIndex"
+ "$ref": "NodeId"
}
}
]
},
{
- "id": "RareBooleanData",
- "type": "object",
- "properties": [
+ "name": "querySelector",
+ "description": "Executes `querySelector` on a given node.",
+ "parameters": [
{
- "name": "index",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "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"
}
]
},
{
- "id": "RareIntegerData",
- "type": "object",
- "properties": [
+ "name": "querySelectorAll",
+ "description": "Executes `querySelectorAll` on a given node.",
+ "parameters": [
{
- "name": "index",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "nodeId",
+ "description": "Id of the node to query upon.",
+ "$ref": "NodeId"
},
{
- "name": "value",
+ "name": "selector",
+ "description": "Selector string.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "nodeIds",
+ "description": "Query selector result.",
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "NodeId"
}
}
]
},
{
- "id": "Rectangle",
- "type": "array",
- "items": {
- "type": "number"
- }
+ "name": "redo",
+ "description": "Re-does the last undone action.",
+ "experimental": true
},
{
- "id": "DocumentSnapshot",
- "description": "Document snapshot.",
- "type": "object",
- "properties": [
+ "name": "removeAttribute",
+ "description": "Removes attribute with given name from an element with given id.",
+ "parameters": [
{
- "name": "documentURL",
- "description": "Document URL that `Document` or `FrameOwner` node points to.",
- "$ref": "StringIndex"
+ "name": "nodeId",
+ "description": "Id of the element to remove attribute from.",
+ "$ref": "NodeId"
},
{
- "name": "baseURL",
- "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
- "$ref": "StringIndex"
- },
+ "name": "name",
+ "description": "Name of the attribute to remove.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "removeNode",
+ "description": "Removes node with given id.",
+ "parameters": [
{
- "name": "contentLanguage",
- "description": "Contains the document's content language.",
- "$ref": "StringIndex"
- },
+ "name": "nodeId",
+ "description": "Id of the node to remove.",
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "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": "encodingName",
- "description": "Contains the document's character set encoding.",
- "$ref": "StringIndex"
+ "name": "nodeId",
+ "description": "Id of the node to get children for.",
+ "$ref": "NodeId"
},
{
- "name": "publicId",
- "description": "`DocumentType` node's publicId.",
- "$ref": "StringIndex"
+ "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": "systemId",
- "description": "`DocumentType` node's systemId.",
- "$ref": "StringIndex"
- },
+ "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": "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": "frameId",
- "description": "Frame ID for frame owner elements and also for the document node.",
- "$ref": "StringIndex"
- },
+ "name": "objectId",
+ "description": "JavaScript object id to convert into node.",
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ],
+ "returns": [
{
- "name": "nodes",
- "description": "A table with dom nodes.",
- "$ref": "NodeTreeSnapshot"
- },
+ "name": "nodeId",
+ "description": "Node id for given object.",
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "name": "resolveNode",
+ "description": "Resolves the JavaScript node object for a given NodeId or BackendNodeId.",
+ "parameters": [
{
- "name": "layout",
- "description": "The nodes in the layout tree.",
- "$ref": "LayoutTreeSnapshot"
+ "name": "nodeId",
+ "description": "Id of the node to resolve.",
+ "optional": true,
+ "$ref": "NodeId"
},
{
- "name": "textBoxes",
- "description": "The post-layout inline text nodes.",
- "$ref": "TextBoxSnapshot"
+ "name": "backendNodeId",
+ "description": "Backend identifier of the node to resolve.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "scrollOffsetX",
- "description": "Horizontal scroll offset.",
+ "name": "objectGroup",
+ "description": "Symbolic group name that can be used to release multiple objects.",
"optional": true,
- "type": "number"
+ "type": "string"
},
{
- "name": "scrollOffsetY",
- "description": "Vertical scroll offset.",
+ "name": "executionContextId",
+ "description": "Execution context in which to resolve the node.",
"optional": true,
- "type": "number"
+ "$ref": "Runtime.ExecutionContextId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "object",
+ "description": "JavaScript object wrapper for given node.",
+ "$ref": "Runtime.RemoteObject"
}
]
},
{
- "id": "NodeTreeSnapshot",
- "description": "Table containing nodes.",
- "type": "object",
- "properties": [
+ "name": "setAttributeValue",
+ "description": "Sets attribute for an element with given id.",
+ "parameters": [
{
- "name": "parentIndex",
- "description": "Parent node index.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "nodeId",
+ "description": "Id of the element to set attribute for.",
+ "$ref": "NodeId"
},
{
- "name": "nodeType",
- "description": "`Node`'s nodeType.",
- "optional": true,
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "name",
+ "description": "Attribute name.",
+ "type": "string"
},
{
- "name": "nodeName",
- "description": "`Node`'s nodeName.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "StringIndex"
- }
- },
+ "name": "value",
+ "description": "Attribute value.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setAttributesAsText",
+ "description": "Sets attributes on element with given id. This method is useful when user edits some existing\nattribute value and types in several attribute name/value pairs.",
+ "parameters": [
{
- "name": "nodeValue",
- "description": "`Node`'s nodeValue.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "StringIndex"
- }
+ "name": "nodeId",
+ "description": "Id of the element to set attributes for.",
+ "$ref": "NodeId"
},
{
- "name": "backendNodeId",
- "description": "`Node`'s id, corresponds to DOM.Node.backendNodeId.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "DOM.BackendNodeId"
- }
+ "name": "text",
+ "description": "Text with a number of attributes. Will parse this text using HTML parser.",
+ "type": "string"
},
{
- "name": "attributes",
- "description": "Attributes of an `Element` node. Flatten name, value pairs.",
+ "name": "name",
+ "description": "Attribute name to replace with new attributes derived from text in case text parsed\nsuccessfully.",
"optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setFileInputFiles",
+ "description": "Sets files for the given file input element.",
+ "parameters": [
+ {
+ "name": "files",
+ "description": "Array of file paths to set.",
"type": "array",
"items": {
- "$ref": "ArrayOfStrings"
+ "type": "string"
}
},
{
- "name": "textValue",
- "description": "Only set for textarea elements, contains the text value.",
- "optional": true,
- "$ref": "RareStringData"
- },
- {
- "name": "inputValue",
- "description": "Only set for input elements, contains the input's associated text value.",
+ "name": "nodeId",
+ "description": "Identifier of the node.",
"optional": true,
- "$ref": "RareStringData"
+ "$ref": "NodeId"
},
{
- "name": "inputChecked",
- "description": "Only set for radio and checkbox input elements, indicates if the element has been checked",
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node.",
"optional": true,
- "$ref": "RareBooleanData"
+ "$ref": "BackendNodeId"
},
{
- "name": "optionSelected",
- "description": "Only set for option elements, indicates if the element has been selected",
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
"optional": true,
- "$ref": "RareBooleanData"
- },
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ]
+ },
+ {
+ "name": "setNodeStackTracesEnabled",
+ "description": "Sets if stack traces should be captured for Nodes. See `Node.getNodeStackTraces`. Default is disabled.",
+ "experimental": true,
+ "parameters": [
{
- "name": "contentDocumentIndex",
- "description": "The index of the document in the list of the snapshot documents.",
- "optional": true,
- "$ref": "RareIntegerData"
- },
+ "name": "enable",
+ "description": "Enable or disable.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "getNodeStackTraces",
+ "description": "Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation.",
+ "experimental": true,
+ "parameters": [
{
- "name": "pseudoType",
- "description": "Type of a pseudo element node.",
- "optional": true,
- "$ref": "RareStringData"
- },
+ "name": "nodeId",
+ "description": "Id of the node to get stack traces for.",
+ "$ref": "NodeId"
+ }
+ ],
+ "returns": [
{
- "name": "isClickable",
- "description": "Whether this DOM node responds to mouse clicks. This includes nodes that have had click\nevent listeners attached via JavaScript as well as anchor tags that naturally navigate when\nclicked.",
+ "name": "creation",
+ "description": "Creation stack trace, if available.",
"optional": true,
- "$ref": "RareBooleanData"
- },
+ "$ref": "Runtime.StackTrace"
+ }
+ ]
+ },
+ {
+ "name": "getFileInfo",
+ "description": "Returns file information for the given\nFile wrapper.",
+ "experimental": true,
+ "parameters": [
{
- "name": "currentSourceURL",
- "description": "The selected url for nodes with a srcset attribute.",
- "optional": true,
- "$ref": "RareStringData"
- },
+ "name": "objectId",
+ "description": "JavaScript object id of the node wrapper.",
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ],
+ "returns": [
{
- "name": "originURL",
- "description": "The url of the script (if any) that generates this node.",
- "optional": true,
- "$ref": "RareStringData"
+ "name": "path",
+ "type": "string"
}
]
},
{
- "id": "LayoutTreeSnapshot",
- "description": "Table of details of an element in the DOM tree with a LayoutObject.",
- "type": "object",
- "properties": [
- {
- "name": "nodeIndex",
- "description": "Index of the corresponding node in the `NodeTreeSnapshot` array returned by `captureSnapshot`.",
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- {
- "name": "styles",
- "description": "Array of indexes specifying computed style strings, filtered according to the `computedStyles` parameter passed to `captureSnapshot`.",
- "type": "array",
- "items": {
- "$ref": "ArrayOfStrings"
- }
- },
- {
- "name": "bounds",
- "description": "The absolute position bounding box.",
- "type": "array",
- "items": {
- "$ref": "Rectangle"
- }
- },
- {
- "name": "text",
- "description": "Contents of the LayoutText, if any.",
- "type": "array",
- "items": {
- "$ref": "StringIndex"
- }
- },
+ "name": "setInspectedNode",
+ "description": "Enables console to refer to the node with given id via $x (see Command Line API for more details\n$x functions).",
+ "experimental": true,
+ "parameters": [
{
- "name": "stackingContexts",
- "description": "Stacking context information.",
- "$ref": "RareBooleanData"
- },
+ "name": "nodeId",
+ "description": "DOM node id to be accessible by means of $x command line API.",
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "name": "setNodeName",
+ "description": "Sets node name for a node with given id.",
+ "parameters": [
{
- "name": "offsetRects",
- "description": "The offset rect of nodes. Only available when includeDOMRects is set to true",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "Rectangle"
- }
+ "name": "nodeId",
+ "description": "Id of the node to set name for.",
+ "$ref": "NodeId"
},
{
- "name": "scrollRects",
- "description": "The scroll rect of nodes. Only available when includeDOMRects is set to true",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "Rectangle"
- }
- },
+ "name": "name",
+ "description": "New node's name.",
+ "type": "string"
+ }
+ ],
+ "returns": [
{
- "name": "clientRects",
- "description": "The client rect of nodes. Only available when includeDOMRects is set to true",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "Rectangle"
- }
+ "name": "nodeId",
+ "description": "New node's id.",
+ "$ref": "NodeId"
}
]
},
{
- "id": "TextBoxSnapshot",
- "description": "Table of details of the post layout rendered text positions. The exact layout should not be regarded as\nstable and may change between versions.",
- "type": "object",
- "properties": [
+ "name": "setNodeValue",
+ "description": "Sets node value for a node with given id.",
+ "parameters": [
{
- "name": "layoutIndex",
- "description": "Index of the layout tree node that owns this box collection.",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "nodeId",
+ "description": "Id of the node to set value for.",
+ "$ref": "NodeId"
},
{
- "name": "bounds",
- "description": "The absolute position bounding box.",
- "type": "array",
- "items": {
- "$ref": "Rectangle"
- }
- },
+ "name": "value",
+ "description": "New node's value.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "setOuterHTML",
+ "description": "Sets node HTML markup, returns new node id.",
+ "parameters": [
{
- "name": "start",
- "description": "The starting index in characters, for this post layout textbox substring. Characters that\nwould be represented as a surrogate pair in UTF-16 have length 2.",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "nodeId",
+ "description": "Id of the node to set markup for.",
+ "$ref": "NodeId"
},
{
- "name": "length",
- "description": "The number of characters in this post layout textbox substring. Characters that would be\nrepresented as a surrogate pair in UTF-16 have length 2.",
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "name": "outerHTML",
+ "description": "Outer HTML markup to set.",
+ "type": "string"
}
]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disables DOM snapshot agent for the given page."
},
{
- "name": "enable",
- "description": "Enables DOM snapshot agent for the given page."
+ "name": "undo",
+ "description": "Undoes the last performed action.",
+ "experimental": true
},
{
- "name": "getSnapshot",
- "description": "Returns a document snapshot, including the full DOM tree of the root node (including iframes,\ntemplate contents, and imported documents) in a flattened array, as well as layout and\nwhite-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is\nflattened.",
- "deprecated": true,
+ "name": "getFrameOwner",
+ "description": "Returns iframe node that owns iframe with the given domain.",
+ "experimental": true,
"parameters": [
{
- "name": "computedStyleWhitelist",
- "description": "Whitelist of computed styles to return.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
+ "name": "frameId",
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
{
- "name": "includeEventListeners",
- "description": "Whether or not to retrieve details of DOM listeners (default false).",
- "optional": true,
- "type": "boolean"
+ "name": "backendNodeId",
+ "description": "Resulting node.",
+ "$ref": "BackendNodeId"
},
{
- "name": "includePaintOrder",
- "description": "Whether to determine and include the paint order index of LayoutTreeNodes (default false).",
+ "name": "nodeId",
+ "description": "Id of the node at given coordinates, only when enabled and requested document.",
"optional": true,
- "type": "boolean"
+ "$ref": "NodeId"
+ }
+ ]
+ },
+ {
+ "name": "getContainerForNode",
+ "description": "Returns the container of the given node based on container query conditions.\nIf containerName is given, it will find the nearest container with a matching name;\notherwise it will find the nearest container regardless of its container name.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "nodeId",
+ "$ref": "NodeId"
},
{
- "name": "includeUserAgentShadowTree",
- "description": "Whether to include UA shadow tree in the snapshot (default false).",
+ "name": "containerName",
"optional": true,
- "type": "boolean"
+ "type": "string"
}
],
"returns": [
{
- "name": "domNodes",
- "description": "The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.",
- "type": "array",
- "items": {
- "$ref": "DOMNode"
- }
- },
- {
- "name": "layoutTreeNodes",
- "description": "The nodes in the layout tree.",
- "type": "array",
- "items": {
- "$ref": "LayoutTreeNode"
- }
- },
- {
- "name": "computedStyles",
- "description": "Whitelisted ComputedStyle properties for each node in the layout tree.",
- "type": "array",
- "items": {
- "$ref": "ComputedStyle"
- }
+ "name": "nodeId",
+ "description": "The container node for the given node, or null if not found.",
+ "optional": true,
+ "$ref": "NodeId"
}
]
},
{
- "name": "captureSnapshot",
- "description": "Returns a document snapshot, including the full DOM tree of the root node (including iframes,\ntemplate contents, and imported documents) in a flattened array, as well as layout and\nwhite-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is\nflattened.",
+ "name": "getQueryingDescendantsForContainer",
+ "description": "Returns the descendants of a container query container that have\ncontainer queries against this container.",
+ "experimental": true,
"parameters": [
{
- "name": "computedStyles",
- "description": "Whitelist of computed styles to return.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- {
- "name": "includeDOMRects",
- "description": "Whether to include DOM rectangles (offsetRects, clientRects, scrollRects) into the snapshot",
- "optional": true,
- "type": "boolean"
+ "name": "nodeId",
+ "description": "Id of the container node to find querying descendants from.",
+ "$ref": "NodeId"
}
],
"returns": [
{
- "name": "documents",
- "description": "The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.",
- "type": "array",
- "items": {
- "$ref": "DocumentSnapshot"
- }
- },
- {
- "name": "strings",
- "description": "Shared string table that all string properties refer to with indexes.",
+ "name": "nodeIds",
+ "description": "Descendant nodes with container queries against the given container.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "NodeId"
}
}
]
}
- ]
- },
- {
- "domain": "DOMStorage",
- "description": "Query and modify DOM storage.",
- "experimental": true,
- "types": [
+ ],
+ "events": [
{
- "id": "StorageId",
- "description": "DOM Storage identifier.",
- "type": "object",
- "properties": [
+ "name": "attributeModified",
+ "description": "Fired when `Element`'s attribute is modified.",
+ "parameters": [
{
- "name": "securityOrigin",
- "description": "Security origin for the storage.",
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "isLocalStorage",
- "description": "Whether the storage is local storage (not session storage).",
- "type": "boolean"
- }
- ]
- },
- {
- "id": "Item",
- "description": "DOM Storage item.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ],
- "commands": [
- {
- "name": "clear",
- "parameters": [
+ "name": "name",
+ "description": "Attribute name.",
+ "type": "string"
+ },
{
- "name": "storageId",
- "$ref": "StorageId"
+ "name": "value",
+ "description": "Attribute value.",
+ "type": "string"
}
]
},
{
- "name": "disable",
- "description": "Disables storage tracking, prevents storage events from being sent to the client."
- },
- {
- "name": "enable",
- "description": "Enables storage tracking, storage events will now be delivered to the client."
- },
- {
- "name": "getDOMStorageItems",
+ "name": "attributeRemoved",
+ "description": "Fired when `Element`'s attribute is removed.",
"parameters": [
{
- "name": "storageId",
- "$ref": "StorageId"
- }
- ],
- "returns": [
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
+ },
{
- "name": "entries",
- "type": "array",
- "items": {
- "$ref": "Item"
- }
+ "name": "name",
+ "description": "A ttribute name.",
+ "type": "string"
}
]
},
{
- "name": "removeDOMStorageItem",
+ "name": "characterDataModified",
+ "description": "Mirrors `DOMCharacterDataModified` event.",
"parameters": [
{
- "name": "storageId",
- "$ref": "StorageId"
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "key",
+ "name": "characterData",
+ "description": "New text value.",
"type": "string"
}
]
},
{
- "name": "setDOMStorageItem",
+ "name": "childNodeCountUpdated",
+ "description": "Fired when `Container`'s child node count has changed.",
"parameters": [
{
- "name": "storageId",
- "$ref": "StorageId"
- },
- {
- "name": "key",
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "value",
- "type": "string"
+ "name": "childNodeCount",
+ "description": "New node count.",
+ "type": "integer"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "domStorageItemAdded",
+ "name": "childNodeInserted",
+ "description": "Mirrors `DOMNodeInserted` event.",
"parameters": [
{
- "name": "storageId",
- "$ref": "StorageId"
+ "name": "parentNodeId",
+ "description": "Id of the node that has changed.",
+ "$ref": "NodeId"
},
{
- "name": "key",
- "type": "string"
+ "name": "previousNodeId",
+ "description": "If of the previous siblint.",
+ "$ref": "NodeId"
},
{
- "name": "newValue",
- "type": "string"
+ "name": "node",
+ "description": "Inserted node data.",
+ "$ref": "Node"
}
]
},
{
- "name": "domStorageItemRemoved",
+ "name": "childNodeRemoved",
+ "description": "Mirrors `DOMNodeRemoved` event.",
"parameters": [
{
- "name": "storageId",
- "$ref": "StorageId"
+ "name": "parentNodeId",
+ "description": "Parent id.",
+ "$ref": "NodeId"
},
{
- "name": "key",
- "type": "string"
+ "name": "nodeId",
+ "description": "Id of the node that has been removed.",
+ "$ref": "NodeId"
}
]
},
{
- "name": "domStorageItemUpdated",
+ "name": "distributedNodesUpdated",
+ "description": "Called when distribution is changed.",
+ "experimental": true,
"parameters": [
{
- "name": "storageId",
- "$ref": "StorageId"
- },
- {
- "name": "key",
- "type": "string"
- },
- {
- "name": "oldValue",
- "type": "string"
+ "name": "insertionPointId",
+ "description": "Insertion point where distributed nodes were updated.",
+ "$ref": "NodeId"
},
{
- "name": "newValue",
- "type": "string"
+ "name": "distributedNodes",
+ "description": "Distributed nodes for given insertion point.",
+ "type": "array",
+ "items": {
+ "$ref": "BackendNode"
+ }
}
]
},
{
- "name": "domStorageItemsCleared",
+ "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": "storageId",
- "$ref": "StorageId"
+ "name": "nodeIds",
+ "description": "Ids of the nodes for which the inline styles have been invalidated.",
+ "type": "array",
+ "items": {
+ "$ref": "NodeId"
+ }
}
]
- }
- ]
- },
- {
- "domain": "Database",
- "experimental": true,
- "types": [
- {
- "id": "DatabaseId",
- "description": "Unique identifier of Database object.",
- "type": "string"
},
{
- "id": "Database",
- "description": "Database object.",
- "type": "object",
- "properties": [
- {
- "name": "id",
- "description": "Database ID.",
- "$ref": "DatabaseId"
- },
- {
- "name": "domain",
- "description": "Database domain.",
- "type": "string"
- },
+ "name": "pseudoElementAdded",
+ "description": "Called when a pseudo element is added to an element.",
+ "experimental": true,
+ "parameters": [
{
- "name": "name",
- "description": "Database name.",
- "type": "string"
+ "name": "parentId",
+ "description": "Pseudo element's parent element id.",
+ "$ref": "NodeId"
},
{
- "name": "version",
- "description": "Database version.",
- "type": "string"
+ "name": "pseudoElement",
+ "description": "The added pseudo element.",
+ "$ref": "Node"
}
]
},
{
- "id": "Error",
- "description": "Database error.",
- "type": "object",
- "properties": [
+ "name": "pseudoElementRemoved",
+ "description": "Called when a pseudo element is removed from an element.",
+ "experimental": true,
+ "parameters": [
{
- "name": "message",
- "description": "Error message.",
- "type": "string"
+ "name": "parentId",
+ "description": "Pseudo element's parent element id.",
+ "$ref": "NodeId"
},
{
- "name": "code",
- "description": "Error code.",
- "type": "integer"
+ "name": "pseudoElementId",
+ "description": "The removed pseudo element id.",
+ "$ref": "NodeId"
}
]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disables database tracking, prevents database events from being sent to the client."
- },
- {
- "name": "enable",
- "description": "Enables database tracking, database events will now be delivered to the client."
},
{
- "name": "executeSQL",
+ "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": "databaseId",
- "$ref": "DatabaseId"
+ "name": "parentId",
+ "description": "Parent node id to populate with children.",
+ "$ref": "NodeId"
},
{
- "name": "query",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "columnNames",
- "optional": true,
+ "name": "nodes",
+ "description": "Child nodes array.",
"type": "array",
"items": {
- "type": "string"
- }
- },
- {
- "name": "values",
- "optional": true,
- "type": "array",
- "items": {
- "type": "any"
+ "$ref": "Node"
}
- },
- {
- "name": "sqlError",
- "optional": true,
- "$ref": "Error"
}
]
},
{
- "name": "getDatabaseTableNames",
+ "name": "shadowRootPopped",
+ "description": "Called when shadow root is popped from the element.",
+ "experimental": true,
"parameters": [
{
- "name": "databaseId",
- "$ref": "DatabaseId"
- }
- ],
- "returns": [
- {
- "name": "tableNames",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- }
- ],
- "events": [
- {
- "name": "addDatabase",
- "parameters": [
+ "name": "hostId",
+ "description": "Host element id.",
+ "$ref": "NodeId"
+ },
{
- "name": "database",
- "$ref": "Database"
+ "name": "rootId",
+ "description": "Shadow root id.",
+ "$ref": "NodeId"
}
]
- }
- ]
- },
- {
- "domain": "DeviceOrientation",
- "experimental": true,
- "commands": [
- {
- "name": "clearDeviceOrientationOverride",
- "description": "Clears the overridden Device Orientation."
},
{
- "name": "setDeviceOrientationOverride",
- "description": "Overrides the Device Orientation.",
+ "name": "shadowRootPushed",
+ "description": "Called when shadow root is pushed into the element.",
+ "experimental": true,
"parameters": [
{
- "name": "alpha",
- "description": "Mock alpha",
- "type": "number"
- },
- {
- "name": "beta",
- "description": "Mock beta",
- "type": "number"
+ "name": "hostId",
+ "description": "Host element id.",
+ "$ref": "NodeId"
},
{
- "name": "gamma",
- "description": "Mock gamma",
- "type": "number"
+ "name": "root",
+ "description": "Shadow root.",
+ "$ref": "Node"
}
]
}
]
},
{
- "domain": "Emulation",
- "description": "This domain emulates different environments for the page.",
+ "domain": "DOMDebugger",
+ "description": "DOM debugging allows setting breakpoints on particular DOM operations and events. JavaScript\nexecution will stop on these operations as if there was a regular breakpoint set.",
"dependencies": [
"DOM",
- "Page",
+ "Debugger",
"Runtime"
],
"types": [
{
- "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": "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,
+ "id": "DOMBreakpointType",
+ "description": "DOM breakpoint type.",
"type": "string",
"enum": [
- "advance",
- "pause",
- "pauseIfNetworkFetchesPending"
- ]
- }
- ],
- "commands": [
- {
- "name": "canEmulate",
- "description": "Tells whether emulation is supported.",
- "returns": [
- {
- "name": "result",
- "description": "True if emulation is supported.",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "clearDeviceMetricsOverride",
- "description": "Clears the overriden device metrics."
- },
- {
- "name": "clearGeolocationOverride",
- "description": "Clears the overriden Geolocation Position and Error."
- },
- {
- "name": "resetPageScaleFactor",
- "description": "Requests that page scale factor is reset to initial values.",
- "experimental": true
- },
- {
- "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"
- }
+ "subtree-modified",
+ "attribute-modified",
+ "node-removed"
]
},
{
- "name": "setCPUThrottlingRate",
- "description": "Enables CPU throttling to emulate slow CPUs.",
+ "id": "CSPViolationType",
+ "description": "CSP Violation type.",
"experimental": true,
- "parameters": [
- {
- "name": "rate",
- "description": "Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).",
- "type": "number"
- }
- ]
- },
- {
- "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"
- }
+ "type": "string",
+ "enum": [
+ "trustedtype-sink-violation",
+ "trustedtype-policy-violation"
]
},
{
- "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"
- },
+ "id": "EventListener",
+ "description": "Object event listener.",
+ "type": "object",
+ "properties": [
{
- "name": "height",
- "description": "Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
- "type": "integer"
+ "name": "type",
+ "description": "`EventListener`'s type.",
+ "type": "string"
},
{
- "name": "deviceScaleFactor",
- "description": "Overriding device scale factor value. 0 disables the override.",
- "type": "number"
+ "name": "useCapture",
+ "description": "`EventListener`'s useCapture.",
+ "type": "boolean"
},
{
- "name": "mobile",
- "description": "Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text\nautosizing and more.",
+ "name": "passive",
+ "description": "`EventListener`'s passive flag.",
"type": "boolean"
},
{
- "name": "scale",
- "description": "Scale to apply to resulting view image.",
- "experimental": true,
- "optional": true,
- "type": "number"
+ "name": "once",
+ "description": "`EventListener`'s once flag.",
+ "type": "boolean"
},
{
- "name": "screenWidth",
- "description": "Overriding screen width value in pixels (minimum 0, maximum 10000000).",
- "experimental": true,
- "optional": true,
- "type": "integer"
+ "name": "scriptId",
+ "description": "Script id of the handler code.",
+ "$ref": "Runtime.ScriptId"
},
{
- "name": "screenHeight",
- "description": "Overriding screen height value in pixels (minimum 0, maximum 10000000).",
- "experimental": true,
- "optional": true,
+ "name": "lineNumber",
+ "description": "Line number in the script (0-based).",
"type": "integer"
},
{
- "name": "positionX",
- "description": "Overriding view X position on screen in pixels (minimum 0, maximum 10000000).",
- "experimental": true,
- "optional": true,
+ "name": "columnNumber",
+ "description": "Column number in the script (0-based).",
"type": "integer"
},
{
- "name": "positionY",
- "description": "Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).",
- "experimental": true,
+ "name": "handler",
+ "description": "Event handler function value.",
"optional": true,
- "type": "integer"
+ "$ref": "Runtime.RemoteObject"
},
{
- "name": "dontSetVisibleSize",
- "description": "Do not set visible view size, rely upon explicit setVisibleSize call.",
- "experimental": true,
+ "name": "originalHandler",
+ "description": "Event original handler function value.",
"optional": true,
- "type": "boolean"
+ "$ref": "Runtime.RemoteObject"
},
{
- "name": "screenOrientation",
- "description": "Screen orientation override.",
+ "name": "backendNodeId",
+ "description": "Node the listener is added to (if any).",
"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"
+ "$ref": "DOM.BackendNodeId"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "name": "setScrollbarsHidden",
- "experimental": true,
+ "name": "getEventListeners",
+ "description": "Returns event listeners of the given object.",
"parameters": [
{
- "name": "hidden",
- "description": "Whether scrollbars should be always hidden.",
+ "name": "objectId",
+ "description": "Identifier of the object to return listeners for.",
+ "$ref": "Runtime.RemoteObjectId"
+ },
+ {
+ "name": "depth",
+ "description": "The maximum depth at which Node 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). Reports listeners for all contexts if pierce is enabled.",
+ "optional": true,
"type": "boolean"
}
- ]
- },
- {
- "name": "setDocumentCookieDisabled",
- "experimental": true,
- "parameters": [
+ ],
+ "returns": [
{
- "name": "disabled",
- "description": "Whether document.coookie API should be disabled.",
- "type": "boolean"
+ "name": "listeners",
+ "description": "Array of relevant listeners.",
+ "type": "array",
+ "items": {
+ "$ref": "EventListener"
+ }
}
]
},
{
- "name": "setEmitTouchEventsForMouse",
- "experimental": true,
+ "name": "removeDOMBreakpoint",
+ "description": "Removes DOM breakpoint that was set using `setDOMBreakpoint`.",
"parameters": [
{
- "name": "enabled",
- "description": "Whether touch emulation based on mouse input should be enabled.",
- "type": "boolean"
+ "name": "nodeId",
+ "description": "Identifier of the node to remove breakpoint from.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "configuration",
- "description": "Touch/gesture events configuration. Default: current platform.",
- "optional": true,
- "type": "string",
- "enum": [
- "mobile",
- "desktop"
- ]
+ "name": "type",
+ "description": "Type of the breakpoint to remove.",
+ "$ref": "DOMBreakpointType"
}
]
},
{
- "name": "setEmulatedMedia",
- "description": "Emulates the given media for CSS media queries.",
+ "name": "removeEventListenerBreakpoint",
+ "description": "Removes breakpoint on particular DOM event.",
"parameters": [
{
- "name": "media",
- "description": "Media type to emulate. Empty string disables the override.",
+ "name": "eventName",
+ "description": "Event name.",
"type": "string"
- }
- ]
- },
- {
- "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",
+ "name": "targetName",
+ "description": "EventTarget interface name.",
+ "experimental": true,
"optional": true,
- "type": "number"
+ "type": "string"
}
]
},
{
- "name": "setNavigatorOverrides",
- "description": "Overrides value returned by the javascript navigator object.",
+ "name": "removeInstrumentationBreakpoint",
+ "description": "Removes breakpoint on particular native event.",
"experimental": true,
- "deprecated": true,
"parameters": [
{
- "name": "platform",
- "description": "The platform navigator.platform should return.",
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
"type": "string"
}
]
},
{
- "name": "setPageScaleFactor",
- "description": "Sets a specified page scale factor.",
- "experimental": true,
+ "name": "removeXHRBreakpoint",
+ "description": "Removes breakpoint from XMLHttpRequest.",
"parameters": [
{
- "name": "pageScaleFactor",
- "description": "Page scale factor.",
- "type": "number"
+ "name": "url",
+ "description": "Resource URL substring.",
+ "type": "string"
}
]
},
{
- "name": "setScriptExecutionDisabled",
- "description": "Switches script execution in the page.",
+ "name": "setBreakOnCSPViolation",
+ "description": "Sets breakpoint on particular CSP violations.",
+ "experimental": true,
"parameters": [
{
- "name": "value",
- "description": "Whether script execution should be disabled in the page.",
- "type": "boolean"
+ "name": "violationTypes",
+ "description": "CSP Violations to stop upon.",
+ "type": "array",
+ "items": {
+ "$ref": "CSPViolationType"
+ }
}
]
},
{
- "name": "setTouchEmulationEnabled",
- "description": "Enables touch on platforms which do not support them.",
+ "name": "setDOMBreakpoint",
+ "description": "Sets breakpoint on particular operation with DOM.",
"parameters": [
{
- "name": "enabled",
- "description": "Whether the touch event emulation should be enabled.",
- "type": "boolean"
+ "name": "nodeId",
+ "description": "Identifier of the node to set breakpoint on.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "maxTouchPoints",
- "description": "Maximum touch points supported. Defaults to one.",
- "optional": true,
- "type": "integer"
+ "name": "type",
+ "description": "Type of the operation to stop upon.",
+ "$ref": "DOMBreakpointType"
}
]
},
{
- "name": "setVirtualTimePolicy",
- "description": "Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets\nthe current virtual time policy. Note this supersedes any previous time budget.",
- "experimental": true,
+ "name": "setEventListenerBreakpoint",
+ "description": "Sets breakpoint on particular DOM event.",
"parameters": [
{
- "name": "policy",
- "$ref": "VirtualTimePolicy"
- },
- {
- "name": "budget",
- "description": "If set, after this many virtual milliseconds have elapsed virtual time will be paused and a\nvirtualTimeBudgetExpired event is sent.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "maxVirtualTimeTaskStarvationCount",
- "description": "If set this specifies the maximum number of tasks that can be run before virtual is forced\nforwards to prevent deadlock.",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "waitForNavigation",
- "description": "If set the virtual time policy change should be deferred until any frame starts navigating.\nNote any previous deferred policy change is superseded.",
- "optional": true,
- "type": "boolean"
+ "name": "eventName",
+ "description": "DOM Event name to stop on (any DOM event will do).",
+ "type": "string"
},
{
- "name": "initialVirtualTime",
- "description": "If set, base::Time::Now will be overriden to initially return this value.",
+ "name": "targetName",
+ "description": "EventTarget interface name to stop on. If equal to `\"*\"` or not provided, will stop on any\nEventTarget.",
+ "experimental": true,
"optional": true,
- "$ref": "Network.TimeSinceEpoch"
- }
- ],
- "returns": [
- {
- "name": "virtualTimeTicksBase",
- "description": "Absolute timestamp at which virtual time was first enabled (up time in milliseconds).",
- "type": "number"
+ "type": "string"
}
]
},
{
- "name": "setTimezoneOverride",
- "description": "Overrides default host system timezone with the specified one.",
+ "name": "setInstrumentationBreakpoint",
+ "description": "Sets breakpoint on particular native event.",
"experimental": true,
"parameters": [
{
- "name": "timezoneId",
- "description": "The timezone identifier. If empty, disables the override and\nrestores default host system timezone.",
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
"type": "string"
}
]
},
{
- "name": "setVisibleSize",
- "description": "Resizes the frame/viewport of the page. Note that this does not affect the frame's container\n(e.g. browser window). Can be used to produce screenshots of the specified size. Not supported\non Android.",
- "experimental": true,
- "deprecated": true,
+ "name": "setXHRBreakpoint",
+ "description": "Sets breakpoint on XMLHttpRequest.",
"parameters": [
{
- "name": "width",
- "description": "Frame width (DIP).",
- "type": "integer"
- },
- {
- "name": "height",
- "description": "Frame height (DIP).",
- "type": "integer"
+ "name": "url",
+ "description": "Resource URL substring. All XHRs having this substring in the URL will get stopped upon.",
+ "type": "string"
}
]
- },
+ }
+ ]
+ },
+ {
+ "domain": "EventBreakpoints",
+ "description": "EventBreakpoints permits setting breakpoints on particular operations and\nevents in targets that run JavaScript but do not have a DOM.\nJavaScript execution will stop on these operations as if there was a regular\nbreakpoint set.",
+ "experimental": true,
+ "commands": [
{
- "name": "setUserAgentOverride",
- "description": "Allows overriding user agent with the given string.",
+ "name": "setInstrumentationBreakpoint",
+ "description": "Sets breakpoint on particular native event.",
"parameters": [
{
- "name": "userAgent",
- "description": "User agent to use.",
- "type": "string"
- },
- {
- "name": "acceptLanguage",
- "description": "Browser langugage to emulate.",
- "optional": true,
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "name": "removeInstrumentationBreakpoint",
+ "description": "Removes breakpoint on particular native event.",
+ "parameters": [
{
- "name": "platform",
- "description": "The platform navigator.platform should return.",
- "optional": true,
+ "name": "eventName",
+ "description": "Instrumentation name to stop on.",
"type": "string"
}
]
}
- ],
- "events": [
- {
- "name": "virtualTimeBudgetExpired",
- "description": "Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.",
- "experimental": true
- }
]
},
{
- "domain": "HeadlessExperimental",
- "description": "This domain provides experimental commands only supported in headless mode.",
+ "domain": "DOMSnapshot",
+ "description": "This domain facilitates obtaining document snapshots with DOM, layout, and style information.",
"experimental": true,
"dependencies": [
- "Page",
- "Runtime"
+ "CSS",
+ "DOM",
+ "DOMDebugger",
+ "Page"
],
"types": [
{
- "id": "ScreenshotParams",
- "description": "Encoding options for a screenshot.",
+ "id": "DOMNode",
+ "description": "A Node in the DOM tree.",
"type": "object",
"properties": [
{
- "name": "format",
- "description": "Image compression format (defaults to png).",
- "optional": true,
- "type": "string",
- "enum": [
- "jpeg",
- "png"
- ]
+ "name": "nodeType",
+ "description": "`Node`'s nodeType.",
+ "type": "integer"
},
{
- "name": "quality",
- "description": "Compression quality from range [0..100] (jpeg only).",
- "optional": true,
- "type": "integer"
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "beginFrame",
- "description": "Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a\nscreenshot from the resulting frame. Requires that the target was created with enabled\nBeginFrameControl. Designed for use with --run-all-compositor-stages-before-draw, see also\nhttps://goo.gl/3zHXhB for more background.",
- "parameters": [
+ "name": "nodeName",
+ "description": "`Node`'s nodeName.",
+ "type": "string"
+ },
{
- "name": "frameTimeTicks",
- "description": "Timestamp of this BeginFrame in Renderer TimeTicks (milliseconds of uptime). If not set,\nthe current time will be used.",
- "optional": true,
- "type": "number"
+ "name": "nodeValue",
+ "description": "`Node`'s nodeValue.",
+ "type": "string"
},
{
- "name": "interval",
- "description": "The interval between BeginFrames that is reported to the compositor, in milliseconds.\nDefaults to a 60 frames/second interval, i.e. about 16.666 milliseconds.",
+ "name": "textValue",
+ "description": "Only set for textarea elements, contains the text value.",
"optional": true,
- "type": "number"
+ "type": "string"
},
{
- "name": "noDisplayUpdates",
- "description": "Whether updates should not be committed and drawn onto the display. False by default. If\ntrue, only side effects of the BeginFrame will be run, such as layout and animations, but\nany visual updates may not be visible on the display or in screenshots.",
+ "name": "inputValue",
+ "description": "Only set for input elements, contains the input's associated text value.",
"optional": true,
- "type": "boolean"
+ "type": "string"
},
{
- "name": "screenshot",
- "description": "If set, a screenshot of the frame will be captured and returned in the response. Otherwise,\nno screenshot will be captured. Note that capturing a screenshot can fail, for example,\nduring renderer initialization. In such a case, no screenshot data will be returned.",
+ "name": "inputChecked",
+ "description": "Only set for radio and checkbox input elements, indicates if the element has been checked",
"optional": true,
- "$ref": "ScreenshotParams"
- }
- ],
- "returns": [
- {
- "name": "hasDamage",
- "description": "Whether the BeginFrame resulted in damage and, thus, a new frame was committed to the\ndisplay. Reported for diagnostic uses, may be removed in the future.",
"type": "boolean"
},
{
- "name": "screenshotData",
- "description": "Base64-encoded image data of the screenshot, if one was requested and successfully taken.",
+ "name": "optionSelected",
+ "description": "Only set for option elements, indicates if the element has been selected",
"optional": true,
- "type": "string"
- }
- ]
- },
- {
- "name": "disable",
- "description": "Disables headless events for the target."
- },
- {
- "name": "enable",
- "description": "Enables headless events for the target."
- }
- ],
- "events": [
- {
- "name": "needsBeginFramesChanged",
- "description": "Issued when the target starts or stops needing BeginFrames.",
- "parameters": [
- {
- "name": "needsBeginFrames",
- "description": "True if BeginFrames are needed, false otherwise.",
"type": "boolean"
- }
- ]
- }
- ]
- },
- {
- "domain": "IO",
- "description": "Input/Output operations for streams produced by DevTools.",
- "types": [
- {
- "id": "StreamHandle",
- "description": "This is either obtained from another method or specifed as `blob:<uuid>` where\n`<uuid>` is an UUID of a Blob.",
- "type": "string"
- }
- ],
- "commands": [
- {
- "name": "close",
- "description": "Close the stream, discard any temporary backing storage.",
- "parameters": [
+ },
{
- "name": "handle",
- "description": "Handle of the stream to close.",
- "$ref": "StreamHandle"
- }
- ]
- },
- {
- "name": "read",
- "description": "Read a chunk of the stream",
- "parameters": [
+ "name": "backendNodeId",
+ "description": "`Node`'s id, corresponds to DOM.Node.backendNodeId.",
+ "$ref": "DOM.BackendNodeId"
+ },
{
- "name": "handle",
- "description": "Handle of the stream to read.",
- "$ref": "StreamHandle"
+ "name": "childNodeIndexes",
+ "description": "The indexes of the node's child nodes in the `domNodes` array returned by `getSnapshot`, if\nany.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "offset",
- "description": "Seek to the specified offset before reading (if not specificed, proceed with offset\nfollowing the last read). Some types of streams may only support sequential reads.",
+ "name": "attributes",
+ "description": "Attributes of an `Element` node.",
"optional": true,
- "type": "integer"
+ "type": "array",
+ "items": {
+ "$ref": "NameValue"
+ }
},
{
- "name": "size",
- "description": "Maximum number of bytes to read (left upon the agent discretion if not specified).",
+ "name": "pseudoElementIndexes",
+ "description": "Indexes of pseudo elements associated with this node in the `domNodes` array returned by\n`getSnapshot`, if any.",
"optional": true,
- "type": "integer"
- }
- ],
- "returns": [
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
{
- "name": "base64Encoded",
- "description": "Set if the data is base64-encoded",
+ "name": "layoutNodeIndex",
+ "description": "The index of the node's related layout tree node in the `layoutTreeNodes` array returned by\n`getSnapshot`, if any.",
"optional": true,
- "type": "boolean"
+ "type": "integer"
},
{
- "name": "data",
- "description": "Data that were read.",
+ "name": "documentURL",
+ "description": "Document URL that `Document` or `FrameOwner` node points to.",
+ "optional": true,
"type": "string"
},
{
- "name": "eof",
- "description": "Set if the end-of-file condition occured while reading.",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "resolveBlob",
- "description": "Return UUID of Blob object specified by a remote object id.",
- "parameters": [
- {
- "name": "objectId",
- "description": "Object id of a Blob object wrapper.",
- "$ref": "Runtime.RemoteObjectId"
- }
- ],
- "returns": [
- {
- "name": "uuid",
- "description": "UUID of the specified Blob.",
+ "name": "baseURL",
+ "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
+ "optional": true,
"type": "string"
- }
- ]
- }
- ]
- },
- {
- "domain": "IndexedDB",
- "experimental": true,
- "dependencies": [
- "Runtime"
- ],
- "types": [
- {
- "id": "DatabaseWithObjectStores",
- "description": "Database with an array of object stores.",
- "type": "object",
- "properties": [
+ },
{
- "name": "name",
- "description": "Database name.",
+ "name": "contentLanguage",
+ "description": "Only set for documents, contains the document's content language.",
+ "optional": true,
"type": "string"
},
{
- "name": "version",
- "description": "Database version (type is not 'integer', as the standard\nrequires the version number to be 'unsigned long long')",
- "type": "number"
+ "name": "documentEncoding",
+ "description": "Only set for documents, contains the document's character set encoding.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "objectStores",
- "description": "Object stores in this database.",
- "type": "array",
- "items": {
- "$ref": "ObjectStore"
- }
- }
- ]
- },
- {
- "id": "ObjectStore",
- "description": "Object store.",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Object store name.",
+ "name": "publicId",
+ "description": "`DocumentType` node's publicId.",
+ "optional": true,
"type": "string"
},
{
- "name": "keyPath",
- "description": "Object store key path.",
- "$ref": "KeyPath"
+ "name": "systemId",
+ "description": "`DocumentType` node's systemId.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "autoIncrement",
- "description": "If true, object store has auto increment flag set.",
- "type": "boolean"
+ "name": "frameId",
+ "description": "Frame ID for frame owner elements and also for the document node.",
+ "optional": true,
+ "$ref": "Page.FrameId"
},
{
- "name": "indexes",
- "description": "Indexes in this object store.",
- "type": "array",
- "items": {
- "$ref": "ObjectStoreIndex"
- }
- }
- ]
- },
- {
- "id": "ObjectStoreIndex",
- "description": "Object store index.",
- "type": "object",
- "properties": [
- {
- "name": "name",
- "description": "Index name.",
- "type": "string"
- },
- {
- "name": "keyPath",
- "description": "Index key path.",
- "$ref": "KeyPath"
- },
- {
- "name": "unique",
- "description": "If true, index is unique.",
- "type": "boolean"
- },
- {
- "name": "multiEntry",
- "description": "If true, index allows multiple entries for a key.",
- "type": "boolean"
- }
- ]
- },
- {
- "id": "Key",
- "description": "Key.",
- "type": "object",
- "properties": [
- {
- "name": "type",
- "description": "Key type.",
- "type": "string",
- "enum": [
- "number",
- "string",
- "date",
- "array"
- ]
+ "name": "contentDocumentIndex",
+ "description": "The index of a frame owner element's content document in the `domNodes` array returned by\n`getSnapshot`, if any.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "number",
- "description": "Number value.",
+ "name": "pseudoType",
+ "description": "Type of a pseudo element node.",
"optional": true,
- "type": "number"
+ "$ref": "DOM.PseudoType"
},
{
- "name": "string",
- "description": "String value.",
+ "name": "shadowRootType",
+ "description": "Shadow root type.",
"optional": true,
- "type": "string"
+ "$ref": "DOM.ShadowRootType"
},
{
- "name": "date",
- "description": "Date value.",
+ "name": "isClickable",
+ "description": "Whether this DOM node responds to mouse clicks. This includes nodes that have had click\nevent listeners attached via JavaScript as well as anchor tags that naturally navigate when\nclicked.",
"optional": true,
- "type": "number"
+ "type": "boolean"
},
{
- "name": "array",
- "description": "Array value.",
+ "name": "eventListeners",
+ "description": "Details of the node's event listeners, if any.",
"optional": true,
"type": "array",
"items": {
- "$ref": "Key"
+ "$ref": "DOMDebugger.EventListener"
}
- }
- ]
- },
- {
- "id": "KeyRange",
- "description": "Key range.",
- "type": "object",
- "properties": [
+ },
{
- "name": "lower",
- "description": "Lower bound.",
+ "name": "currentSourceURL",
+ "description": "The selected url for nodes with a srcset attribute.",
"optional": true,
- "$ref": "Key"
+ "type": "string"
},
{
- "name": "upper",
- "description": "Upper bound.",
+ "name": "originURL",
+ "description": "The url of the script (if any) that generates this node.",
"optional": true,
- "$ref": "Key"
+ "type": "string"
},
{
- "name": "lowerOpen",
- "description": "If true lower bound is open.",
- "type": "boolean"
+ "name": "scrollOffsetX",
+ "description": "Scroll offsets, set when this node is a Document.",
+ "optional": true,
+ "type": "number"
},
{
- "name": "upperOpen",
- "description": "If true upper bound is open.",
- "type": "boolean"
+ "name": "scrollOffsetY",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "id": "DataEntry",
- "description": "Data entry.",
+ "id": "InlineTextBox",
+ "description": "Details of post layout rendered text positions. The exact layout should not be regarded as\nstable and may change between versions.",
"type": "object",
"properties": [
{
- "name": "key",
- "description": "Key object.",
- "$ref": "Runtime.RemoteObject"
+ "name": "boundingBox",
+ "description": "The bounding box in document coordinates. Note that scroll offset of the document is ignored.",
+ "$ref": "DOM.Rect"
},
{
- "name": "primaryKey",
- "description": "Primary key object.",
- "$ref": "Runtime.RemoteObject"
+ "name": "startCharacterIndex",
+ "description": "The starting index in characters, for this post layout textbox substring. Characters that\nwould be represented as a surrogate pair in UTF-16 have length 2.",
+ "type": "integer"
},
{
- "name": "value",
- "description": "Value object.",
- "$ref": "Runtime.RemoteObject"
+ "name": "numCharacters",
+ "description": "The number of characters in this post layout textbox substring. Characters that would be\nrepresented as a surrogate pair in UTF-16 have length 2.",
+ "type": "integer"
}
]
},
{
- "id": "KeyPath",
- "description": "Key path.",
+ "id": "LayoutTreeNode",
+ "description": "Details of an element in the DOM tree with a LayoutObject.",
"type": "object",
"properties": [
{
- "name": "type",
- "description": "Key path type.",
- "type": "string",
- "enum": [
- "null",
- "string",
- "array"
- ]
+ "name": "domNodeIndex",
+ "description": "The index of the related DOM node in the `domNodes` array returned by `getSnapshot`.",
+ "type": "integer"
},
{
- "name": "string",
- "description": "String value.",
+ "name": "boundingBox",
+ "description": "The bounding box in document coordinates. Note that scroll offset of the document is ignored.",
+ "$ref": "DOM.Rect"
+ },
+ {
+ "name": "layoutText",
+ "description": "Contents of the LayoutText, if any.",
"optional": true,
"type": "string"
},
{
- "name": "array",
- "description": "Array value.",
+ "name": "inlineTextNodes",
+ "description": "The post-layout inline text nodes, if any.",
"optional": true,
"type": "array",
"items": {
- "type": "string"
+ "$ref": "InlineTextBox"
}
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "clearObjectStore",
- "description": "Clears all entries from an object store.",
- "parameters": [
+ },
{
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
+ "name": "styleIndex",
+ "description": "Index into the `computedStyles` array returned by `getSnapshot`.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "databaseName",
- "description": "Database name.",
- "type": "string"
+ "name": "paintOrder",
+ "description": "Global paint order index, which is determined by the stacking order of the nodes. Nodes\nthat are painted together will have the same index. Only provided if includePaintOrder in\ngetSnapshot was true.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "objectStoreName",
- "description": "Object store name.",
- "type": "string"
+ "name": "isStackingContext",
+ "description": "Set to true to indicate the element begins a new stacking context.",
+ "optional": true,
+ "type": "boolean"
}
]
},
{
- "name": "deleteDatabase",
- "description": "Deletes a database.",
- "parameters": [
- {
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
- },
+ "id": "ComputedStyle",
+ "description": "A subset of the full ComputedStyle as defined by the request whitelist.",
+ "type": "object",
+ "properties": [
{
- "name": "databaseName",
- "description": "Database name.",
- "type": "string"
+ "name": "properties",
+ "description": "Name/value pairs of computed style properties.",
+ "type": "array",
+ "items": {
+ "$ref": "NameValue"
+ }
}
]
},
{
- "name": "deleteObjectStoreEntries",
- "description": "Delete a range of entries from an object store",
- "parameters": [
- {
- "name": "securityOrigin",
- "type": "string"
- },
+ "id": "NameValue",
+ "description": "A name/value pair.",
+ "type": "object",
+ "properties": [
{
- "name": "databaseName",
+ "name": "name",
+ "description": "Attribute/property name.",
"type": "string"
},
{
- "name": "objectStoreName",
+ "name": "value",
+ "description": "Attribute/property value.",
"type": "string"
- },
- {
- "name": "keyRange",
- "description": "Range of entry keys to delete",
- "$ref": "KeyRange"
}
]
},
{
- "name": "disable",
- "description": "Disables events from backend."
+ "id": "StringIndex",
+ "description": "Index of the string in the strings table.",
+ "type": "integer"
},
{
- "name": "enable",
- "description": "Enables events from backend."
+ "id": "ArrayOfStrings",
+ "description": "Index of the string in the strings table.",
+ "type": "array",
+ "items": {
+ "$ref": "StringIndex"
+ }
},
{
- "name": "requestData",
- "description": "Requests data from object store or index.",
- "parameters": [
+ "id": "RareStringData",
+ "description": "Data that is only present on rare nodes.",
+ "type": "object",
+ "properties": [
{
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
- },
- {
- "name": "databaseName",
- "description": "Database name.",
- "type": "string"
- },
- {
- "name": "objectStoreName",
- "description": "Object store name.",
- "type": "string"
- },
- {
- "name": "indexName",
- "description": "Index name, empty string for object store data requests.",
- "type": "string"
- },
- {
- "name": "skipCount",
- "description": "Number of records to skip.",
- "type": "integer"
+ "name": "index",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "pageSize",
- "description": "Number of records to fetch.",
- "type": "integer"
- },
+ "name": "value",
+ "type": "array",
+ "items": {
+ "$ref": "StringIndex"
+ }
+ }
+ ]
+ },
+ {
+ "id": "RareBooleanData",
+ "type": "object",
+ "properties": [
{
- "name": "keyRange",
- "description": "Key range.",
- "optional": true,
- "$ref": "KeyRange"
+ "name": "index",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "RareIntegerData",
+ "type": "object",
+ "properties": [
{
- "name": "objectStoreDataEntries",
- "description": "Array of object store data entries.",
+ "name": "index",
"type": "array",
"items": {
- "$ref": "DataEntry"
+ "type": "integer"
}
},
{
- "name": "hasMore",
- "description": "If true, there are more entries to fetch in the given range.",
- "type": "boolean"
+ "name": "value",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
]
},
{
- "name": "getMetadata",
- "description": "Gets metadata of an object store",
- "parameters": [
+ "id": "Rectangle",
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ {
+ "id": "DocumentSnapshot",
+ "description": "Document snapshot.",
+ "type": "object",
+ "properties": [
{
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
+ "name": "documentURL",
+ "description": "Document URL that `Document` or `FrameOwner` node points to.",
+ "$ref": "StringIndex"
},
{
- "name": "databaseName",
- "description": "Database name.",
- "type": "string"
+ "name": "title",
+ "description": "Document title.",
+ "$ref": "StringIndex"
},
{
- "name": "objectStoreName",
- "description": "Object store name.",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "entriesCount",
- "description": "the entries count",
- "type": "number"
+ "name": "baseURL",
+ "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.",
+ "$ref": "StringIndex"
},
{
- "name": "keyGeneratorValue",
- "description": "the current value of key generator, to become the next inserted\nkey into the object store. Valid if objectStore.autoIncrement\nis true.",
- "type": "number"
- }
- ]
- },
- {
- "name": "requestDatabase",
- "description": "Requests database with given name in given frame.",
- "parameters": [
- {
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
+ "name": "contentLanguage",
+ "description": "Contains the document's content language.",
+ "$ref": "StringIndex"
},
{
- "name": "databaseName",
- "description": "Database name.",
- "type": "string"
- }
- ],
- "returns": [
+ "name": "encodingName",
+ "description": "Contains the document's character set encoding.",
+ "$ref": "StringIndex"
+ },
{
- "name": "databaseWithObjectStores",
- "description": "Database with an array of object stores.",
- "$ref": "DatabaseWithObjectStores"
- }
- ]
- },
- {
- "name": "requestDatabaseNames",
- "description": "Requests database names for given security origin.",
- "parameters": [
+ "name": "publicId",
+ "description": "`DocumentType` node's publicId.",
+ "$ref": "StringIndex"
+ },
{
- "name": "securityOrigin",
- "description": "Security origin.",
- "type": "string"
- }
- ],
- "returns": [
+ "name": "systemId",
+ "description": "`DocumentType` node's systemId.",
+ "$ref": "StringIndex"
+ },
{
- "name": "databaseNames",
- "description": "Database names for origin.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- }
- ]
- },
- {
- "domain": "Input",
- "types": [
- {
- "id": "TouchPoint",
- "type": "object",
- "properties": [
+ "name": "frameId",
+ "description": "Frame ID for frame owner elements and also for the document node.",
+ "$ref": "StringIndex"
+ },
{
- "name": "x",
- "description": "X coordinate of the event relative to the main frame's viewport in CSS pixels.",
- "type": "number"
+ "name": "nodes",
+ "description": "A table with dom nodes.",
+ "$ref": "NodeTreeSnapshot"
},
{
- "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": "layout",
+ "description": "The nodes in the layout tree.",
+ "$ref": "LayoutTreeSnapshot"
},
{
- "name": "radiusX",
- "description": "X radius of the touch area (default: 1.0).",
- "optional": true,
- "type": "number"
+ "name": "textBoxes",
+ "description": "The post-layout inline text nodes.",
+ "$ref": "TextBoxSnapshot"
},
{
- "name": "radiusY",
- "description": "Y radius of the touch area (default: 1.0).",
+ "name": "scrollOffsetX",
+ "description": "Horizontal scroll offset.",
"optional": true,
"type": "number"
},
{
- "name": "rotationAngle",
- "description": "Rotation angle (default: 0.0).",
+ "name": "scrollOffsetY",
+ "description": "Vertical scroll offset.",
"optional": true,
"type": "number"
},
{
- "name": "force",
- "description": "Force (default: 1.0).",
+ "name": "contentWidth",
+ "description": "Document content width.",
"optional": true,
"type": "number"
},
{
- "name": "id",
- "description": "Identifier used to track touch sources between events, must be unique within an event.",
+ "name": "contentHeight",
+ "description": "Document content height.",
"optional": true,
"type": "number"
}
]
},
{
- "id": "GestureSourceType",
- "experimental": true,
- "type": "string",
- "enum": [
- "default",
- "touch",
- "mouse"
- ]
- },
- {
- "id": "TimeSinceEpoch",
- "description": "UTC time in seconds, counted from January 1, 1970.",
- "type": "number"
- }
- ],
- "commands": [
- {
- "name": "dispatchKeyEvent",
- "description": "Dispatches a key event to the page.",
- "parameters": [
+ "id": "NodeTreeSnapshot",
+ "description": "Table containing nodes.",
+ "type": "object",
+ "properties": [
{
- "name": "type",
- "description": "Type of the key event.",
- "type": "string",
- "enum": [
- "keyDown",
- "keyUp",
- "rawKeyDown",
- "char"
- ]
+ "name": "parentIndex",
+ "description": "Parent node index.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "modifiers",
- "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
+ "name": "nodeType",
+ "description": "`Node`'s nodeType.",
"optional": true,
- "type": "integer"
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "timestamp",
- "description": "Time at which the event occurred.",
+ "name": "shadowRootType",
+ "description": "Type of the shadow root the `Node` is in. String values are equal to the `ShadowRootType` enum.",
"optional": true,
- "$ref": "TimeSinceEpoch"
+ "$ref": "RareStringData"
},
{
- "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: \"\")",
+ "name": "nodeName",
+ "description": "`Node`'s nodeName.",
"optional": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "StringIndex"
+ }
},
{
- "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: \"\").",
+ "name": "nodeValue",
+ "description": "`Node`'s nodeValue.",
"optional": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "StringIndex"
+ }
},
{
- "name": "keyIdentifier",
- "description": "Unique key identifier (e.g., 'U+0041') (default: \"\").",
+ "name": "backendNodeId",
+ "description": "`Node`'s id, corresponds to DOM.Node.backendNodeId.",
"optional": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "DOM.BackendNodeId"
+ }
},
{
- "name": "code",
- "description": "Unique DOM defined string value for each physical key (e.g., 'KeyA') (default: \"\").",
+ "name": "attributes",
+ "description": "Attributes of an `Element` node. Flatten name, value pairs.",
"optional": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "ArrayOfStrings"
+ }
},
{
- "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: \"\").",
+ "name": "textValue",
+ "description": "Only set for textarea elements, contains the text value.",
"optional": true,
- "type": "string"
+ "$ref": "RareStringData"
},
{
- "name": "windowsVirtualKeyCode",
- "description": "Windows virtual key code (default: 0).",
+ "name": "inputValue",
+ "description": "Only set for input elements, contains the input's associated text value.",
"optional": true,
- "type": "integer"
+ "$ref": "RareStringData"
},
{
- "name": "nativeVirtualKeyCode",
- "description": "Native virtual key code (default: 0).",
+ "name": "inputChecked",
+ "description": "Only set for radio and checkbox input elements, indicates if the element has been checked",
"optional": true,
- "type": "integer"
+ "$ref": "RareBooleanData"
},
{
- "name": "autoRepeat",
- "description": "Whether the event was generated from auto repeat (default: false).",
+ "name": "optionSelected",
+ "description": "Only set for option elements, indicates if the element has been selected",
"optional": true,
- "type": "boolean"
+ "$ref": "RareBooleanData"
},
{
- "name": "isKeypad",
- "description": "Whether the event was generated from the keypad (default: false).",
+ "name": "contentDocumentIndex",
+ "description": "The index of the document in the list of the snapshot documents.",
"optional": true,
- "type": "boolean"
+ "$ref": "RareIntegerData"
},
{
- "name": "isSystemKey",
- "description": "Whether the event was a system key event (default: false).",
+ "name": "pseudoType",
+ "description": "Type of a pseudo element node.",
"optional": true,
- "type": "boolean"
+ "$ref": "RareStringData"
},
{
- "name": "location",
- "description": "Whether the event was from the left or right side of the keyboard. 1=Left, 2=Right (default:\n0).",
+ "name": "isClickable",
+ "description": "Whether this DOM node responds to mouse clicks. This includes nodes that have had click\nevent listeners attached via JavaScript as well as anchor tags that naturally navigate when\nclicked.",
"optional": true,
- "type": "integer"
- }
- ]
- },
- {
- "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": [
+ "$ref": "RareBooleanData"
+ },
{
- "name": "text",
- "description": "The text to insert.",
- "type": "string"
+ "name": "currentSourceURL",
+ "description": "The selected url for nodes with a srcset attribute.",
+ "optional": true,
+ "$ref": "RareStringData"
+ },
+ {
+ "name": "originURL",
+ "description": "The url of the script (if any) that generates this node.",
+ "optional": true,
+ "$ref": "RareStringData"
}
]
},
{
- "name": "dispatchMouseEvent",
- "description": "Dispatches a mouse event to the page.",
- "parameters": [
+ "id": "LayoutTreeSnapshot",
+ "description": "Table of details of an element in the DOM tree with a LayoutObject.",
+ "type": "object",
+ "properties": [
{
- "name": "type",
- "description": "Type of the mouse event.",
- "type": "string",
- "enum": [
- "mousePressed",
- "mouseReleased",
- "mouseMoved",
- "mouseWheel"
- ]
+ "name": "nodeIndex",
+ "description": "Index of the corresponding node in the `NodeTreeSnapshot` array returned by `captureSnapshot`.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "x",
- "description": "X coordinate of the event relative to the main frame's viewport in CSS pixels.",
- "type": "number"
+ "name": "styles",
+ "description": "Array of indexes specifying computed style strings, filtered according to the `computedStyles` parameter passed to `captureSnapshot`.",
+ "type": "array",
+ "items": {
+ "$ref": "ArrayOfStrings"
+ }
},
{
- "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": "bounds",
+ "description": "The absolute position bounding box.",
+ "type": "array",
+ "items": {
+ "$ref": "Rectangle"
+ }
},
{
- "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": "text",
+ "description": "Contents of the LayoutText, if any.",
+ "type": "array",
+ "items": {
+ "$ref": "StringIndex"
+ }
},
{
- "name": "timestamp",
- "description": "Time at which the event occurred.",
- "optional": true,
- "$ref": "TimeSinceEpoch"
+ "name": "stackingContexts",
+ "description": "Stacking context information.",
+ "$ref": "RareBooleanData"
},
{
- "name": "button",
- "description": "Mouse button (default: \"none\").",
+ "name": "paintOrders",
+ "description": "Global paint order index, which is determined by the stacking order of the nodes. Nodes\nthat are painted together will have the same index. Only provided if includePaintOrder in\ncaptureSnapshot was true.",
"optional": true,
- "type": "string",
- "enum": [
- "none",
- "left",
- "middle",
- "right",
- "back",
- "forward"
- ]
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "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.",
+ "name": "offsetRects",
+ "description": "The offset rect of nodes. Only available when includeDOMRects is set to true",
"optional": true,
- "type": "integer"
+ "type": "array",
+ "items": {
+ "$ref": "Rectangle"
+ }
},
{
- "name": "clickCount",
- "description": "Number of times the mouse button was clicked (default: 0).",
+ "name": "scrollRects",
+ "description": "The scroll rect of nodes. Only available when includeDOMRects is set to true",
"optional": true,
- "type": "integer"
+ "type": "array",
+ "items": {
+ "$ref": "Rectangle"
+ }
},
{
- "name": "deltaX",
- "description": "X delta in CSS pixels for mouse wheel event (default: 0).",
+ "name": "clientRects",
+ "description": "The client rect of nodes. Only available when includeDOMRects is set to true",
"optional": true,
- "type": "number"
+ "type": "array",
+ "items": {
+ "$ref": "Rectangle"
+ }
},
{
- "name": "deltaY",
- "description": "Y delta in CSS pixels for mouse wheel event (default: 0).",
+ "name": "blendedBackgroundColors",
+ "description": "The list of background colors that are blended with colors of overlapping elements.",
+ "experimental": true,
"optional": true,
- "type": "number"
+ "type": "array",
+ "items": {
+ "$ref": "StringIndex"
+ }
},
{
- "name": "pointerType",
- "description": "Pointer type (default: \"mouse\").",
+ "name": "textColorOpacities",
+ "description": "The list of computed text opacities.",
+ "experimental": true,
"optional": true,
- "type": "string",
- "enum": [
- "mouse",
- "pen"
- ]
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
}
]
},
{
- "name": "dispatchTouchEvent",
- "description": "Dispatches a touch event to the page.",
- "parameters": [
+ "id": "TextBoxSnapshot",
+ "description": "Table of details of the post layout rendered text positions. The exact layout should not be regarded as\nstable and may change between versions.",
+ "type": "object",
+ "properties": [
{
- "name": "type",
- "description": "Type of the touch event. TouchEnd and TouchCancel must not contain any touch points, while\nTouchStart and TouchMove must contains at least one.",
- "type": "string",
- "enum": [
- "touchStart",
- "touchEnd",
- "touchMove",
- "touchCancel"
- ]
+ "name": "layoutIndex",
+ "description": "Index of the layout tree node that owns this box collection.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "touchPoints",
- "description": "Active touch points on the touch device. One event per any changed point (compared to\nprevious touch event in a sequence) is generated, emulating pressing/moving/releasing points\none by one.",
+ "name": "bounds",
+ "description": "The absolute position bounding box.",
"type": "array",
"items": {
- "$ref": "TouchPoint"
+ "$ref": "Rectangle"
}
},
{
- "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": "start",
+ "description": "The starting index in characters, for this post layout textbox substring. Characters that\nwould be represented as a surrogate pair in UTF-16 have length 2.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
{
- "name": "timestamp",
- "description": "Time at which the event occurred.",
- "optional": true,
- "$ref": "TimeSinceEpoch"
+ "name": "length",
+ "description": "The number of characters in this post layout textbox substring. Characters that would be\nrepresented as a surrogate pair in UTF-16 have length 2.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
]
+ }
+ ],
+ "commands": [
+ {
+ "name": "disable",
+ "description": "Disables DOM snapshot agent for the given page."
},
{
- "name": "emulateTouchFromMouseEvent",
- "description": "Emulates touch event from the mouse event parameters.",
- "experimental": true,
+ "name": "enable",
+ "description": "Enables DOM snapshot agent for the given page."
+ },
+ {
+ "name": "getSnapshot",
+ "description": "Returns a document snapshot, including the full DOM tree of the root node (including iframes,\ntemplate contents, and imported documents) in a flattened array, as well as layout and\nwhite-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is\nflattened.",
+ "deprecated": true,
"parameters": [
{
- "name": "type",
- "description": "Type of the mouse event.",
- "type": "string",
- "enum": [
- "mousePressed",
- "mouseReleased",
- "mouseMoved",
- "mouseWheel"
- ]
+ "name": "computedStyleWhitelist",
+ "description": "Whitelist of computed styles to return.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "x",
- "description": "X coordinate of the mouse pointer in DIP.",
- "type": "integer"
+ "name": "includeEventListeners",
+ "description": "Whether or not to retrieve details of DOM listeners (default false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "y",
- "description": "Y coordinate of the mouse pointer in DIP.",
- "type": "integer"
+ "name": "includePaintOrder",
+ "description": "Whether to determine and include the paint order index of LayoutTreeNodes (default false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "button",
- "description": "Mouse button.",
- "type": "string",
- "enum": [
- "none",
- "left",
- "middle",
- "right"
- ]
+ "name": "includeUserAgentShadowTree",
+ "description": "Whether to include UA shadow tree in the snapshot (default false).",
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "domNodes",
+ "description": "The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.",
+ "type": "array",
+ "items": {
+ "$ref": "DOMNode"
+ }
},
{
- "name": "timestamp",
- "description": "Time at which the event occurred (default: current time).",
- "optional": true,
- "$ref": "TimeSinceEpoch"
+ "name": "layoutTreeNodes",
+ "description": "The nodes in the layout tree.",
+ "type": "array",
+ "items": {
+ "$ref": "LayoutTreeNode"
+ }
},
{
- "name": "deltaX",
- "description": "X delta in DIP for mouse wheel event (default: 0).",
+ "name": "computedStyles",
+ "description": "Whitelisted ComputedStyle properties for each node in the layout tree.",
+ "type": "array",
+ "items": {
+ "$ref": "ComputedStyle"
+ }
+ }
+ ]
+ },
+ {
+ "name": "captureSnapshot",
+ "description": "Returns a document snapshot, including the full DOM tree of the root node (including iframes,\ntemplate contents, and imported documents) in a flattened array, as well as layout and\nwhite-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is\nflattened.",
+ "parameters": [
+ {
+ "name": "computedStyles",
+ "description": "Whitelist of computed styles to return.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "includePaintOrder",
+ "description": "Whether to include layout object paint orders into the snapshot.",
"optional": true,
- "type": "number"
+ "type": "boolean"
},
{
- "name": "deltaY",
- "description": "Y delta in DIP for mouse wheel event (default: 0).",
+ "name": "includeDOMRects",
+ "description": "Whether to include DOM rectangles (offsetRects, clientRects, scrollRects) into the snapshot",
"optional": true,
- "type": "number"
+ "type": "boolean"
},
{
- "name": "modifiers",
- "description": "Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8\n(default: 0).",
+ "name": "includeBlendedBackgroundColors",
+ "description": "Whether to include blended background colors in the snapshot (default: false).\nBlended background color is achieved by blending background colors of all elements\nthat overlap with the current element.",
+ "experimental": true,
"optional": true,
- "type": "integer"
+ "type": "boolean"
},
{
- "name": "clickCount",
- "description": "Number of times the mouse button was clicked (default: 0).",
+ "name": "includeTextColorOpacities",
+ "description": "Whether to include text color opacity in the snapshot (default: false).\nAn element might have the opacity property set that affects the text color of the element.\nThe final text color opacity is computed based on the opacity of all overlapping elements.",
+ "experimental": true,
"optional": true,
- "type": "integer"
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "documents",
+ "description": "The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.",
+ "type": "array",
+ "items": {
+ "$ref": "DocumentSnapshot"
+ }
+ },
+ {
+ "name": "strings",
+ "description": "Shared string table that all string properties refer to with indexes.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
- },
+ }
+ ]
+ },
+ {
+ "domain": "DOMStorage",
+ "description": "Query and modify DOM storage.",
+ "experimental": true,
+ "types": [
{
- "name": "setIgnoreInputEvents",
- "description": "Ignores input events (useful while auditing page).",
- "parameters": [
+ "id": "StorageId",
+ "description": "DOM Storage identifier.",
+ "type": "object",
+ "properties": [
{
- "name": "ignore",
- "description": "Ignores input events processing when set to true.",
+ "name": "securityOrigin",
+ "description": "Security origin for the storage.",
+ "type": "string"
+ },
+ {
+ "name": "isLocalStorage",
+ "description": "Whether the storage is local storage (not session storage).",
"type": "boolean"
}
]
},
{
- "name": "synthesizePinchGesture",
- "description": "Synthesizes a pinch gesture over a time period by issuing appropriate touch events.",
- "experimental": true,
+ "id": "Item",
+ "description": "DOM Storage item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "commands": [
+ {
+ "name": "clear",
"parameters": [
{
- "name": "x",
- "description": "X coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
- },
+ "name": "storageId",
+ "$ref": "StorageId"
+ }
+ ]
+ },
+ {
+ "name": "disable",
+ "description": "Disables storage tracking, prevents storage events from being sent to the client."
+ },
+ {
+ "name": "enable",
+ "description": "Enables storage tracking, storage events will now be delivered to the client."
+ },
+ {
+ "name": "getDOMStorageItems",
+ "parameters": [
{
- "name": "y",
- "description": "Y coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
- },
+ "name": "storageId",
+ "$ref": "StorageId"
+ }
+ ],
+ "returns": [
{
- "name": "scaleFactor",
- "description": "Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out).",
- "type": "number"
- },
+ "name": "entries",
+ "type": "array",
+ "items": {
+ "$ref": "Item"
+ }
+ }
+ ]
+ },
+ {
+ "name": "removeDOMStorageItem",
+ "parameters": [
{
- "name": "relativeSpeed",
- "description": "Relative pointer speed in pixels per second (default: 800).",
- "optional": true,
- "type": "integer"
+ "name": "storageId",
+ "$ref": "StorageId"
},
{
- "name": "gestureSourceType",
- "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
- "optional": true,
- "$ref": "GestureSourceType"
+ "name": "key",
+ "type": "string"
}
]
},
{
- "name": "synthesizeScrollGesture",
- "description": "Synthesizes a scroll gesture over a time period by issuing appropriate touch events.",
- "experimental": true,
+ "name": "setDOMStorageItem",
"parameters": [
{
- "name": "x",
- "description": "X coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
- },
- {
- "name": "y",
- "description": "Y coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
- },
- {
- "name": "xDistance",
- "description": "The distance to scroll along the X axis (positive to scroll left).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "yDistance",
- "description": "The distance to scroll along the Y axis (positive to scroll up).",
- "optional": true,
- "type": "number"
- },
- {
- "name": "xOverscroll",
- "description": "The number of additional pixels to scroll back along the X axis, in addition to the given\ndistance.",
- "optional": true,
- "type": "number"
+ "name": "storageId",
+ "$ref": "StorageId"
},
{
- "name": "yOverscroll",
- "description": "The number of additional pixels to scroll back along the Y axis, in addition to the given\ndistance.",
- "optional": true,
- "type": "number"
+ "name": "key",
+ "type": "string"
},
{
- "name": "preventFling",
- "description": "Prevent fling (default: true).",
- "optional": true,
- "type": "boolean"
- },
+ "name": "value",
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "domStorageItemAdded",
+ "parameters": [
{
- "name": "speed",
- "description": "Swipe speed in pixels per second (default: 800).",
- "optional": true,
- "type": "integer"
+ "name": "storageId",
+ "$ref": "StorageId"
},
{
- "name": "gestureSourceType",
- "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
- "optional": true,
- "$ref": "GestureSourceType"
+ "name": "key",
+ "type": "string"
},
{
- "name": "repeatCount",
- "description": "The number of times to repeat the gesture (default: 0).",
- "optional": true,
- "type": "integer"
- },
+ "name": "newValue",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "domStorageItemRemoved",
+ "parameters": [
{
- "name": "repeatDelayMs",
- "description": "The number of milliseconds delay between each repeat. (default: 250).",
- "optional": true,
- "type": "integer"
+ "name": "storageId",
+ "$ref": "StorageId"
},
{
- "name": "interactionMarkerName",
- "description": "The name of the interaction markers to generate, if not empty (default: \"\").",
- "optional": true,
+ "name": "key",
"type": "string"
}
]
},
{
- "name": "synthesizeTapGesture",
- "description": "Synthesizes a tap gesture over a time period by issuing appropriate touch events.",
- "experimental": true,
+ "name": "domStorageItemUpdated",
"parameters": [
{
- "name": "x",
- "description": "X coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
- },
- {
- "name": "y",
- "description": "Y coordinate of the start of the gesture in CSS pixels.",
- "type": "number"
+ "name": "storageId",
+ "$ref": "StorageId"
},
{
- "name": "duration",
- "description": "Duration between touchdown and touchup events in ms (default: 50).",
- "optional": true,
- "type": "integer"
+ "name": "key",
+ "type": "string"
},
{
- "name": "tapCount",
- "description": "Number of times to perform the tap (e.g. 2 for double tap, default: 1).",
- "optional": true,
- "type": "integer"
+ "name": "oldValue",
+ "type": "string"
},
{
- "name": "gestureSourceType",
- "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
- "optional": true,
- "$ref": "GestureSourceType"
+ "name": "newValue",
+ "type": "string"
}
]
- }
- ]
- },
- {
- "domain": "Inspector",
- "experimental": true,
- "commands": [
- {
- "name": "disable",
- "description": "Disables inspector domain notifications."
},
{
- "name": "enable",
- "description": "Enables inspector domain notifications."
- }
- ],
- "events": [
- {
- "name": "detached",
- "description": "Fired when remote debugging connection is about to be terminated. Contains detach reason.",
+ "name": "domStorageItemsCleared",
"parameters": [
{
- "name": "reason",
- "description": "The reason why connection has been terminated.",
- "type": "string"
+ "name": "storageId",
+ "$ref": "StorageId"
}
]
- },
- {
- "name": "targetCrashed",
- "description": "Fired when debugging target has crashed"
- },
- {
- "name": "targetReloadedAfterCrash",
- "description": "Fired when debugging target has reloaded after crash"
}
]
},
{
- "domain": "LayerTree",
+ "domain": "Database",
"experimental": true,
- "dependencies": [
- "DOM"
- ],
"types": [
{
- "id": "LayerId",
- "description": "Unique Layer identifier.",
- "type": "string"
- },
- {
- "id": "SnapshotId",
- "description": "Unique snapshot identifier.",
+ "id": "DatabaseId",
+ "description": "Unique identifier of Database object.",
"type": "string"
},
{
- "id": "ScrollRect",
- "description": "Rectangle where scrolling happens on the main thread.",
- "type": "object",
- "properties": [
- {
- "name": "rect",
- "description": "Rectangle itself.",
- "$ref": "DOM.Rect"
- },
- {
- "name": "type",
- "description": "Reason for rectangle to force scrolling on the main thread",
- "type": "string",
- "enum": [
- "RepaintsOnScroll",
- "TouchEventHandler",
- "WheelEventHandler"
- ]
- }
- ]
- },
- {
- "id": "StickyPositionConstraint",
- "description": "Sticky position constraints.",
+ "id": "Database",
+ "description": "Database object.",
"type": "object",
"properties": [
{
- "name": "stickyBoxRect",
- "description": "Layout rectangle of the sticky element before being shifted",
- "$ref": "DOM.Rect"
+ "name": "id",
+ "description": "Database ID.",
+ "$ref": "DatabaseId"
},
{
- "name": "containingBlockRect",
- "description": "Layout rectangle of the containing block of the sticky element",
- "$ref": "DOM.Rect"
+ "name": "domain",
+ "description": "Database domain.",
+ "type": "string"
},
{
- "name": "nearestLayerShiftingStickyBox",
- "description": "The nearest sticky layer that shifts the sticky box",
- "optional": true,
- "$ref": "LayerId"
+ "name": "name",
+ "description": "Database name.",
+ "type": "string"
},
{
- "name": "nearestLayerShiftingContainingBlock",
- "description": "The nearest sticky layer that shifts the containing block",
- "optional": true,
- "$ref": "LayerId"
+ "name": "version",
+ "description": "Database version.",
+ "type": "string"
}
]
},
{
- "id": "PictureTile",
- "description": "Serialized fragment of layer picture along with its offset within the layer.",
+ "id": "Error",
+ "description": "Database error.",
"type": "object",
"properties": [
{
- "name": "x",
- "description": "Offset from owning layer left boundary",
- "type": "number"
- },
- {
- "name": "y",
- "description": "Offset from owning layer top boundary",
- "type": "number"
+ "name": "message",
+ "description": "Error message.",
+ "type": "string"
},
{
- "name": "picture",
- "description": "Base64-encoded snapshot data.",
- "type": "string"
+ "name": "code",
+ "description": "Error code.",
+ "type": "integer"
}
]
+ }
+ ],
+ "commands": [
+ {
+ "name": "disable",
+ "description": "Disables database tracking, prevents database events from being sent to the client."
},
{
- "id": "Layer",
- "description": "Information about a compositing layer.",
- "type": "object",
- "properties": [
+ "name": "enable",
+ "description": "Enables database tracking, database events will now be delivered to the client."
+ },
+ {
+ "name": "executeSQL",
+ "parameters": [
{
- "name": "layerId",
- "description": "The unique id for this layer.",
- "$ref": "LayerId"
+ "name": "databaseId",
+ "$ref": "DatabaseId"
},
{
- "name": "parentLayerId",
- "description": "The id of parent (not present for root).",
- "optional": true,
- "$ref": "LayerId"
- },
- {
- "name": "backendNodeId",
- "description": "The backend id for the node associated with this layer.",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
- },
- {
- "name": "offsetX",
- "description": "Offset from parent layer, X coordinate.",
- "type": "number"
- },
- {
- "name": "offsetY",
- "description": "Offset from parent layer, Y coordinate.",
- "type": "number"
- },
- {
- "name": "width",
- "description": "Layer width.",
- "type": "number"
- },
- {
- "name": "height",
- "description": "Layer height.",
- "type": "number"
- },
+ "name": "query",
+ "type": "string"
+ }
+ ],
+ "returns": [
{
- "name": "transform",
- "description": "Transformation matrix for layer, default is identity matrix",
+ "name": "columnNames",
"optional": true,
"type": "array",
"items": {
- "type": "number"
+ "type": "string"
}
},
{
- "name": "anchorX",
- "description": "Transform anchor point X, absent if no transform specified",
- "optional": true,
- "type": "number"
- },
- {
- "name": "anchorY",
- "description": "Transform anchor point Y, absent if no transform specified",
- "optional": true,
- "type": "number"
- },
- {
- "name": "anchorZ",
- "description": "Transform anchor point Z, absent if no transform specified",
- "optional": true,
- "type": "number"
- },
- {
- "name": "paintCount",
- "description": "Indicates how many time this layer has painted.",
- "type": "integer"
- },
- {
- "name": "drawsContent",
- "description": "Indicates whether this layer hosts any content, rather than being used for\ntransform/scrolling purposes only.",
- "type": "boolean"
- },
- {
- "name": "invisible",
- "description": "Set if layer is not visible.",
- "optional": true,
- "type": "boolean"
- },
- {
- "name": "scrollRects",
- "description": "Rectangles scrolling on main thread only.",
+ "name": "values",
"optional": true,
"type": "array",
"items": {
- "$ref": "ScrollRect"
+ "type": "any"
}
},
{
- "name": "stickyPositionConstraint",
- "description": "Sticky position constraint information",
+ "name": "sqlError",
"optional": true,
- "$ref": "StickyPositionConstraint"
+ "$ref": "Error"
}
]
},
{
- "id": "PaintProfile",
- "description": "Array of timings, one per paint step.",
- "type": "array",
- "items": {
- "type": "number"
- }
- }
- ],
- "commands": [
- {
- "name": "compositingReasons",
- "description": "Provides the reasons why the given layer was composited.",
+ "name": "getDatabaseTableNames",
"parameters": [
{
- "name": "layerId",
- "description": "The id of the layer for which we want to get the reasons it was composited.",
- "$ref": "LayerId"
+ "name": "databaseId",
+ "$ref": "DatabaseId"
}
],
"returns": [
{
- "name": "compositingReasons",
- "description": "A list of strings specifying reasons for the given layer to become composited.",
+ "name": "tableNames",
"type": "array",
"items": {
"type": "string"
}
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "disable",
- "description": "Disables compositing tree inspection."
- },
+ "name": "addDatabase",
+ "parameters": [
+ {
+ "name": "database",
+ "$ref": "Database"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "DeviceOrientation",
+ "experimental": true,
+ "commands": [
{
- "name": "enable",
- "description": "Enables compositing tree inspection."
+ "name": "clearDeviceOrientationOverride",
+ "description": "Clears the overridden Device Orientation."
},
{
- "name": "loadSnapshot",
- "description": "Returns the snapshot identifier.",
+ "name": "setDeviceOrientationOverride",
+ "description": "Overrides the Device Orientation.",
"parameters": [
{
- "name": "tiles",
- "description": "An array of tiles composing the snapshot.",
- "type": "array",
- "items": {
- "$ref": "PictureTile"
- }
- }
- ],
- "returns": [
+ "name": "alpha",
+ "description": "Mock alpha",
+ "type": "number"
+ },
{
- "name": "snapshotId",
- "description": "The id of the snapshot.",
- "$ref": "SnapshotId"
+ "name": "beta",
+ "description": "Mock beta",
+ "type": "number"
+ },
+ {
+ "name": "gamma",
+ "description": "Mock gamma",
+ "type": "number"
}
]
- },
+ }
+ ]
+ },
+ {
+ "domain": "Emulation",
+ "description": "This domain emulates different environments for the page.",
+ "dependencies": [
+ "DOM",
+ "Page",
+ "Runtime"
+ ],
+ "types": [
{
- "name": "makeSnapshot",
- "description": "Returns the layer snapshot identifier.",
- "parameters": [
+ "id": "ScreenOrientation",
+ "description": "Screen orientation.",
+ "type": "object",
+ "properties": [
{
- "name": "layerId",
- "description": "The id of the layer.",
- "$ref": "LayerId"
- }
- ],
- "returns": [
+ "name": "type",
+ "description": "Orientation type.",
+ "type": "string",
+ "enum": [
+ "portraitPrimary",
+ "portraitSecondary",
+ "landscapePrimary",
+ "landscapeSecondary"
+ ]
+ },
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
+ "name": "angle",
+ "description": "Orientation angle.",
+ "type": "integer"
}
]
},
{
- "name": "profileSnapshot",
- "parameters": [
+ "id": "DisplayFeature",
+ "type": "object",
+ "properties": [
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
+ "name": "orientation",
+ "description": "Orientation of a display feature in relation to screen",
+ "type": "string",
+ "enum": [
+ "vertical",
+ "horizontal"
+ ]
},
{
- "name": "minRepeatCount",
- "description": "The maximum number of times to replay the snapshot (1, if not specified).",
- "optional": true,
+ "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": "minDuration",
- "description": "The minimum duration (in seconds) to replay the snapshot.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "clipRect",
- "description": "The clip rectangle to apply when replaying the snapshot.",
- "optional": true,
- "$ref": "DOM.Rect"
- }
- ],
- "returns": [
- {
- "name": "timings",
- "description": "The array of paint profiles, one per run.",
- "type": "array",
- "items": {
- "$ref": "PaintProfile"
- }
+ "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"
}
]
},
{
- "name": "releaseSnapshot",
- "description": "Releases layer snapshot captured by the back-end.",
- "parameters": [
+ "id": "MediaFeature",
+ "type": "object",
+ "properties": [
{
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "type": "string"
}
]
},
{
- "name": "replaySnapshot",
- "description": "Replays the layer snapshot and returns the resulting bitmap.",
- "parameters": [
- {
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
- },
- {
- "name": "fromStep",
- "description": "The first step to replay from (replay from the very start if not specified).",
- "optional": true,
- "type": "integer"
- },
+ "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 Cient Hints to emulate. See https://wicg.github.io/ua-client-hints",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "toStep",
- "description": "The last step to replay to (replay till the end if not specified).",
- "optional": true,
- "type": "integer"
+ "name": "brand",
+ "type": "string"
},
{
- "name": "scale",
- "description": "The scale to apply while replaying (defaults to 1).",
- "optional": true,
- "type": "number"
- }
- ],
- "returns": [
- {
- "name": "dataURL",
- "description": "A data: URL for resulting image.",
+ "name": "version",
"type": "string"
}
]
},
{
- "name": "snapshotCommandLog",
- "description": "Replays the layer snapshot and returns canvas log.",
- "parameters": [
- {
- "name": "snapshotId",
- "description": "The id of the layer snapshot.",
- "$ref": "SnapshotId"
- }
- ],
- "returns": [
+ "id": "UserAgentMetadata",
+ "description": "Used to specify User Agent Cient 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": "commandLog",
- "description": "The array of canvas function calls.",
+ "name": "brands",
+ "optional": true,
"type": "array",
"items": {
- "type": "object"
+ "$ref": "UserAgentBrandVersion"
}
- }
- ]
- }
- ],
- "events": [
- {
- "name": "layerPainted",
- "parameters": [
- {
- "name": "layerId",
- "description": "The id of the painted layer.",
- "$ref": "LayerId"
},
{
- "name": "clip",
- "description": "Clip rectangle.",
- "$ref": "DOM.Rect"
- }
- ]
- },
- {
- "name": "layerTreeDidChange",
- "parameters": [
- {
- "name": "layers",
- "description": "Layer tree, absent if not in the comspositing mode.",
+ "name": "fullVersionList",
"optional": true,
"type": "array",
"items": {
- "$ref": "Layer"
+ "$ref": "UserAgentBrandVersion"
}
- }
- ]
- }
- ]
- },
- {
- "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": "timestamp",
- "description": "Timestamp when this entry was added.",
- "$ref": "Runtime.Timestamp"
},
{
- "name": "url",
- "description": "URL of the resource if known.",
+ "name": "fullVersion",
+ "deprecated": true,
"optional": true,
"type": "string"
},
{
- "name": "lineNumber",
- "description": "Line number in the resource.",
- "optional": true,
- "type": "integer"
+ "name": "platform",
+ "type": "string"
},
{
- "name": "stackTrace",
- "description": "JavaScript stack trace.",
- "optional": true,
- "$ref": "Runtime.StackTrace"
+ "name": "platformVersion",
+ "type": "string"
},
{
- "name": "networkRequestId",
- "description": "Identifier of the network request associated with this entry.",
- "optional": true,
- "$ref": "Network.RequestId"
+ "name": "architecture",
+ "type": "string"
},
{
- "name": "workerId",
- "description": "Identifier of the worker associated with this entry.",
- "optional": true,
+ "name": "model",
"type": "string"
},
{
- "name": "args",
- "description": "Call arguments.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "Runtime.RemoteObject"
- }
+ "name": "mobile",
+ "type": "boolean"
}
]
},
{
- "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"
- }
+ "id": "DisabledImageType",
+ "description": "Enum of image types that can be disabled.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "avif",
+ "jxl",
+ "webp"
]
}
],
"commands": [
{
- "name": "clear",
- "description": "Clears the log."
+ "name": "canEmulate",
+ "description": "Tells whether emulation is supported.",
+ "returns": [
+ {
+ "name": "result",
+ "description": "True if emulation is supported.",
+ "type": "boolean"
+ }
+ ]
},
{
- "name": "disable",
- "description": "Disables log domain, prevents further log entries from being reported to the client."
+ "name": "clearDeviceMetricsOverride",
+ "description": "Clears the overridden device metrics."
},
{
- "name": "enable",
- "description": "Enables log domain, sends the entries collected so far to the client by means of the\n`entryAdded` notification."
+ "name": "clearGeolocationOverride",
+ "description": "Clears the overridden Geolocation Position and Error."
},
{
- "name": "startViolationsReport",
- "description": "start violation reporting.",
+ "name": "resetPageScaleFactor",
+ "description": "Requests that page scale factor is reset to initial values.",
+ "experimental": true
+ },
+ {
+ "name": "setFocusEmulationEnabled",
+ "description": "Enables or disables simulating a focused and active page.",
+ "experimental": true,
"parameters": [
{
- "name": "config",
- "description": "Configuration for violations.",
- "type": "array",
- "items": {
- "$ref": "ViolationSetting"
- }
+ "name": "enabled",
+ "description": "Whether to enable to disable focus emulation.",
+ "type": "boolean"
}
]
},
{
- "name": "stopViolationsReport",
- "description": "Stop violation reporting."
- }
- ],
- "events": [
- {
- "name": "entryAdded",
- "description": "Issued when new message was logged.",
+ "name": "setAutoDarkModeOverride",
+ "description": "Automatically render all web contents using a dark theme.",
+ "experimental": true,
"parameters": [
{
- "name": "entry",
- "description": "The entry.",
- "$ref": "LogEntry"
+ "name": "enabled",
+ "description": "Whether to enable or disable automatic dark mode.\nIf not specified, any existing override will be cleared.",
+ "optional": true,
+ "type": "boolean"
}
]
- }
- ]
- },
- {
- "domain": "Memory",
- "experimental": true,
- "types": [
+ },
{
- "id": "PressureLevel",
- "description": "Memory pressure level.",
- "type": "string",
- "enum": [
- "moderate",
- "critical"
- ]
- },
- {
- "id": "SamplingProfileNode",
- "description": "Heap profile sample.",
- "type": "object",
- "properties": [
- {
- "name": "size",
- "description": "Size of the sampled allocation.",
- "type": "number"
- },
+ "name": "setCPUThrottlingRate",
+ "description": "Enables CPU throttling to emulate slow CPUs.",
+ "experimental": true,
+ "parameters": [
{
- "name": "total",
- "description": "Total bytes attributed to this sample.",
+ "name": "rate",
+ "description": "Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).",
"type": "number"
- },
- {
- "name": "stack",
- "description": "Execution stack at the point of allocation.",
- "type": "array",
- "items": {
- "type": "string"
- }
}
]
},
{
- "id": "SamplingProfile",
- "description": "Array of heap profile samples.",
- "type": "object",
- "properties": [
- {
- "name": "samples",
- "type": "array",
- "items": {
- "$ref": "SamplingProfileNode"
- }
- },
+ "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": "modules",
- "type": "array",
- "items": {
- "$ref": "Module"
- }
+ "name": "color",
+ "description": "RGBA of the default background color. If not specified, any existing override will be\ncleared.",
+ "optional": true,
+ "$ref": "DOM.RGBA"
}
]
},
{
- "id": "Module",
- "description": "Executable module information",
- "type": "object",
- "properties": [
+ "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": "name",
- "description": "Name of the module.",
- "type": "string"
+ "name": "width",
+ "description": "Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
+ "type": "integer"
},
{
- "name": "uuid",
- "description": "UUID of the module.",
- "type": "string"
+ "name": "height",
+ "description": "Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.",
+ "type": "integer"
},
{
- "name": "baseAddress",
- "description": "Base address where the module is loaded into memory. Encoded as a decimal\nor hexadecimal (0x prefixed) string.",
- "type": "string"
+ "name": "deviceScaleFactor",
+ "description": "Overriding device scale factor value. 0 disables the override.",
+ "type": "number"
},
{
- "name": "size",
- "description": "Size of the module in bytes.",
+ "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"
- }
- ]
- }
- ],
- "commands": [
- {
- "name": "getDOMCounters",
- "returns": [
+ },
{
- "name": "documents",
+ "name": "screenWidth",
+ "description": "Overriding screen width value in pixels (minimum 0, maximum 10000000).",
+ "experimental": true,
+ "optional": true,
"type": "integer"
},
{
- "name": "nodes",
+ "name": "screenHeight",
+ "description": "Overriding screen height value in pixels (minimum 0, maximum 10000000).",
+ "experimental": true,
+ "optional": true,
"type": "integer"
},
{
- "name": "jsEventListeners",
+ "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.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "DisplayFeature"
}
]
},
{
- "name": "prepareForLeakDetection"
- },
- {
- "name": "forciblyPurgeJavaScriptMemory",
- "description": "Simulate OomIntervention by purging V8 memory."
+ "name": "setScrollbarsHidden",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "hidden",
+ "description": "Whether scrollbars should be always hidden.",
+ "type": "boolean"
+ }
+ ]
},
{
- "name": "setPressureNotificationsSuppressed",
- "description": "Enable/disable suppressing memory pressure notifications in all processes.",
+ "name": "setDocumentCookieDisabled",
+ "experimental": true,
"parameters": [
{
- "name": "suppressed",
- "description": "If true, memory pressure notifications will be suppressed.",
+ "name": "disabled",
+ "description": "Whether document.coookie API should be disabled.",
"type": "boolean"
}
]
},
{
- "name": "simulatePressureNotification",
- "description": "Simulate a memory pressure notification in all processes.",
+ "name": "setEmitTouchEventsForMouse",
+ "experimental": true,
"parameters": [
{
- "name": "level",
- "description": "Memory pressure level of the notification.",
- "$ref": "PressureLevel"
+ "name": "enabled",
+ "description": "Whether touch emulation based on mouse input should be enabled.",
+ "type": "boolean"
+ },
+ {
+ "name": "configuration",
+ "description": "Touch/gesture events configuration. Default: current platform.",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "mobile",
+ "desktop"
+ ]
}
]
},
{
- "name": "startSampling",
- "description": "Start collecting native memory profile.",
+ "name": "setEmulatedMedia",
+ "description": "Emulates the given media type or media feature for CSS media queries.",
"parameters": [
{
- "name": "samplingInterval",
- "description": "Average number of bytes between samples.",
+ "name": "media",
+ "description": "Media type to emulate. Empty string disables the override.",
"optional": true,
- "type": "integer"
+ "type": "string"
},
{
- "name": "suppressRandomness",
- "description": "Do not randomize intervals between samples.",
+ "name": "features",
+ "description": "Media features to emulate.",
"optional": true,
- "type": "boolean"
+ "type": "array",
+ "items": {
+ "$ref": "MediaFeature"
+ }
}
]
},
{
- "name": "stopSampling",
- "description": "Stop collecting native memory profile."
- },
- {
- "name": "getAllTimeSamplingProfile",
- "description": "Retrieve native memory allocations profile\ncollected since renderer process startup.",
- "returns": [
+ "name": "setEmulatedVisionDeficiency",
+ "description": "Emulates the given vision deficiency.",
+ "experimental": true,
+ "parameters": [
{
- "name": "profile",
- "$ref": "SamplingProfile"
+ "name": "type",
+ "description": "Vision deficiency to emulate.",
+ "type": "string",
+ "enum": [
+ "none",
+ "achromatopsia",
+ "blurredVision",
+ "deuteranopia",
+ "protanopia",
+ "tritanopia"
+ ]
}
]
},
{
- "name": "getBrowserSamplingProfile",
- "description": "Retrieve native memory allocations profile\ncollected since browser process startup.",
- "returns": [
+ "name": "setGeolocationOverride",
+ "description": "Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position\nunavailable.",
+ "parameters": [
{
- "name": "profile",
- "$ref": "SamplingProfile"
+ "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": "getSamplingProfile",
- "description": "Retrieve native memory allocations profile collected since last\n`startSampling` call.",
- "returns": [
+ "name": "setIdleOverride",
+ "description": "Overrides the Idle state.",
+ "experimental": true,
+ "parameters": [
{
- "name": "profile",
- "$ref": "SamplingProfile"
+ "name": "isUserActive",
+ "description": "Mock isUserActive",
+ "type": "boolean"
+ },
+ {
+ "name": "isScreenUnlocked",
+ "description": "Mock isScreenUnlocked",
+ "type": "boolean"
}
]
- }
- ]
- },
- {
- "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",
- "EventSource",
- "WebSocket",
- "Manifest",
- "SignedExchange",
- "Ping",
- "CSPViolationReport",
- "Other"
+ "name": "clearIdleOverride",
+ "description": "Clears Idle state overrides.",
+ "experimental": true
+ },
+ {
+ "name": "setNavigatorOverrides",
+ "description": "Overrides value returned by the javascript navigator object.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "platform",
+ "description": "The platform navigator.platform should return.",
+ "type": "string"
+ }
]
},
{
- "id": "LoaderId",
- "description": "Unique loader identifier.",
- "type": "string"
+ "name": "setPageScaleFactor",
+ "description": "Sets a specified page scale factor.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "pageScaleFactor",
+ "description": "Page scale factor.",
+ "type": "number"
+ }
+ ]
},
{
- "id": "RequestId",
- "description": "Unique request identifier.",
- "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"
+ }
+ ]
},
{
- "id": "InterceptionId",
- "description": "Unique intercepted request identifier.",
- "type": "string"
+ "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"
+ }
+ ]
},
{
- "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"
+ "name": "setVirtualTimePolicy",
+ "description": "Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets\nthe current virtual time policy. Note this supersedes any previous time budget.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "policy",
+ "$ref": "VirtualTimePolicy"
+ },
+ {
+ "name": "budget",
+ "description": "If set, after this many virtual milliseconds have elapsed virtual time will be paused and a\nvirtualTimeBudgetExpired event is sent.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "maxVirtualTimeTaskStarvationCount",
+ "description": "If set this specifies the maximum number of tasks that can be run before virtual is forced\nforwards to prevent deadlock.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "waitForNavigation",
+ "description": "If set the virtual time policy change should be deferred until any frame starts navigating.\nNote any previous deferred policy change is superseded.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "initialVirtualTime",
+ "description": "If set, base::Time::Now will be overridden to initially return this value.",
+ "optional": true,
+ "$ref": "Network.TimeSinceEpoch"
+ }
+ ],
+ "returns": [
+ {
+ "name": "virtualTimeTicksBase",
+ "description": "Absolute timestamp at which virtual time was first enabled (up time in milliseconds).",
+ "type": "number"
+ }
]
},
{
- "id": "TimeSinceEpoch",
- "description": "UTC time in seconds, counted from January 1, 1970.",
- "type": "number"
+ "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"
+ }
+ ]
},
{
- "id": "MonotonicTime",
- "description": "Monotonically increasing time in seconds since an arbitrary point in the past.",
- "type": "number"
+ "name": "setTimezoneOverride",
+ "description": "Overrides default host system timezone with the specified one.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "timezoneId",
+ "description": "The timezone identifier. If empty, disables the override and\nrestores default host system timezone.",
+ "type": "string"
+ }
+ ]
},
{
- "id": "Headers",
- "description": "Request / response headers as keys / values of JSON object.",
- "type": "object"
+ "name": "setVisibleSize",
+ "description": "Resizes the frame/viewport of the page. Note that this does not affect the frame's container\n(e.g. browser window). Can be used to produce screenshots of the specified size. Not supported\non Android.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "width",
+ "description": "Frame width (DIP).",
+ "type": "integer"
+ },
+ {
+ "name": "height",
+ "description": "Frame height (DIP).",
+ "type": "integer"
+ }
+ ]
},
{
- "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"
+ "name": "setDisabledImageTypes",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "imageTypes",
+ "description": "Image types to disable.",
+ "type": "array",
+ "items": {
+ "$ref": "DisabledImageType"
+ }
+ }
]
},
{
- "id": "CookieSameSite",
- "description": "Represents the cookie's 'SameSite' status:\nhttps://tools.ietf.org/html/draft-west-first-party-cookies",
- "type": "string",
- "enum": [
- "Strict",
- "Lax",
- "Extended",
- "None"
+ "name": "setUserAgentOverride",
+ "description": "Allows overriding user agent with the given string.",
+ "parameters": [
+ {
+ "name": "userAgent",
+ "description": "User agent to use.",
+ "type": "string"
+ },
+ {
+ "name": "acceptLanguage",
+ "description": "Browser langugage 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"
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "virtualTimeBudgetExpired",
+ "description": "Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.",
+ "experimental": true
+ }
+ ]
+ },
+ {
+ "domain": "HeadlessExperimental",
+ "description": "This domain provides experimental commands only supported in headless mode.",
+ "experimental": true,
+ "dependencies": [
+ "Page",
+ "Runtime"
+ ],
+ "types": [
+ {
+ "id": "ScreenshotParams",
+ "description": "Encoding options for a screenshot.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "format",
+ "description": "Image compression format (defaults to png).",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "jpeg",
+ "png"
+ ]
+ },
+ {
+ "name": "quality",
+ "description": "Compression quality from range [0..100] (jpeg only).",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "beginFrame",
+ "description": "Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a\nscreenshot from the resulting frame. Requires that the target was created with enabled\nBeginFrameControl. Designed for use with --run-all-compositor-stages-before-draw, see also\nhttps://goo.gl/3zHXhB for more background.",
+ "parameters": [
+ {
+ "name": "frameTimeTicks",
+ "description": "Timestamp of this BeginFrame in Renderer TimeTicks (milliseconds of uptime). If not set,\nthe current time will be used.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "interval",
+ "description": "The interval between BeginFrames that is reported to the compositor, in milliseconds.\nDefaults to a 60 frames/second interval, i.e. about 16.666 milliseconds.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "noDisplayUpdates",
+ "description": "Whether updates should not be committed and drawn onto the display. False by default. If\ntrue, only side effects of the BeginFrame will be run, such as layout and animations, but\nany visual updates may not be visible on the display or in screenshots.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "screenshot",
+ "description": "If set, a screenshot of the frame will be captured and returned in the response. Otherwise,\nno screenshot will be captured. Note that capturing a screenshot can fail, for example,\nduring renderer initialization. In such a case, no screenshot data will be returned.",
+ "optional": true,
+ "$ref": "ScreenshotParams"
+ }
+ ],
+ "returns": [
+ {
+ "name": "hasDamage",
+ "description": "Whether the BeginFrame resulted in damage and, thus, a new frame was committed to the\ndisplay. Reported for diagnostic uses, may be removed in the future.",
+ "type": "boolean"
+ },
+ {
+ "name": "screenshotData",
+ "description": "Base64-encoded image data of the screenshot, if one was requested and successfully taken. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "disable",
+ "description": "Disables headless events for the target."
+ },
+ {
+ "name": "enable",
+ "description": "Enables headless events for the target."
+ }
+ ],
+ "events": [
+ {
+ "name": "needsBeginFramesChanged",
+ "description": "Issued when the target starts or stops needing BeginFrames.\nDeprecated. Issue beginFrame unconditionally instead and use result from\nbeginFrame to detect whether the frames were suppressed.",
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "needsBeginFrames",
+ "description": "True if BeginFrames are needed, false otherwise.",
+ "type": "boolean"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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:<uuid>` where\n`<uuid>` is an UUID of a Blob.",
+ "type": "string"
+ }
+ ],
+ "commands": [
+ {
+ "name": "close",
+ "description": "Close the stream, discard any temporary backing storage.",
+ "parameters": [
+ {
+ "name": "handle",
+ "description": "Handle of the stream to close.",
+ "$ref": "StreamHandle"
+ }
+ ]
+ },
+ {
+ "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 specificed, 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": "resolveBlob",
+ "description": "Return UUID of Blob object specified by a remote object id.",
+ "parameters": [
+ {
+ "name": "objectId",
+ "description": "Object id of a Blob object wrapper.",
+ "$ref": "Runtime.RemoteObjectId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "uuid",
+ "description": "UUID of the specified Blob.",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "IndexedDB",
+ "experimental": true,
+ "dependencies": [
+ "Runtime"
+ ],
+ "types": [
+ {
+ "id": "DatabaseWithObjectStores",
+ "description": "Database with an array of object stores.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "description": "Database name.",
+ "type": "string"
+ },
+ {
+ "name": "version",
+ "description": "Database version (type is not 'integer', as the standard\nrequires the version number to be 'unsigned long long')",
+ "type": "number"
+ },
+ {
+ "name": "objectStores",
+ "description": "Object stores in this database.",
+ "type": "array",
+ "items": {
+ "$ref": "ObjectStore"
+ }
+ }
+ ]
+ },
+ {
+ "id": "ObjectStore",
+ "description": "Object store.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "description": "Object store name.",
+ "type": "string"
+ },
+ {
+ "name": "keyPath",
+ "description": "Object store key path.",
+ "$ref": "KeyPath"
+ },
+ {
+ "name": "autoIncrement",
+ "description": "If true, object store has auto increment flag set.",
+ "type": "boolean"
+ },
+ {
+ "name": "indexes",
+ "description": "Indexes in this object store.",
+ "type": "array",
+ "items": {
+ "$ref": "ObjectStoreIndex"
+ }
+ }
+ ]
+ },
+ {
+ "id": "ObjectStoreIndex",
+ "description": "Object store index.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "description": "Index name.",
+ "type": "string"
+ },
+ {
+ "name": "keyPath",
+ "description": "Index key path.",
+ "$ref": "KeyPath"
+ },
+ {
+ "name": "unique",
+ "description": "If true, index is unique.",
+ "type": "boolean"
+ },
+ {
+ "name": "multiEntry",
+ "description": "If true, index allows multiple entries for a key.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "id": "Key",
+ "description": "Key.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "description": "Key type.",
+ "type": "string",
+ "enum": [
+ "number",
+ "string",
+ "date",
+ "array"
+ ]
+ },
+ {
+ "name": "number",
+ "description": "Number value.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "string",
+ "description": "String value.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "date",
+ "description": "Date value.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "array",
+ "description": "Array value.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "Key"
+ }
+ }
+ ]
+ },
+ {
+ "id": "KeyRange",
+ "description": "Key range.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "lower",
+ "description": "Lower bound.",
+ "optional": true,
+ "$ref": "Key"
+ },
+ {
+ "name": "upper",
+ "description": "Upper bound.",
+ "optional": true,
+ "$ref": "Key"
+ },
+ {
+ "name": "lowerOpen",
+ "description": "If true lower bound is open.",
+ "type": "boolean"
+ },
+ {
+ "name": "upperOpen",
+ "description": "If true upper bound is open.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "id": "DataEntry",
+ "description": "Data entry.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "key",
+ "description": "Key object.",
+ "$ref": "Runtime.RemoteObject"
+ },
+ {
+ "name": "primaryKey",
+ "description": "Primary key object.",
+ "$ref": "Runtime.RemoteObject"
+ },
+ {
+ "name": "value",
+ "description": "Value object.",
+ "$ref": "Runtime.RemoteObject"
+ }
+ ]
+ },
+ {
+ "id": "KeyPath",
+ "description": "Key path.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "description": "Key path type.",
+ "type": "string",
+ "enum": [
+ "null",
+ "string",
+ "array"
+ ]
+ },
+ {
+ "name": "string",
+ "description": "String value.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "array",
+ "description": "Array value.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "clearObjectStore",
+ "description": "Clears all entries from an object store.",
+ "parameters": [
+ {
+ "name": "securityOrigin",
+ "description": "Security origin.",
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ },
+ {
+ "name": "objectStoreName",
+ "description": "Object store name.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "deleteDatabase",
+ "description": "Deletes a database.",
+ "parameters": [
+ {
+ "name": "securityOrigin",
+ "description": "Security origin.",
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "deleteObjectStoreEntries",
+ "description": "Delete a range of entries from an object store",
+ "parameters": [
+ {
+ "name": "securityOrigin",
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "type": "string"
+ },
+ {
+ "name": "objectStoreName",
+ "type": "string"
+ },
+ {
+ "name": "keyRange",
+ "description": "Range of entry keys to delete",
+ "$ref": "KeyRange"
+ }
+ ]
+ },
+ {
+ "name": "disable",
+ "description": "Disables events from backend."
+ },
+ {
+ "name": "enable",
+ "description": "Enables events from backend."
+ },
+ {
+ "name": "requestData",
+ "description": "Requests data from object store or index.",
+ "parameters": [
+ {
+ "name": "securityOrigin",
+ "description": "Security origin.",
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ },
+ {
+ "name": "objectStoreName",
+ "description": "Object store name.",
+ "type": "string"
+ },
+ {
+ "name": "indexName",
+ "description": "Index name, empty string for object store data requests.",
+ "type": "string"
+ },
+ {
+ "name": "skipCount",
+ "description": "Number of records to skip.",
+ "type": "integer"
+ },
+ {
+ "name": "pageSize",
+ "description": "Number of records to fetch.",
+ "type": "integer"
+ },
+ {
+ "name": "keyRange",
+ "description": "Key range.",
+ "optional": true,
+ "$ref": "KeyRange"
+ }
+ ],
+ "returns": [
+ {
+ "name": "objectStoreDataEntries",
+ "description": "Array of object store data entries.",
+ "type": "array",
+ "items": {
+ "$ref": "DataEntry"
+ }
+ },
+ {
+ "name": "hasMore",
+ "description": "If true, there are more entries to fetch in the given range.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "getMetadata",
+ "description": "Gets metadata of an object store",
+ "parameters": [
+ {
+ "name": "securityOrigin",
+ "description": "Security origin.",
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ },
+ {
+ "name": "objectStoreName",
+ "description": "Object store name.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "entriesCount",
+ "description": "the entries count",
+ "type": "number"
+ },
+ {
+ "name": "keyGeneratorValue",
+ "description": "the current value of key generator, to become the next inserted\nkey into the object store. Valid if objectStore.autoIncrement\nis true.",
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "name": "requestDatabase",
+ "description": "Requests database with given name in given frame.",
+ "parameters": [
+ {
+ "name": "securityOrigin",
+ "description": "Security origin.",
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "description": "Database name.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "databaseWithObjectStores",
+ "description": "Database with an array of object stores.",
+ "$ref": "DatabaseWithObjectStores"
+ }
+ ]
+ },
+ {
+ "name": "requestDatabaseNames",
+ "description": "Requests database names for given security origin.",
+ "parameters": [
+ {
+ "name": "securityOrigin",
+ "description": "Security origin.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "databaseNames",
+ "description": "Database names for origin.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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)",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "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).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "dispatchDragEvent",
+ "description": "Dispatches a drag event into the page.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "type",
+ "description": "Type of the drag event.",
+ "type": "string",
+ "enum": [
+ "dragEnter",
+ "dragOver",
+ "drop",
+ "dragCancel"
+ ]
+ },
+ {
+ "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": "data",
+ "$ref": "DragData"
+ },
+ {
+ "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": "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/+/master: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": "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"
+ }
+ ]
+ },
+ {
+ "name": "imeSetComposition",
+ "description": "This method sets the current candidate text for ime.\nUse imeCommitComposition to commit the final text.\nUse imeSetComposition with empty string as text to cancel composition.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "text",
+ "description": "The text to insert",
+ "type": "string"
+ },
+ {
+ "name": "selectionStart",
+ "description": "selection start",
+ "type": "integer"
+ },
+ {
+ "name": "selectionEnd",
+ "description": "selection end",
+ "type": "integer"
+ },
+ {
+ "name": "replacementStart",
+ "description": "replacement start",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "replacementEnd",
+ "description": "replacement end",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "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).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "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).",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "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": "dispatchTouchEvent",
+ "description": "Dispatches a touch event to the page.",
+ "parameters": [
+ {
+ "name": "type",
+ "description": "Type of the touch event. TouchEnd and TouchCancel must not contain any touch points, while\nTouchStart and TouchMove must contains at least one.",
+ "type": "string",
+ "enum": [
+ "touchStart",
+ "touchEnd",
+ "touchMove",
+ "touchCancel"
+ ]
+ },
+ {
+ "name": "touchPoints",
+ "description": "Active touch points on the touch device. One event per any changed point (compared to\nprevious touch event in a sequence) is generated, emulating pressing/moving/releasing points\none by one.",
+ "type": "array",
+ "items": {
+ "$ref": "TouchPoint"
+ }
+ },
+ {
+ "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": "emulateTouchFromMouseEvent",
+ "description": "Emulates touch event from the mouse event parameters.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "type",
+ "description": "Type of the mouse event.",
+ "type": "string",
+ "enum": [
+ "mousePressed",
+ "mouseReleased",
+ "mouseMoved",
+ "mouseWheel"
+ ]
+ },
+ {
+ "name": "x",
+ "description": "X coordinate of the mouse pointer in DIP.",
+ "type": "integer"
+ },
+ {
+ "name": "y",
+ "description": "Y coordinate of the mouse pointer in DIP.",
+ "type": "integer"
+ },
+ {
+ "name": "button",
+ "description": "Mouse button. Only \"none\", \"left\", \"right\" are supported.",
+ "$ref": "MouseButton"
+ },
+ {
+ "name": "timestamp",
+ "description": "Time at which the event occurred (default: current time).",
+ "optional": true,
+ "$ref": "TimeSinceEpoch"
+ },
+ {
+ "name": "deltaX",
+ "description": "X delta in DIP for mouse wheel event (default: 0).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "deltaY",
+ "description": "Y delta in DIP for mouse wheel event (default: 0).",
+ "optional": true,
+ "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": "clickCount",
+ "description": "Number of times the mouse button was clicked (default: 0).",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "setIgnoreInputEvents",
+ "description": "Ignores input events (useful while auditing page).",
+ "parameters": [
+ {
+ "name": "ignore",
+ "description": "Ignores input events processing when set to true.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setInterceptDrags",
+ "description": "Prevents default drag and drop behavior and instead emits `Input.dragIntercepted` events.\nDrag and drop behavior can be directly controlled via `Input.dispatchDragEvent`.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "synthesizePinchGesture",
+ "description": "Synthesizes a pinch gesture over a time period by issuing appropriate touch events.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "x",
+ "description": "X coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "description": "Y coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
+ {
+ "name": "scaleFactor",
+ "description": "Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out).",
+ "type": "number"
+ },
+ {
+ "name": "relativeSpeed",
+ "description": "Relative pointer speed in pixels per second (default: 800).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "gestureSourceType",
+ "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
+ "optional": true,
+ "$ref": "GestureSourceType"
+ }
+ ]
+ },
+ {
+ "name": "synthesizeScrollGesture",
+ "description": "Synthesizes a scroll gesture over a time period by issuing appropriate touch events.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "x",
+ "description": "X coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "description": "Y coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
+ {
+ "name": "xDistance",
+ "description": "The distance to scroll along the X axis (positive to scroll left).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "yDistance",
+ "description": "The distance to scroll along the Y axis (positive to scroll up).",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "xOverscroll",
+ "description": "The number of additional pixels to scroll back along the X axis, in addition to the given\ndistance.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "yOverscroll",
+ "description": "The number of additional pixels to scroll back along the Y axis, in addition to the given\ndistance.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "preventFling",
+ "description": "Prevent fling (default: true).",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "speed",
+ "description": "Swipe speed in pixels per second (default: 800).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "gestureSourceType",
+ "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
+ "optional": true,
+ "$ref": "GestureSourceType"
+ },
+ {
+ "name": "repeatCount",
+ "description": "The number of times to repeat the gesture (default: 0).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "repeatDelayMs",
+ "description": "The number of milliseconds delay between each repeat. (default: 250).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "interactionMarkerName",
+ "description": "The name of the interaction markers to generate, if not empty (default: \"\").",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "synthesizeTapGesture",
+ "description": "Synthesizes a tap gesture over a time period by issuing appropriate touch events.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "x",
+ "description": "X coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "description": "Y coordinate of the start of the gesture in CSS pixels.",
+ "type": "number"
+ },
+ {
+ "name": "duration",
+ "description": "Duration between touchdown and touchup events in ms (default: 50).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "tapCount",
+ "description": "Number of times to perform the tap (e.g. 2 for double tap, default: 1).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "gestureSourceType",
+ "description": "Which type of input events to be generated (default: 'default', which queries the platform\nfor the preferred input type).",
+ "optional": true,
+ "$ref": "GestureSourceType"
+ }
+ ]
+ }
+ ],
+ "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"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Inspector",
+ "experimental": true,
+ "commands": [
+ {
+ "name": "disable",
+ "description": "Disables inspector domain notifications."
+ },
+ {
+ "name": "enable",
+ "description": "Enables inspector domain notifications."
+ }
+ ],
+ "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"
+ }
+ ]
+ },
+ {
+ "domain": "LayerTree",
+ "experimental": true,
+ "dependencies": [
+ "DOM"
+ ],
+ "types": [
+ {
+ "id": "LayerId",
+ "description": "Unique Layer identifier.",
+ "type": "string"
+ },
+ {
+ "id": "SnapshotId",
+ "description": "Unique snapshot identifier.",
+ "type": "string"
+ },
+ {
+ "id": "ScrollRect",
+ "description": "Rectangle where scrolling happens on the main thread.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "rect",
+ "description": "Rectangle itself.",
+ "$ref": "DOM.Rect"
+ },
+ {
+ "name": "type",
+ "description": "Reason for rectangle to force scrolling on the main thread",
+ "type": "string",
+ "enum": [
+ "RepaintsOnScroll",
+ "TouchEventHandler",
+ "WheelEventHandler"
+ ]
+ }
+ ]
+ },
+ {
+ "id": "StickyPositionConstraint",
+ "description": "Sticky position constraints.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "stickyBoxRect",
+ "description": "Layout rectangle of the sticky element before being shifted",
+ "$ref": "DOM.Rect"
+ },
+ {
+ "name": "containingBlockRect",
+ "description": "Layout rectangle of the containing block of the sticky element",
+ "$ref": "DOM.Rect"
+ },
+ {
+ "name": "nearestLayerShiftingStickyBox",
+ "description": "The nearest sticky layer that shifts the sticky box",
+ "optional": true,
+ "$ref": "LayerId"
+ },
+ {
+ "name": "nearestLayerShiftingContainingBlock",
+ "description": "The nearest sticky layer that shifts the containing block",
+ "optional": true,
+ "$ref": "LayerId"
+ }
+ ]
+ },
+ {
+ "id": "PictureTile",
+ "description": "Serialized fragment of layer picture along with its offset within the layer.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "x",
+ "description": "Offset from owning layer left boundary",
+ "type": "number"
+ },
+ {
+ "name": "y",
+ "description": "Offset from owning layer top boundary",
+ "type": "number"
+ },
+ {
+ "name": "picture",
+ "description": "Base64-encoded snapshot data. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "Layer",
+ "description": "Information about a compositing layer.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "layerId",
+ "description": "The unique id for this layer.",
+ "$ref": "LayerId"
+ },
+ {
+ "name": "parentLayerId",
+ "description": "The id of parent (not present for root).",
+ "optional": true,
+ "$ref": "LayerId"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "The backend id for the node associated with this layer.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "offsetX",
+ "description": "Offset from parent layer, X coordinate.",
+ "type": "number"
+ },
+ {
+ "name": "offsetY",
+ "description": "Offset from parent layer, Y coordinate.",
+ "type": "number"
+ },
+ {
+ "name": "width",
+ "description": "Layer width.",
+ "type": "number"
+ },
+ {
+ "name": "height",
+ "description": "Layer height.",
+ "type": "number"
+ },
+ {
+ "name": "transform",
+ "description": "Transformation matrix for layer, default is identity matrix",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ {
+ "name": "anchorX",
+ "description": "Transform anchor point X, absent if no transform specified",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "anchorY",
+ "description": "Transform anchor point Y, absent if no transform specified",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "anchorZ",
+ "description": "Transform anchor point Z, absent if no transform specified",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "paintCount",
+ "description": "Indicates how many time this layer has painted.",
+ "type": "integer"
+ },
+ {
+ "name": "drawsContent",
+ "description": "Indicates whether this layer hosts any content, rather than being used for\ntransform/scrolling purposes only.",
+ "type": "boolean"
+ },
+ {
+ "name": "invisible",
+ "description": "Set if layer is not visible.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "scrollRects",
+ "description": "Rectangles scrolling on main thread only.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "ScrollRect"
+ }
+ },
+ {
+ "name": "stickyPositionConstraint",
+ "description": "Sticky position constraint information",
+ "optional": true,
+ "$ref": "StickyPositionConstraint"
+ }
+ ]
+ },
+ {
+ "id": "PaintProfile",
+ "description": "Array of timings, one per paint step.",
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ ],
+ "commands": [
+ {
+ "name": "compositingReasons",
+ "description": "Provides the reasons why the given layer was composited.",
+ "parameters": [
+ {
+ "name": "layerId",
+ "description": "The id of the layer for which we want to get the reasons it was composited.",
+ "$ref": "LayerId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "compositingReasons",
+ "description": "A list of strings specifying reasons for the given layer to become composited.",
+ "deprecated": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "compositingReasonIds",
+ "description": "A list of strings specifying reason IDs for the given layer to become composited.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "disable",
+ "description": "Disables compositing tree inspection."
+ },
+ {
+ "name": "enable",
+ "description": "Enables compositing tree inspection."
+ },
+ {
+ "name": "loadSnapshot",
+ "description": "Returns the snapshot identifier.",
+ "parameters": [
+ {
+ "name": "tiles",
+ "description": "An array of tiles composing the snapshot.",
+ "type": "array",
+ "items": {
+ "$ref": "PictureTile"
+ }
+ }
+ ],
+ "returns": [
+ {
+ "name": "snapshotId",
+ "description": "The id of the snapshot.",
+ "$ref": "SnapshotId"
+ }
+ ]
+ },
+ {
+ "name": "makeSnapshot",
+ "description": "Returns the layer snapshot identifier.",
+ "parameters": [
+ {
+ "name": "layerId",
+ "description": "The id of the layer.",
+ "$ref": "LayerId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ }
+ ]
+ },
+ {
+ "name": "profileSnapshot",
+ "parameters": [
+ {
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ },
+ {
+ "name": "minRepeatCount",
+ "description": "The maximum number of times to replay the snapshot (1, if not specified).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "minDuration",
+ "description": "The minimum duration (in seconds) to replay the snapshot.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "clipRect",
+ "description": "The clip rectangle to apply when replaying the snapshot.",
+ "optional": true,
+ "$ref": "DOM.Rect"
+ }
+ ],
+ "returns": [
+ {
+ "name": "timings",
+ "description": "The array of paint profiles, one per run.",
+ "type": "array",
+ "items": {
+ "$ref": "PaintProfile"
+ }
+ }
+ ]
+ },
+ {
+ "name": "releaseSnapshot",
+ "description": "Releases layer snapshot captured by the back-end.",
+ "parameters": [
+ {
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ }
+ ]
+ },
+ {
+ "name": "replaySnapshot",
+ "description": "Replays the layer snapshot and returns the resulting bitmap.",
+ "parameters": [
+ {
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ },
+ {
+ "name": "fromStep",
+ "description": "The first step to replay from (replay from the very start if not specified).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "toStep",
+ "description": "The last step to replay to (replay till the end if not specified).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "scale",
+ "description": "The scale to apply while replaying (defaults to 1).",
+ "optional": true,
+ "type": "number"
+ }
+ ],
+ "returns": [
+ {
+ "name": "dataURL",
+ "description": "A data: URL for resulting image.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "snapshotCommandLog",
+ "description": "Replays the layer snapshot and returns canvas log.",
+ "parameters": [
+ {
+ "name": "snapshotId",
+ "description": "The id of the layer snapshot.",
+ "$ref": "SnapshotId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "commandLog",
+ "description": "The array of canvas function calls.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "layerPainted",
+ "parameters": [
+ {
+ "name": "layerId",
+ "description": "The id of the painted layer.",
+ "$ref": "LayerId"
+ },
+ {
+ "name": "clip",
+ "description": "Clip rectangle.",
+ "$ref": "DOM.Rect"
+ }
+ ]
+ },
+ {
+ "name": "layerTreeDidChange",
+ "parameters": [
+ {
+ "name": "layers",
+ "description": "Layer tree, absent if not in the comspositing mode.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "Layer"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "clear",
+ "description": "Clears the log."
+ },
+ {
+ "name": "disable",
+ "description": "Disables log domain, prevents further log entries from being reported to the client."
+ },
+ {
+ "name": "enable",
+ "description": "Enables log domain, sends the entries collected so far to the client by means of the\n`entryAdded` notification."
+ },
+ {
+ "name": "startViolationsReport",
+ "description": "start violation reporting.",
+ "parameters": [
+ {
+ "name": "config",
+ "description": "Configuration for violations.",
+ "type": "array",
+ "items": {
+ "$ref": "ViolationSetting"
+ }
+ }
+ ]
+ },
+ {
+ "name": "stopViolationsReport",
+ "description": "Stop violation reporting."
+ }
+ ],
+ "events": [
+ {
+ "name": "entryAdded",
+ "description": "Issued when new message was logged.",
+ "parameters": [
+ {
+ "name": "entry",
+ "description": "The entry.",
+ "$ref": "LogEntry"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Memory",
+ "experimental": true,
+ "types": [
+ {
+ "id": "PressureLevel",
+ "description": "Memory pressure level.",
+ "type": "string",
+ "enum": [
+ "moderate",
+ "critical"
+ ]
+ },
+ {
+ "id": "SamplingProfileNode",
+ "description": "Heap profile sample.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "size",
+ "description": "Size of the sampled allocation.",
+ "type": "number"
+ },
+ {
+ "name": "total",
+ "description": "Total bytes attributed to this sample.",
+ "type": "number"
+ },
+ {
+ "name": "stack",
+ "description": "Execution stack at the point of allocation.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "id": "SamplingProfile",
+ "description": "Array of heap profile samples.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "samples",
+ "type": "array",
+ "items": {
+ "$ref": "SamplingProfileNode"
+ }
+ },
+ {
+ "name": "modules",
+ "type": "array",
+ "items": {
+ "$ref": "Module"
+ }
+ }
+ ]
+ },
+ {
+ "id": "Module",
+ "description": "Executable module information",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "description": "Name of the module.",
+ "type": "string"
+ },
+ {
+ "name": "uuid",
+ "description": "UUID of the module.",
+ "type": "string"
+ },
+ {
+ "name": "baseAddress",
+ "description": "Base address where the module is loaded into memory. Encoded as a decimal\nor hexadecimal (0x prefixed) string.",
+ "type": "string"
+ },
+ {
+ "name": "size",
+ "description": "Size of the module in bytes.",
+ "type": "number"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "getDOMCounters",
+ "returns": [
+ {
+ "name": "documents",
+ "type": "integer"
+ },
+ {
+ "name": "nodes",
+ "type": "integer"
+ },
+ {
+ "name": "jsEventListeners",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "prepareForLeakDetection"
+ },
+ {
+ "name": "forciblyPurgeJavaScriptMemory",
+ "description": "Simulate OomIntervention by purging V8 memory."
+ },
+ {
+ "name": "setPressureNotificationsSuppressed",
+ "description": "Enable/disable suppressing memory pressure notifications in all processes.",
+ "parameters": [
+ {
+ "name": "suppressed",
+ "description": "If true, memory pressure notifications will be suppressed.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "simulatePressureNotification",
+ "description": "Simulate a memory pressure notification in all processes.",
+ "parameters": [
+ {
+ "name": "level",
+ "description": "Memory pressure level of the notification.",
+ "$ref": "PressureLevel"
+ }
+ ]
+ },
+ {
+ "name": "startSampling",
+ "description": "Start collecting native memory profile.",
+ "parameters": [
+ {
+ "name": "samplingInterval",
+ "description": "Average number of bytes between samples.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "suppressRandomness",
+ "description": "Do not randomize intervals between samples.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "stopSampling",
+ "description": "Stop collecting native memory profile."
+ },
+ {
+ "name": "getAllTimeSamplingProfile",
+ "description": "Retrieve native memory allocations profile\ncollected since renderer process startup.",
+ "returns": [
+ {
+ "name": "profile",
+ "$ref": "SamplingProfile"
+ }
+ ]
+ },
+ {
+ "name": "getBrowserSamplingProfile",
+ "description": "Retrieve native memory allocations profile\ncollected since browser process startup.",
+ "returns": [
+ {
+ "name": "profile",
+ "$ref": "SamplingProfile"
+ }
+ ]
+ },
+ {
+ "name": "getSamplingProfile",
+ "description": "Retrieve native memory allocations profile collected since last\n`startSampling` call.",
+ "returns": [
+ {
+ "name": "profile",
+ "$ref": "SamplingProfile"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "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",
+ "EventSource",
+ "WebSocket",
+ "Manifest",
+ "SignedExchange",
+ "Ping",
+ "CSPViolationReport",
+ "Preflight",
+ "Other"
+ ]
+ },
+ {
+ "id": "LoaderId",
+ "description": "Unique loader identifier.",
+ "type": "string"
+ },
+ {
+ "id": "RequestId",
+ "description": "Unique request identifier.",
+ "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": "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": "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": "PostDataEntry",
+ "description": "Post data entry for HTTP request",
+ "type": "object",
+ "properties": [
+ {
+ "name": "bytes",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "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.",
+ "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. This will be converted from base64 to binary",
+ "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 correspondinfg to the main frame.",
+ "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"
+ }
+ ]
+ },
+ {
+ "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",
+ "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-site"
+ ]
+ },
+ {
+ "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",
+ "PreflightMissingAllowPrivateNetwork",
+ "PreflightInvalidAllowPrivateNetwork",
+ "InvalidAllowMethodsPreflightResponse",
+ "InvalidAllowHeadersPreflightResponse",
+ "MethodDisallowedByPreflightResponse",
+ "HeaderDisallowedByPreflightResponse",
+ "RedirectContainsCredentials",
+ "InsecurePrivateNetwork",
+ "InvalidPrivateNetworkAccess",
+ "UnexpectedPrivateNetworkAccess",
+ "NoCorsRedirectModeNotFollow"
+ ]
+ },
+ {
+ "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": "type",
+ "$ref": "TrustTokenOperationType"
+ },
+ {
+ "name": "refreshPolicy",
+ "description": "Only set for \"token-redemption\" type 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": "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": "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": "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": "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",
+ "other"
+ ]
+ },
+ {
+ "name": "stack",
+ "description": "Initiator JavaScript stack trace, set for Script only.",
+ "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": "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.",
+ "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": "sameParty",
+ "description": "True if cookie is SameParty.",
+ "experimental": true,
+ "type": "boolean"
+ },
+ {
+ "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. The site of the top-level URL the browser was visiting at the start\nof the request to the endpoint that set the cookie.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "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",
+ "SyntaxError",
+ "SchemeNotSupported",
+ "OverwriteSecure",
+ "InvalidDomain",
+ "InvalidPrefix",
+ "UnknownError",
+ "SchemefulSameSiteStrict",
+ "SchemefulSameSiteLax",
+ "SchemefulSameSiteUnspecifiedTreatedAsLax",
+ "SamePartyFromCrossPartyContext",
+ "SamePartyConflictsWithOtherAttributes",
+ "NameValuePairExceedsMaxSize"
+ ]
+ },
+ {
+ "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",
+ "UnknownError",
+ "SchemefulSameSiteStrict",
+ "SchemefulSameSiteLax",
+ "SchemefulSameSiteUnspecifiedTreatedAsLax",
+ "SamePartyFromCrossPartyContext",
+ "NameValuePairExceedsMaxSize"
+ ]
+ },
+ {
+ "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": "BlockedCookieWithReason",
+ "description": "A cookie with was not sent with a request with the corresponding reason.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "blockedReasons",
+ "description": "The reason(s) the cookie was blocked.",
+ "type": "array",
+ "items": {
+ "$ref": "CookieBlockedReason"
+ }
+ },
+ {
+ "name": "cookie",
+ "description": "The cookie object representing the cookie which was not sent.",
+ "$ref": "Cookie"
+ }
+ ]
+ },
+ {
+ "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": "sameParty",
+ "description": "True if cookie is SameParty.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "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. The site of the top-level URL the browser was visiting at the start\nof the request to the endpoint that set the cookie.\nIf not set, the cookie will be set as not partitioned.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "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": "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 exchagne.",
+ "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"
+ ]
+ },
+ {
+ "id": "PrivateNetworkRequestPolicy",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Allow",
+ "BlockFromInsecureToMorePrivate",
+ "WarnFromInsecureToMorePrivate",
+ "PreflightBlock",
+ "PreflightWarn"
+ ]
+ },
+ {
+ "id": "IPAddressSpace",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Local",
+ "Private",
+ "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": "privateNetworkRequestPolicy",
+ "$ref": "PrivateNetworkRequestPolicy"
+ }
+ ]
+ },
+ {
+ "id": "CrossOriginOpenerPolicyValue",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "SameOrigin",
+ "SameOriginAllowPopups",
+ "UnsafeNone",
+ "SameOriginPlusCoep"
+ ]
+ },
+ {
+ "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": "SecurityIsolationStatus",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "coop",
+ "optional": true,
+ "$ref": "CrossOriginOpenerPolicyStatus"
+ },
+ {
+ "name": "coep",
+ "optional": true,
+ "$ref": "CrossOriginEmbedderPolicyStatus"
+ }
+ ]
+ },
+ {
+ "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": "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"
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "setAcceptedEncodings",
+ "description": "Sets a list of content encodings that will be accepted. Empty list means no encoding is accepted.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "encodings",
+ "description": "List of accepted content encodings.",
+ "type": "array",
+ "items": {
+ "$ref": "ContentEncoding"
+ }
+ }
+ ]
+ },
+ {
+ "name": "clearAcceptedEncodingsOverride",
+ "description": "Clears accepted encodings set by setAcceptedEncodings",
+ "experimental": true
+ },
+ {
+ "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": "canClearBrowserCookies",
+ "description": "Tells whether clearing browser cookies is supported.",
+ "deprecated": true,
+ "returns": [
+ {
+ "name": "result",
+ "description": "True if browser cookies can be cleared.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "canEmulateNetworkConditions",
+ "description": "Tells whether emulation of network conditions is supported.",
+ "deprecated": true,
+ "returns": [
+ {
+ "name": "result",
+ "description": "True if emulation of network conditions is supported.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "clearBrowserCache",
+ "description": "Clears browser cache."
+ },
+ {
+ "name": "clearBrowserCookies",
+ "description": "Clears browser cookies."
+ },
+ {
+ "name": "continueInterceptedRequest",
+ "description": "Response to Network.requestIntercepted which either modifies the request to continue with any\nmodifications, or blocks it, or completes it with the provided response bytes. If a network\nfetch occurs as a result which encounters a redirect an additional Network.requestIntercepted\nevent will be sent with the same InterceptionId.\nDeprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "interceptionId",
+ "$ref": "InterceptionId"
+ },
+ {
+ "name": "errorReason",
+ "description": "If set this causes the request to fail with the given reason. Passing `Aborted` for requests\nmarked with `isNavigationRequest` also cancels the navigation. Must not be set in response\nto an authChallenge.",
+ "optional": true,
+ "$ref": "ErrorReason"
+ },
+ {
+ "name": "rawResponse",
+ "description": "If set the requests completes using with the provided base64 encoded raw response, including\nHTTP status line and headers etc... Must not be set in response to an authChallenge. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "url",
+ "description": "If set the request url will be modified in a way that's not observable by page. Must not be\nset in response to an authChallenge.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "method",
+ "description": "If set this allows the request method to be overridden. Must not be set in response to an\nauthChallenge.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "postData",
+ "description": "If set this allows postData to be set. Must not be set in response to an authChallenge.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "headers",
+ "description": "If set this allows the request headers to be changed. Must not be set in response to an\nauthChallenge.",
+ "optional": true,
+ "$ref": "Headers"
+ },
+ {
+ "name": "authChallengeResponse",
+ "description": "Response to a requestIntercepted with an authChallenge. Must not be set otherwise.",
+ "optional": true,
+ "$ref": "AuthChallengeResponse"
+ }
+ ]
+ },
+ {
+ "name": "deleteCookies",
+ "description": "Deletes browser cookies with matching name and url or domain/path 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": "disable",
+ "description": "Disables network tracking, prevents network events from being sent to the client."
+ },
+ {
+ "name": "emulateNetworkConditions",
+ "description": "Activates emulation of network conditions.",
+ "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": "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).",
+ "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": "getAllCookies",
+ "description": "Returns all browser cookies. Depending on the backend support, will return detailed cookie\ninformation in the `cookies` field.",
+ "returns": [
+ {
+ "name": "cookies",
+ "description": "Array of cookie objects.",
+ "type": "array",
+ "items": {
+ "$ref": "Cookie"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getCertificate",
+ "description": "Returns the DER-encoded certificate.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "origin",
+ "description": "Origin to get certificate for.",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "tableNames",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "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": "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": "getResponseBodyForInterception",
+ "description": "Returns content served for the given currently intercepted request.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "interceptionId",
+ "description": "Identifier for the intercepted request to get body for.",
+ "$ref": "InterceptionId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "body",
+ "description": "Response body.",
+ "type": "string"
+ },
+ {
+ "name": "base64Encoded",
+ "description": "True, if content was sent as base64.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "takeResponseBodyForInterceptionAsStream",
+ "description": "Returns a handle to the stream representing the response body. Note that after this command,\nthe intercepted request can't be continued as is -- you either need to cancel it or to provide\nthe response body. The stream only supports sequential read, IO.read will fail if the position\nis specified.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "interceptionId",
+ "$ref": "InterceptionId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "stream",
+ "$ref": "IO.StreamHandle"
+ }
+ ]
+ },
+ {
+ "name": "replayXHR",
+ "description": "This method sends a new XMLHttpRequest which is identical to the original one. The following\nparameters should be identical: method, url, async, request body, extra headers, withCredentials\nattribute, user, password.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Identifier of XHR to replay.",
+ "$ref": "RequestId"
+ }
+ ]
+ },
+ {
+ "name": "searchInResponseBody",
+ "description": "Searches for given string in response content.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Identifier of the network response to search.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "query",
+ "description": "String to search for.",
+ "type": "string"
+ },
+ {
+ "name": "caseSensitive",
+ "description": "If true, search is case sensitive.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "isRegex",
+ "description": "If true, treats string parameter as regex.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "result",
+ "description": "List of search matches.",
+ "type": "array",
+ "items": {
+ "$ref": "Debugger.SearchMatch"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setBlockedURLs",
+ "description": "Blocks URLs from loading.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "urls",
+ "description": "URL patterns to block. Wildcards ('*') are allowed.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setBypassServiceWorker",
+ "description": "Toggles ignoring of service worker for each request.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "bypass",
+ "description": "Bypass service worker and load from network.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "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": "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": "sameParty",
+ "description": "True if cookie is SameParty.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "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. The site of the top-level URL the browser was visiting at the start\nof the request to the endpoint that set the cookie.\nIf not set, the cookie will be set as not partitioned.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
+ }
+ ],
+ "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": "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": "setAttachDebugStack",
+ "description": "Specifies whether to attach a page script stack id in requests",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether to attach a page script stack for debugging purpose.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "setRequestInterception",
+ "description": "Sets the requests to intercept that match the provided patterns and optionally resource types.\nDeprecated, please use Fetch.enable instead.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "patterns",
+ "description": "Requests matching any of these patterns will be forwarded and wait for the corresponding\ncontinueInterceptedRequest call.",
+ "type": "array",
+ "items": {
+ "$ref": "RequestPattern"
+ }
+ }
+ ]
+ },
+ {
+ "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 langugage 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": "getSecurityIsolationStatus",
+ "description": "Returns information about the COEP/COOP isolation status.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "If no frameId is provided, the status of the target is provided.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "status",
+ "$ref": "SecurityIsolationStatus"
+ }
+ ]
+ },
+ {
+ "name": "enableReportingApi",
+ "description": "Enables tracking for the Reporting API, events generated by the Reporting API will now be delivered to the client.\nEnabling triggers 'reportingApiReportAdded' for all existing reports.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "enable",
+ "description": "Whether to enable or disable events for the Reporting API",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "loadNetworkResource",
+ "description": "Fetches the resource and returns the content.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "frameId",
+ "description": "Frame id to get the resource for. Mandatory for frame targets, and\nshould be omitted for worker targets.",
+ "optional": true,
+ "$ref": "Page.FrameId"
+ },
+ {
+ "name": "url",
+ "description": "URL of the resource to get content for.",
+ "type": "string"
+ },
+ {
+ "name": "options",
+ "description": "Options for the request.",
+ "$ref": "LoadNetworkResourceOptions"
+ }
+ ],
+ "returns": [
+ {
+ "name": "resource",
+ "$ref": "LoadNetworkResourcePageResult"
+ }
+ ]
+ }
+ ],
+ "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": "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": "User friendly error message.",
+ "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": "shouldReportCorbBlocking",
+ "description": "Set when 1) response was blocked by Cross-Origin Read Blocking and also\n2) this needs to be reported to the DevTools console.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "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": "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"
+ }
]
},
{
- "id": "ResourceTiming",
- "description": "Timing information for the request.",
- "type": "object",
- "properties": [
+ "name": "webSocketFrameError",
+ "description": "Fired when WebSocket message error occurs.",
+ "parameters": [
{
- "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": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "proxyStart",
- "description": "Started resolving proxy.",
- "type": "number"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "proxyEnd",
- "description": "Finished resolving proxy.",
- "type": "number"
- },
+ "name": "errorMessage",
+ "description": "WebSocket error message.",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "webSocketFrameReceived",
+ "description": "Fired when WebSocket message is received.",
+ "parameters": [
{
- "name": "dnsStart",
- "description": "Started DNS address resolve.",
- "type": "number"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "dnsEnd",
- "description": "Finished DNS address resolve.",
- "type": "number"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "connectStart",
- "description": "Started connecting to the remote host.",
- "type": "number"
- },
+ "name": "response",
+ "description": "WebSocket response data.",
+ "$ref": "WebSocketFrame"
+ }
+ ]
+ },
+ {
+ "name": "webSocketFrameSent",
+ "description": "Fired when WebSocket message is sent.",
+ "parameters": [
{
- "name": "connectEnd",
- "description": "Connected to the remote host.",
- "type": "number"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "sslStart",
- "description": "Started SSL handshake.",
- "type": "number"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "sslEnd",
- "description": "Finished SSL handshake.",
- "type": "number"
- },
+ "name": "response",
+ "description": "WebSocket response data.",
+ "$ref": "WebSocketFrame"
+ }
+ ]
+ },
+ {
+ "name": "webSocketHandshakeResponseReceived",
+ "description": "Fired when WebSocket handshake response becomes available.",
+ "parameters": [
{
- "name": "workerStart",
- "description": "Started running ServiceWorker.",
- "experimental": true,
- "type": "number"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "workerReady",
- "description": "Finished Starting ServiceWorker.",
- "experimental": true,
- "type": "number"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "sendStart",
- "description": "Started sending request.",
- "type": "number"
- },
+ "name": "response",
+ "description": "WebSocket response data.",
+ "$ref": "WebSocketResponse"
+ }
+ ]
+ },
+ {
+ "name": "webSocketWillSendHandshakeRequest",
+ "description": "Fired when WebSocket is about to initiate handshake.",
+ "parameters": [
{
- "name": "sendEnd",
- "description": "Finished sending request.",
- "type": "number"
+ "name": "requestId",
+ "description": "Request identifier.",
+ "$ref": "RequestId"
},
{
- "name": "pushStart",
- "description": "Time the server started pushing request.",
- "experimental": true,
- "type": "number"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "pushEnd",
- "description": "Time the server finished pushing request.",
- "experimental": true,
- "type": "number"
+ "name": "wallTime",
+ "description": "UTC Timestamp.",
+ "$ref": "TimeSinceEpoch"
},
{
- "name": "receiveHeadersEnd",
- "description": "Finished receiving response headers.",
- "type": "number"
+ "name": "request",
+ "description": "WebSocket request data.",
+ "$ref": "WebSocketRequest"
}
]
},
{
- "id": "ResourcePriority",
- "description": "Loading priority of a resource request.",
- "type": "string",
- "enum": [
- "VeryLow",
- "Low",
- "Medium",
- "High",
- "VeryHigh"
- ]
- },
- {
- "id": "Request",
- "description": "HTTP request data.",
- "type": "object",
- "properties": [
- {
- "name": "url",
- "description": "Request URL (without fragment).",
- "type": "string"
- },
+ "name": "webTransportCreated",
+ "description": "Fired upon WebTransport creation.",
+ "parameters": [
{
- "name": "urlFragment",
- "description": "Fragment of the requested URL starting with hash, if present.",
- "optional": true,
- "type": "string"
+ "name": "transportId",
+ "description": "WebTransport identifier.",
+ "$ref": "RequestId"
},
{
- "name": "method",
- "description": "HTTP request method.",
+ "name": "url",
+ "description": "WebTransport request URL.",
"type": "string"
},
{
- "name": "headers",
- "description": "HTTP request headers.",
- "$ref": "Headers"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
},
{
- "name": "postData",
- "description": "HTTP POST request data.",
+ "name": "initiator",
+ "description": "Request initiator.",
"optional": true,
- "type": "string"
- },
+ "$ref": "Initiator"
+ }
+ ]
+ },
+ {
+ "name": "webTransportConnectionEstablished",
+ "description": "Fired when WebTransport handshake is finished.",
+ "parameters": [
{
- "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": "transportId",
+ "description": "WebTransport identifier.",
+ "$ref": "RequestId"
},
{
- "name": "mixedContentType",
- "description": "The mixed content type of the request.",
- "optional": true,
- "$ref": "Security.MixedContentType"
+ "name": "timestamp",
+ "description": "Timestamp.",
+ "$ref": "MonotonicTime"
+ }
+ ]
+ },
+ {
+ "name": "webTransportClosed",
+ "description": "Fired when WebTransport is disposed.",
+ "parameters": [
+ {
+ "name": "transportId",
+ "description": "WebTransport identifier.",
+ "$ref": "RequestId"
},
{
- "name": "initialPriority",
- "description": "Priority of the resource request at the time request is sent.",
- "$ref": "ResourcePriority"
+ "name": "timestamp",
+ "description": "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": "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": "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 blockedReason field set.",
+ "type": "array",
+ "items": {
+ "$ref": "BlockedCookieWithReason"
+ }
},
{
- "name": "isLinkPreload",
- "description": "Whether is loaded via link preload.",
+ "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": "clientSecurityState",
+ "description": "The client security state set for the request.",
"optional": true,
- "type": "boolean"
+ "$ref": "ClientSecurityState"
}
]
},
{
- "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": "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": "logDescription",
- "description": "Log name / description.",
- "type": "string"
+ "name": "requestId",
+ "description": "Request identifier. Used to match this information to another responseReceived event.",
+ "$ref": "RequestId"
},
{
- "name": "logId",
- "description": "Log ID.",
- "type": "string"
+ "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": "timestamp",
- "description": "Issuance date.",
- "$ref": "TimeSinceEpoch"
+ "name": "headers",
+ "description": "Raw response headers as they were received over the wire.",
+ "$ref": "Headers"
},
{
- "name": "hashAlgorithm",
- "description": "Hash algorithm.",
- "type": "string"
+ "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": "signatureAlgorithm",
- "description": "Signature algorithm.",
- "type": "string"
+ "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": "signatureData",
- "description": "Signature data.",
+ "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"
}
]
},
{
- "id": "SecurityDetails",
- "description": "Security details about a request.",
- "type": "object",
- "properties": [
+ "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": "protocol",
- "description": "Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").",
- "type": "string"
+ "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",
+ "FailedPrecondition",
+ "ResourceExhausted",
+ "AlreadyExists",
+ "Unavailable",
+ "BadResponse",
+ "InternalError",
+ "UnknownError",
+ "FulfilledLocally"
+ ]
},
{
- "name": "keyExchange",
- "description": "Key Exchange used by the connection, or the empty string if not applicable.",
- "type": "string"
+ "name": "type",
+ "$ref": "TrustTokenOperationType"
},
{
- "name": "keyExchangeGroup",
- "description": "(EC)DH group used by the connection, if applicable.",
- "optional": true,
- "type": "string"
+ "name": "requestId",
+ "$ref": "RequestId"
},
{
- "name": "cipher",
- "description": "Cipher name.",
+ "name": "topLevelOrigin",
+ "description": "Top level origin. The context in which the operation was attempted.",
+ "optional": true,
"type": "string"
},
{
- "name": "mac",
- "description": "TLS MAC. Note that AEAD ciphers do not have separate MACs.",
+ "name": "issuerOrigin",
+ "description": "Origin of the issuer in case of a \"Issuance\" or \"Redemption\" operation.",
"optional": true,
"type": "string"
},
{
- "name": "certificateId",
- "description": "Certificate ID value.",
- "$ref": "Security.CertificateId"
- },
+ "name": "issuedTokenCount",
+ "description": "The number of obtained Trust Tokens on a successful \"Issuance\" operation.",
+ "optional": true,
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "subresourceWebBundleMetadataReceived",
+ "description": "Fired once when parsing the .wbn file has succeeded.\nThe event contains the information about the web bundle contents.",
+ "experimental": true,
+ "parameters": [
{
- "name": "subjectName",
- "description": "Certificate subject name.",
- "type": "string"
+ "name": "requestId",
+ "description": "Request identifier. Used to match this information to another event.",
+ "$ref": "RequestId"
},
{
- "name": "sanList",
- "description": "Subject Alternative Name (SAN) DNS names and IP addresses.",
+ "name": "urls",
+ "description": "A list of URLs of resources in the subresource Web Bundle.",
"type": "array",
"items": {
"type": "string"
}
+ }
+ ]
+ },
+ {
+ "name": "subresourceWebBundleMetadataError",
+ "description": "Fired once when parsing the .wbn file has failed.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "Request identifier. Used to match this information to another event.",
+ "$ref": "RequestId"
},
{
- "name": "issuer",
- "description": "Name of the issuing CA.",
+ "name": "errorMessage",
+ "description": "Error message",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "subresourceWebBundleInnerResponseParsed",
+ "description": "Fired when handling requests for resources within a .wbn file.\nNote: this will only be fired for resources that are requested by the webpage.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "innerRequestId",
+ "description": "Request identifier of the subresource request",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "innerRequestURL",
+ "description": "URL of the subresource resource.",
"type": "string"
},
{
- "name": "validFrom",
- "description": "Certificate valid from date.",
- "$ref": "TimeSinceEpoch"
+ "name": "bundleRequestId",
+ "description": "Bundle request identifier. Used to match this information to another event.\nThis made be absent in case when the instrumentation was enabled only\nafter webbundle was parsed.",
+ "optional": true,
+ "$ref": "RequestId"
+ }
+ ]
+ },
+ {
+ "name": "subresourceWebBundleInnerResponseError",
+ "description": "Fired when request for resources within a .wbn file failed.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "innerRequestId",
+ "description": "Request identifier of the subresource request",
+ "$ref": "RequestId"
},
{
- "name": "validTo",
- "description": "Certificate valid to (expiration) date",
- "$ref": "TimeSinceEpoch"
+ "name": "innerRequestURL",
+ "description": "URL of the subresource resource.",
+ "type": "string"
},
{
- "name": "signedCertificateTimestampList",
- "description": "List of signed certificate timestamps (SCTs).",
- "type": "array",
- "items": {
- "$ref": "SignedCertificateTimestamp"
- }
+ "name": "errorMessage",
+ "description": "Error message",
+ "type": "string"
},
{
- "name": "certificateTransparencyCompliance",
- "description": "Whether the request complied with Certificate Transparency policy",
- "$ref": "CertificateTransparencyCompliance"
+ "name": "bundleRequestId",
+ "description": "Bundle request identifier. Used to match this information to another event.\nThis made be absent in case when the instrumentation was enabled only\nafter webbundle was parsed.",
+ "optional": true,
+ "$ref": "RequestId"
}
]
},
{
- "id": "CertificateTransparencyCompliance",
- "description": "Whether the request complied with Certificate Transparency policy.",
- "type": "string",
- "enum": [
- "unknown",
- "not-compliant",
- "compliant"
+ "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"
+ }
]
},
{
- "id": "BlockedReason",
- "description": "The reason why request was blocked.",
- "type": "string",
- "enum": [
- "other",
- "csp",
- "mixed-content",
- "origin",
- "inspector",
- "subresource-filter",
- "content-type",
- "collapsed-by-client"
+ "name": "reportingApiReportUpdated",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "report",
+ "$ref": "ReportingApiReport"
+ }
]
},
{
- "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": "reportingApiEndpointsChangedForOrigin",
+ "experimental": true,
+ "parameters": [
{
- "name": "statusText",
- "description": "HTTP response status text.",
+ "name": "origin",
+ "description": "Origin of the document(s) which configured the endpoints.",
"type": "string"
},
{
- "name": "headers",
- "description": "HTTP response headers.",
- "$ref": "Headers"
- },
- {
- "name": "headersText",
- "description": "HTTP response headers text.",
- "optional": true,
- "type": "string"
- },
+ "name": "endpoints",
+ "type": "array",
+ "items": {
+ "$ref": "ReportingApiEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Overlay",
+ "description": "This domain provides various functionality related to drawing atop the inspected page.",
+ "experimental": true,
+ "dependencies": [
+ "DOM",
+ "Page",
+ "Runtime"
+ ],
+ "types": [
+ {
+ "id": "SourceOrderConfig",
+ "description": "Configuration data for drawing the source order of an elements children.",
+ "type": "object",
+ "properties": [
{
- "name": "mimeType",
- "description": "Resource mimeType as determined by the browser.",
- "type": "string"
+ "name": "parentOutlineColor",
+ "description": "the color to outline the givent element in.",
+ "$ref": "DOM.RGBA"
},
{
- "name": "requestHeaders",
- "description": "Refined HTTP request headers that were actually transmitted over the network.",
- "optional": true,
- "$ref": "Headers"
- },
+ "name": "childOutlineColor",
+ "description": "the color to outline the child elements in.",
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "id": "GridHighlightConfig",
+ "description": "Configuration data for the highlighting of Grid elements.",
+ "type": "object",
+ "properties": [
{
- "name": "requestHeadersText",
- "description": "HTTP request headers text.",
+ "name": "showGridExtensionLines",
+ "description": "Whether the extension lines from grid cells to the rulers should be shown (default: false).",
"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.",
+ "name": "showPositiveLineNumbers",
+ "description": "Show Positive line number labels (default: false).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "remotePort",
- "description": "Remote port.",
+ "name": "showNegativeLineNumbers",
+ "description": "Show Negative line number labels (default: false).",
"optional": true,
- "type": "integer"
+ "type": "boolean"
},
{
- "name": "fromDiskCache",
- "description": "Specifies that the request was served from the disk cache.",
+ "name": "showAreaNames",
+ "description": "Show area name labels (default: false).",
"optional": true,
"type": "boolean"
},
{
- "name": "fromServiceWorker",
- "description": "Specifies that the request was served from the ServiceWorker.",
+ "name": "showLineNames",
+ "description": "Show line name labels (default: false).",
"optional": true,
"type": "boolean"
},
{
- "name": "fromPrefetchCache",
- "description": "Specifies that the request was served from the prefetch cache.",
+ "name": "showTrackSizes",
+ "description": "Show track size labels (default: false).",
"optional": true,
"type": "boolean"
},
{
- "name": "encodedDataLength",
- "description": "Total number of bytes received for this request so far.",
- "type": "number"
+ "name": "gridBorderColor",
+ "description": "The grid container border highlight color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "timing",
- "description": "Timing information for the given request.",
+ "name": "cellBorderColor",
+ "description": "The cell border color (default: transparent). Deprecated, please use rowLineColor and columnLineColor instead.",
+ "deprecated": true,
"optional": true,
- "$ref": "ResourceTiming"
+ "$ref": "DOM.RGBA"
},
{
- "name": "protocol",
- "description": "Protocol used to fetch this request.",
+ "name": "rowLineColor",
+ "description": "The row line color (default: transparent).",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "securityState",
- "description": "Security state of the request resource.",
- "$ref": "Security.SecurityState"
+ "name": "columnLineColor",
+ "description": "The column line color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "securityDetails",
- "description": "Security details for the request.",
+ "name": "gridBorderDash",
+ "description": "Whether the grid border is dashed (default: false).",
"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": [
+ "type": "boolean"
+ },
{
- "name": "status",
- "description": "HTTP response status code.",
- "type": "integer"
+ "name": "cellBorderDash",
+ "description": "Whether the cell border is dashed (default: false). Deprecated, please us rowLineDash and columnLineDash instead.",
+ "deprecated": true,
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "statusText",
- "description": "HTTP response status text.",
- "type": "string"
+ "name": "rowLineDash",
+ "description": "Whether row lines are dashed (default: false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "headers",
- "description": "HTTP response headers.",
- "$ref": "Headers"
+ "name": "columnLineDash",
+ "description": "Whether column lines are dashed (default: false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "headersText",
- "description": "HTTP response headers text.",
+ "name": "rowGapColor",
+ "description": "The row gap highlight fill color (default: transparent).",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "requestHeaders",
- "description": "HTTP request headers.",
+ "name": "rowHatchColor",
+ "description": "The row gap hatching fill color (default: transparent).",
"optional": true,
- "$ref": "Headers"
+ "$ref": "DOM.RGBA"
},
{
- "name": "requestHeadersText",
- "description": "HTTP request headers text.",
+ "name": "columnGapColor",
+ "description": "The column gap highlight fill color (default: transparent).",
"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": [
+ "$ref": "DOM.RGBA"
+ },
{
- "name": "opcode",
- "description": "WebSocket message opcode.",
- "type": "number"
+ "name": "columnHatchColor",
+ "description": "The column gap hatching fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "mask",
- "description": "WebSocket message mask.",
- "type": "boolean"
+ "name": "areaBorderColor",
+ "description": "The named grid areas border color (Default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "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"
+ "name": "gridBackgroundColor",
+ "description": "The grid container background color (Default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
}
]
},
{
- "id": "CachedResource",
- "description": "Information about the cached resource.",
+ "id": "FlexContainerHighlightConfig",
+ "description": "Configuration data for the highlighting of Flex container elements.",
"type": "object",
"properties": [
{
- "name": "url",
- "description": "Resource URL. This is the url of the original network request.",
- "type": "string"
+ "name": "containerBorder",
+ "description": "The style of the container border",
+ "optional": true,
+ "$ref": "LineStyle"
},
{
- "name": "type",
- "description": "Type of this resource.",
- "$ref": "ResourceType"
+ "name": "lineSeparator",
+ "description": "The style of the separator between lines",
+ "optional": true,
+ "$ref": "LineStyle"
},
{
- "name": "response",
- "description": "Cached response data.",
+ "name": "itemSeparator",
+ "description": "The style of the separator between items",
"optional": true,
- "$ref": "Response"
+ "$ref": "LineStyle"
},
{
- "name": "bodySize",
- "description": "Cached response body size.",
- "type": "number"
- }
- ]
- },
- {
- "id": "Initiator",
- "description": "Information about the request initiator.",
- "type": "object",
- "properties": [
+ "name": "mainDistributedSpace",
+ "description": "Style of content-distribution space on the main axis (justify-content).",
+ "optional": true,
+ "$ref": "BoxStyle"
+ },
{
- "name": "type",
- "description": "Type of this initiator.",
- "type": "string",
- "enum": [
- "parser",
- "script",
- "preload",
- "SignedExchange",
- "other"
- ]
+ "name": "crossDistributedSpace",
+ "description": "Style of content-distribution space on the cross axis (align-content).",
+ "optional": true,
+ "$ref": "BoxStyle"
},
{
- "name": "stack",
- "description": "Initiator JavaScript stack trace, set for Script only.",
+ "name": "rowGapSpace",
+ "description": "Style of empty space caused by row gaps (gap/row-gap).",
"optional": true,
- "$ref": "Runtime.StackTrace"
+ "$ref": "BoxStyle"
},
{
- "name": "url",
- "description": "Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type.",
+ "name": "columnGapSpace",
+ "description": "Style of empty space caused by columns gaps (gap/column-gap).",
"optional": true,
- "type": "string"
+ "$ref": "BoxStyle"
},
{
- "name": "lineNumber",
- "description": "Initiator line number, set for Parser type or for Script type (when script is importing\nmodule) (0-based).",
+ "name": "crossAlignment",
+ "description": "Style of the self-alignment line (align-items).",
"optional": true,
- "type": "number"
+ "$ref": "LineStyle"
}
]
},
{
- "id": "Cookie",
- "description": "Cookie object",
+ "id": "FlexItemHighlightConfig",
+ "description": "Configuration data for the highlighting of Flex item elements.",
"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.",
- "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": "baseSizeBox",
+ "description": "Style of the box representing the item's base size",
+ "optional": true,
+ "$ref": "BoxStyle"
},
{
- "name": "session",
- "description": "True in case of session cookie.",
- "type": "boolean"
+ "name": "baseSizeBorder",
+ "description": "Style of the border around the box representing the item's base size",
+ "optional": true,
+ "$ref": "LineStyle"
},
{
- "name": "sameSite",
- "description": "Cookie SameSite type.",
+ "name": "flexibilityArrow",
+ "description": "Style of the arrow representing if the item grew or shrank",
"optional": true,
- "$ref": "CookieSameSite"
+ "$ref": "LineStyle"
}
]
- },
- {
- "id": "SetCookieBlockedReason",
- "description": "Types of reasons why a cookie may not be stored from a response.",
- "experimental": true,
- "type": "string",
- "enum": [
- "SecureOnly",
- "SameSiteStrict",
- "SameSiteLax",
- "SameSiteExtended",
- "SameSiteUnspecifiedTreatedAsLax",
- "SameSiteNoneInsecure",
- "UserPreferences",
- "SyntaxError",
- "SchemeNotSupported",
- "OverwriteSecure",
- "InvalidDomain",
- "InvalidPrefix",
- "UnknownError"
- ]
- },
- {
- "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",
- "SameSiteExtended",
- "SameSiteUnspecifiedTreatedAsLax",
- "SameSiteNoneInsecure",
- "UserPreferences",
- "UnknownError"
- ]
- },
- {
- "id": "BlockedSetCookieWithReason",
- "description": "A cookie which was not stored from a response with the corresponding reason.",
- "experimental": true,
+ },
+ {
+ "id": "LineStyle",
+ "description": "Style information for drawing a line.",
"type": "object",
"properties": [
{
- "name": "blockedReason",
- "description": "The reason this cookie was blocked.",
- "$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": "color",
+ "description": "The color of the line (default: transparent)",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "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.",
+ "name": "pattern",
+ "description": "The line pattern (default: solid)",
"optional": true,
- "$ref": "Cookie"
+ "type": "string",
+ "enum": [
+ "dashed",
+ "dotted"
+ ]
}
]
},
{
- "id": "BlockedCookieWithReason",
- "description": "A cookie with was not sent with a request with the corresponding reason.",
- "experimental": true,
+ "id": "BoxStyle",
+ "description": "Style information for drawing a box.",
"type": "object",
"properties": [
{
- "name": "blockedReason",
- "description": "The reason the cookie was blocked.",
- "$ref": "CookieBlockedReason"
+ "name": "fillColor",
+ "description": "The background color for the box (default: transparent)",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "cookie",
- "description": "The cookie object representing the cookie which was not sent.",
- "$ref": "Cookie"
+ "name": "hatchColor",
+ "description": "The hatching color for the box (default: transparent)",
+ "optional": true,
+ "$ref": "DOM.RGBA"
}
]
},
{
- "id": "CookieParam",
- "description": "Cookie parameter object",
+ "id": "ContrastAlgorithm",
+ "type": "string",
+ "enum": [
+ "aa",
+ "aaa",
+ "apca"
+ ]
+ },
+ {
+ "id": "HighlightConfig",
+ "description": "Configuration data for the highlighting of page elements.",
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Cookie name.",
- "type": "string"
+ "name": "showInfo",
+ "description": "Whether the node info tooltip should be shown (default: false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "value",
- "description": "Cookie value.",
- "type": "string"
+ "name": "showStyles",
+ "description": "Whether the node styles in the tooltip (default: false).",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "url",
- "description": "The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain and path values of the created cookie.",
+ "name": "showRulers",
+ "description": "Whether the rulers should be shown (default: false).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "domain",
- "description": "Cookie domain.",
+ "name": "showAccessibilityInfo",
+ "description": "Whether the a11y info should be shown (default: true).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "path",
- "description": "Cookie path.",
+ "name": "showExtensionLines",
+ "description": "Whether the extension lines from node to the rulers should be shown (default: false).",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "secure",
- "description": "True if cookie is secure.",
+ "name": "contentColor",
+ "description": "The content box highlight fill color (default: transparent).",
"optional": true,
- "type": "boolean"
+ "$ref": "DOM.RGBA"
},
{
- "name": "httpOnly",
- "description": "True if cookie is http-only.",
+ "name": "paddingColor",
+ "description": "The padding highlight fill color (default: transparent).",
"optional": true,
- "type": "boolean"
+ "$ref": "DOM.RGBA"
},
{
- "name": "sameSite",
- "description": "Cookie SameSite type.",
+ "name": "borderColor",
+ "description": "The border highlight fill color (default: transparent).",
"optional": true,
- "$ref": "CookieSameSite"
+ "$ref": "DOM.RGBA"
},
{
- "name": "expires",
- "description": "Cookie expiration date, session cookie if not set",
+ "name": "marginColor",
+ "description": "The margin highlight fill color (default: transparent).",
"optional": true,
- "$ref": "TimeSinceEpoch"
- }
- ]
- },
- {
- "id": "AuthChallenge",
- "description": "Authorization challenge for HTTP status code 401 or 407.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "$ref": "DOM.RGBA"
+ },
{
- "name": "source",
- "description": "Source of the authentication challenge.",
+ "name": "eventTargetColor",
+ "description": "The event target element highlight fill color (default: transparent).",
"optional": true,
- "type": "string",
- "enum": [
- "Server",
- "Proxy"
- ]
+ "$ref": "DOM.RGBA"
},
{
- "name": "origin",
- "description": "Origin of the challenger.",
- "type": "string"
+ "name": "shapeColor",
+ "description": "The shape outside fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "scheme",
- "description": "The authentication scheme used, such as basic or digest",
- "type": "string"
+ "name": "shapeMarginColor",
+ "description": "The shape margin fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "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": "cssGridColor",
+ "description": "The grid layout color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
{
- "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": "colorFormat",
+ "description": "The color format used to format color styles (default: hex).",
+ "optional": true,
+ "$ref": "ColorFormat"
},
{
- "name": "username",
- "description": "The username to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
+ "name": "gridHighlightConfig",
+ "description": "The grid layout highlight configuration (default: all transparent).",
"optional": true,
- "type": "string"
+ "$ref": "GridHighlightConfig"
},
{
- "name": "password",
- "description": "The password to provide, possibly empty. Should only be set if response is\nProvideCredentials.",
+ "name": "flexContainerHighlightConfig",
+ "description": "The flex container highlight configuration (default: all transparent).",
"optional": true,
- "type": "string"
+ "$ref": "FlexContainerHighlightConfig"
+ },
+ {
+ "name": "flexItemHighlightConfig",
+ "description": "The flex item highlight configuration (default: all transparent).",
+ "optional": true,
+ "$ref": "FlexItemHighlightConfig"
+ },
+ {
+ "name": "contrastAlgorithm",
+ "description": "The contrast algorithm to use for the contrast ratio (default: aa).",
+ "optional": true,
+ "$ref": "ContrastAlgorithm"
+ },
+ {
+ "name": "containerQueryContainerHighlightConfig",
+ "description": "The container query container highlight configuration (default: all transparent).",
+ "optional": true,
+ "$ref": "ContainerQueryContainerHighlightConfig"
}
]
},
{
- "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,
+ "id": "ColorFormat",
"type": "string",
"enum": [
- "Request",
- "HeadersReceived"
+ "rgb",
+ "hsl",
+ "hex"
]
},
{
- "id": "RequestPattern",
- "description": "Request pattern for interception.",
- "experimental": true,
+ "id": "GridNodeHighlightConfig",
+ "description": "Configurations for Persistent Grid Highlight",
"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": "gridHighlightConfig",
+ "description": "A descriptor for the highlight appearance.",
+ "$ref": "GridHighlightConfig"
},
{
- "name": "interceptionStage",
- "description": "Stage at wich to begin intercepting requests. Default is Request.",
- "optional": true,
- "$ref": "InterceptionStage"
+ "name": "nodeId",
+ "description": "Identifier of the node to highlight.",
+ "$ref": "DOM.NodeId"
}
]
},
{
- "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,
+ "id": "FlexNodeHighlightConfig",
"type": "object",
"properties": [
{
- "name": "label",
- "description": "Signed exchange signature label.",
- "type": "string"
+ "name": "flexContainerHighlightConfig",
+ "description": "A descriptor for the highlight appearance of flex containers.",
+ "$ref": "FlexContainerHighlightConfig"
},
{
- "name": "signature",
- "description": "The hex string of signed exchange signature.",
- "type": "string"
- },
+ "name": "nodeId",
+ "description": "Identifier of the node to highlight.",
+ "$ref": "DOM.NodeId"
+ }
+ ]
+ },
+ {
+ "id": "ScrollSnapContainerHighlightConfig",
+ "type": "object",
+ "properties": [
{
- "name": "integrity",
- "description": "Signed exchange signature integrity.",
- "type": "string"
+ "name": "snapportBorder",
+ "description": "The style of the snapport border (default: transparent)",
+ "optional": true,
+ "$ref": "LineStyle"
},
{
- "name": "certUrl",
- "description": "Signed exchange signature cert Url.",
+ "name": "snapAreaBorder",
+ "description": "The style of the snap area border (default: transparent)",
"optional": true,
- "type": "string"
+ "$ref": "LineStyle"
},
{
- "name": "certSha256",
- "description": "The hex string of signed exchange signature cert sha256.",
+ "name": "scrollMarginColor",
+ "description": "The margin highlight fill color (default: transparent).",
"optional": true,
- "type": "string"
+ "$ref": "DOM.RGBA"
},
{
- "name": "validityUrl",
- "description": "Signed exchange signature validity Url.",
- "type": "string"
+ "name": "scrollPaddingColor",
+ "description": "The padding highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ }
+ ]
+ },
+ {
+ "id": "ScrollSnapHighlightConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "scrollSnapContainerHighlightConfig",
+ "description": "A descriptor for the highlight appearance of scroll snap containers.",
+ "$ref": "ScrollSnapContainerHighlightConfig"
},
{
- "name": "date",
- "description": "Signed exchange signature date.",
- "type": "integer"
+ "name": "nodeId",
+ "description": "Identifier of the node to highlight.",
+ "$ref": "DOM.NodeId"
+ }
+ ]
+ },
+ {
+ "id": "HingeConfig",
+ "description": "Configuration for dual screen hinge",
+ "type": "object",
+ "properties": [
+ {
+ "name": "rect",
+ "description": "A rectangle represent hinge",
+ "$ref": "DOM.Rect"
},
{
- "name": "expires",
- "description": "Signed exchange signature expires.",
- "type": "integer"
+ "name": "contentColor",
+ "description": "The content box highlight fill color (default: a dark color).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "certificates",
- "description": "The encoded certificates.",
+ "name": "outlineColor",
+ "description": "The content box highlight outline color (default: transparent).",
"optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
+ "$ref": "DOM.RGBA"
}
]
},
{
- "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,
+ "id": "ContainerQueryHighlightConfig",
"type": "object",
"properties": [
{
- "name": "requestUrl",
- "description": "Signed exchange request URL.",
- "type": "string"
- },
- {
- "name": "responseCode",
- "description": "Signed exchange response code.",
- "type": "integer"
+ "name": "containerQueryContainerHighlightConfig",
+ "description": "A descriptor for the highlight appearance of container query containers.",
+ "$ref": "ContainerQueryContainerHighlightConfig"
},
{
- "name": "responseHeaders",
- "description": "Signed exchange response headers.",
- "$ref": "Headers"
- },
+ "name": "nodeId",
+ "description": "Identifier of the container node to highlight.",
+ "$ref": "DOM.NodeId"
+ }
+ ]
+ },
+ {
+ "id": "ContainerQueryContainerHighlightConfig",
+ "type": "object",
+ "properties": [
{
- "name": "signatures",
- "description": "Signed exchange response signature.",
- "type": "array",
- "items": {
- "$ref": "SignedExchangeSignature"
- }
+ "name": "containerBorder",
+ "description": "The style of the container border.",
+ "optional": true,
+ "$ref": "LineStyle"
},
{
- "name": "headerIntegrity",
- "description": "Signed exchange header integrity hash in the form of \"sha256-\".",
- "type": "string"
+ "name": "descendantBorder",
+ "description": "The style of the descendants' borders.",
+ "optional": true,
+ "$ref": "LineStyle"
}
]
},
{
- "id": "SignedExchangeErrorField",
- "description": "Field type for a signed exchange related error.",
- "experimental": true,
- "type": "string",
- "enum": [
- "signatureSig",
- "signatureIntegrity",
- "signatureCertUrl",
- "signatureCertSha256",
- "signatureValidityUrl",
- "signatureTimestamps"
+ "id": "IsolatedElementHighlightConfig",
+ "type": "object",
+ "properties": [
+ {
+ "name": "isolationModeHighlightConfig",
+ "description": "A descriptor for the highlight appearance of an element in isolation mode.",
+ "$ref": "IsolationModeHighlightConfig"
+ },
+ {
+ "name": "nodeId",
+ "description": "Identifier of the isolated element to highlight.",
+ "$ref": "DOM.NodeId"
+ }
]
},
{
- "id": "SignedExchangeError",
- "description": "Information about a signed exchange response.",
- "experimental": true,
+ "id": "IsolationModeHighlightConfig",
"type": "object",
"properties": [
{
- "name": "message",
- "description": "Error message.",
- "type": "string"
+ "name": "resizerColor",
+ "description": "The fill color of the resizers (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "signatureIndex",
- "description": "The index of the signature which caused the error.",
+ "name": "resizerHandleColor",
+ "description": "The fill color for resizer handles (default: transparent).",
"optional": true,
- "type": "integer"
+ "$ref": "DOM.RGBA"
},
{
- "name": "errorField",
- "description": "The field which caused the error.",
+ "name": "maskColor",
+ "description": "The fill color for the mask covering non-isolated elements (default: transparent).",
"optional": true,
- "$ref": "SignedExchangeErrorField"
+ "$ref": "DOM.RGBA"
}
]
},
{
- "id": "SignedExchangeInfo",
- "description": "Information about a signed exchange response.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "id": "InspectMode",
+ "type": "string",
+ "enum": [
+ "searchForNode",
+ "searchForUAShadowDOM",
+ "captureAreaScreenshot",
+ "showDistances",
+ "none"
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "disable",
+ "description": "Disables domain notifications."
+ },
+ {
+ "name": "enable",
+ "description": "Enables domain notifications."
+ },
+ {
+ "name": "getHighlightObjectForTest",
+ "description": "For testing.",
+ "parameters": [
{
- "name": "outerResponse",
- "description": "The outer response of signed HTTP exchange which was received from network.",
- "$ref": "Response"
+ "name": "nodeId",
+ "description": "Id of the node to get highlight object for.",
+ "$ref": "DOM.NodeId"
},
{
- "name": "header",
- "description": "Information about the signed exchange header.",
+ "name": "includeDistance",
+ "description": "Whether to include distance info.",
"optional": true,
- "$ref": "SignedExchangeHeader"
+ "type": "boolean"
},
{
- "name": "securityDetails",
- "description": "Security details for the signed exchange header.",
+ "name": "includeStyle",
+ "description": "Whether to include style info.",
"optional": true,
- "$ref": "SecurityDetails"
+ "type": "boolean"
},
{
- "name": "errors",
- "description": "Errors occurred while handling the signed exchagne.",
+ "name": "colorFormat",
+ "description": "The color format to get config with (default: hex).",
"optional": true,
- "type": "array",
- "items": {
- "$ref": "SignedExchangeError"
- }
+ "$ref": "ColorFormat"
+ },
+ {
+ "name": "showAccessibilityInfo",
+ "description": "Whether to show accessibility info (default: true).",
+ "optional": true,
+ "type": "boolean"
}
- ]
- }
- ],
- "commands": [
- {
- "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": "highlight",
+ "description": "Highlight data for the node.",
+ "type": "object"
}
]
},
{
- "name": "canClearBrowserCookies",
- "description": "Tells whether clearing browser cookies is supported.",
- "deprecated": true,
+ "name": "getGridHighlightObjectsForTest",
+ "description": "For Persistent Grid testing.",
+ "parameters": [
+ {
+ "name": "nodeIds",
+ "description": "Ids of the node to get highlight object for.",
+ "type": "array",
+ "items": {
+ "$ref": "DOM.NodeId"
+ }
+ }
+ ],
"returns": [
{
- "name": "result",
- "description": "True if browser cookies can be cleared.",
- "type": "boolean"
+ "name": "highlights",
+ "description": "Grid Highlight data for the node ids provided.",
+ "type": "object"
}
]
},
{
- "name": "canEmulateNetworkConditions",
- "description": "Tells whether emulation of network conditions is supported.",
- "deprecated": true,
+ "name": "getSourceOrderHighlightObjectForTest",
+ "description": "For Source Order Viewer testing.",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "description": "Id of the node to highlight.",
+ "$ref": "DOM.NodeId"
+ }
+ ],
"returns": [
{
- "name": "result",
- "description": "True if emulation of network conditions is supported.",
- "type": "boolean"
+ "name": "highlight",
+ "description": "Source order highlight data for the node id provided.",
+ "type": "object"
}
]
},
{
- "name": "clearBrowserCache",
- "description": "Clears browser cache."
- },
- {
- "name": "clearBrowserCookies",
- "description": "Clears browser cookies."
+ "name": "hideHighlight",
+ "description": "Hides any highlight."
},
{
- "name": "continueInterceptedRequest",
- "description": "Response to Network.requestIntercepted which either modifies the request to continue with any\nmodifications, or blocks it, or completes it with the provided response bytes. If a network\nfetch occurs as a result which encounters a redirect an additional Network.requestIntercepted\nevent will be sent with the same InterceptionId.\nDeprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead.",
- "experimental": true,
+ "name": "highlightFrame",
+ "description": "Highlights owner element of the frame with given id.\nDeprecated: Doesn't work reliablity and cannot be fixed due to process\nseparatation (the owner node might be in a different process). Determine\nthe owner node in the client and use highlightNode.",
"deprecated": true,
"parameters": [
{
- "name": "interceptionId",
- "$ref": "InterceptionId"
- },
- {
- "name": "errorReason",
- "description": "If set this causes the request to fail with the given reason. Passing `Aborted` for requests\nmarked with `isNavigationRequest` also cancels the navigation. Must not be set in response\nto an authChallenge.",
- "optional": true,
- "$ref": "ErrorReason"
- },
- {
- "name": "rawResponse",
- "description": "If set the requests completes using with the provided base64 encoded raw response, including\nHTTP status line and headers etc... Must not be set in response to an authChallenge.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "url",
- "description": "If set the request url will be modified in a way that's not observable by page. Must not be\nset in response to an authChallenge.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "method",
- "description": "If set this allows the request method to be overridden. Must not be set in response to an\nauthChallenge.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "postData",
- "description": "If set this allows postData to be set. Must not be set in response to an authChallenge.",
- "optional": true,
- "type": "string"
+ "name": "frameId",
+ "description": "Identifier of the frame to highlight.",
+ "$ref": "Page.FrameId"
},
{
- "name": "headers",
- "description": "If set this allows the request headers to be changed. Must not be set in response to an\nauthChallenge.",
+ "name": "contentColor",
+ "description": "The content box highlight fill color (default: transparent).",
"optional": true,
- "$ref": "Headers"
+ "$ref": "DOM.RGBA"
},
{
- "name": "authChallengeResponse",
- "description": "Response to a requestIntercepted with an authChallenge. Must not be set otherwise.",
+ "name": "contentOutlineColor",
+ "description": "The content box highlight outline color (default: transparent).",
"optional": true,
- "$ref": "AuthChallengeResponse"
+ "$ref": "DOM.RGBA"
}
]
},
{
- "name": "deleteCookies",
- "description": "Deletes browser cookies with matching name and url or domain/path pair.",
+ "name": "highlightNode",
+ "description": "Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or\nobjectId must be specified.",
"parameters": [
{
- "name": "name",
- "description": "Name of the cookies to remove.",
- "type": "string"
+ "name": "highlightConfig",
+ "description": "A descriptor for the highlight appearance.",
+ "$ref": "HighlightConfig"
},
{
- "name": "url",
- "description": "If specified, deletes all the cookies with the given name where domain and path match\nprovided URL.",
+ "name": "nodeId",
+ "description": "Identifier of the node to highlight.",
"optional": true,
- "type": "string"
+ "$ref": "DOM.NodeId"
+ },
+ {
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node to highlight.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "domain",
- "description": "If specified, deletes only cookies with the exact domain.",
+ "name": "objectId",
+ "description": "JavaScript object id of the node to be highlighted.",
"optional": true,
- "type": "string"
+ "$ref": "Runtime.RemoteObjectId"
},
{
- "name": "path",
- "description": "If specified, deletes only cookies with the exact path.",
+ "name": "selector",
+ "description": "Selectors to highlight relevant nodes.",
"optional": true,
"type": "string"
}
]
},
{
- "name": "disable",
- "description": "Disables network tracking, prevents network events from being sent to the client."
- },
- {
- "name": "emulateNetworkConditions",
- "description": "Activates emulation of network conditions.",
+ "name": "highlightQuad",
+ "description": "Highlights given quad. Coordinates are absolute with respect to the main frame viewport.",
"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": "quad",
+ "description": "Quad to highlight",
+ "$ref": "DOM.Quad"
},
{
- "name": "uploadThroughput",
- "description": "Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling.",
- "type": "number"
+ "name": "color",
+ "description": "The highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
},
{
- "name": "connectionType",
- "description": "Connection type if known.",
+ "name": "outlineColor",
+ "description": "The highlight outline color (default: transparent).",
"optional": true,
- "$ref": "ConnectionType"
+ "$ref": "DOM.RGBA"
}
]
},
{
- "name": "enable",
- "description": "Enables network tracking, network events will now be delivered to the client.",
+ "name": "highlightRect",
+ "description": "Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.",
"parameters": [
{
- "name": "maxTotalBufferSize",
- "description": "Buffer size in bytes to use when preserving network payloads (XHRs, etc).",
- "experimental": true,
- "optional": true,
+ "name": "x",
+ "description": "X coordinate",
"type": "integer"
},
{
- "name": "maxResourceBufferSize",
- "description": "Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).",
- "experimental": true,
- "optional": true,
+ "name": "y",
+ "description": "Y coordinate",
"type": "integer"
},
{
- "name": "maxPostDataSize",
- "description": "Longest post body size (in bytes) that would be included in requestWillBeSent notification",
- "optional": true,
+ "name": "width",
+ "description": "Rectangle width",
"type": "integer"
- }
- ]
- },
- {
- "name": "getAllCookies",
- "description": "Returns all browser cookies. Depending on the backend support, will return detailed cookie\ninformation in the `cookies` field.",
- "returns": [
+ },
{
- "name": "cookies",
- "description": "Array of cookie objects.",
- "type": "array",
- "items": {
- "$ref": "Cookie"
- }
- }
- ]
- },
- {
- "name": "getCertificate",
- "description": "Returns the DER-encoded certificate.",
- "experimental": true,
- "parameters": [
+ "name": "height",
+ "description": "Rectangle height",
+ "type": "integer"
+ },
{
- "name": "origin",
- "description": "Origin to get certificate for.",
- "type": "string"
- }
- ],
- "returns": [
+ "name": "color",
+ "description": "The highlight fill color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
+ },
{
- "name": "tableNames",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "outlineColor",
+ "description": "The highlight outline color (default: transparent).",
+ "optional": true,
+ "$ref": "DOM.RGBA"
}
]
},
{
- "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.",
+ "name": "highlightSourceOrder",
+ "description": "Highlights the source order of the children of the DOM node with given id or with the given\nJavaScript object wrapper. Either nodeId or objectId must be specified.",
"parameters": [
{
- "name": "urls",
- "description": "The list of URLs for which applicable cookies will be fetched",
+ "name": "sourceOrderConfig",
+ "description": "A descriptor for the appearance of the overlay drawing.",
+ "$ref": "SourceOrderConfig"
+ },
+ {
+ "name": "nodeId",
+ "description": "Identifier of the node to highlight.",
"optional": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ],
- "returns": [
+ "$ref": "DOM.NodeId"
+ },
{
- "name": "cookies",
- "description": "Array of cookie objects.",
- "type": "array",
- "items": {
- "$ref": "Cookie"
- }
+ "name": "backendNodeId",
+ "description": "Identifier of the backend node to highlight.",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
+ },
+ {
+ "name": "objectId",
+ "description": "JavaScript object id of the node to be highlighted.",
+ "optional": true,
+ "$ref": "Runtime.RemoteObjectId"
}
]
},
{
- "name": "getResponseBody",
- "description": "Returns content served for the given request.",
+ "name": "setInspectMode",
+ "description": "Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted.\nBackend then generates 'inspectNodeRequested' event upon element selection.",
"parameters": [
{
- "name": "requestId",
- "description": "Identifier of the network request to get content for.",
- "$ref": "RequestId"
- }
- ],
- "returns": [
- {
- "name": "body",
- "description": "Response body.",
- "type": "string"
+ "name": "mode",
+ "description": "Set an inspection mode.",
+ "$ref": "InspectMode"
},
{
- "name": "base64Encoded",
- "description": "True, if content was sent as base64.",
- "type": "boolean"
+ "name": "highlightConfig",
+ "description": "A descriptor for the highlight appearance of hovered-over nodes. May be omitted if `enabled\n== false`.",
+ "optional": true,
+ "$ref": "HighlightConfig"
}
]
},
{
- "name": "getRequestPostData",
- "description": "Returns post data sent with the request. Returns an error when no data was sent with the request.",
+ "name": "setShowAdHighlights",
+ "description": "Highlights owner element of all frames detected to be ads.",
"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": "show",
+ "description": "True for showing ad highlights",
+ "type": "boolean"
}
]
},
{
- "name": "getResponseBodyForInterception",
- "description": "Returns content served for the given currently intercepted request.",
- "experimental": true,
+ "name": "setPausedInDebuggerMessage",
"parameters": [
{
- "name": "interceptionId",
- "description": "Identifier for the intercepted request to get body for.",
- "$ref": "InterceptionId"
- }
- ],
- "returns": [
- {
- "name": "body",
- "description": "Response body.",
+ "name": "message",
+ "description": "The message to display, also triggers resume and step over controls.",
+ "optional": true,
"type": "string"
- },
- {
- "name": "base64Encoded",
- "description": "True, if content was sent as base64.",
- "type": "boolean"
}
]
},
{
- "name": "takeResponseBodyForInterceptionAsStream",
- "description": "Returns a handle to the stream representing the response body. Note that after this command,\nthe intercepted request can't be continued as is -- you either need to cancel it or to provide\nthe response body. The stream only supports sequential read, IO.read will fail if the position\nis specified.",
- "experimental": true,
+ "name": "setShowDebugBorders",
+ "description": "Requests that backend shows debug borders on layers",
"parameters": [
{
- "name": "interceptionId",
- "$ref": "InterceptionId"
- }
- ],
- "returns": [
- {
- "name": "stream",
- "$ref": "IO.StreamHandle"
+ "name": "show",
+ "description": "True for showing debug borders",
+ "type": "boolean"
}
]
},
{
- "name": "replayXHR",
- "description": "This method sends a new XMLHttpRequest which is identical to the original one. The following\nparameters should be identical: method, url, async, request body, extra headers, withCredentials\nattribute, user, password.",
- "experimental": true,
+ "name": "setShowFPSCounter",
+ "description": "Requests that backend shows the FPS counter",
"parameters": [
{
- "name": "requestId",
- "description": "Identifier of XHR to replay.",
- "$ref": "RequestId"
+ "name": "show",
+ "description": "True for showing the FPS counter",
+ "type": "boolean"
}
]
},
{
- "name": "searchInResponseBody",
- "description": "Searches for given string in response content.",
- "experimental": true,
+ "name": "setShowGridOverlays",
+ "description": "Highlight multiple elements with the CSS Grid overlay.",
"parameters": [
{
- "name": "requestId",
- "description": "Identifier of the network response to search.",
- "$ref": "RequestId"
- },
- {
- "name": "query",
- "description": "String to search for.",
- "type": "string"
- },
- {
- "name": "caseSensitive",
- "description": "If true, search is case sensitive.",
- "optional": true,
- "type": "boolean"
- },
+ "name": "gridNodeHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "type": "array",
+ "items": {
+ "$ref": "GridNodeHighlightConfig"
+ }
+ }
+ ]
+ },
+ {
+ "name": "setShowFlexOverlays",
+ "parameters": [
{
- "name": "isRegex",
- "description": "If true, treats string parameter as regex.",
- "optional": true,
- "type": "boolean"
+ "name": "flexNodeHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
+ "type": "array",
+ "items": {
+ "$ref": "FlexNodeHighlightConfig"
+ }
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "name": "setShowScrollSnapOverlays",
+ "parameters": [
{
- "name": "result",
- "description": "List of search matches.",
+ "name": "scrollSnapHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
"type": "array",
"items": {
- "$ref": "Debugger.SearchMatch"
+ "$ref": "ScrollSnapHighlightConfig"
}
}
]
},
{
- "name": "setBlockedURLs",
- "description": "Blocks URLs from loading.",
- "experimental": true,
+ "name": "setShowContainerQueryOverlays",
"parameters": [
{
- "name": "urls",
- "description": "URL patterns to block. Wildcards ('*') are allowed.",
+ "name": "containerQueryHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "ContainerQueryHighlightConfig"
}
}
]
},
{
- "name": "setBypassServiceWorker",
- "description": "Toggles ignoring of service worker for each request.",
- "experimental": true,
+ "name": "setShowPaintRects",
+ "description": "Requests that backend shows paint rectangles",
"parameters": [
{
- "name": "bypass",
- "description": "Bypass service worker and load from network.",
+ "name": "result",
+ "description": "True for showing paint rectangles",
"type": "boolean"
}
]
},
{
- "name": "setCacheDisabled",
- "description": "Toggles ignoring cache for each request. If `true`, cache will not be used.",
+ "name": "setShowLayoutShiftRegions",
+ "description": "Requests that backend shows layout shift regions",
"parameters": [
{
- "name": "cacheDisabled",
- "description": "Cache disabled state.",
+ "name": "result",
+ "description": "True for showing layout shift regions",
"type": "boolean"
}
]
},
{
- "name": "setCookie",
- "description": "Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.",
+ "name": "setShowScrollBottleneckRects",
+ "description": "Requests that backend shows scroll bottleneck rects",
"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 and path 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,
+ "name": "show",
+ "description": "True for showing scroll bottleneck rects",
"type": "boolean"
- },
+ }
+ ]
+ },
+ {
+ "name": "setShowHitTestBorders",
+ "description": "Requests that backend shows hit-test borders on layers",
+ "parameters": [
{
- "name": "httpOnly",
- "description": "True if cookie is http-only.",
- "optional": true,
+ "name": "show",
+ "description": "True for showing hit-test borders",
"type": "boolean"
- },
- {
- "name": "sameSite",
- "description": "Cookie SameSite type.",
- "optional": true,
- "$ref": "CookieSameSite"
- },
+ }
+ ]
+ },
+ {
+ "name": "setShowWebVitals",
+ "description": "Request that backend shows an overlay with web vital metrics.",
+ "parameters": [
{
- "name": "expires",
- "description": "Cookie expiration date, session cookie if not set",
- "optional": true,
- "$ref": "TimeSinceEpoch"
+ "name": "show",
+ "type": "boolean"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "name": "setShowViewportSizeOnResize",
+ "description": "Paints viewport size upon main frame resize.",
+ "parameters": [
{
- "name": "success",
- "description": "True if successfully set cookie.",
+ "name": "show",
+ "description": "Whether to paint size or not.",
"type": "boolean"
}
]
},
{
- "name": "setCookies",
- "description": "Sets given cookies.",
+ "name": "setShowHinge",
+ "description": "Add a dual screen device hinge",
"parameters": [
{
- "name": "cookies",
- "description": "Cookies to be set.",
+ "name": "hingeConfig",
+ "description": "hinge data, null means hideHinge",
+ "optional": true,
+ "$ref": "HingeConfig"
+ }
+ ]
+ },
+ {
+ "name": "setShowIsolatedElements",
+ "description": "Show elements in isolation mode with overlays.",
+ "parameters": [
+ {
+ "name": "isolatedElementHighlightConfigs",
+ "description": "An array of node identifiers and descriptors for the highlight appearance.",
"type": "array",
"items": {
- "$ref": "CookieParam"
+ "$ref": "IsolatedElementHighlightConfig"
}
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "setDataSizeLimitsForTest",
- "description": "For testing.",
- "experimental": true,
+ "name": "inspectNodeRequested",
+ "description": "Fired when the node should be inspected. This happens after call to `setInspectMode` or when\nuser manually inspects an element.",
"parameters": [
{
- "name": "maxTotalSize",
- "description": "Maximum total buffer size.",
- "type": "integer"
- },
+ "name": "backendNodeId",
+ "description": "Id of the node to inspect.",
+ "$ref": "DOM.BackendNodeId"
+ }
+ ]
+ },
+ {
+ "name": "nodeHighlightRequested",
+ "description": "Fired when the node should be highlighted. This happens after call to `setInspectMode`.",
+ "parameters": [
{
- "name": "maxResourceSize",
- "description": "Maximum per-resource size.",
- "type": "integer"
+ "name": "nodeId",
+ "$ref": "DOM.NodeId"
}
]
},
{
- "name": "setExtraHTTPHeaders",
- "description": "Specifies whether to always send extra HTTP headers with the requests from this page.",
+ "name": "screenshotRequested",
+ "description": "Fired when user asks to capture screenshot of some area on the page.",
"parameters": [
{
- "name": "headers",
- "description": "Map with extra HTTP headers.",
- "$ref": "Headers"
+ "name": "viewport",
+ "description": "Viewport to capture, in device independent pixels (dip).",
+ "$ref": "Page.Viewport"
}
]
},
{
- "name": "setRequestInterception",
- "description": "Sets the requests to intercept that match the provided patterns and optionally resource types.\nDeprecated, please use Fetch.enable instead.",
+ "name": "inspectModeCanceled",
+ "description": "Fired when user cancels the inspect mode."
+ }
+ ]
+ },
+ {
+ "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,
- "deprecated": true,
- "parameters": [
+ "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": "patterns",
- "description": "Requests matching any of these patterns will be forwarded and wait for the corresponding\ncontinueInterceptedRequest call.",
+ "name": "adFrameType",
+ "$ref": "AdFrameType"
+ },
+ {
+ "name": "explanations",
+ "optional": true,
"type": "array",
"items": {
- "$ref": "RequestPattern"
+ "$ref": "AdFrameExplanation"
}
}
]
},
{
- "name": "setUserAgentOverride",
- "description": "Allows overriding user agent with the given string.",
- "redirect": "Emulation",
- "parameters": [
- {
- "name": "userAgent",
- "description": "User agent to use.",
- "type": "string"
- },
+ "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 third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "accelerometer",
+ "ambient-light-sensor",
+ "attribution-reporting",
+ "autoplay",
+ "camera",
+ "ch-dpr",
+ "ch-device-memory",
+ "ch-downlink",
+ "ch-ect",
+ "ch-prefers-color-scheme",
+ "ch-rtt",
+ "ch-ua",
+ "ch-ua-arch",
+ "ch-ua-bitness",
+ "ch-ua-platform",
+ "ch-ua-model",
+ "ch-ua-mobile",
+ "ch-ua-full-version",
+ "ch-ua-full-version-list",
+ "ch-ua-platform-version",
+ "ch-ua-reduced",
+ "ch-viewport-height",
+ "ch-viewport-width",
+ "ch-width",
+ "clipboard-read",
+ "clipboard-write",
+ "cross-origin-isolated",
+ "direct-sockets",
+ "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",
+ "idle-detection",
+ "interest-cohort",
+ "join-ad-interest-group",
+ "keyboard-map",
+ "magnetometer",
+ "microphone",
+ "midi",
+ "otp-credentials",
+ "payment",
+ "picture-in-picture",
+ "publickey-credentials-get",
+ "run-ad-auction",
+ "screen-wake-lock",
+ "serial",
+ "shared-autofill",
+ "storage-access-api",
+ "sync-xhr",
+ "trust-token-redemption",
+ "usb",
+ "vertical-scroll",
+ "web-share",
+ "window-placement",
+ "xr-spatial-tracking"
+ ]
+ },
+ {
+ "id": "PermissionsPolicyBlockReason",
+ "description": "Reason for a permissions policy feature to be disabled.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "Header",
+ "IframeAttribute"
+ ]
+ },
+ {
+ "id": "PermissionsPolicyBlockLocator",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "acceptLanguage",
- "description": "Browser langugage to emulate.",
- "optional": true,
- "type": "string"
+ "name": "frameId",
+ "$ref": "FrameId"
},
{
- "name": "platform",
- "description": "The platform navigator.platform should return.",
- "optional": true,
- "type": "string"
+ "name": "blockReason",
+ "$ref": "PermissionsPolicyBlockReason"
}
]
- }
- ],
- "events": [
+ },
{
- "name": "dataReceived",
- "description": "Fired when data chunk was received over the network.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
+ "id": "PermissionsPolicyFeatureState",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "feature",
+ "$ref": "PermissionsPolicyFeature"
},
{
- "name": "dataLength",
- "description": "Data chunk length.",
- "type": "integer"
+ "name": "allowed",
+ "type": "boolean"
},
{
- "name": "encodedDataLength",
- "description": "Actual bytes received (might be less than dataLength for compressed encodings).",
- "type": "integer"
+ "name": "locator",
+ "optional": true,
+ "$ref": "PermissionsPolicyBlockLocator"
}
]
},
{
- "name": "eventSourceMessageReceived",
- "description": "Fired when EventSource message is received.",
- "parameters": [
+ "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": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "origin",
+ "type": "string"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "matchSubDomains",
+ "type": "boolean"
},
{
- "name": "eventName",
- "description": "Message type.",
+ "name": "trialName",
"type": "string"
},
{
- "name": "eventId",
- "description": "Message identifier.",
- "type": "string"
+ "name": "expiryTime",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "data",
- "description": "Message content.",
- "type": "string"
+ "name": "isThirdParty",
+ "type": "boolean"
+ },
+ {
+ "name": "usageRestriction",
+ "$ref": "OriginTrialUsageRestriction"
}
]
},
{
- "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"
- },
+ "id": "OriginTrialTokenWithStatus",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "errorText",
- "description": "User friendly error message.",
+ "name": "rawTokenText",
"type": "string"
},
{
- "name": "canceled",
- "description": "True if loading was canceled.",
+ "name": "parsedToken",
+ "description": "`parsedToken` is present only when the token is extractable and\nparsable.",
"optional": true,
- "type": "boolean"
+ "$ref": "OriginTrialToken"
},
{
- "name": "blockedReason",
- "description": "The reason why loading was blocked, if any.",
- "optional": true,
- "$ref": "BlockedReason"
+ "name": "status",
+ "$ref": "OriginTrialTokenStatus"
}
]
},
{
- "name": "loadingFinished",
- "description": "Fired when HTTP request has finished loading.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
+ "id": "OriginTrial",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "trialName",
+ "type": "string"
},
{
- "name": "encodedDataLength",
- "description": "Total number of bytes received for this request.",
- "type": "number"
+ "name": "status",
+ "$ref": "OriginTrialStatus"
},
{
- "name": "shouldReportCorbBlocking",
- "description": "Set when 1) response was blocked by Cross-Origin Read Blocking and also\n2) this needs to be reported to the DevTools console.",
- "optional": true,
- "type": "boolean"
+ "name": "tokensWithStatus",
+ "type": "array",
+ "items": {
+ "$ref": "OriginTrialTokenWithStatus"
+ }
}
]
},
{
- "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": [
+ "id": "Frame",
+ "description": "Information about the Frame on the page.",
+ "type": "object",
+ "properties": [
{
- "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": "id",
+ "description": "Frame unique identifier.",
+ "$ref": "FrameId"
},
{
- "name": "request",
- "$ref": "Request"
+ "name": "parentId",
+ "description": "Parent frame identifier.",
+ "optional": true,
+ "$ref": "FrameId"
},
{
- "name": "frameId",
- "description": "The id of the frame that initiated the request.",
- "$ref": "Page.FrameId"
+ "name": "loaderId",
+ "description": "Identifier of the loader associated with this frame.",
+ "$ref": "Network.LoaderId"
},
{
- "name": "resourceType",
- "description": "How the requested resource will be used.",
- "$ref": "ResourceType"
+ "name": "name",
+ "description": "Frame's name as specified in the tag.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "isNavigationRequest",
- "description": "Whether this is a navigation request, which can abort the navigation completely.",
- "type": "boolean"
+ "name": "url",
+ "description": "Frame document's URL without fragment.",
+ "type": "string"
},
{
- "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).",
+ "name": "urlFragment",
+ "description": "Frame document's URL fragment including the '#'.",
+ "experimental": true,
"optional": true,
- "type": "boolean"
+ "type": "string"
},
{
- "name": "redirectUrl",
- "description": "Redirect location, only sent if a redirect was intercepted.",
- "optional": true,
+ "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": "authChallenge",
- "description": "Details of the Authorization Challenge encountered. If this is set then\ncontinueInterceptedRequest must contain an authChallengeResponse.",
- "optional": true,
- "$ref": "AuthChallenge"
+ "name": "securityOrigin",
+ "description": "Frame document's security origin.",
+ "type": "string"
},
{
- "name": "responseErrorReason",
- "description": "Response error if intercepted at response stage or if redirect occurred while intercepting\nrequest.",
- "optional": true,
- "$ref": "ErrorReason"
+ "name": "mimeType",
+ "description": "Frame document's mimeType as determined by the browser.",
+ "type": "string"
},
{
- "name": "responseStatusCode",
- "description": "Response code if intercepted at response stage or if redirect occurred while intercepting\nrequest or auth retry occurred.",
+ "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": "integer"
+ "type": "string"
},
{
- "name": "responseHeaders",
- "description": "Response headers if intercepted at the response stage or if redirect occurred while\nintercepting request or auth retry occurred.",
+ "name": "adFrameStatus",
+ "description": "Indicates whether this frame was tagged as an ad and why.",
+ "experimental": true,
"optional": true,
- "$ref": "Headers"
+ "$ref": "AdFrameStatus"
},
{
- "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": "secureContextType",
+ "description": "Indicates whether the main document is a secure context and explains why that is the case.",
+ "experimental": true,
+ "$ref": "SecureContextType"
+ },
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "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"
+ }
}
]
},
{
- "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"
- },
+ "id": "FrameResource",
+ "description": "Information about the Resource on the page.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "documentURL",
- "description": "URL of the document this request is loaded for.",
+ "name": "url",
+ "description": "Resource URL.",
"type": "string"
},
{
- "name": "request",
- "description": "Request data.",
- "$ref": "Request"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
- {
- "name": "wallTime",
- "description": "Timestamp.",
- "$ref": "TimeSinceEpoch"
+ "name": "type",
+ "description": "Type of this resource.",
+ "$ref": "Network.ResourceType"
},
{
- "name": "initiator",
- "description": "Request initiator.",
- "$ref": "Initiator"
+ "name": "mimeType",
+ "description": "Resource mimeType as determined by the browser.",
+ "type": "string"
},
{
- "name": "redirectResponse",
- "description": "Redirect response data.",
+ "name": "lastModified",
+ "description": "last-modified timestamp as reported by server.",
"optional": true,
- "$ref": "Response"
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "type",
- "description": "Type of this resource.",
+ "name": "contentSize",
+ "description": "Resource content size.",
"optional": true,
- "$ref": "ResourceType"
+ "type": "number"
},
{
- "name": "frameId",
- "description": "Frame identifier.",
+ "name": "failed",
+ "description": "True if the resource failed to load.",
"optional": true,
- "$ref": "Page.FrameId"
+ "type": "boolean"
},
{
- "name": "hasUserGesture",
- "description": "Whether the request is initiated by a user gesture. Defaults to false.",
+ "name": "canceled",
+ "description": "True if the resource was canceled during loading.",
"optional": true,
"type": "boolean"
}
]
},
{
- "name": "resourceChangedPriority",
- "description": "Fired when resource loading priority is changed",
+ "id": "FrameResourceTree",
+ "description": "Information about the Frame hierarchy along with their cached resources.",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "frame",
+ "description": "Frame information for this tree item.",
+ "$ref": "Frame"
},
{
- "name": "newPriority",
- "description": "New priority",
- "$ref": "ResourcePriority"
+ "name": "childFrames",
+ "description": "Child frames.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "FrameResourceTree"
+ }
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "resources",
+ "description": "Information about frame resources.",
+ "type": "array",
+ "items": {
+ "$ref": "FrameResource"
+ }
}
]
},
{
- "name": "signedExchangeReceived",
- "description": "Fired when a signed exchange was received over the network",
- "experimental": true,
- "parameters": [
+ "id": "FrameTree",
+ "description": "Information about the Frame hierarchy.",
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "frame",
+ "description": "Frame information for this tree item.",
+ "$ref": "Frame"
},
{
- "name": "info",
- "description": "Information about the signed exchange response.",
- "$ref": "SignedExchangeInfo"
+ "name": "childFrames",
+ "description": "Child frames.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "FrameTree"
+ }
}
]
},
{
- "name": "responseReceived",
- "description": "Fired when HTTP response is available.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
+ "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": "loaderId",
- "description": "Loader identifier. Empty string if the request is fetched from worker.",
- "$ref": "LoaderId"
+ "name": "id",
+ "description": "Unique id of the navigation history entry.",
+ "type": "integer"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "url",
+ "description": "URL of the navigation history entry.",
+ "type": "string"
},
{
- "name": "type",
- "description": "Resource type.",
- "$ref": "ResourceType"
+ "name": "userTypedURL",
+ "description": "URL that the user typed in the url bar.",
+ "type": "string"
},
{
- "name": "response",
- "description": "Response data.",
- "$ref": "Response"
+ "name": "title",
+ "description": "Title of the navigation history entry.",
+ "type": "string"
},
{
- "name": "frameId",
- "description": "Frame identifier.",
- "optional": true,
- "$ref": "Page.FrameId"
+ "name": "transitionType",
+ "description": "Transition type.",
+ "$ref": "TransitionType"
}
]
},
{
- "name": "webSocketClosed",
- "description": "Fired when WebSocket is closed.",
- "parameters": [
+ "id": "ScreencastFrameMetadata",
+ "description": "Screencast frame metadata.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "offsetTop",
+ "description": "Top offset in DIP.",
+ "type": "number"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- }
- ]
- },
- {
- "name": "webSocketCreated",
- "description": "Fired upon WebSocket creation.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "pageScaleFactor",
+ "description": "Page scale factor.",
+ "type": "number"
},
{
- "name": "url",
- "description": "WebSocket request URL.",
- "type": "string"
+ "name": "deviceWidth",
+ "description": "Device screen width in DIP.",
+ "type": "number"
},
{
- "name": "initiator",
- "description": "Request initiator.",
- "optional": true,
- "$ref": "Initiator"
- }
- ]
- },
- {
- "name": "webSocketFrameError",
- "description": "Fired when WebSocket message error occurs.",
- "parameters": [
+ "name": "deviceHeight",
+ "description": "Device screen height in DIP.",
+ "type": "number"
+ },
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "scrollOffsetX",
+ "description": "Position of horizontal scroll in CSS pixels.",
+ "type": "number"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "scrollOffsetY",
+ "description": "Position of vertical scroll in CSS pixels.",
+ "type": "number"
},
{
- "name": "errorMessage",
- "description": "WebSocket error message.",
- "type": "string"
+ "name": "timestamp",
+ "description": "Frame swap timestamp.",
+ "optional": true,
+ "$ref": "Network.TimeSinceEpoch"
}
]
},
{
- "name": "webSocketFrameReceived",
- "description": "Fired when WebSocket message is received.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
+ "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": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "message",
+ "description": "Error message.",
+ "type": "string"
},
{
- "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": "critical",
+ "description": "If criticial, this is a non-recoverable parse error.",
+ "type": "integer"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "line",
+ "description": "Error line.",
+ "type": "integer"
},
{
- "name": "response",
- "description": "WebSocket response data.",
- "$ref": "WebSocketFrame"
+ "name": "column",
+ "description": "Error column.",
+ "type": "integer"
}
]
},
{
- "name": "webSocketHandshakeResponseReceived",
- "description": "Fired when WebSocket handshake response becomes available.",
- "parameters": [
- {
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
- },
- {
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
- },
+ "id": "AppManifestParsedProperties",
+ "description": "Parsed app manifest properties.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "response",
- "description": "WebSocket response data.",
- "$ref": "WebSocketResponse"
+ "name": "scope",
+ "description": "Computed scope value",
+ "type": "string"
}
]
},
{
- "name": "webSocketWillSendHandshakeRequest",
- "description": "Fired when WebSocket is about to initiate handshake.",
- "parameters": [
+ "id": "LayoutViewport",
+ "description": "Layout viewport position and dimensions.",
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Request identifier.",
- "$ref": "RequestId"
+ "name": "pageX",
+ "description": "Horizontal offset relative to the document (CSS pixels).",
+ "type": "integer"
},
{
- "name": "timestamp",
- "description": "Timestamp.",
- "$ref": "MonotonicTime"
+ "name": "pageY",
+ "description": "Vertical offset relative to the document (CSS pixels).",
+ "type": "integer"
},
{
- "name": "wallTime",
- "description": "UTC Timestamp.",
- "$ref": "TimeSinceEpoch"
+ "name": "clientWidth",
+ "description": "Width (CSS pixels), excludes scrollbar if present.",
+ "type": "integer"
},
{
- "name": "request",
- "description": "WebSocket request data.",
- "$ref": "WebSocketRequest"
+ "name": "clientHeight",
+ "description": "Height (CSS pixels), excludes scrollbar if present.",
+ "type": "integer"
}
]
},
{
- "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": [
+ "id": "VisualViewport",
+ "description": "Visual viewport position, dimensions, and scale.",
+ "type": "object",
+ "properties": [
{
- "name": "requestId",
- "description": "Request identifier. Used to match this information to an existing requestWillBeSent event.",
- "$ref": "RequestId"
+ "name": "offsetX",
+ "description": "Horizontal offset relative to the layout viewport (CSS pixels).",
+ "type": "number"
},
{
- "name": "blockedCookies",
- "description": "A list of cookies which will not be sent with this request along with corresponding reasons\nfor blocking.",
- "type": "array",
- "items": {
- "$ref": "BlockedCookieWithReason"
- }
+ "name": "offsetY",
+ "description": "Vertical offset relative to the layout viewport (CSS pixels).",
+ "type": "number"
},
{
- "name": "headers",
- "description": "Raw request headers as they will be sent over the wire.",
- "$ref": "Headers"
- }
- ]
- },
- {
- "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": "pageX",
+ "description": "Horizontal offset relative to the document (CSS pixels).",
+ "type": "number"
+ },
{
- "name": "requestId",
- "description": "Request identifier. Used to match this information to another responseReceived event.",
- "$ref": "RequestId"
+ "name": "pageY",
+ "description": "Vertical offset relative to the document (CSS pixels).",
+ "type": "number"
},
{
- "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": "clientWidth",
+ "description": "Width (CSS pixels), excludes scrollbar if present.",
+ "type": "number"
},
{
- "name": "headers",
- "description": "Raw response headers as they were received over the wire.",
- "$ref": "Headers"
+ "name": "clientHeight",
+ "description": "Height (CSS pixels), excludes scrollbar if present.",
+ "type": "number"
},
{
- "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.",
+ "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": "string"
+ "type": "number"
}
]
- }
- ]
- },
- {
- "domain": "Overlay",
- "description": "This domain provides various functionality related to drawing atop the inspected page.",
- "experimental": true,
- "dependencies": [
- "DOM",
- "Page",
- "Runtime"
- ],
- "types": [
+ },
{
- "id": "HighlightConfig",
- "description": "Configuration data for the highlighting of page elements.",
+ "id": "Viewport",
+ "description": "Viewport for capturing screenshot.",
"type": "object",
"properties": [
{
- "name": "showInfo",
- "description": "Whether the node info tooltip should be shown (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "x",
+ "description": "X offset in device independent pixels (dip).",
+ "type": "number"
},
{
- "name": "showStyles",
- "description": "Whether the node styles in the tooltip (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "y",
+ "description": "Y offset in device independent pixels (dip).",
+ "type": "number"
},
{
- "name": "showRulers",
- "description": "Whether the rulers should be shown (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "width",
+ "description": "Rectangle width in device independent pixels (dip).",
+ "type": "number"
},
{
- "name": "showExtensionLines",
- "description": "Whether the extension lines from node to the rulers should be shown (default: false).",
- "optional": true,
- "type": "boolean"
+ "name": "height",
+ "description": "Rectangle height in device independent pixels (dip).",
+ "type": "number"
},
{
- "name": "contentColor",
- "description": "The content box highlight fill color (default: transparent).",
+ "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,
- "$ref": "DOM.RGBA"
+ "type": "string"
},
{
- "name": "paddingColor",
- "description": "The padding highlight fill color (default: transparent).",
+ "name": "fixed",
+ "description": "The fixed font-family.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "type": "string"
},
{
- "name": "borderColor",
- "description": "The border highlight fill color (default: transparent).",
+ "name": "serif",
+ "description": "The serif font-family.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "type": "string"
},
{
- "name": "marginColor",
- "description": "The margin highlight fill color (default: transparent).",
+ "name": "sansSerif",
+ "description": "The sansSerif font-family.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "type": "string"
},
{
- "name": "eventTargetColor",
- "description": "The event target element highlight fill color (default: transparent).",
+ "name": "cursive",
+ "description": "The cursive font-family.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "type": "string"
},
{
- "name": "shapeColor",
- "description": "The shape outside fill color (default: transparent).",
+ "name": "fantasy",
+ "description": "The fantasy font-family.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "type": "string"
},
{
- "name": "shapeMarginColor",
- "description": "The shape margin fill color (default: transparent).",
+ "name": "pictograph",
+ "description": "The pictograph font-family.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "FontSizes",
+ "description": "Default font sizes.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "standard",
+ "description": "Default standard font size.",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "cssGridColor",
- "description": "The grid layout color (default: transparent).",
+ "name": "fixed",
+ "description": "Default fixed font size.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "type": "integer"
}
]
},
{
- "id": "InspectMode",
+ "id": "ClientNavigationReason",
+ "experimental": true,
"type": "string",
"enum": [
- "searchForNode",
- "searchForUAShadowDOM",
- "captureAreaScreenshot",
- "showDistances",
- "none"
+ "formSubmissionGet",
+ "formSubmissionPost",
+ "httpHeaderRefresh",
+ "scriptInitiated",
+ "metaTagRefresh",
+ "pageBlockInterstitial",
+ "reload",
+ "anchorClick"
]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disables domain notifications."
},
{
- "name": "enable",
- "description": "Enables domain notifications."
+ "id": "ClientNavigationDisposition",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "currentTab",
+ "newTab",
+ "newWindow",
+ "download"
+ ]
},
{
- "name": "getHighlightObjectForTest",
- "description": "For testing.",
- "parameters": [
- {
- "name": "nodeId",
- "description": "Id of the node to get highlight object for.",
- "$ref": "DOM.NodeId"
- },
+ "id": "InstallabilityErrorArgument",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "includeDistance",
- "description": "Whether to include distance info.",
- "optional": true,
- "type": "boolean"
+ "name": "name",
+ "description": "Argument name (e.g. name:'minimum-icon-size-in-pixels').",
+ "type": "string"
},
{
- "name": "includeStyle",
- "description": "Whether to include style info.",
- "optional": true,
- "type": "boolean"
+ "name": "value",
+ "description": "Argument value (e.g. value:'64').",
+ "type": "string"
}
- ],
- "returns": [
+ ]
+ },
+ {
+ "id": "InstallabilityError",
+ "description": "The installability error",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "highlight",
- "description": "Highlight data for the node.",
- "type": "object"
+ "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"
+ }
}
]
},
{
- "name": "hideHighlight",
- "description": "Hides any highlight."
+ "id": "ReferrerPolicy",
+ "description": "The referring-policy used for the navigation.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "noReferrer",
+ "noReferrerWhenDowngrade",
+ "origin",
+ "originWhenCrossOrigin",
+ "sameOrigin",
+ "strictOrigin",
+ "strictOriginWhenCrossOrigin",
+ "unsafeUrl"
+ ]
},
{
- "name": "highlightFrame",
- "description": "Highlights owner element of the frame with given id.",
- "parameters": [
- {
- "name": "frameId",
- "description": "Identifier of the frame to highlight.",
- "$ref": "Page.FrameId"
- },
+ "id": "CompilationCacheParams",
+ "description": "Per-script compilation cache parameters for `Page.produceCompilationCache`",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "contentColor",
- "description": "The content box highlight fill color (default: transparent).",
- "optional": true,
- "$ref": "DOM.RGBA"
+ "name": "url",
+ "description": "The URL of the script to produce a compilation cache entry for.",
+ "type": "string"
},
{
- "name": "contentOutlineColor",
- "description": "The content box highlight outline color (default: transparent).",
+ "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,
- "$ref": "DOM.RGBA"
+ "type": "boolean"
}
]
},
{
- "name": "highlightNode",
- "description": "Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or\nobjectId must be specified.",
- "parameters": [
+ "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": [
+ "NotMainFrame",
+ "BackForwardCacheDisabled",
+ "RelatedActiveContentsExist",
+ "HTTPStatusNotOK",
+ "SchemeNotHTTPOrHTTPS",
+ "Loading",
+ "WasGrantedMediaAccess",
+ "DisableForRenderFrameHostCalled",
+ "DomainNotAllowed",
+ "HTTPMethodNotGET",
+ "SubframeIsNavigating",
+ "Timeout",
+ "CacheLimit",
+ "JavaScriptExecution",
+ "RendererProcessKilled",
+ "RendererProcessCrashed",
+ "GrantedMediaStreamAccess",
+ "SchedulerTrackedFeatureUsed",
+ "ConflictingBrowsingInstance",
+ "CacheFlushed",
+ "ServiceWorkerVersionActivation",
+ "SessionRestored",
+ "ServiceWorkerPostMessage",
+ "EnteredBackForwardCacheBeforeServiceWorkerHostAdded",
+ "RenderFrameHostReused_SameSite",
+ "RenderFrameHostReused_CrossSite",
+ "ServiceWorkerClaim",
+ "IgnoreEventAndEvict",
+ "HaveInnerContents",
+ "TimeoutPuttingInCache",
+ "BackForwardCacheDisabledByLowMemory",
+ "BackForwardCacheDisabledByCommandLine",
+ "NetworkRequestDatapipeDrainedAsBytesConsumer",
+ "NetworkRequestRedirected",
+ "NetworkRequestTimeout",
+ "NetworkExceedsBufferLimit",
+ "NavigationCancelledWhileRestoring",
+ "NotMostRecentNavigationEntry",
+ "BackForwardCacheDisabledForPrerender",
+ "UserAgentOverrideDiffers",
+ "ForegroundCacheLimit",
+ "BrowsingInstanceNotSwapped",
+ "BackForwardCacheDisabledForDelegate",
+ "OptInUnloadHeaderNotPresent",
+ "UnloadHandlerExistsInMainFrame",
+ "UnloadHandlerExistsInSubFrame",
+ "ServiceWorkerUnregistration",
+ "CacheControlNoStore",
+ "CacheControlNoStoreCookieModified",
+ "CacheControlNoStoreHTTPOnlyCookieModified",
+ "NoResponseHead",
+ "Unknown",
+ "ActivationNavigationsDisallowedForBug1234857",
+ "WebSocket",
+ "WebTransport",
+ "WebRTC",
+ "MainResourceHasCacheControlNoStore",
+ "MainResourceHasCacheControlNoCache",
+ "SubresourceHasCacheControlNoStore",
+ "SubresourceHasCacheControlNoCache",
+ "ContainsPlugins",
+ "DocumentLoaded",
+ "DedicatedWorkerOrWorklet",
+ "OutstandingNetworkRequestOthers",
+ "OutstandingIndexedDBTransaction",
+ "RequestedNotificationsPermission",
+ "RequestedMIDIPermission",
+ "RequestedAudioCapturePermission",
+ "RequestedVideoCapturePermission",
+ "RequestedBackForwardCacheBlockedSensors",
+ "RequestedBackgroundWorkPermission",
+ "BroadcastChannel",
+ "IndexedDBConnection",
+ "WebXR",
+ "SharedWorker",
+ "WebLocks",
+ "WebHID",
+ "WebShare",
+ "RequestedStorageAccessGrant",
+ "WebNfc",
+ "OutstandingNetworkRequestFetch",
+ "OutstandingNetworkRequestXHR",
+ "AppBanner",
+ "Printing",
+ "WebDatabase",
+ "PictureInPicture",
+ "Portal",
+ "SpeechRecognizer",
+ "IdleManager",
+ "PaymentManager",
+ "SpeechSynthesis",
+ "KeyboardLock",
+ "WebOTPService",
+ "OutstandingNetworkRequestDirectSocket",
+ "InjectedJavascript",
+ "InjectedStyleSheet",
+ "Dummy",
+ "ContentSecurityHandler",
+ "ContentWebAuthenticationAPI",
+ "ContentFileChooser",
+ "ContentSerial",
+ "ContentFileSystemAccess",
+ "ContentMediaDevicesDispatcherHost",
+ "ContentWebBluetooth",
+ "ContentWebUSB",
+ "ContentMediaSession",
+ "ContentMediaSessionService",
+ "ContentScreenReader",
+ "EmbedderPopupBlockerTabHelper",
+ "EmbedderSafeBrowsingTriggeredPopupBlocker",
+ "EmbedderSafeBrowsingThreatDetails",
+ "EmbedderAppBannerManager",
+ "EmbedderDomDistillerViewerSource",
+ "EmbedderDomDistillerSelfDeletingRequestDelegate",
+ "EmbedderOomInterventionTabHelper",
+ "EmbedderOfflinePage",
+ "EmbedderChromePasswordManagerClientBindCredentialManager",
+ "EmbedderPermissionRequestManager",
+ "EmbedderModalDialog",
+ "EmbedderExtensions",
+ "EmbedderExtensionMessaging",
+ "EmbedderExtensionMessagingForOpenPort",
+ "EmbedderExtensionSentMessageToCachedFrame"
+ ]
+ },
+ {
+ "id": "BackForwardCacheNotRestoredReasonType",
+ "description": "Types of not restored reasons for back-forward cache.",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "SupportPending",
+ "PageSupportNeeded",
+ "Circumstantial"
+ ]
+ },
+ {
+ "id": "BackForwardCacheNotRestoredExplanation",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "highlightConfig",
- "description": "A descriptor for the highlight appearance.",
- "$ref": "HighlightConfig"
+ "name": "type",
+ "description": "Type of the reason",
+ "$ref": "BackForwardCacheNotRestoredReasonType"
},
{
- "name": "nodeId",
- "description": "Identifier of the node to highlight.",
- "optional": true,
- "$ref": "DOM.NodeId"
- },
+ "name": "reason",
+ "description": "Not restored reason",
+ "$ref": "BackForwardCacheNotRestoredReason"
+ }
+ ]
+ },
+ {
+ "id": "BackForwardCacheNotRestoredExplanationTree",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "backendNodeId",
- "description": "Identifier of the backend node to highlight.",
- "optional": true,
- "$ref": "DOM.BackendNodeId"
+ "name": "url",
+ "description": "URL of each frame",
+ "type": "string"
},
{
- "name": "objectId",
- "description": "JavaScript object id of the node to be highlighted.",
- "optional": true,
- "$ref": "Runtime.RemoteObjectId"
+ "name": "explanations",
+ "description": "Not restored reasons of each frame",
+ "type": "array",
+ "items": {
+ "$ref": "BackForwardCacheNotRestoredExplanation"
+ }
},
{
- "name": "selector",
- "description": "Selectors to highlight relevant nodes.",
- "optional": true,
+ "name": "children",
+ "description": "Array of children frame",
+ "type": "array",
+ "items": {
+ "$ref": "BackForwardCacheNotRestoredExplanationTree"
+ }
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "addScriptToEvaluateOnLoad",
+ "description": "Deprecated, please use addScriptToEvaluateOnNewDocument instead.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "scriptSource",
"type": "string"
}
+ ],
+ "returns": [
+ {
+ "name": "identifier",
+ "description": "Identifier of the added script.",
+ "$ref": "ScriptIdentifier"
+ }
]
},
{
- "name": "highlightQuad",
- "description": "Highlights given quad. Coordinates are absolute with respect to the main frame viewport.",
+ "name": "addScriptToEvaluateOnNewDocument",
+ "description": "Evaluates given script in every frame upon creation (before loading frame's scripts).",
"parameters": [
{
- "name": "quad",
- "description": "Quad to highlight",
- "$ref": "DOM.Quad"
+ "name": "source",
+ "type": "string"
},
{
- "name": "color",
- "description": "The highlight fill color (default: transparent).",
+ "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,
- "$ref": "DOM.RGBA"
+ "type": "string"
},
{
- "name": "outlineColor",
- "description": "The highlight outline color (default: transparent).",
+ "name": "includeCommandLineAPI",
+ "description": "Specifies whether command line API should be available to the script, defaults\nto false.",
+ "experimental": true,
"optional": true,
- "$ref": "DOM.RGBA"
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "identifier",
+ "description": "Identifier of the added script.",
+ "$ref": "ScriptIdentifier"
}
]
},
{
- "name": "highlightRect",
- "description": "Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.",
+ "name": "bringToFront",
+ "description": "Brings page to front (activates tab)."
+ },
+ {
+ "name": "captureScreenshot",
+ "description": "Capture page screenshot.",
"parameters": [
{
- "name": "x",
- "description": "X coordinate",
- "type": "integer"
- },
- {
- "name": "y",
- "description": "Y coordinate",
- "type": "integer"
- },
- {
- "name": "width",
- "description": "Rectangle width",
- "type": "integer"
+ "name": "format",
+ "description": "Image compression format (defaults to png).",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "jpeg",
+ "png",
+ "webp"
+ ]
},
{
- "name": "height",
- "description": "Rectangle height",
+ "name": "quality",
+ "description": "Compression quality from range [0..100] (jpeg only).",
+ "optional": true,
"type": "integer"
},
{
- "name": "color",
- "description": "The highlight fill color (default: transparent).",
+ "name": "clip",
+ "description": "Capture the screenshot of a given region only.",
"optional": true,
- "$ref": "DOM.RGBA"
+ "$ref": "Viewport"
},
{
- "name": "outlineColor",
- "description": "The highlight outline color (default: transparent).",
+ "name": "fromSurface",
+ "description": "Capture the screenshot from the surface, rather than the view. Defaults to true.",
+ "experimental": true,
"optional": true,
- "$ref": "DOM.RGBA"
- }
- ]
- },
- {
- "name": "setInspectMode",
- "description": "Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted.\nBackend then generates 'inspectNodeRequested' event upon element selection.",
- "parameters": [
- {
- "name": "mode",
- "description": "Set an inspection mode.",
- "$ref": "InspectMode"
+ "type": "boolean"
},
{
- "name": "highlightConfig",
- "description": "A descriptor for the highlight appearance of hovered-over nodes. May be omitted if `enabled\n== false`.",
+ "name": "captureBeyondViewport",
+ "description": "Capture the screenshot beyond the viewport. Defaults to false.",
+ "experimental": true,
"optional": true,
- "$ref": "HighlightConfig"
- }
- ]
- },
- {
- "name": "setShowAdHighlights",
- "description": "Highlights owner element of all frames detected to be ads.",
- "parameters": [
- {
- "name": "show",
- "description": "True for showing ad highlights",
"type": "boolean"
}
- ]
- },
- {
- "name": "setPausedInDebuggerMessage",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "message",
- "description": "The message to display, also triggers resume and step over controls.",
- "optional": true,
+ "name": "data",
+ "description": "Base64-encoded image data. (Encoded as a base64 string when passed over JSON)",
"type": "string"
}
]
},
{
- "name": "setShowDebugBorders",
- "description": "Requests that backend shows debug borders on layers",
+ "name": "captureSnapshot",
+ "description": "Returns a snapshot of the page as a string. For MHTML format, the serialization includes\niframes, shadow DOM, external resources, and element-inline styles.",
+ "experimental": true,
"parameters": [
{
- "name": "show",
- "description": "True for showing debug borders",
- "type": "boolean"
+ "name": "format",
+ "description": "Format (defaults to mhtml).",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "mhtml"
+ ]
}
- ]
- },
- {
- "name": "setShowFPSCounter",
- "description": "Requests that backend shows the FPS counter",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "show",
- "description": "True for showing the FPS counter",
- "type": "boolean"
+ "name": "data",
+ "description": "Serialized page data.",
+ "type": "string"
}
]
},
{
- "name": "setShowPaintRects",
- "description": "Requests that backend shows paint rectangles",
- "parameters": [
- {
- "name": "result",
- "description": "True for showing paint rectangles",
- "type": "boolean"
- }
- ]
+ "name": "clearDeviceMetricsOverride",
+ "description": "Clears the overridden device metrics.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "Emulation"
},
{
- "name": "setShowLayoutShiftRegions",
- "description": "Requests that backend shows layout shift regions",
- "parameters": [
- {
- "name": "result",
- "description": "True for showing layout shift regions",
- "type": "boolean"
- }
- ]
+ "name": "clearDeviceOrientationOverride",
+ "description": "Clears the overridden Device Orientation.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "DeviceOrientation"
},
{
- "name": "setShowScrollBottleneckRects",
- "description": "Requests that backend shows scroll bottleneck rects",
- "parameters": [
- {
- "name": "show",
- "description": "True for showing scroll bottleneck rects",
- "type": "boolean"
- }
- ]
+ "name": "clearGeolocationOverride",
+ "description": "Clears the overridden Geolocation Position and Error.",
+ "deprecated": true,
+ "redirect": "Emulation"
},
{
- "name": "setShowHitTestBorders",
- "description": "Requests that backend shows hit-test borders on layers",
+ "name": "createIsolatedWorld",
+ "description": "Creates an isolated world for the given frame.",
"parameters": [
{
- "name": "show",
- "description": "True for showing hit-test borders",
- "type": "boolean"
- }
- ]
- },
- {
- "name": "setShowViewportSizeOnResize",
- "description": "Paints viewport size upon main frame resize.",
- "parameters": [
+ "name": "frameId",
+ "description": "Id of the frame in which the isolated world should be created.",
+ "$ref": "FrameId"
+ },
{
- "name": "show",
- "description": "Whether to paint size or not.",
+ "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"
}
- ]
- }
- ],
- "events": [
- {
- "name": "inspectNodeRequested",
- "description": "Fired when the node should be inspected. This happens after call to `setInspectMode` or when\nuser manually inspects an element.",
- "parameters": [
+ ],
+ "returns": [
{
- "name": "backendNodeId",
- "description": "Id of the node to inspect.",
- "$ref": "DOM.BackendNodeId"
+ "name": "executionContextId",
+ "description": "Execution context of the isolated world.",
+ "$ref": "Runtime.ExecutionContextId"
}
]
},
{
- "name": "nodeHighlightRequested",
- "description": "Fired when the node should be highlighted. This happens after call to `setInspectMode`.",
+ "name": "deleteCookie",
+ "description": "Deletes browser cookie with given name, domain and path.",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "Network",
"parameters": [
{
- "name": "nodeId",
- "$ref": "DOM.NodeId"
- }
- ]
- },
- {
- "name": "screenshotRequested",
- "description": "Fired when user asks to capture screenshot of some area on the page.",
- "parameters": [
+ "name": "cookieName",
+ "description": "Name of the cookie to remove.",
+ "type": "string"
+ },
{
- "name": "viewport",
- "description": "Viewport to capture, in device independent pixels (dip).",
- "$ref": "Page.Viewport"
+ "name": "url",
+ "description": "URL to match cooke domain and path.",
+ "type": "string"
}
]
},
{
- "name": "inspectModeCanceled",
- "description": "Fired when user cancels the inspect mode."
- }
- ]
- },
- {
- "domain": "Page",
- "description": "Actions and events related to the inspected page belong to the page domain.",
- "dependencies": [
- "Debugger",
- "DOM",
- "IO",
- "Network",
- "Runtime"
- ],
- "types": [
+ "name": "disable",
+ "description": "Disables page domain notifications."
+ },
{
- "id": "FrameId",
- "description": "Unique frame identifier.",
- "type": "string"
+ "name": "enable",
+ "description": "Enables page domain notifications."
},
{
- "id": "Frame",
- "description": "Information about the Frame on the page.",
- "type": "object",
- "properties": [
- {
- "name": "id",
- "description": "Frame unique identifier.",
- "type": "string"
- },
+ "name": "getAppManifest",
+ "returns": [
{
- "name": "parentId",
- "description": "Parent frame identifier.",
- "optional": true,
+ "name": "url",
+ "description": "Manifest location.",
"type": "string"
},
{
- "name": "loaderId",
- "description": "Identifier of the loader associated with this frame.",
- "$ref": "Network.LoaderId"
+ "name": "errors",
+ "type": "array",
+ "items": {
+ "$ref": "AppManifestError"
+ }
},
{
- "name": "name",
- "description": "Frame's name as specified in the tag.",
+ "name": "data",
+ "description": "Manifest content.",
"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 '#'.",
+ "name": "parsed",
+ "description": "Parsed manifest properties",
"experimental": true,
"optional": true,
- "type": "string"
- },
+ "$ref": "AppManifestParsedProperties"
+ }
+ ]
+ },
+ {
+ "name": "getInstallabilityErrors",
+ "experimental": true,
+ "returns": [
{
- "name": "securityOrigin",
- "description": "Frame document's security origin.",
+ "name": "installabilityErrors",
+ "type": "array",
+ "items": {
+ "$ref": "InstallabilityError"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getManifestIcons",
+ "experimental": true,
+ "returns": [
+ {
+ "name": "primaryIcon",
+ "optional": true,
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "name": "getAppId",
+ "description": "Returns the unique (PWA) app id.\nOnly returns values if the feature flag 'WebAppEnableManifestId' is enabled",
+ "experimental": true,
+ "returns": [
{
- "name": "mimeType",
- "description": "Frame document's mimeType as determined by the browser.",
+ "name": "appId",
+ "description": "App id, either from manifest's id attribute or computed from start_url",
+ "optional": true,
"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,
+ "name": "recommendedId",
+ "description": "Recommendation for manifest's id attribute to match current id computed from start_url",
"optional": true,
"type": "string"
}
]
},
{
- "id": "FrameResource",
- "description": "Information about the Resource on the page.",
+ "name": "getCookies",
+ "description": "Returns all browser cookies. Depending on the backend support, will return detailed cookie\ninformation in the `cookies` field.",
"experimental": true,
- "type": "object",
- "properties": [
+ "deprecated": true,
+ "redirect": "Network",
+ "returns": [
{
- "name": "url",
- "description": "Resource URL.",
- "type": "string"
- },
+ "name": "cookies",
+ "description": "Array of cookie objects.",
+ "type": "array",
+ "items": {
+ "$ref": "Network.Cookie"
+ }
+ }
+ ]
+ },
+ {
+ "name": "getFrameTree",
+ "description": "Returns present frame tree structure.",
+ "returns": [
{
- "name": "type",
- "description": "Type of this resource.",
- "$ref": "Network.ResourceType"
- },
+ "name": "frameTree",
+ "description": "Present frame tree structure.",
+ "$ref": "FrameTree"
+ }
+ ]
+ },
+ {
+ "name": "getLayoutMetrics",
+ "description": "Returns metrics relating to the layouting of the page, such as viewport bounds/scale.",
+ "returns": [
{
- "name": "mimeType",
- "description": "Resource mimeType as determined by the browser.",
- "type": "string"
+ "name": "layoutViewport",
+ "description": "Deprecated metrics relating to the layout viewport. Can be in DP or in CSS pixels depending on the `enable-use-zoom-for-dsf` flag. Use `cssLayoutViewport` instead.",
+ "deprecated": true,
+ "$ref": "LayoutViewport"
},
{
- "name": "lastModified",
- "description": "last-modified timestamp as reported by server.",
- "optional": true,
- "$ref": "Network.TimeSinceEpoch"
+ "name": "visualViewport",
+ "description": "Deprecated metrics relating to the visual viewport. Can be in DP or in CSS pixels depending on the `enable-use-zoom-for-dsf` flag. Use `cssVisualViewport` instead.",
+ "deprecated": true,
+ "$ref": "VisualViewport"
},
{
"name": "contentSize",
- "description": "Resource content size.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "failed",
- "description": "True if the resource failed to load.",
- "optional": true,
- "type": "boolean"
+ "description": "Deprecated size of scrollable area. Can be in DP or in CSS pixels depending on the `enable-use-zoom-for-dsf` flag. Use `cssContentSize` instead.",
+ "deprecated": true,
+ "$ref": "DOM.Rect"
},
{
- "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": "cssLayoutViewport",
+ "description": "Metrics relating to the layout viewport in CSS pixels.",
+ "$ref": "LayoutViewport"
},
{
- "name": "childFrames",
- "description": "Child frames.",
- "optional": true,
- "type": "array",
- "items": {
- "$ref": "FrameResourceTree"
- }
+ "name": "cssVisualViewport",
+ "description": "Metrics relating to the visual viewport in CSS pixels.",
+ "$ref": "VisualViewport"
},
{
- "name": "resources",
- "description": "Information about frame resources.",
- "type": "array",
- "items": {
- "$ref": "FrameResource"
- }
+ "name": "cssContentSize",
+ "description": "Size of scrollable area in CSS pixels.",
+ "$ref": "DOM.Rect"
}
]
},
{
- "id": "FrameTree",
- "description": "Information about the Frame hierarchy.",
- "type": "object",
- "properties": [
+ "name": "getNavigationHistory",
+ "description": "Returns navigation history for the current page.",
+ "returns": [
{
- "name": "frame",
- "description": "Frame information for this tree item.",
- "$ref": "Frame"
+ "name": "currentIndex",
+ "description": "Index of the current navigation history entry.",
+ "type": "integer"
},
{
- "name": "childFrames",
- "description": "Child frames.",
- "optional": true,
+ "name": "entries",
+ "description": "Array of navigation history entries.",
"type": "array",
"items": {
- "$ref": "FrameTree"
+ "$ref": "NavigationEntry"
}
}
]
},
{
- "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"
- ]
+ "name": "resetNavigationHistory",
+ "description": "Resets navigation history for the current page."
},
{
- "id": "NavigationEntry",
- "description": "Navigation history entry.",
- "type": "object",
- "properties": [
+ "name": "getResourceContent",
+ "description": "Returns content of the given resource.",
+ "experimental": true,
+ "parameters": [
{
- "name": "id",
- "description": "Unique id of the navigation history entry.",
- "type": "integer"
+ "name": "frameId",
+ "description": "Frame id to get resource for.",
+ "$ref": "FrameId"
},
{
"name": "url",
- "description": "URL of the navigation history entry.",
+ "description": "URL of the resource to get content for.",
"type": "string"
- },
+ }
+ ],
+ "returns": [
{
- "name": "userTypedURL",
- "description": "URL that the user typed in the url bar.",
+ "name": "content",
+ "description": "Resource content.",
"type": "string"
},
{
- "name": "title",
- "description": "Title of the navigation history entry.",
- "type": "string"
+ "name": "base64Encoded",
+ "description": "True, if content was served as base64.",
+ "type": "boolean"
+ }
+ ]
+ },
+ {
+ "name": "getResourceTree",
+ "description": "Returns present frame / resource tree structure.",
+ "experimental": true,
+ "returns": [
+ {
+ "name": "frameTree",
+ "description": "Present frame / resource tree structure.",
+ "$ref": "FrameResourceTree"
+ }
+ ]
+ },
+ {
+ "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": "transitionType",
- "description": "Transition type.",
- "$ref": "TransitionType"
+ "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"
}
]
},
{
- "id": "ScreencastFrameMetadata",
- "description": "Screencast frame metadata.",
- "experimental": true,
- "type": "object",
- "properties": [
+ "name": "navigate",
+ "description": "Navigates current page to the given URL.",
+ "parameters": [
{
- "name": "offsetTop",
- "description": "Top offset in DIP.",
- "type": "number"
+ "name": "url",
+ "description": "URL to navigate the page to.",
+ "type": "string"
+ },
+ {
+ "name": "referrer",
+ "description": "Referrer URL.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "pageScaleFactor",
- "description": "Page scale factor.",
- "type": "number"
+ "name": "transitionType",
+ "description": "Intended transition type.",
+ "optional": true,
+ "$ref": "TransitionType"
},
{
- "name": "deviceWidth",
- "description": "Device screen width in DIP.",
- "type": "number"
+ "name": "frameId",
+ "description": "Frame id to navigate, if not specified navigates the top frame.",
+ "optional": true,
+ "$ref": "FrameId"
},
{
- "name": "deviceHeight",
- "description": "Device screen height in DIP.",
- "type": "number"
- },
+ "name": "referrerPolicy",
+ "description": "Referrer-policy used for the navigation.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "ReferrerPolicy"
+ }
+ ],
+ "returns": [
{
- "name": "scrollOffsetX",
- "description": "Position of horizontal scroll in CSS pixels.",
- "type": "number"
+ "name": "frameId",
+ "description": "Frame id that has navigated (or failed to navigate)",
+ "$ref": "FrameId"
},
{
- "name": "scrollOffsetY",
- "description": "Position of vertical scroll in CSS pixels.",
- "type": "number"
+ "name": "loaderId",
+ "description": "Loader identifier.",
+ "optional": true,
+ "$ref": "Network.LoaderId"
},
{
- "name": "timestamp",
- "description": "Frame swap timestamp.",
+ "name": "errorText",
+ "description": "User friendly error message, present if and only if navigation has failed.",
"optional": true,
- "$ref": "Network.TimeSinceEpoch"
+ "type": "string"
}
]
},
{
- "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 criticial, this is a non-recoverable parse error.",
- "type": "integer"
- },
- {
- "name": "line",
- "description": "Error line.",
- "type": "integer"
- },
+ "name": "navigateToHistoryEntry",
+ "description": "Navigates current page to the given history entry.",
+ "parameters": [
{
- "name": "column",
- "description": "Error column.",
+ "name": "entryId",
+ "description": "Unique id of the entry to navigate to.",
"type": "integer"
}
]
},
{
- "id": "LayoutViewport",
- "description": "Layout viewport position and dimensions.",
- "type": "object",
- "properties": [
+ "name": "printToPDF",
+ "description": "Print page as PDF.",
+ "parameters": [
{
- "name": "pageX",
- "description": "Horizontal offset relative to the document (CSS pixels).",
- "type": "integer"
+ "name": "landscape",
+ "description": "Paper orientation. Defaults to false.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "pageY",
- "description": "Vertical offset relative to the document (CSS pixels).",
- "type": "integer"
+ "name": "displayHeaderFooter",
+ "description": "Display header and footer. Defaults to false.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "clientWidth",
- "description": "Width (CSS pixels), excludes scrollbar if present.",
- "type": "integer"
+ "name": "printBackground",
+ "description": "Print background graphics. Defaults to false.",
+ "optional": true,
+ "type": "boolean"
},
{
- "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).",
+ "name": "scale",
+ "description": "Scale of the webpage rendering. Defaults to 1.",
+ "optional": true,
"type": "number"
},
{
- "name": "offsetY",
- "description": "Vertical offset relative to the layout viewport (CSS pixels).",
+ "name": "paperWidth",
+ "description": "Paper width in inches. Defaults to 8.5 inches.",
+ "optional": true,
"type": "number"
},
{
- "name": "pageX",
- "description": "Horizontal offset relative to the document (CSS pixels).",
+ "name": "paperHeight",
+ "description": "Paper height in inches. Defaults to 11 inches.",
+ "optional": true,
"type": "number"
},
{
- "name": "pageY",
- "description": "Vertical offset relative to the document (CSS pixels).",
+ "name": "marginTop",
+ "description": "Top margin in inches. Defaults to 1cm (~0.4 inches).",
+ "optional": true,
"type": "number"
},
{
- "name": "clientWidth",
- "description": "Width (CSS pixels), excludes scrollbar if present.",
+ "name": "marginBottom",
+ "description": "Bottom margin in inches. Defaults to 1cm (~0.4 inches).",
+ "optional": true,
"type": "number"
},
{
- "name": "clientHeight",
- "description": "Height (CSS pixels), excludes scrollbar if present.",
+ "name": "marginLeft",
+ "description": "Left margin in inches. Defaults to 1cm (~0.4 inches).",
+ "optional": true,
"type": "number"
},
{
- "name": "scale",
- "description": "Scale relative to the ideal viewport (size at width=device-width).",
+ "name": "marginRight",
+ "description": "Right margin in inches. Defaults to 1cm (~0.4 inches).",
+ "optional": true,
"type": "number"
},
{
- "name": "zoom",
- "description": "Page zoom factor (CSS to device independent pixels ratio).",
+ "name": "pageRanges",
+ "description": "Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means\nprint all pages.",
"optional": true,
- "type": "number"
- }
- ]
- },
- {
- "id": "Viewport",
- "description": "Viewport for capturing screenshot.",
- "type": "object",
- "properties": [
+ "type": "string"
+ },
{
- "name": "x",
- "description": "X offset in device independent pixels (dip).",
- "type": "number"
+ "name": "ignoreInvalidPageRanges",
+ "description": "Whether to silently ignore invalid but successfully parsed page ranges, such as '3-2'.\nDefaults to false.",
+ "optional": true,
+ "type": "boolean"
},
{
- "name": "y",
- "description": "Y offset in device independent pixels (dip).",
- "type": "number"
+ "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": "width",
- "description": "Rectangle width in device independent pixels (dip).",
- "type": "number"
+ "name": "footerTemplate",
+ "description": "HTML template for the print footer. Should use the same format as the `headerTemplate`.",
+ "optional": true,
+ "type": "string"
},
{
- "name": "height",
- "description": "Rectangle height in device independent pixels (dip).",
- "type": "number"
+ "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"
+ ]
+ }
+ ],
+ "returns": [
+ {
+ "name": "data",
+ "description": "Base64-encoded pdf data. Empty if |returnAsStream| is specified. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
+ },
+ {
+ "name": "stream",
+ "description": "A handle of the stream that holds resulting PDF data.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "IO.StreamHandle"
+ }
+ ]
+ },
+ {
+ "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": "scale",
- "description": "Page scale factor.",
- "type": "number"
+ "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": "removeScriptToEvaluateOnLoad",
+ "description": "Deprecated, please use removeScriptToEvaluateOnNewDocument instead.",
+ "experimental": true,
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "ScriptIdentifier"
+ }
+ ]
+ },
+ {
+ "name": "removeScriptToEvaluateOnNewDocument",
+ "description": "Removes given script from the list.",
+ "parameters": [
+ {
+ "name": "identifier",
+ "$ref": "ScriptIdentifier"
}
]
},
{
- "id": "FontFamilies",
- "description": "Generic font families collection.",
+ "name": "screencastFrameAck",
+ "description": "Acknowledges that a screencast frame has been received by the frontend.",
"experimental": true,
- "type": "object",
- "properties": [
+ "parameters": [
{
- "name": "standard",
- "description": "The standard font-family.",
- "optional": true,
- "type": "string"
- },
+ "name": "sessionId",
+ "description": "Frame number.",
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "name": "searchInResource",
+ "description": "Searches for given string in resource content.",
+ "experimental": true,
+ "parameters": [
{
- "name": "fixed",
- "description": "The fixed font-family.",
- "optional": true,
- "type": "string"
+ "name": "frameId",
+ "description": "Frame id for resource to search in.",
+ "$ref": "FrameId"
},
{
- "name": "serif",
- "description": "The serif font-family.",
- "optional": true,
+ "name": "url",
+ "description": "URL of the resource to search in.",
"type": "string"
},
{
- "name": "sansSerif",
- "description": "The sansSerif font-family.",
- "optional": true,
+ "name": "query",
+ "description": "String to search for.",
"type": "string"
},
{
- "name": "cursive",
- "description": "The cursive font-family.",
+ "name": "caseSensitive",
+ "description": "If true, search is case sensitive.",
"optional": true,
- "type": "string"
+ "type": "boolean"
},
{
- "name": "fantasy",
- "description": "The fantasy font-family.",
+ "name": "isRegex",
+ "description": "If true, treats string parameter as regex.",
"optional": true,
- "type": "string"
- },
+ "type": "boolean"
+ }
+ ],
+ "returns": [
{
- "name": "pictograph",
- "description": "The pictograph font-family.",
- "optional": true,
- "type": "string"
+ "name": "result",
+ "description": "List of search matches.",
+ "type": "array",
+ "items": {
+ "$ref": "Debugger.SearchMatch"
+ }
}
]
},
{
- "id": "FontSizes",
- "description": "Default font sizes.",
+ "name": "setAdBlockingEnabled",
+ "description": "Enable Chrome's experimental ad filter on all sites.",
"experimental": true,
- "type": "object",
- "properties": [
- {
- "name": "standard",
- "description": "Default standard font size.",
- "optional": true,
- "type": "integer"
- },
+ "parameters": [
{
- "name": "fixed",
- "description": "Default fixed font size.",
- "optional": true,
- "type": "integer"
+ "name": "enabled",
+ "description": "Whether to block ads.",
+ "type": "boolean"
}
]
},
{
- "id": "ClientNavigationReason",
+ "name": "setBypassCSP",
+ "description": "Enable page Content Security Policy by-passing.",
"experimental": true,
- "type": "string",
- "enum": [
- "formSubmissionGet",
- "formSubmissionPost",
- "httpHeaderRefresh",
- "scriptInitiated",
- "metaTagRefresh",
- "pageBlockInterstitial",
- "reload"
+ "parameters": [
+ {
+ "name": "enabled",
+ "description": "Whether to bypass page CSP.",
+ "type": "boolean"
+ }
]
- }
- ],
- "commands": [
+ },
{
- "name": "addScriptToEvaluateOnLoad",
- "description": "Deprecated, please use addScriptToEvaluateOnNewDocument instead.",
+ "name": "getPermissionsPolicyState",
+ "description": "Get Permissions Policy state on given frame.",
"experimental": true,
- "deprecated": true,
"parameters": [
{
- "name": "scriptSource",
- "type": "string"
+ "name": "frameId",
+ "$ref": "FrameId"
}
],
"returns": [
{
- "name": "identifier",
- "description": "Identifier of the added script.",
- "$ref": "ScriptIdentifier"
+ "name": "states",
+ "type": "array",
+ "items": {
+ "$ref": "PermissionsPolicyFeatureState"
+ }
}
]
},
{
- "name": "addScriptToEvaluateOnNewDocument",
- "description": "Evaluates given script in every frame upon creation (before loading frame's scripts).",
+ "name": "getOriginTrials",
+ "description": "Get Origin Trials on given frame.",
+ "experimental": true,
"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": "frameId",
+ "$ref": "FrameId"
}
],
"returns": [
{
- "name": "identifier",
- "description": "Identifier of the added script.",
- "$ref": "ScriptIdentifier"
+ "name": "originTrials",
+ "type": "array",
+ "items": {
+ "$ref": "OriginTrial"
+ }
}
]
},
{
- "name": "bringToFront",
- "description": "Brings page to front (activates tab)."
- },
- {
- "name": "captureScreenshot",
- "description": "Capture page screenshot.",
+ "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).",
+ "experimental": true,
+ "deprecated": true,
+ "redirect": "Emulation",
"parameters": [
{
- "name": "format",
- "description": "Image compression format (defaults to png).",
+ "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.",
"optional": true,
- "type": "string",
- "enum": [
- "jpeg",
- "png"
- ]
+ "type": "number"
},
{
- "name": "quality",
- "description": "Compression quality from range [0..100] (jpeg only).",
+ "name": "screenWidth",
+ "description": "Overriding screen width value in pixels (minimum 0, maximum 10000000).",
"optional": true,
"type": "integer"
},
{
- "name": "clip",
- "description": "Capture the screenshot of a given region only.",
+ "name": "screenHeight",
+ "description": "Overriding screen height value in pixels (minimum 0, maximum 10000000).",
"optional": true,
- "$ref": "Viewport"
+ "type": "integer"
},
{
- "name": "fromSurface",
- "description": "Capture the screenshot from the surface, rather than the view. Defaults to true.",
- "experimental": true,
+ "name": "positionX",
+ "description": "Overriding view X position on screen in pixels (minimum 0, maximum 10000000).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "positionY",
+ "description": "Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "dontSetVisibleSize",
+ "description": "Do not set visible view size, rely upon explicit setVisibleSize call.",
"optional": true,
"type": "boolean"
- }
- ],
- "returns": [
+ },
{
- "name": "data",
- "description": "Base64-encoded image data.",
- "type": "string"
+ "name": "screenOrientation",
+ "description": "Screen orientation override.",
+ "optional": true,
+ "$ref": "Emulation.ScreenOrientation"
+ },
+ {
+ "name": "viewport",
+ "description": "The viewport dimensions and scale. If not set, the override is cleared.",
+ "optional": true,
+ "$ref": "Viewport"
}
]
},
{
- "name": "captureSnapshot",
- "description": "Returns a snapshot of the page as a string. For MHTML format, the serialization includes\niframes, shadow DOM, external resources, and element-inline styles.",
+ "name": "setDeviceOrientationOverride",
+ "description": "Overrides the Device Orientation.",
"experimental": true,
+ "deprecated": true,
+ "redirect": "DeviceOrientation",
"parameters": [
{
- "name": "format",
- "description": "Format (defaults to mhtml).",
- "optional": true,
- "type": "string",
- "enum": [
- "mhtml"
- ]
- }
- ],
- "returns": [
+ "name": "alpha",
+ "description": "Mock alpha",
+ "type": "number"
+ },
+ {
+ "name": "beta",
+ "description": "Mock beta",
+ "type": "number"
+ },
{
- "name": "data",
- "description": "Serialized page data.",
- "type": "string"
+ "name": "gamma",
+ "description": "Mock gamma",
+ "type": "number"
}
]
},
{
- "name": "clearDeviceMetricsOverride",
- "description": "Clears the overriden device metrics.",
+ "name": "setFontFamilies",
+ "description": "Set generic font families.",
"experimental": true,
- "deprecated": true,
- "redirect": "Emulation"
+ "parameters": [
+ {
+ "name": "fontFamilies",
+ "description": "Specifies font families to set. If a font family is not specified, it won't be changed.",
+ "$ref": "FontFamilies"
+ }
+ ]
},
{
- "name": "clearDeviceOrientationOverride",
- "description": "Clears the overridden Device Orientation.",
+ "name": "setFontSizes",
+ "description": "Set default font sizes.",
"experimental": true,
- "deprecated": true,
- "redirect": "DeviceOrientation"
- },
- {
- "name": "clearGeolocationOverride",
- "description": "Clears the overriden Geolocation Position and Error.",
- "deprecated": true,
- "redirect": "Emulation"
+ "parameters": [
+ {
+ "name": "fontSizes",
+ "description": "Specifies font sizes to set. If a font size is not specified, it won't be changed.",
+ "$ref": "FontSizes"
+ }
+ ]
},
{
- "name": "createIsolatedWorld",
- "description": "Creates an isolated world for the given frame.",
+ "name": "setDocumentContent",
+ "description": "Sets given markup as the document's HTML.",
"parameters": [
{
"name": "frameId",
- "description": "Id of the frame in which the isolated world should be created.",
+ "description": "Frame id to set HTML for.",
"$ref": "FrameId"
},
{
- "name": "worldName",
- "description": "An optional name which is reported in the Execution Context.",
- "optional": true,
+ "name": "html",
+ "description": "HTML content to set.",
"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": "deleteCookie",
- "description": "Deletes browser cookie with given name, domain and path.",
+ "name": "setDownloadBehavior",
+ "description": "Set the behavior when downloading a file.",
"experimental": true,
"deprecated": true,
- "redirect": "Network",
"parameters": [
{
- "name": "cookieName",
- "description": "Name of the cookie to remove.",
- "type": "string"
+ "name": "behavior",
+ "description": "Whether to allow all or deny all download requests, or use default Chrome behavior if\navailable (otherwise deny).",
+ "type": "string",
+ "enum": [
+ "deny",
+ "allow",
+ "default"
+ ]
},
{
- "name": "url",
- "description": "URL to match cooke domain and path.",
+ "name": "downloadPath",
+ "description": "The default path to save downloaded files to. This is required if behavior is set to 'allow'",
+ "optional": true,
"type": "string"
}
]
},
{
- "name": "disable",
- "description": "Disables page domain notifications."
- },
- {
- "name": "enable",
- "description": "Enables page domain notifications."
- },
- {
- "name": "getAppManifest",
- "returns": [
+ "name": "setGeolocationOverride",
+ "description": "Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position\nunavailable.",
+ "deprecated": true,
+ "redirect": "Emulation",
+ "parameters": [
{
- "name": "url",
- "description": "Manifest location.",
- "type": "string"
+ "name": "latitude",
+ "description": "Mock latitude",
+ "optional": true,
+ "type": "number"
},
{
- "name": "errors",
- "type": "array",
- "items": {
- "$ref": "AppManifestError"
- }
+ "name": "longitude",
+ "description": "Mock longitude",
+ "optional": true,
+ "type": "number"
},
{
- "name": "data",
- "description": "Manifest content.",
+ "name": "accuracy",
+ "description": "Mock accuracy",
"optional": true,
- "type": "string"
+ "type": "number"
}
]
},
{
- "name": "getInstallabilityErrors",
+ "name": "setLifecycleEventsEnabled",
+ "description": "Controls whether page will emit lifecycle events.",
"experimental": true,
- "returns": [
+ "parameters": [
{
- "name": "errors",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "enabled",
+ "description": "If true, starts emitting lifecycle events.",
+ "type": "boolean"
}
]
},
{
- "name": "getCookies",
- "description": "Returns all browser cookies. Depending on the backend support, will return detailed cookie\ninformation in the `cookies` field.",
+ "name": "setTouchEmulationEnabled",
+ "description": "Toggles mouse event-based touch event emulation.",
"experimental": true,
"deprecated": true,
- "redirect": "Network",
- "returns": [
+ "redirect": "Emulation",
+ "parameters": [
{
- "name": "cookies",
- "description": "Array of cookie objects.",
- "type": "array",
- "items": {
- "$ref": "Network.Cookie"
- }
- }
- ]
- },
- {
- "name": "getFrameTree",
- "description": "Returns present frame tree structure.",
- "returns": [
+ "name": "enabled",
+ "description": "Whether the touch event emulation should be enabled.",
+ "type": "boolean"
+ },
{
- "name": "frameTree",
- "description": "Present frame tree structure.",
- "$ref": "FrameTree"
+ "name": "configuration",
+ "description": "Touch/gesture events configuration. Default: current platform.",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "mobile",
+ "desktop"
+ ]
}
]
},
{
- "name": "getLayoutMetrics",
- "description": "Returns metrics relating to the layouting of the page, such as viewport bounds/scale.",
- "returns": [
+ "name": "startScreencast",
+ "description": "Starts sending each frame using the `screencastFrame` event.",
+ "experimental": true,
+ "parameters": [
{
- "name": "layoutViewport",
- "description": "Metrics relating to the layout viewport.",
- "$ref": "LayoutViewport"
+ "name": "format",
+ "description": "Image compression format.",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "jpeg",
+ "png"
+ ]
},
{
- "name": "visualViewport",
- "description": "Metrics relating to the visual viewport.",
- "$ref": "VisualViewport"
+ "name": "quality",
+ "description": "Compression quality from range [0..100].",
+ "optional": true,
+ "type": "integer"
},
{
- "name": "contentSize",
- "description": "Size of scrollable area.",
- "$ref": "DOM.Rect"
+ "name": "maxWidth",
+ "description": "Maximum screenshot width.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "maxHeight",
+ "description": "Maximum screenshot height.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "everyNthFrame",
+ "description": "Send every n-th frame.",
+ "optional": true,
+ "type": "integer"
}
]
},
{
- "name": "getNavigationHistory",
- "description": "Returns navigation history for the current page.",
- "returns": [
- {
- "name": "currentIndex",
- "description": "Index of the current navigation history entry.",
- "type": "integer"
- },
+ "name": "stopLoading",
+ "description": "Force the page stop all navigations and pending resource fetches."
+ },
+ {
+ "name": "crash",
+ "description": "Crashes renderer on the IO thread, generates minidumps.",
+ "experimental": true
+ },
+ {
+ "name": "close",
+ "description": "Tries to close page, running its beforeunload hooks, if any.",
+ "experimental": true
+ },
+ {
+ "name": "setWebLifecycleState",
+ "description": "Tries to update the web lifecycle state of the page.\nIt will transition the page to the given state according to:\nhttps://github.com/WICG/web-lifecycle/",
+ "experimental": true,
+ "parameters": [
{
- "name": "entries",
- "description": "Array of navigation history entries.",
+ "name": "state",
+ "description": "Target lifecycle state",
+ "type": "string",
+ "enum": [
+ "frozen",
+ "active"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "stopScreencast",
+ "description": "Stops sending each frame in the `screencastFrame`.",
+ "experimental": true
+ },
+ {
+ "name": "produceCompilationCache",
+ "description": "Requests backend to produce compilation cache for the specified scripts.\n`scripts` are appeneded to the list of scripts for which the cache\nwould be produced. The list may be reset during page navigation.\nWhen script with a matching URL is encountered, the cache is optionally\nproduced upon backend discretion, based on internal heuristics.\nSee also: `Page.compilationCacheProduced`.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "scripts",
"type": "array",
"items": {
- "$ref": "NavigationEntry"
+ "$ref": "CompilationCacheParams"
}
}
]
},
{
- "name": "resetNavigationHistory",
- "description": "Resets navigation history for the current page."
- },
- {
- "name": "getResourceContent",
- "description": "Returns content of the given resource.",
+ "name": "addCompilationCache",
+ "description": "Seeds compilation cache for given url. Compilation cache does not survive\ncross-process navigation.",
"experimental": true,
"parameters": [
- {
- "name": "frameId",
- "description": "Frame id to get resource for.",
- "$ref": "FrameId"
- },
{
"name": "url",
- "description": "URL of the resource to get content for.",
- "type": "string"
- }
- ],
- "returns": [
- {
- "name": "content",
- "description": "Resource content.",
"type": "string"
},
{
- "name": "base64Encoded",
- "description": "True, if content was served as base64.",
- "type": "boolean"
+ "name": "data",
+ "description": "Base64-encoded data (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
}
]
},
{
- "name": "getResourceTree",
- "description": "Returns present frame / resource tree structure.",
+ "name": "clearCompilationCache",
+ "description": "Clears seeded compilation cache.",
+ "experimental": true
+ },
+ {
+ "name": "setSPCTransactionMode",
+ "description": "Sets the Secure Payment Confirmation transaction mode.\nhttps://w3c.github.io/secure-payment-confirmation/#sctn-automation-set-spc-transaction-mode",
"experimental": true,
- "returns": [
+ "parameters": [
{
- "name": "frameTree",
- "description": "Present frame / resource tree structure.",
- "$ref": "FrameResourceTree"
+ "name": "mode",
+ "type": "string",
+ "enum": [
+ "none",
+ "autoaccept",
+ "autoreject"
+ ]
}
]
},
{
- "name": "handleJavaScriptDialog",
- "description": "Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).",
+ "name": "generateTestReport",
+ "description": "Generates a report for testing.",
+ "experimental": true,
"parameters": [
{
- "name": "accept",
- "description": "Whether to accept or dismiss the dialog.",
- "type": "boolean"
+ "name": "message",
+ "description": "Message to be displayed in the report.",
+ "type": "string"
},
{
- "name": "promptText",
- "description": "The text to enter into the dialog prompt before accepting. Used only if this is a prompt\ndialog.",
+ "name": "group",
+ "description": "Specifies the endpoint group to deliver the report to.",
"optional": true,
"type": "string"
}
]
},
{
- "name": "navigate",
- "description": "Navigates current page to the given URL.",
+ "name": "waitForDebugger",
+ "description": "Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger.",
+ "experimental": true
+ },
+ {
+ "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.",
+ "experimental": true,
"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"
- }
- ],
- "returns": [
- {
- "name": "frameId",
- "description": "Frame id that has navigated (or failed to navigate)",
- "$ref": "FrameId"
- },
- {
- "name": "loaderId",
- "description": "Loader identifier.",
- "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": "enabled",
+ "type": "boolean"
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "navigateToHistoryEntry",
- "description": "Navigates current page to the given history entry.",
+ "name": "domContentEventFired",
"parameters": [
{
- "name": "entryId",
- "description": "Unique id of the entry to navigate to.",
- "type": "integer"
+ "name": "timestamp",
+ "$ref": "Network.MonotonicTime"
}
]
},
{
- "name": "printToPDF",
- "description": "Print page as PDF.",
+ "name": "fileChooserOpened",
+ "description": "Emitted only when `page.interceptFileChooser` is enabled.",
"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, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means\nprint all pages.",
- "optional": true,
- "type": "string"
- },
- {
- "name": "ignoreInvalidPageRanges",
- "description": "Whether to silently ignore invalid but successfully parsed page ranges, such as '3-2'.\nDefaults to false.",
- "optional": true,
- "type": "boolean"
- },
- {
- "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": "frameId",
+ "description": "Id of the frame containing input node.",
+ "experimental": true,
+ "$ref": "FrameId"
},
{
- "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": "backendNodeId",
+ "description": "Input node id.",
+ "experimental": true,
+ "$ref": "DOM.BackendNodeId"
},
{
- "name": "transferMode",
- "description": "return as stream",
- "experimental": true,
- "optional": true,
+ "name": "mode",
+ "description": "Input mode.",
"type": "string",
"enum": [
- "ReturnAsBase64",
- "ReturnAsStream"
+ "selectSingle",
+ "selectMultiple"
]
}
- ],
- "returns": [
- {
- "name": "data",
- "description": "Base64-encoded pdf data. Empty if |returnAsStream| is specified.",
- "type": "string"
- },
- {
- "name": "stream",
- "description": "A handle of the stream that holds resulting PDF data.",
- "experimental": true,
- "optional": true,
- "$ref": "IO.StreamHandle"
- }
]
},
{
- "name": "reload",
- "description": "Reloads given page optionally ignoring the cache.",
+ "name": "frameAttached",
+ "description": "Fired when frame has been attached to its parent.",
"parameters": [
{
- "name": "ignoreCache",
- "description": "If true, browser cache is ignored (as if the user pressed Shift+refresh).",
- "optional": true,
- "type": "boolean"
+ "name": "frameId",
+ "description": "Id of the frame that has been attached.",
+ "$ref": "FrameId"
+ },
+ {
+ "name": "parentFrameId",
+ "description": "Parent frame identifier.",
+ "$ref": "FrameId"
},
{
- "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.",
+ "name": "stack",
+ "description": "JavaScript stack trace of when frame was attached, only set if frame initiated from script.",
"optional": true,
- "type": "string"
+ "$ref": "Runtime.StackTrace"
}
]
},
{
- "name": "removeScriptToEvaluateOnLoad",
- "description": "Deprecated, please use removeScriptToEvaluateOnNewDocument instead.",
- "experimental": true,
+ "name": "frameClearedScheduledNavigation",
+ "description": "Fired when frame no longer has a scheduled navigation.",
"deprecated": true,
"parameters": [
{
- "name": "identifier",
- "$ref": "ScriptIdentifier"
+ "name": "frameId",
+ "description": "Id of the frame that has cleared its scheduled navigation.",
+ "$ref": "FrameId"
}
]
},
{
- "name": "removeScriptToEvaluateOnNewDocument",
- "description": "Removes given script from the list.",
+ "name": "frameDetached",
+ "description": "Fired when frame has been detached from its parent.",
"parameters": [
{
- "name": "identifier",
- "$ref": "ScriptIdentifier"
+ "name": "frameId",
+ "description": "Id of the frame that has been detached.",
+ "$ref": "FrameId"
+ },
+ {
+ "name": "reason",
+ "experimental": true,
+ "type": "string",
+ "enum": [
+ "remove",
+ "swap"
+ ]
}
]
},
{
- "name": "screencastFrameAck",
- "description": "Acknowledges that a screencast frame has been received by the frontend.",
+ "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": "sessionId",
- "description": "Frame number.",
- "type": "integer"
+ "name": "frame",
+ "description": "Frame object.",
+ "$ref": "Frame"
}
]
},
{
- "name": "searchInResource",
- "description": "Searches for given string in resource content.",
+ "name": "frameResized",
+ "experimental": true
+ },
+ {
+ "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": "Frame id for resource to search in.",
+ "description": "Id of the frame that is being navigated.",
"$ref": "FrameId"
},
+ {
+ "name": "reason",
+ "description": "The reason for the navigation.",
+ "$ref": "ClientNavigationReason"
+ },
{
"name": "url",
- "description": "URL of the resource to search in.",
+ "description": "The destination URL for the requested navigation.",
"type": "string"
},
{
- "name": "query",
- "description": "String to search for.",
- "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": "caseSensitive",
- "description": "If true, search is case sensitive.",
- "optional": true,
- "type": "boolean"
+ "name": "delay",
+ "description": "Delay (in seconds) until the navigation is scheduled to begin. The navigation is not\nguaranteed to start.",
+ "type": "number"
},
{
- "name": "isRegex",
- "description": "If true, treats string parameter as regex.",
- "optional": true,
- "type": "boolean"
- }
- ],
- "returns": [
+ "name": "reason",
+ "description": "The reason for the navigation.",
+ "$ref": "ClientNavigationReason"
+ },
{
- "name": "result",
- "description": "List of search matches.",
- "type": "array",
- "items": {
- "$ref": "Debugger.SearchMatch"
- }
+ "name": "url",
+ "description": "The destination URL for the scheduled navigation.",
+ "type": "string"
}
]
},
{
- "name": "setAdBlockingEnabled",
- "description": "Enable Chrome's experimental ad filter on all sites.",
+ "name": "frameStartedLoading",
+ "description": "Fired when frame has started loading.",
"experimental": true,
"parameters": [
{
- "name": "enabled",
- "description": "Whether to block ads.",
- "type": "boolean"
+ "name": "frameId",
+ "description": "Id of the frame that has started loading.",
+ "$ref": "FrameId"
}
]
},
{
- "name": "setBypassCSP",
- "description": "Enable page Content Security Policy by-passing.",
+ "name": "frameStoppedLoading",
+ "description": "Fired when frame has stopped loading.",
"experimental": true,
"parameters": [
{
- "name": "enabled",
- "description": "Whether to bypass page CSP.",
- "type": "boolean"
+ "name": "frameId",
+ "description": "Id of the frame that has stopped loading.",
+ "$ref": "FrameId"
}
]
},
{
- "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).",
+ "name": "downloadWillBegin",
+ "description": "Fired when page is about to start a download.\nDeprecated. Use Browser.downloadWillBegin instead.",
"experimental": true,
"deprecated": true,
- "redirect": "Emulation",
"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.",
- "optional": true,
- "type": "number"
- },
- {
- "name": "screenWidth",
- "description": "Overriding screen width value in pixels (minimum 0, maximum 10000000).",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "screenHeight",
- "description": "Overriding screen height value in pixels (minimum 0, maximum 10000000).",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "positionX",
- "description": "Overriding view X position on screen in pixels (minimum 0, maximum 10000000).",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "positionY",
- "description": "Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).",
- "optional": true,
- "type": "integer"
+ "name": "frameId",
+ "description": "Id of the frame that caused download to begin.",
+ "$ref": "FrameId"
},
{
- "name": "dontSetVisibleSize",
- "description": "Do not set visible view size, rely upon explicit setVisibleSize call.",
- "optional": true,
- "type": "boolean"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "screenOrientation",
- "description": "Screen orientation override.",
- "optional": true,
- "$ref": "Emulation.ScreenOrientation"
+ "name": "url",
+ "description": "URL of the resource being downloaded.",
+ "type": "string"
},
{
- "name": "viewport",
- "description": "The viewport dimensions and scale. If not set, the override is cleared.",
- "optional": true,
- "$ref": "Viewport"
+ "name": "suggestedFilename",
+ "description": "Suggested file name of the resource (the actual name of the file saved on disk may differ).",
+ "type": "string"
}
]
},
{
- "name": "setDeviceOrientationOverride",
- "description": "Overrides the Device Orientation.",
+ "name": "downloadProgress",
+ "description": "Fired when download makes progress. Last call has |done| == true.\nDeprecated. Use Browser.downloadProgress instead.",
"experimental": true,
"deprecated": true,
- "redirect": "DeviceOrientation",
"parameters": [
{
- "name": "alpha",
- "description": "Mock alpha",
- "type": "number"
+ "name": "guid",
+ "description": "Global unique identifier of the download.",
+ "type": "string"
},
{
- "name": "beta",
- "description": "Mock beta",
+ "name": "totalBytes",
+ "description": "Total expected bytes to download.",
"type": "number"
},
{
- "name": "gamma",
- "description": "Mock gamma",
+ "name": "receivedBytes",
+ "description": "Total bytes received.",
"type": "number"
+ },
+ {
+ "name": "state",
+ "description": "Download status.",
+ "type": "string",
+ "enum": [
+ "inProgress",
+ "completed",
+ "canceled"
+ ]
}
]
},
{
- "name": "setFontFamilies",
- "description": "Set generic font families.",
- "experimental": true,
- "parameters": [
- {
- "name": "fontFamilies",
- "description": "Specifies font families to set. If a font family is not specified, it won't be changed.",
- "$ref": "FontFamilies"
- }
- ]
+ "name": "interstitialHidden",
+ "description": "Fired when interstitial page was hidden"
},
{
- "name": "setFontSizes",
- "description": "Set default font sizes.",
- "experimental": true,
+ "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": "fontSizes",
- "description": "Specifies font sizes to set. If a font size is not specified, it won't be changed.",
- "$ref": "FontSizes"
+ "name": "result",
+ "description": "Whether dialog was confirmed.",
+ "type": "boolean"
+ },
+ {
+ "name": "userInput",
+ "description": "User input in case of prompt.",
+ "type": "string"
}
]
},
{
- "name": "setDocumentContent",
- "description": "Sets given markup as the document's HTML.",
+ "name": "javascriptDialogOpening",
+ "description": "Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to\nopen.",
"parameters": [
{
- "name": "frameId",
- "description": "Frame id to set HTML for.",
- "$ref": "FrameId"
+ "name": "url",
+ "description": "Frame url.",
+ "type": "string"
},
{
- "name": "html",
- "description": "HTML content to set.",
+ "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": "setDownloadBehavior",
- "description": "Set the behavior when downloading a file.",
- "experimental": true,
+ "name": "lifecycleEvent",
+ "description": "Fired for top level page lifecycle events such as navigation, load, paint, etc.",
"parameters": [
{
- "name": "behavior",
- "description": "Whether to allow all or deny all download requests, or use default Chrome behavior if\navailable (otherwise deny).",
- "type": "string",
- "enum": [
- "deny",
- "allow",
- "default"
- ]
+ "name": "frameId",
+ "description": "Id of the frame.",
+ "$ref": "FrameId"
},
{
- "name": "downloadPath",
- "description": "The default path to save downloaded files to. This is requred if behavior is set to 'allow'",
- "optional": true,
+ "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": "setGeolocationOverride",
- "description": "Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position\nunavailable.",
- "deprecated": true,
- "redirect": "Emulation",
+ "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": "latitude",
- "description": "Mock latitude",
- "optional": true,
- "type": "number"
+ "name": "loaderId",
+ "description": "The loader id for the associated navgation.",
+ "$ref": "Network.LoaderId"
},
{
- "name": "longitude",
- "description": "Mock longitude",
- "optional": true,
- "type": "number"
+ "name": "frameId",
+ "description": "The frame id of the associated frame.",
+ "$ref": "FrameId"
},
{
- "name": "accuracy",
- "description": "Mock accuracy",
+ "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,
- "type": "number"
+ "$ref": "BackForwardCacheNotRestoredExplanationTree"
}
]
},
{
- "name": "setLifecycleEventsEnabled",
- "description": "Controls whether page will emit lifecycle events.",
- "experimental": true,
+ "name": "loadEventFired",
"parameters": [
{
- "name": "enabled",
- "description": "If true, starts emitting lifecycle events.",
- "type": "boolean"
+ "name": "timestamp",
+ "$ref": "Network.MonotonicTime"
}
]
},
{
- "name": "setTouchEmulationEnabled",
- "description": "Toggles mouse event-based touch event emulation.",
+ "name": "navigatedWithinDocument",
+ "description": "Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.",
"experimental": true,
- "deprecated": true,
- "redirect": "Emulation",
"parameters": [
{
- "name": "enabled",
- "description": "Whether the touch event emulation should be enabled.",
- "type": "boolean"
+ "name": "frameId",
+ "description": "Id of the frame.",
+ "$ref": "FrameId"
},
{
- "name": "configuration",
- "description": "Touch/gesture events configuration. Default: current platform.",
- "optional": true,
- "type": "string",
- "enum": [
- "mobile",
- "desktop"
- ]
+ "name": "url",
+ "description": "Frame's new url.",
+ "type": "string"
}
]
},
{
- "name": "startScreencast",
- "description": "Starts sending each frame using the `screencastFrame` event.",
+ "name": "screencastFrame",
+ "description": "Compressed image data requested by the `startScreencast`.",
"experimental": true,
"parameters": [
{
- "name": "format",
- "description": "Image compression format.",
- "optional": true,
- "type": "string",
- "enum": [
- "jpeg",
- "png"
- ]
- },
- {
- "name": "quality",
- "description": "Compression quality from range [0..100].",
- "optional": true,
- "type": "integer"
- },
- {
- "name": "maxWidth",
- "description": "Maximum screenshot width.",
- "optional": true,
- "type": "integer"
+ "name": "data",
+ "description": "Base64-encoded compressed image. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
},
{
- "name": "maxHeight",
- "description": "Maximum screenshot height.",
- "optional": true,
- "type": "integer"
+ "name": "metadata",
+ "description": "Screencast frame metadata.",
+ "$ref": "ScreencastFrameMetadata"
},
{
- "name": "everyNthFrame",
- "description": "Send every n-th frame.",
- "optional": true,
+ "name": "sessionId",
+ "description": "Frame number.",
"type": "integer"
}
]
},
{
- "name": "stopLoading",
- "description": "Force the page stop all navigations and pending resource fetches."
- },
- {
- "name": "crash",
- "description": "Crashes renderer on the IO thread, generates minidumps.",
- "experimental": true
- },
- {
- "name": "close",
- "description": "Tries to close page, running its beforeunload hooks, if any.",
- "experimental": true
- },
- {
- "name": "setWebLifecycleState",
- "description": "Tries to update the web lifecycle state of the page.\nIt will transition the page to the given state according to:\nhttps://github.com/WICG/web-lifecycle/",
+ "name": "screencastVisibilityChanged",
+ "description": "Fired when the page with currently enabled screencast was shown or hidden `.",
"experimental": true,
"parameters": [
{
- "name": "state",
- "description": "Target lifecycle state",
- "type": "string",
- "enum": [
- "frozen",
- "active"
- ]
+ "name": "visible",
+ "description": "True if the page is visible.",
+ "type": "boolean"
}
]
},
{
- "name": "stopScreencast",
- "description": "Stops sending each frame in the `screencastFrame`.",
- "experimental": true
- },
- {
- "name": "setProduceCompilationCache",
- "description": "Forces compilation cache to be generated for every subresource script.",
- "experimental": true,
+ "name": "windowOpen",
+ "description": "Fired when a new window is going to be opened, via window.open(), link click, form submission,\netc.",
"parameters": [
{
- "name": "enabled",
+ "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": "addCompilationCache",
- "description": "Seeds compilation cache for given url. Compilation cache does not survive\ncross-process navigation.",
+ "name": "compilationCacheProduced",
+ "description": "Issued for every compilation cache generated. Is only available\nif Page.setGenerateCompilationCache is enabled.",
"experimental": true,
"parameters": [
{
@@ -12365,71 +17387,82 @@
},
{
"name": "data",
- "description": "Base64-encoded data",
+ "description": "Base64-encoded data (Encoded as a base64 string when passed over JSON)",
"type": "string"
}
]
- },
- {
- "name": "clearCompilationCache",
- "description": "Clears seeded compilation cache.",
- "experimental": true
- },
+ }
+ ]
+ },
+ {
+ "domain": "Performance",
+ "types": [
{
- "name": "generateTestReport",
- "description": "Generates a report for testing.",
- "experimental": true,
- "parameters": [
+ "id": "Metric",
+ "description": "Run-time execution metric.",
+ "type": "object",
+ "properties": [
{
- "name": "message",
- "description": "Message to be displayed in the report.",
+ "name": "name",
+ "description": "Metric name.",
"type": "string"
},
{
- "name": "group",
- "description": "Specifies the endpoint group to deliver the report to.",
- "optional": true,
- "type": "string"
+ "name": "value",
+ "description": "Metric value.",
+ "type": "number"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "name": "waitForDebugger",
- "description": "Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger.",
- "experimental": true
+ "name": "disable",
+ "description": "Disable collecting and reporting metrics."
},
{
- "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.\nFile chooser can be handled with `page.handleFileChooser` command.",
- "experimental": true,
+ "name": "enable",
+ "description": "Enable collecting and reporting metrics.",
"parameters": [
{
- "name": "enabled",
- "type": "boolean"
+ "name": "timeDomain",
+ "description": "Time domain to use for collecting and reporting duration metrics.",
+ "optional": true,
+ "type": "string",
+ "enum": [
+ "timeTicks",
+ "threadTicks"
+ ]
}
]
},
{
- "name": "handleFileChooser",
- "description": "Accepts or cancels an intercepted file chooser dialog.",
+ "name": "setTimeDomain",
+ "description": "Sets time domain to use for collecting and reporting duration metrics.\nNote that this must be called before enabling metrics collection. Calling\nthis method while metrics collection is enabled returns an error.",
"experimental": true,
+ "deprecated": true,
"parameters": [
{
- "name": "action",
+ "name": "timeDomain",
+ "description": "Time domain",
"type": "string",
"enum": [
- "accept",
- "cancel",
- "fallback"
+ "timeTicks",
+ "threadTicks"
]
- },
+ }
+ ]
+ },
+ {
+ "name": "getMetrics",
+ "description": "Retrieve current values of run-time metrics.",
+ "returns": [
{
- "name": "files",
- "description": "Array of absolute file paths to set, only respected with `accept` action.",
- "optional": true,
+ "name": "metrics",
+ "description": "Current values for run-time metrics.",
"type": "array",
"items": {
- "type": "string"
+ "$ref": "Metric"
}
}
]
@@ -12437,487 +17470,385 @@
],
"events": [
{
- "name": "domContentEventFired",
+ "name": "metrics",
+ "description": "Current values of the metrics.",
"parameters": [
{
- "name": "timestamp",
- "$ref": "Network.MonotonicTime"
- }
- ]
- },
- {
- "name": "fileChooserOpened",
- "description": "Emitted only when `page.interceptFileChooser` is enabled.",
- "parameters": [
+ "name": "metrics",
+ "description": "Current values of the metrics.",
+ "type": "array",
+ "items": {
+ "$ref": "Metric"
+ }
+ },
{
- "name": "mode",
- "type": "string",
- "enum": [
- "selectSingle",
- "selectMultiple"
- ]
+ "name": "title",
+ "description": "Timestamp title.",
+ "type": "string"
}
]
- },
+ }
+ ]
+ },
+ {
+ "domain": "PerformanceTimeline",
+ "description": "Reporting of performance timeline events, as specified in\nhttps://w3c.github.io/performance-timeline/#dom-performanceobserver.",
+ "experimental": true,
+ "dependencies": [
+ "DOM",
+ "Network"
+ ],
+ "types": [
{
- "name": "frameAttached",
- "description": "Fired when frame has been attached to its parent.",
- "parameters": [
+ "id": "LargestContentfulPaint",
+ "description": "See https://github.com/WICG/LargestContentfulPaint and largest_contentful_paint.idl",
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "Id of the frame that has been attached.",
- "$ref": "FrameId"
+ "name": "renderTime",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "parentFrameId",
- "description": "Parent frame identifier.",
- "$ref": "FrameId"
+ "name": "loadTime",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "stack",
- "description": "JavaScript stack trace of when frame was attached, only set if frame initiated from script.",
+ "name": "size",
+ "description": "The number of pixels being painted.",
+ "type": "number"
+ },
+ {
+ "name": "elementId",
+ "description": "The id attribute of the element, if available.",
"optional": true,
- "$ref": "Runtime.StackTrace"
- }
- ]
- },
- {
- "name": "frameClearedScheduledNavigation",
- "description": "Fired when frame no longer has a scheduled navigation.",
- "deprecated": true,
- "parameters": [
+ "type": "string"
+ },
{
- "name": "frameId",
- "description": "Id of the frame that has cleared its scheduled navigation.",
- "$ref": "FrameId"
+ "name": "url",
+ "description": "The URL of the image (may be trimmed).",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "nodeId",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
}
]
},
{
- "name": "frameDetached",
- "description": "Fired when frame has been detached from its parent.",
- "parameters": [
+ "id": "LayoutShiftAttribution",
+ "type": "object",
+ "properties": [
{
- "name": "frameId",
- "description": "Id of the frame that has been detached.",
- "$ref": "FrameId"
+ "name": "previousRect",
+ "$ref": "DOM.Rect"
+ },
+ {
+ "name": "currentRect",
+ "$ref": "DOM.Rect"
+ },
+ {
+ "name": "nodeId",
+ "optional": true,
+ "$ref": "DOM.BackendNodeId"
}
]
},
{
- "name": "frameNavigated",
- "description": "Fired once navigation of the frame has completed. Frame is now associated with the new loader.",
- "parameters": [
+ "id": "LayoutShift",
+ "description": "See https://wicg.github.io/layout-instability/#sec-layout-shift and layout_shift.idl",
+ "type": "object",
+ "properties": [
{
- "name": "frame",
- "description": "Frame object.",
- "$ref": "Frame"
+ "name": "value",
+ "description": "Score increment produced by this event.",
+ "type": "number"
+ },
+ {
+ "name": "hadRecentInput",
+ "type": "boolean"
+ },
+ {
+ "name": "lastInputTime",
+ "$ref": "Network.TimeSinceEpoch"
+ },
+ {
+ "name": "sources",
+ "type": "array",
+ "items": {
+ "$ref": "LayoutShiftAttribution"
+ }
}
]
},
{
- "name": "frameResized",
- "experimental": true
- },
- {
- "name": "frameRequestedNavigation",
- "description": "Fired when a renderer-initiated navigation is requested.\nNavigation may still be cancelled after the event is issued.",
- "experimental": true,
- "parameters": [
+ "id": "TimelineEvent",
+ "type": "object",
+ "properties": [
{
"name": "frameId",
- "description": "Id of the frame that is being navigated.",
- "$ref": "FrameId"
+ "description": "Identifies the frame that this event is related to. Empty for non-frame targets.",
+ "$ref": "Page.FrameId"
},
{
- "name": "reason",
- "description": "The reason for the navigation.",
- "$ref": "ClientNavigationReason"
+ "name": "type",
+ "description": "The event type, as specified in https://w3c.github.io/performance-timeline/#dom-performanceentry-entrytype\nThis determines which of the optional \"details\" fiedls is present.",
+ "type": "string"
},
{
- "name": "url",
- "description": "The destination URL for the requested navigation.",
+ "name": "name",
+ "description": "Name may be empty depending on the type.",
"type": "string"
- }
- ]
- },
- {
- "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": "time",
+ "description": "Time in seconds since Epoch, monotonically increasing within document lifetime.",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "delay",
- "description": "Delay (in seconds) until the navigation is scheduled to begin. The navigation is not\nguaranteed to start.",
+ "name": "duration",
+ "description": "Event duration, if applicable.",
+ "optional": true,
"type": "number"
},
{
- "name": "reason",
- "description": "The reason for the navigation.",
- "type": "string",
- "enum": [
- "formSubmissionGet",
- "formSubmissionPost",
- "httpHeaderRefresh",
- "scriptInitiated",
- "metaTagRefresh",
- "pageBlockInterstitial",
- "reload"
- ]
+ "name": "lcpDetails",
+ "optional": true,
+ "$ref": "LargestContentfulPaint"
},
{
- "name": "url",
- "description": "The destination URL for the scheduled navigation.",
- "type": "string"
+ "name": "layoutShiftDetails",
+ "optional": true,
+ "$ref": "LayoutShift"
}
]
- },
+ }
+ ],
+ "commands": [
{
- "name": "frameStartedLoading",
- "description": "Fired when frame has started loading.",
- "experimental": true,
+ "name": "enable",
+ "description": "Previously buffered events would be reported before method returns.\nSee also: timelineEventAdded",
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame that has started loading.",
- "$ref": "FrameId"
+ "name": "eventTypes",
+ "description": "The types of event to report, as specified in\nhttps://w3c.github.io/performance-timeline/#dom-performanceentry-entrytype\nThe specified filter overrides any previous filters, passing empty\nfilter disables recording.\nNote that not all types exposed to the web platform are currently supported.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
]
- },
+ }
+ ],
+ "events": [
{
- "name": "frameStoppedLoading",
- "description": "Fired when frame has stopped loading.",
- "experimental": true,
+ "name": "timelineEventAdded",
+ "description": "Sent when a performance timeline event is added. See reportPerformanceTimeline method.",
"parameters": [
{
- "name": "frameId",
- "description": "Id of the frame that has stopped loading.",
- "$ref": "FrameId"
+ "name": "event",
+ "$ref": "TimelineEvent"
}
]
+ }
+ ]
+ },
+ {
+ "domain": "Security",
+ "description": "Security",
+ "types": [
+ {
+ "id": "CertificateId",
+ "description": "An internal certificate ID value.",
+ "type": "integer"
},
{
- "name": "downloadWillBegin",
- "description": "Fired when page is about to start a download.",
- "experimental": true,
- "parameters": [
- {
- "name": "frameId",
- "description": "Id of the frame that caused download to begin.",
- "$ref": "FrameId"
- },
- {
- "name": "url",
- "description": "URL of the resource being downloaded.",
- "type": "string"
- }
+ "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"
]
},
{
- "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": "result",
- "description": "Whether dialog was confirmed.",
- "type": "boolean"
- },
- {
- "name": "userInput",
- "description": "User input in case of prompt.",
- "type": "string"
- }
+ "id": "SecurityState",
+ "description": "The security level of a page or resource.",
+ "type": "string",
+ "enum": [
+ "unknown",
+ "neutral",
+ "insecure",
+ "secure",
+ "info",
+ "insecure-broken"
]
},
{
- "name": "javascriptDialogOpening",
- "description": "Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to\nopen.",
- "parameters": [
+ "id": "CertificateSecurityState",
+ "description": "Details about the security state of the page certificate.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
{
- "name": "url",
- "description": "Frame url.",
+ "name": "protocol",
+ "description": "Protocol name (e.g. \"TLS 1.2\" or \"QUIC\").",
"type": "string"
},
{
- "name": "message",
- "description": "Message that will be displayed by the dialog.",
+ "name": "keyExchange",
+ "description": "Key Exchange used by the connection, or the empty string if not applicable.",
"type": "string"
},
{
- "name": "type",
- "description": "Dialog type.",
- "$ref": "DialogType"
+ "name": "keyExchangeGroup",
+ "description": "(EC)DH group used by the connection, if applicable.",
+ "optional": true,
+ "type": "string"
},
{
- "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": "cipher",
+ "description": "Cipher name.",
+ "type": "string"
},
{
- "name": "defaultPrompt",
- "description": "Default dialog prompt.",
+ "name": "mac",
+ "description": "TLS MAC. Note that AEAD ciphers do not have separate MACs.",
"optional": true,
"type": "string"
- }
- ]
- },
- {
- "name": "lifecycleEvent",
- "description": "Fired for top level page lifecycle events such as navigation, load, paint, etc.",
- "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": "certificate",
+ "description": "Page certificate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
{
- "name": "name",
+ "name": "subjectName",
+ "description": "Certificate subject name.",
"type": "string"
},
{
- "name": "timestamp",
- "$ref": "Network.MonotonicTime"
- }
- ]
- },
- {
- "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": "issuer",
+ "description": "Name of the issuing CA.",
+ "type": "string"
+ },
{
- "name": "frameId",
- "description": "Id of the frame.",
- "$ref": "FrameId"
+ "name": "validFrom",
+ "description": "Certificate valid from date.",
+ "$ref": "Network.TimeSinceEpoch"
},
{
- "name": "url",
- "description": "Frame's new url.",
- "type": "string"
- }
- ]
- },
- {
- "name": "screencastFrame",
- "description": "Compressed image data requested by the `startScreencast`.",
- "experimental": true,
- "parameters": [
+ "name": "validTo",
+ "description": "Certificate valid to (expiration) date",
+ "$ref": "Network.TimeSinceEpoch"
+ },
{
- "name": "data",
- "description": "Base64-encoded compressed image.",
+ "name": "certificateNetworkError",
+ "description": "The highest priority network error code, if the certificate has an error.",
+ "optional": true,
"type": "string"
},
{
- "name": "metadata",
- "description": "Screencast frame metadata.",
- "$ref": "ScreencastFrameMetadata"
+ "name": "certificateHasWeakSignature",
+ "description": "True if the certificate uses a weak signature aglorithm.",
+ "type": "boolean"
},
{
- "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": "certificateHasSha1Signature",
+ "description": "True if the certificate has a SHA1 signature in the chain.",
+ "type": "boolean"
+ },
{
- "name": "visible",
- "description": "True if the page is visible.",
+ "name": "modernSSL",
+ "description": "True if modern SSL",
"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": "obsoleteSslProtocol",
+ "description": "True if the connection is using an obsolete SSL protocol.",
+ "type": "boolean"
},
{
- "name": "windowName",
- "description": "Window name.",
- "type": "string"
+ "name": "obsoleteSslKeyExchange",
+ "description": "True if the connection is using an obsolete SSL key exchange.",
+ "type": "boolean"
},
{
- "name": "windowFeatures",
- "description": "An array of enabled window features.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "name": "obsoleteSslCipher",
+ "description": "True if the connection is using an obsolete SSL cipher.",
+ "type": "boolean"
},
{
- "name": "userGesture",
- "description": "Whether or not it was triggered by user gesture.",
+ "name": "obsoleteSslSignature",
+ "description": "True if the connection is using an obsolete SSL signature.",
"type": "boolean"
}
]
},
{
- "name": "compilationCacheProduced",
- "description": "Issued for every compilation cache generated. Is only available\nif Page.setGenerateCompilationCache is enabled.",
+ "id": "SafetyTipStatus",
"experimental": true,
- "parameters": [
- {
- "name": "url",
- "type": "string"
- },
- {
- "name": "data",
- "description": "Base64-encoded data",
- "type": "string"
- }
+ "type": "string",
+ "enum": [
+ "badReputation",
+ "lookalike"
]
- }
- ]
- },
- {
- "domain": "Performance",
- "types": [
+ },
{
- "id": "Metric",
- "description": "Run-time execution metric.",
+ "id": "SafetyTipInfo",
+ "experimental": true,
"type": "object",
"properties": [
{
- "name": "name",
- "description": "Metric name.",
- "type": "string"
+ "name": "safetyTipStatus",
+ "description": "Describes whether the page triggers any safety tips or reputation warnings. Default is unknown.",
+ "$ref": "SafetyTipStatus"
},
{
- "name": "value",
- "description": "Metric value.",
- "type": "number"
+ "name": "safeUrl",
+ "description": "The URL the safety tip suggested (\"Did you mean?\"). Only filled in for lookalike matches.",
+ "optional": true,
+ "type": "string"
}
]
- }
- ],
- "commands": [
- {
- "name": "disable",
- "description": "Disable collecting and reporting metrics."
- },
- {
- "name": "enable",
- "description": "Enable collecting and reporting metrics."
},
{
- "name": "setTimeDomain",
- "description": "Sets time domain to use for collecting and reporting duration metrics.\nNote that this must be called before enabling metrics collection. Calling\nthis method while metrics collection is enabled returns an error.",
+ "id": "VisibleSecurityState",
+ "description": "Security state information about the page.",
"experimental": true,
- "parameters": [
+ "type": "object",
+ "properties": [
{
- "name": "timeDomain",
- "description": "Time domain",
- "type": "string",
- "enum": [
- "timeTicks",
- "threadTicks"
- ]
- }
- ]
- },
- {
- "name": "getMetrics",
- "description": "Retrieve current values of run-time metrics.",
- "returns": [
+ "name": "securityState",
+ "description": "The security level of the page.",
+ "$ref": "SecurityState"
+ },
{
- "name": "metrics",
- "description": "Current values for run-time metrics.",
- "type": "array",
- "items": {
- "$ref": "Metric"
- }
- }
- ]
- }
- ],
- "events": [
- {
- "name": "metrics",
- "description": "Current values of the metrics.",
- "parameters": [
+ "name": "certificateSecurityState",
+ "description": "Security state details about the page certificate.",
+ "optional": true,
+ "$ref": "CertificateSecurityState"
+ },
{
- "name": "metrics",
- "description": "Current values of the metrics.",
+ "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": {
- "$ref": "Metric"
+ "type": "string"
}
- },
- {
- "name": "title",
- "description": "Timestamp title.",
- "type": "string"
}
]
- }
- ]
- },
- {
- "domain": "Security",
- "description": "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"
- ]
},
{
"id": "SecurityStateExplanation",
@@ -13096,8 +18027,21 @@
]
},
{
- "name": "securityStateChanged",
+ "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",
@@ -13112,7 +18056,8 @@
},
{
"name": "explanations",
- "description": "List of explanations for the security state. If the overall security state is `insecure` or\n`warning`, at least one corresponding explanation should be included.",
+ "description": "Previously a list of explanations for the security state. Now always\nempty.",
+ "deprecated": true,
"type": "array",
"items": {
"$ref": "SecurityStateExplanation"
@@ -13126,7 +18071,8 @@
},
{
"name": "summary",
- "description": "Overrides user-visible description of the state.",
+ "description": "Overrides user-visible description of the state. Always omitted.",
+ "deprecated": true,
"optional": true,
"type": "string"
}
@@ -13137,6 +18083,9 @@
{
"domain": "ServiceWorker",
"experimental": true,
+ "dependencies": [
+ "Target"
+ ],
"types": [
{
"id": "RegistrationID",
@@ -13309,6 +18258,23 @@
}
]
},
+ {
+ "name": "dispatchPeriodicSyncEvent",
+ "parameters": [
+ {
+ "name": "origin",
+ "type": "string"
+ },
+ {
+ "name": "registrationId",
+ "$ref": "RegistrationID"
+ },
+ {
+ "name": "tag",
+ "type": "string"
+ }
+ ]
+ },
{
"name": "enable"
},
@@ -13418,6 +18384,10 @@
{
"domain": "Storage",
"experimental": true,
+ "dependencies": [
+ "Browser",
+ "Network"
+ ],
"types": [
{
"id": "StorageType",
@@ -13453,6 +18423,22 @@
"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"
+ }
+ ]
}
],
"commands": [
@@ -13472,6 +18458,60 @@
}
]
},
+ {
+ "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"
+ }
+ }
+ ]
+ },
+ {
+ "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": "clearCookies",
+ "description": "Clears cookies.",
+ "parameters": [
+ {
+ "name": "browserContextId",
+ "description": "Browser context to use when called on the browser endpoint.",
+ "optional": true,
+ "$ref": "Browser.BrowserContextID"
+ }
+ ]
+ },
{
"name": "getUsageAndQuota",
"description": "Returns usage and quota in bytes.",
@@ -13493,6 +18533,11 @@
"description": "Storage quota (bytes).",
"type": "number"
},
+ {
+ "name": "overrideActive",
+ "description": "Whether or not the origin has an active storage quota override",
+ "type": "boolean"
+ },
{
"name": "usageBreakdown",
"description": "Storage usage per type (bytes).",
@@ -13503,6 +18548,24 @@
}
]
},
+ {
+ "name": "overrideQuotaForOrigin",
+ "description": "Override quota for the specified origin",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "origin",
+ "description": "Security origin.",
+ "type": "string"
+ },
+ {
+ "name": "quotaSize",
+ "description": "The quota size (in bytes) to override the original quota with.\nIf this is called multiple times, the overridden quota will be equal to\nthe quotaSize provided in the final call. If this is called without\nspecifying a quotaSize, the quota will be reset to the default value for\nthe specified origin. If this is called multiple times with different\norigins, the override will be maintained for each origin until it is\ndisabled (called without a quotaSize).",
+ "optional": true,
+ "type": "number"
+ }
+ ]
+ },
{
"name": "trackCacheStorageForOrigin",
"description": "Registers origin to be notified when an update occurs to its cache storage list.",
@@ -13546,6 +18609,38 @@
"type": "string"
}
]
+ },
+ {
+ "name": "getTrustTokens",
+ "description": "Returns the number of stored Trust Tokens per issuer for the\ncurrent browsing context.",
+ "experimental": true,
+ "returns": [
+ {
+ "name": "tokens",
+ "type": "array",
+ "items": {
+ "$ref": "TrustTokens"
+ }
+ }
+ ]
+ },
+ {
+ "name": "clearTrustTokens",
+ "description": "Removes all Trust Tokens issued by the provided issuerOrigin.\nLeaves other stored data, including the issuer's Redemption Records, intact.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "issuerOrigin",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "didDeleteTokens",
+ "description": "True if any tokens were deleted, false otherwise.",
+ "type": "boolean"
+ }
+ ]
}
],
"events": [
@@ -13630,6 +18725,18 @@
"description": "PCI ID of the GPU device, if available; 0 otherwise.",
"type": "number"
},
+ {
+ "name": "subSysId",
+ "description": "Sub sys ID of the GPU, only available on Windows.",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "revision",
+ "description": "Revision of the GPU, only available on Windows.",
+ "optional": true,
+ "type": "number"
+ },
{
"name": "vendorString",
"description": "String description of the GPU vendor, if the PCI ID is not available.",
@@ -13727,6 +18834,16 @@
"yuv444"
]
},
+ {
+ "id": "ImageType",
+ "description": "Image format of a given image.",
+ "type": "string",
+ "enum": [
+ "jpeg",
+ "webp",
+ "unknown"
+ ]
+ },
{
"id": "ImageDecodeAcceleratorCapability",
"description": "Describes a supported image decoding profile with its associated minimum and\nmaximum resolutions and subsampling.",
@@ -13735,7 +18852,7 @@
{
"name": "imageType",
"description": "Image coded, e.g. Jpeg.",
- "type": "string"
+ "$ref": "ImageType"
},
{
"name": "maxDimensions",
@@ -13895,11 +19012,6 @@
"description": "Unique identifier of attached debugging session.",
"type": "string"
},
- {
- "id": "BrowserContextID",
- "experimental": true,
- "type": "string"
- },
{
"id": "TargetInfo",
"type": "object",
@@ -13931,11 +19043,24 @@
"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": "browserContextId",
"experimental": true,
"optional": true,
- "$ref": "BrowserContextID"
+ "$ref": "Browser.BrowserContextID"
}
]
},
@@ -13976,8 +19101,7 @@
},
{
"name": "flatten",
- "description": "Enables \"flat\" access to the session via specifying sessionId attribute in the commands.",
- "experimental": true,
+ "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"
}
@@ -14014,6 +19138,8 @@
"returns": [
{
"name": "success",
+ "description": "Always set to true. If an error occurs, the response indicates protocol error.",
+ "deprecated": true,
"type": "boolean"
}
]
@@ -14039,11 +19165,40 @@
"name": "createBrowserContext",
"description": "Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than\none.",
"experimental": true,
+ "parameters": [
+ {
+ "name": "disposeOnDetach",
+ "description": "If specified, disposes this context when debugging session disconnects.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "proxyServer",
+ "description": "Proxy server, similar to the one passed to --proxy-server",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "proxyBypassList",
+ "description": "Proxy bypass list, similar to the one passed to --proxy-bypass-list",
+ "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.",
+ "optional": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
"returns": [
{
"name": "browserContextId",
"description": "The id of the context created.",
- "$ref": "BrowserContextID"
+ "$ref": "Browser.BrowserContextID"
}
]
},
@@ -14057,7 +19212,7 @@
"description": "An array of browser context ids.",
"type": "array",
"items": {
- "$ref": "BrowserContextID"
+ "$ref": "Browser.BrowserContextID"
}
}
]
@@ -14068,7 +19223,7 @@
"parameters": [
{
"name": "url",
- "description": "The initial URL the page will be navigated to.",
+ "description": "The initial URL the page will be navigated to. An empty string indicates about:blank.",
"type": "string"
},
{
@@ -14086,8 +19241,9 @@
{
"name": "browserContextId",
"description": "The browser context to create the page in.",
+ "experimental": true,
"optional": true,
- "$ref": "BrowserContextID"
+ "$ref": "Browser.BrowserContextID"
},
{
"name": "enableBeginFrameControl",
@@ -14143,7 +19299,7 @@
"parameters": [
{
"name": "browserContextId",
- "$ref": "BrowserContextID"
+ "$ref": "Browser.BrowserContextID"
}
]
},
@@ -14181,7 +19337,8 @@
},
{
"name": "sendMessageToTarget",
- "description": "Sends protocol message over session with given id.",
+ "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",
@@ -14204,7 +19361,7 @@
},
{
"name": "setAutoAttach",
- "description": "Controls whether to automatically attach to new targets which are considered to be related to\nthis one. When turned on, attaches to all existing related targets as well. When turned off,\nautomatically detaches from all currently attached targets.",
+ "description": "Controls whether to automatically attach to new targets which are considered to be related to\nthis one. When 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.",
"experimental": true,
"parameters": [
{
@@ -14219,13 +19376,28 @@
},
{
"name": "flatten",
- "description": "Enables \"flat\" access to the session via specifying sessionId attribute in the commands.",
- "experimental": true,
+ "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"
}
]
},
+ {
+ "name": "autoAttachRelated",
+ "description": "Adds the specified target to the list of targets that will be monitored for any related target\ncreation (such as child frames, child workers and new versions of service worker) and reported\nthrough `attachedToTarget`. The specified target is also auto-attached.\nThis cancels the effect of any previous `setAutoAttach` and is also cancelled by subsequent\n`setAutoAttach`. Only available at the Browser target.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "targetId",
+ "$ref": "TargetID"
+ },
+ {
+ "name": "waitForDebuggerOnStart",
+ "description": "Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger`\nto run paused targets.",
+ "type": "boolean"
+ }
+ ]
+ },
{
"name": "setDiscoverTargets",
"description": "Controls whether to discover available targets and notify via\n`targetCreated/targetInfoChanged/targetDestroyed` events.",
@@ -14505,12 +19677,32 @@
]
},
{
- "id": "StreamCompression",
- "description": "Compression type to use for traces returned via streams.",
+ "id": "StreamCompression",
+ "description": "Compression type to use for traces returned via streams.",
+ "type": "string",
+ "enum": [
+ "none",
+ "gzip"
+ ]
+ },
+ {
+ "id": "MemoryDumpLevelOfDetail",
+ "description": "Details exposed when memory request explicitly declared.\nKeep consistent with memory_dump_request_args.h and\nmemory_instrumentation.mojom",
+ "type": "string",
+ "enum": [
+ "background",
+ "light",
+ "detailed"
+ ]
+ },
+ {
+ "id": "TracingBackend",
+ "description": "Backend type to use for tracing. `chrome` uses the Chrome-integrated\ntracing service and is supported on all platforms. `system` is only\nsupported on Chrome OS and uses the Perfetto system tracing service.\n`auto` chooses `system` when the perfettoConfig provided to Tracing.start\nspecifies at least one non-Chrome data source; otherwise uses `chrome`.",
"type": "string",
"enum": [
- "none",
- "gzip"
+ "auto",
+ "chrome",
+ "system"
]
}
],
@@ -14547,6 +19739,20 @@
{
"name": "requestMemoryDump",
"description": "Request a global memory dump.",
+ "parameters": [
+ {
+ "name": "deterministic",
+ "description": "Enables more deterministic results by forcing garbage collection",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "levelOfDetail",
+ "description": "Specifies level of details in memory dump. Defaults to \"detailed\".",
+ "optional": true,
+ "$ref": "MemoryDumpLevelOfDetail"
+ }
+ ],
"returns": [
{
"name": "dumpGuid",
@@ -14610,6 +19816,18 @@
"name": "traceConfig",
"optional": true,
"$ref": "TraceConfig"
+ },
+ {
+ "name": "perfettoConfig",
+ "description": "Base64-encoded serialized perfetto.protos.TraceConfig protobuf message\nWhen specified, the parameters `categories`, `options`, `traceConfig`\nare ignored. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "tracingBackend",
+ "description": "Backend type (defaults to `auto`)",
+ "optional": true,
+ "$ref": "TracingBackend"
}
]
}
@@ -14685,7 +19903,6 @@
{
"domain": "Fetch",
"description": "A domain for letting clients substitute browser's network layer with client code.",
- "experimental": true,
"dependencies": [
"Network",
"IO",
@@ -14699,8 +19916,7 @@
},
{
"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.",
- "experimental": true,
+ "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",
@@ -14709,12 +19925,11 @@
},
{
"id": "RequestPattern",
- "experimental": true,
"type": "object",
"properties": [
{
"name": "urlPattern",
- "description": "Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to \"*\".",
+ "description": "Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is\nbackslash. Omitting is equivalent to `\"*\"`.",
"optional": true,
"type": "string"
},
@@ -14726,7 +19941,7 @@
},
{
"name": "requestStage",
- "description": "Stage at wich to begin intercepting requests. Default is Request.",
+ "description": "Stage at which to begin intercepting requests. Default is Request.",
"optional": true,
"$ref": "RequestStage"
}
@@ -14750,7 +19965,6 @@
{
"id": "AuthChallenge",
"description": "Authorization challenge for HTTP status code 401 or 407.",
- "experimental": true,
"type": "object",
"properties": [
{
@@ -14783,7 +19997,6 @@
{
"id": "AuthChallengeResponse",
"description": "Response to an AuthChallenge.",
- "experimental": true,
"type": "object",
"properties": [
{
@@ -14870,20 +20083,27 @@
{
"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. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
+ },
{
"name": "body",
- "description": "A response 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. (Encoded as a base64 string when passed over JSON)",
"optional": true,
"type": "string"
},
{
"name": "responsePhrase",
- "description": "A textual representation of responseCode.\nIf absent, a standard phrase mathcing responseCode is used.",
+ "description": "A textual representation of responseCode.\nIf absent, a standard phrase matching responseCode is used.",
"optional": true,
"type": "string"
}
@@ -14912,18 +20132,25 @@
},
{
"name": "postData",
- "description": "If set, overrides the post data in the request.",
+ "description": "If set, overrides the post data in the request. (Encoded as a base64 string when passed over JSON)",
"optional": true,
"type": "string"
},
{
"name": "headers",
- "description": "If set, overrides the request headrts.",
+ "description": "If set, overrides the request headers.",
"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"
}
]
},
@@ -14943,6 +20170,45 @@
}
]
},
+ {
+ "name": "continueResponse",
+ "description": "Continues loading of the paused response, optionally modifying the\nresponse headers. If either responseCode or headers are modified, all of them\nmust be present.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "requestId",
+ "description": "An id the client received in requestPaused event.",
+ "$ref": "RequestId"
+ },
+ {
+ "name": "responseCode",
+ "description": "An HTTP response code. If absent, original response code will be used.",
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "responsePhrase",
+ "description": "A textual representation of responseCode.\nIf absent, a standard phrase matching responseCode is used.",
+ "optional": true,
+ "type": "string"
+ },
+ {
+ "name": "responseHeaders",
+ "description": "Response headers. If absent, original response headers will be used.",
+ "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. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
{
"name": "getResponseBody",
"description": "Causes the body of the response to be received from the server and\nreturned as a single string. May only be issued for a request that\nis paused in the Response stage and is mutually exclusive with\ntakeResponseBodyForInterceptionAsStream. Calling other methods that\naffect the request or disabling fetch domain before body is received\nresults in an undefined behavior.",
@@ -15020,6 +20286,12 @@
"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.",
@@ -15076,8 +20348,8 @@
"experimental": true,
"types": [
{
- "id": "ContextId",
- "description": "Context's UUID in string",
+ "id": "GraphObjectId",
+ "description": "An unique ID for a graph object (AudioContext, AudioNode, AudioParam) in Web Audio API",
"type": "string"
},
{
@@ -15099,6 +20371,44 @@
"closed"
]
},
+ {
+ "id": "NodeType",
+ "description": "Enum of AudioNode types",
+ "type": "string"
+ },
+ {
+ "id": "ChannelCountMode",
+ "description": "Enum of AudioNode::ChannelCountMode from the spec",
+ "type": "string",
+ "enum": [
+ "clamped-max",
+ "explicit",
+ "max"
+ ]
+ },
+ {
+ "id": "ChannelInterpretation",
+ "description": "Enum of AudioNode::ChannelInterpretation from the spec",
+ "type": "string",
+ "enum": [
+ "discrete",
+ "speakers"
+ ]
+ },
+ {
+ "id": "ParamType",
+ "description": "Enum of AudioParam types",
+ "type": "string"
+ },
+ {
+ "id": "AutomationRate",
+ "description": "Enum of AudioParam::AutomationRate from the spec",
+ "type": "string",
+ "enum": [
+ "a-rate",
+ "k-rate"
+ ]
+ },
{
"id": "ContextRealtimeData",
"description": "Fields in AudioContext that change in real-time.",
@@ -15111,7 +20421,7 @@
},
{
"name": "renderCapacity",
- "description": "The time spent on rendering graph divided by render qunatum duration,\nand multiplied by 100. 100 means the audio renderer reached the full\ncapacity and glitch may occur.",
+ "description": "The time spent on rendering graph divided by render quantum duration,\nand multiplied by 100. 100 means the audio renderer reached the full\ncapacity and glitch may occur.",
"type": "number"
},
{
@@ -15133,7 +20443,7 @@
"properties": [
{
"name": "contextId",
- "$ref": "ContextId"
+ "$ref": "GraphObjectId"
},
{
"name": "contextType",
@@ -15164,6 +20474,99 @@
"type": "number"
}
]
+ },
+ {
+ "id": "AudioListener",
+ "description": "Protocol object for AudioListener",
+ "type": "object",
+ "properties": [
+ {
+ "name": "listenerId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ }
+ ]
+ },
+ {
+ "id": "AudioNode",
+ "description": "Protocol object for AudioNode",
+ "type": "object",
+ "properties": [
+ {
+ "name": "nodeId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "nodeType",
+ "$ref": "NodeType"
+ },
+ {
+ "name": "numberOfInputs",
+ "type": "number"
+ },
+ {
+ "name": "numberOfOutputs",
+ "type": "number"
+ },
+ {
+ "name": "channelCount",
+ "type": "number"
+ },
+ {
+ "name": "channelCountMode",
+ "$ref": "ChannelCountMode"
+ },
+ {
+ "name": "channelInterpretation",
+ "$ref": "ChannelInterpretation"
+ }
+ ]
+ },
+ {
+ "id": "AudioParam",
+ "description": "Protocol object for AudioParam",
+ "type": "object",
+ "properties": [
+ {
+ "name": "paramId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "nodeId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "paramType",
+ "$ref": "ParamType"
+ },
+ {
+ "name": "rate",
+ "$ref": "AutomationRate"
+ },
+ {
+ "name": "defaultValue",
+ "type": "number"
+ },
+ {
+ "name": "minValue",
+ "type": "number"
+ },
+ {
+ "name": "maxValue",
+ "type": "number"
+ }
+ ]
}
],
"commands": [
@@ -15181,7 +20584,7 @@
"parameters": [
{
"name": "contextId",
- "$ref": "ContextId"
+ "$ref": "GraphObjectId"
}
],
"returns": [
@@ -15190,36 +20593,214 @@
"$ref": "ContextRealtimeData"
}
]
- }
- ],
- "events": [
+ }
+ ],
+ "events": [
+ {
+ "name": "contextCreated",
+ "description": "Notifies that a new BaseAudioContext has been created.",
+ "parameters": [
+ {
+ "name": "context",
+ "$ref": "BaseAudioContext"
+ }
+ ]
+ },
+ {
+ "name": "contextWillBeDestroyed",
+ "description": "Notifies that an existing BaseAudioContext will be destroyed.",
+ "parameters": [
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ }
+ ]
+ },
+ {
+ "name": "contextChanged",
+ "description": "Notifies that existing BaseAudioContext has changed some properties (id stays the same)..",
+ "parameters": [
+ {
+ "name": "context",
+ "$ref": "BaseAudioContext"
+ }
+ ]
+ },
+ {
+ "name": "audioListenerCreated",
+ "description": "Notifies that the construction of an AudioListener has finished.",
+ "parameters": [
+ {
+ "name": "listener",
+ "$ref": "AudioListener"
+ }
+ ]
+ },
+ {
+ "name": "audioListenerWillBeDestroyed",
+ "description": "Notifies that a new AudioListener has been created.",
+ "parameters": [
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "listenerId",
+ "$ref": "GraphObjectId"
+ }
+ ]
+ },
+ {
+ "name": "audioNodeCreated",
+ "description": "Notifies that a new AudioNode has been created.",
+ "parameters": [
+ {
+ "name": "node",
+ "$ref": "AudioNode"
+ }
+ ]
+ },
+ {
+ "name": "audioNodeWillBeDestroyed",
+ "description": "Notifies that an existing AudioNode has been destroyed.",
+ "parameters": [
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "nodeId",
+ "$ref": "GraphObjectId"
+ }
+ ]
+ },
+ {
+ "name": "audioParamCreated",
+ "description": "Notifies that a new AudioParam has been created.",
+ "parameters": [
+ {
+ "name": "param",
+ "$ref": "AudioParam"
+ }
+ ]
+ },
+ {
+ "name": "audioParamWillBeDestroyed",
+ "description": "Notifies that an existing AudioParam has been destroyed.",
+ "parameters": [
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "nodeId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "paramId",
+ "$ref": "GraphObjectId"
+ }
+ ]
+ },
+ {
+ "name": "nodesConnected",
+ "description": "Notifies that two AudioNodes are connected.",
+ "parameters": [
+ {
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "destinationId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceOutputIndex",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "destinationInputIndex",
+ "optional": true,
+ "type": "number"
+ }
+ ]
+ },
{
- "name": "contextCreated",
- "description": "Notifies that a new BaseAudioContext has been created.",
+ "name": "nodesDisconnected",
+ "description": "Notifies that AudioNodes are disconnected. The destination can be null, and it means all the outgoing connections from the source are disconnected.",
"parameters": [
{
- "name": "context",
- "$ref": "BaseAudioContext"
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "destinationId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceOutputIndex",
+ "optional": true,
+ "type": "number"
+ },
+ {
+ "name": "destinationInputIndex",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "name": "contextDestroyed",
- "description": "Notifies that existing BaseAudioContext has been destroyed.",
+ "name": "nodeParamConnected",
+ "description": "Notifies that an AudioNode is connected to an AudioParam.",
"parameters": [
{
"name": "contextId",
- "$ref": "ContextId"
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "destinationId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceOutputIndex",
+ "optional": true,
+ "type": "number"
}
]
},
{
- "name": "contextChanged",
- "description": "Notifies that existing BaseAudioContext has changed some properties (id stays the same)..",
+ "name": "nodeParamDisconnected",
+ "description": "Notifies that an AudioNode is disconnected to an AudioParam.",
"parameters": [
{
- "name": "context",
- "$ref": "BaseAudioContext"
+ "name": "contextId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "destinationId",
+ "$ref": "GraphObjectId"
+ },
+ {
+ "name": "sourceOutputIndex",
+ "optional": true,
+ "type": "number"
}
]
}
@@ -15242,6 +20823,14 @@
"ctap2"
]
},
+ {
+ "id": "Ctap2Version",
+ "type": "string",
+ "enum": [
+ "ctap2_0",
+ "ctap2_1"
+ ]
+ },
{
"id": "AuthenticatorTransport",
"type": "string",
@@ -15261,16 +20850,44 @@
"name": "protocol",
"$ref": "AuthenticatorProtocol"
},
+ {
+ "name": "ctap2Version",
+ "description": "Defaults to ctap2_0. Ignored if |protocol| == u2f.",
+ "optional": true,
+ "$ref": "Ctap2Version"
+ },
{
"name": "transport",
"$ref": "AuthenticatorTransport"
},
{
"name": "hasResidentKey",
+ "description": "Defaults to false.",
+ "optional": true,
"type": "boolean"
},
{
"name": "hasUserVerification",
+ "description": "Defaults to false.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "hasLargeBlob",
+ "description": "If set to true, the authenticator will support the largeBlob extension.\nhttps://w3c.github.io/webauthn#largeBlob\nDefaults to false.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "hasCredBlob",
+ "description": "If set to true, the authenticator will support the credBlob extension.\nhttps://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#sctn-credBlob-extension\nDefaults to false.",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "hasMinPinLength",
+ "description": "If set to true, the authenticator will support the minPinLength extension.\nhttps://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#sctn-minpinlength-extension\nDefaults to false.",
+ "optional": true,
"type": "boolean"
},
{
@@ -15278,6 +20895,12 @@
"description": "If set to true, tests of user presence will succeed immediately.\nOtherwise, they will not be resolved. Defaults to true.",
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "isUserVerified",
+ "description": "Sets whether User Verification succeeds or fails for an authenticator.\nDefaults to false.",
+ "optional": true,
+ "type": "boolean"
}
]
},
@@ -15290,19 +20913,36 @@
"type": "string"
},
{
- "name": "rpIdHash",
- "description": "SHA-256 hash of the Relying Party ID the credential is scoped to. Must\nbe 32 bytes long.\nSee https://w3c.github.io/webauthn/#rpidhash",
+ "name": "isResidentCredential",
+ "type": "boolean"
+ },
+ {
+ "name": "rpId",
+ "description": "Relying Party ID the credential is scoped to. Must be set when adding a\ncredential.",
+ "optional": true,
"type": "string"
},
{
"name": "privateKey",
- "description": "The private key in PKCS#8 format.",
+ "description": "The ECDSA P-256 private key in PKCS#8 format. (Encoded as a base64 string when passed over JSON)",
+ "type": "string"
+ },
+ {
+ "name": "userHandle",
+ "description": "An opaque byte sequence with a maximum size of 64 bytes mapping the\ncredential to a specific user. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
"type": "string"
},
{
"name": "signCount",
"description": "Signature counter. This is incremented by one for each successful\nassertion.\nSee https://w3c.github.io/webauthn/#signature-counter",
"type": "integer"
+ },
+ {
+ "name": "largeBlob",
+ "description": "The large blob associated with the credential.\nSee https://w3c.github.io/webauthn/#sctn-large-blob-extension (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
}
]
}
@@ -15356,6 +20996,26 @@
}
]
},
+ {
+ "name": "getCredential",
+ "description": "Returns a single credential stored in the given virtual authenticator that\nmatches the credential ID.",
+ "parameters": [
+ {
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
+ },
+ {
+ "name": "credentialId",
+ "type": "string"
+ }
+ ],
+ "returns": [
+ {
+ "name": "credential",
+ "$ref": "Credential"
+ }
+ ]
+ },
{
"name": "getCredentials",
"description": "Returns all the credentials stored in the given virtual authenticator.",
@@ -15375,6 +21035,20 @@
}
]
},
+ {
+ "name": "removeCredential",
+ "description": "Removes a credential from the authenticator.",
+ "parameters": [
+ {
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
+ },
+ {
+ "name": "credentialId",
+ "type": "string"
+ }
+ ]
+ },
{
"name": "clearCredentials",
"description": "Clears all the credentials from the specified device.",
@@ -15398,6 +21072,201 @@
"type": "boolean"
}
]
+ },
+ {
+ "name": "setAutomaticPresenceSimulation",
+ "description": "Sets whether tests of user presence will succeed immediately (if true) or fail to resolve (if false) for an authenticator.\nThe default is true.",
+ "parameters": [
+ {
+ "name": "authenticatorId",
+ "$ref": "AuthenticatorId"
+ },
+ {
+ "name": "enabled",
+ "type": "boolean"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "domain": "Media",
+ "description": "This domain allows detailed inspection of media elements",
+ "experimental": true,
+ "types": [
+ {
+ "id": "PlayerId",
+ "description": "Players will get an ID that is unique within the agent context.",
+ "type": "string"
+ },
+ {
+ "id": "Timestamp",
+ "type": "number"
+ },
+ {
+ "id": "PlayerMessage",
+ "description": "Have one type per entry in MediaLogRecord::Type\nCorresponds to kMessage",
+ "type": "object",
+ "properties": [
+ {
+ "name": "level",
+ "description": "Keep in sync with MediaLogMessageLevel\nWe are currently keeping the message level 'error' separate from the\nPlayerError type because right now they represent different things,\nthis one being a DVLOG(ERROR) style log message that gets printed\nbased on what log level is selected in the UI, and the other is a\nrepresentation of a media::PipelineStatus object. Soon however we're\ngoing to be moving away from using PipelineStatus for errors and\nintroducing a new error type which should hopefully let us integrate\nthe error log level into the PlayerError type.",
+ "type": "string",
+ "enum": [
+ "error",
+ "warning",
+ "info",
+ "debug"
+ ]
+ },
+ {
+ "name": "message",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "PlayerProperty",
+ "description": "Corresponds to kMediaPropertyChange",
+ "type": "object",
+ "properties": [
+ {
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "PlayerEvent",
+ "description": "Corresponds to kMediaEventTriggered",
+ "type": "object",
+ "properties": [
+ {
+ "name": "timestamp",
+ "$ref": "Timestamp"
+ },
+ {
+ "name": "value",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "id": "PlayerError",
+ "description": "Corresponds to kMediaError",
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "type": "string",
+ "enum": [
+ "pipeline_error",
+ "media_error"
+ ]
+ },
+ {
+ "name": "errorCode",
+ "description": "When this switches to using media::Status instead of PipelineStatus\nwe can remove \"errorCode\" and replace it with the fields from\na Status instance. This also seems like a duplicate of the error\nlevel enum - there is a todo bug to have that level removed and\nuse this instead. (crbug.com/1068454)",
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "events": [
+ {
+ "name": "playerPropertiesChanged",
+ "description": "This can be called multiple times, and can be used to set / override /\nremove player properties. A null propValue indicates removal.",
+ "parameters": [
+ {
+ "name": "playerId",
+ "$ref": "PlayerId"
+ },
+ {
+ "name": "properties",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerProperty"
+ }
+ }
+ ]
+ },
+ {
+ "name": "playerEventsAdded",
+ "description": "Send events as a list, allowing them to be batched on the browser for less\ncongestion. If batched, events must ALWAYS be in chronological order.",
+ "parameters": [
+ {
+ "name": "playerId",
+ "$ref": "PlayerId"
+ },
+ {
+ "name": "events",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerEvent"
+ }
+ }
+ ]
+ },
+ {
+ "name": "playerMessagesLogged",
+ "description": "Send a list of any messages that need to be delivered.",
+ "parameters": [
+ {
+ "name": "playerId",
+ "$ref": "PlayerId"
+ },
+ {
+ "name": "messages",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerMessage"
+ }
+ }
+ ]
+ },
+ {
+ "name": "playerErrorsRaised",
+ "description": "Send a list of any errors that need to be delivered.",
+ "parameters": [
+ {
+ "name": "playerId",
+ "$ref": "PlayerId"
+ },
+ {
+ "name": "errors",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerError"
+ }
+ }
+ ]
+ },
+ {
+ "name": "playersCreated",
+ "description": "Called whenever a player is created, or when a new agent joins and receives\na list of active players. If an agent is restored, it will receive the full\nlist of player ids and all events again.",
+ "parameters": [
+ {
+ "name": "players",
+ "type": "array",
+ "items": {
+ "$ref": "PlayerId"
+ }
+ }
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "name": "enable",
+ "description": "Enables the Media domain"
+ },
+ {
+ "name": "disable",
+ "description": "Disables the Media domain."
}
]
}
diff --git a/generator/generate.py b/generator/generate.py
index 6f2d9d3..928adec 100644
--- a/generator/generate.py
+++ b/generator/generate.py
@@ -90,7 +90,7 @@ def docstring(description: typing.Optional[str]) -> str:
return ''
description = escape_backticks(description)
- return dedent("'''\n{}\n'''").format(description)
+ return dedent("r'''\n{}\n'''").format(description)
def is_builtin(name: str) -> bool:
@@ -596,7 +596,8 @@ def generate_code(self) -> str:
if self.parameters:
code += '\n'
code += indent(
- ',\n'.join(p.generate_code() for p in self.parameters), 8)
+ ',\n'.join([p.generate_code() for p in self.parameters if not p.optional] + [p.generate_code() for p in self.parameters if p.optional]),
+ 8)
code += '\n'
code += indent(ret, 4)
else:
@@ -951,6 +952,38 @@ def generate_docs(docs_path, domains):
f.write(domain.generate_sphinx())
+def patchCDP(domains):
+ '''Patch up CDP errors. It's easier to patch that here than it is to modify the generator code.'''
+
+ # 1. DOM includes an erroneous $ref that refers to itself.
+ # 2. Page includes an event with an extraneous backtick in the description.
+ # 3. Network.requestWillBeSent.redirectHasExtraInfo is not marked as optional but it is not present in all events
+ # 4. Network.responseReceived.hasExtraInfo is not marked as optional but it is not present in all events
+ for domain in domains:
+ if domain.domain == 'DOM':
+ for cmd in domain.commands:
+ if cmd.name == 'resolveNode':
+ # Patch 1
+ cmd.parameters[1].ref = 'BackendNodeId'
+ elif domain.domain == 'Page':
+ for event in domain.events:
+ if event.name == 'screencastVisibilityChanged':
+ # Patch 2
+ event.description = event.description.replace('`', '')
+ elif domain.domain == 'Network':
+ for event in domain.events:
+ if event.name == 'requestWillBeSent':
+ for param in event.parameters:
+ if param.name == 'redirectHasExtraInfo':
+ # Patch 3
+ param.optional = True
+ if event.name == 'responseReceived':
+ for param in event.parameters:
+ if param.name == 'hasExtraInfo':
+ # Patch 4
+ param.optional = True
+
+
def main():
''' Main entry point. '''
here = Path(__file__).parent.resolve()
@@ -973,21 +1006,7 @@ def main():
domains.extend(parse(json_path, output_path))
domains.sort(key=operator.attrgetter('domain'))
- # Patch up CDP errors. It's easier to patch that here than it is to modify
- # the generator code.
- # 1. DOM includes an erroneous $ref that refers to itself.
- # 2. Page includes an event with an extraneous backtick in the description.
- for domain in domains:
- if domain.domain == 'DOM':
- for cmd in domain.commands:
- if cmd.name == 'resolveNode':
- # Patch 1
- cmd.parameters[1].ref = 'BackendNodeId'
- elif domain.domain == 'Page':
- for event in domain.events:
- if event.name == 'screencastVisibilityChanged':
- # Patch 2
- event.description = event.description.replace('`', '')
+ patchCDP(domains)
for domain in domains:
logger.info('Generating module: %s → %s.py', domain.domain,
diff --git a/generator/js_protocol.json b/generator/js_protocol.json
index 004daa2..727d69e 100644
--- a/generator/js_protocol.json
+++ b/generator/js_protocol.json
@@ -157,6 +157,26 @@
}
]
},
+ {
+ "id": "LocationRange",
+ "description": "Location range within one script.",
+ "experimental": true,
+ "type": "object",
+ "properties": [
+ {
+ "name": "scriptId",
+ "$ref": "Runtime.ScriptId"
+ },
+ {
+ "name": "start",
+ "$ref": "ScriptPosition"
+ },
+ {
+ "name": "end",
+ "$ref": "ScriptPosition"
+ }
+ ]
+ },
{
"id": "CallFrame",
"description": "JavaScript call frame. Array of call frames form the call stack.",
@@ -227,7 +247,8 @@
"block",
"script",
"eval",
- "module"
+ "module",
+ "wasm-expression-stack"
]
},
{
@@ -302,6 +323,39 @@
]
}
]
+ },
+ {
+ "id": "ScriptLanguage",
+ "description": "Enum of possible script languages.",
+ "type": "string",
+ "enum": [
+ "JavaScript",
+ "WebAssembly"
+ ]
+ },
+ {
+ "id": "DebugSymbols",
+ "description": "Debug symbols available for a wasm script.",
+ "type": "object",
+ "properties": [
+ {
+ "name": "type",
+ "description": "Type of the debug symbols.",
+ "type": "string",
+ "enum": [
+ "None",
+ "SourceMap",
+ "EmbeddedDWARF",
+ "ExternalDWARF"
+ ]
+ },
+ {
+ "name": "externalURL",
+ "description": "URL of the external symbol source.",
+ "optional": true,
+ "type": "string"
+ }
+ ]
}
],
"commands": [
@@ -335,7 +389,7 @@
"parameters": [
{
"name": "maxScriptsCacheSize",
- "description": "The maximum size in bytes of collected scripts (not referenced by other heap objects)\nthe debugger can hold. Puts no limit if paramter is omitted.",
+ "description": "The maximum size in bytes of collected scripts (not referenced by other heap objects)\nthe debugger can hold. Puts no limit if parameter is omitted.",
"experimental": true,
"optional": true,
"type": "number"
@@ -469,7 +523,32 @@
"returns": [
{
"name": "scriptSource",
- "description": "Script source.",
+ "description": "Script source (empty in case of Wasm bytecode).",
+ "type": "string"
+ },
+ {
+ "name": "bytecode",
+ "description": "Wasm bytecode. (Encoded as a base64 string when passed over JSON)",
+ "optional": true,
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "getWasmBytecode",
+ "description": "This command is deprecated. Use getScriptSource instead.",
+ "deprecated": true,
+ "parameters": [
+ {
+ "name": "scriptId",
+ "description": "Id of the Wasm script to get source for.",
+ "$ref": "Runtime.ScriptId"
+ }
+ ],
+ "returns": [
+ {
+ "name": "bytecode",
+ "description": "Script source. (Encoded as a base64 string when passed over JSON)",
"type": "string"
}
]
@@ -498,6 +577,7 @@
{
"name": "pauseOnAsyncCall",
"experimental": true,
+ "deprecated": true,
"parameters": [
{
"name": "parentStackTraceId",
@@ -519,6 +599,7 @@
{
"name": "restartFrame",
"description": "Restarts particular call frame from the beginning.",
+ "deprecated": true,
"parameters": [
{
"name": "callFrameId",
@@ -552,7 +633,15 @@
},
{
"name": "resume",
- "description": "Resumes JavaScript execution."
+ "description": "Resumes JavaScript execution.",
+ "parameters": [
+ {
+ "name": "terminateOnResume",
+ "description": "Set to true to terminate execution upon resuming execution. In contrast\nto Runtime.terminateExecution, this will allows to execute further\nJavaScript (i.e. via evaluation) until execution of the paused code\nis actually resumed, at which point termination is triggered.\nIf execution is currently not paused, this parameter has no effect.",
+ "optional": true,
+ "type": "boolean"
+ }
+ ]
},
{
"name": "searchInContent",
@@ -909,10 +998,20 @@
"parameters": [
{
"name": "breakOnAsyncCall",
- "description": "Debugger will issue additional Debugger.paused notification if any async task is scheduled\nbefore next pause.",
+ "description": "Debugger will pause on the execution of the first async task which was scheduled\nbefore next pause.",
"experimental": true,
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "skipList",
+ "description": "The skipList specifies location ranges that should be skipped on step into.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "LocationRange"
+ }
}
]
},
@@ -922,7 +1021,19 @@
},
{
"name": "stepOver",
- "description": "Steps over the statement."
+ "description": "Steps over the statement.",
+ "parameters": [
+ {
+ "name": "skipList",
+ "description": "The skipList specifies location ranges that should be skipped on step over.",
+ "experimental": true,
+ "optional": true,
+ "type": "array",
+ "items": {
+ "$ref": "LocationRange"
+ }
+ }
+ ]
}
],
"events": [
@@ -961,6 +1072,7 @@
"enum": [
"ambiguous",
"assert",
+ "CSPViolation",
"debugCommand",
"DOM",
"EventListener",
@@ -1002,8 +1114,9 @@
},
{
"name": "asyncCallStackTraceId",
- "description": "Just scheduled async call will have this stack trace as parent stack during async execution.\nThis field is available only after `Debugger.stepInto` call with `breakOnAsynCall` flag.",
+ "description": "Never present, will be removed.",
"experimental": true,
+ "deprecated": true,
"optional": true,
"$ref": "Runtime.StackTraceId"
}
@@ -1093,6 +1206,27 @@
"experimental": true,
"optional": true,
"$ref": "Runtime.StackTrace"
+ },
+ {
+ "name": "codeOffset",
+ "description": "If the scriptLanguage is WebAssembly, the code section offset in the module.",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "scriptLanguage",
+ "description": "The language of the script.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "Debugger.ScriptLanguage"
+ },
+ {
+ "name": "embedderName",
+ "description": "The name the embedder supplied for this script.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
}
]
},
@@ -1183,6 +1317,34 @@
"experimental": true,
"optional": true,
"$ref": "Runtime.StackTrace"
+ },
+ {
+ "name": "codeOffset",
+ "description": "If the scriptLanguage is WebAssembly, the code section offset in the module.",
+ "experimental": true,
+ "optional": true,
+ "type": "integer"
+ },
+ {
+ "name": "scriptLanguage",
+ "description": "The language of the script.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "Debugger.ScriptLanguage"
+ },
+ {
+ "name": "debugSymbols",
+ "description": "If the scriptLanguage is WebASsembly, the source of debug symbols for the module.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "Debugger.DebugSymbols"
+ },
+ {
+ "name": "embedderName",
+ "description": "The name the embedder supplied for this script.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
}
]
}
@@ -1380,6 +1542,17 @@
"description": "If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken\nwhen the tracking is stopped.",
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "treatGlobalObjectsAsRoots",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "captureNumericValue",
+ "description": "If true, numerical values are included in the snapshot",
+ "optional": true,
+ "type": "boolean"
}
]
},
@@ -1391,6 +1564,18 @@
"description": "If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken.",
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "treatGlobalObjectsAsRoots",
+ "description": "If true, a raw snapshot without artificial roots will be generated",
+ "optional": true,
+ "type": "boolean"
+ },
+ {
+ "name": "captureNumericValue",
+ "description": "If true, numerical values are included in the snapshot",
+ "optional": true,
+ "type": "boolean"
}
]
}
@@ -1753,6 +1938,19 @@
"description": "Collect block-based coverage.",
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "allowTriggeredUpdates",
+ "description": "Allow the backend to send updates on its own initiative",
+ "optional": true,
+ "type": "boolean"
+ }
+ ],
+ "returns": [
+ {
+ "name": "timestamp",
+ "description": "Monotonically increasing time (in seconds) when the coverage update was taken in the backend.",
+ "type": "number"
}
]
},
@@ -1791,6 +1989,11 @@
"items": {
"$ref": "ScriptCoverage"
}
+ },
+ {
+ "name": "timestamp",
+ "description": "Monotonically increasing time (in seconds) when the coverage update was taken in the backend.",
+ "type": "number"
}
]
},
@@ -1855,6 +2058,31 @@
"type": "string"
}
]
+ },
+ {
+ "name": "preciseCoverageDeltaUpdate",
+ "description": "Reports coverage delta since the last poll (either from an event like this, or from\n`takePreciseCoverage` for the current isolate. May only be sent if precise code\ncoverage has been started. This event can be trigged by the embedder to, for example,\ntrigger collection of coverage data immediately at a certain point in time.",
+ "experimental": true,
+ "parameters": [
+ {
+ "name": "timestamp",
+ "description": "Monotonically increasing time (in seconds) when the coverage update was taken in the backend.",
+ "type": "number"
+ },
+ {
+ "name": "occasion",
+ "description": "Identifier for distinguishing coverage events.",
+ "type": "string"
+ },
+ {
+ "name": "result",
+ "description": "Coverage data for the current isolate.",
+ "type": "array",
+ "items": {
+ "$ref": "ScriptCoverage"
+ }
+ }
+ ]
}
]
},
@@ -1899,7 +2127,7 @@
},
{
"name": "subtype",
- "description": "Object subtype hint. Specified for `object` type values only.",
+ "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": [
@@ -1919,7 +2147,9 @@
"promise",
"typedarray",
"arraybuffer",
- "dataview"
+ "dataview",
+ "webassemblymemory",
+ "wasmvalue"
]
},
{
@@ -2023,7 +2253,14 @@
"weakset",
"iterator",
"generator",
- "error"
+ "error",
+ "proxy",
+ "promise",
+ "typedarray",
+ "arraybuffer",
+ "dataview",
+ "webassemblymemory",
+ "wasmvalue"
]
},
{
@@ -2111,7 +2348,14 @@
"weakset",
"iterator",
"generator",
- "error"
+ "error",
+ "proxy",
+ "promise",
+ "typedarray",
+ "arraybuffer",
+ "dataview",
+ "webassemblymemory",
+ "wasmvalue"
]
}
]
@@ -2230,6 +2474,19 @@
{
"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"
}
]
@@ -2284,6 +2541,12 @@
"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.",
@@ -2346,6 +2609,13 @@
"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"
}
]
},
@@ -2552,6 +2822,13 @@
"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"
}
],
"returns": [
@@ -2650,7 +2927,7 @@
},
{
"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.",
+ "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"
},
@@ -2681,7 +2958,7 @@
},
{
"name": "throwOnSideEffect",
- "description": "Whether to throw an exception if side effect cannot be ruled out during evaluation.",
+ "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"
@@ -2692,6 +2969,34 @@
"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"
}
],
"returns": [
@@ -2765,6 +3070,13 @@
"experimental": true,
"optional": true,
"type": "boolean"
+ },
+ {
+ "name": "nonIndexedPropertiesOnly",
+ "description": "If true, returns non-indexed properties only.",
+ "experimental": true,
+ "optional": true,
+ "type": "boolean"
}
],
"returns": [
@@ -2978,7 +3290,7 @@
},
{
"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.\nIf executionContextId is specified, adds binding only on global object of\ngiven execution context.\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.",
+ "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.",
"experimental": true,
"parameters": [
{
@@ -2987,8 +3299,17 @@
},
{
"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.",
+ "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`.",
+ "experimental": true,
+ "optional": true,
+ "type": "string"
}
]
},
@@ -3155,6 +3476,13 @@
{
"name": "hints",
"type": "object"
+ },
+ {
+ "name": "executionContextId",
+ "description": "Identifier of the context where the call was made.",
+ "experimental": true,
+ "optional": true,
+ "$ref": "ExecutionContextId"
}
]
}
diff --git a/generator/test_generate.py b/generator/test_generate.py
index e8b2344..ef99854 100644
--- a/generator/test_generate.py
+++ b/generator/test_generate.py
@@ -25,7 +25,7 @@ def test_docstring():
"widgets\n- from 'activedescendant' to 'owns' - relationships " \
"between elements other than parent/child/sibling."
expected = dedent("""\
- '''
+ r'''
Values of AXProperty name:
- from 'busy' to 'roledescription': states which apply to every AX node
- from 'live' to 'root': attributes which apply to nodes in live regions
@@ -40,13 +40,23 @@ def test_docstring():
def test_escape_docstring():
description = 'Escape a `Backtick` and some `Backtick`s.'
expected = dedent("""\
- '''
+ r'''
Escape a ``Backtick`` and some ``Backtick``'s.
'''""")
actual = docstring(description)
assert expected == actual
+def test_escape_zero_char():
+ description = r'String is terminated by \0 character'
+ expected = dedent("""\
+ r'''
+ String is terminated by \\0 character
+ '''""")
+ actual = docstring(description)
+ assert expected == actual
+
+
def test_cdp_primitive_type():
json_type = {
"id": "AXNodeId",
@@ -55,7 +65,7 @@ def test_cdp_primitive_type():
}
expected = dedent("""\
class AXNodeId(str):
- '''
+ r'''
Unique accessibility node identifier.
'''
def to_json(self) -> str:
@@ -84,7 +94,7 @@ def test_cdp_array_of_primitive_type():
}
expected = dedent("""\
class ArrayOfStrings(list):
- '''
+ r'''
Index of the string in the strings table.
'''
def to_json(self) -> typing.List[StringIndex]:
@@ -118,7 +128,7 @@ def test_cdp_enum_type():
}
expected = dedent("""\
class AXValueSourceType(enum.Enum):
- '''
+ r'''
Enum of possible property sources.
'''
ATTRIBUTE = "attribute"
@@ -180,7 +190,7 @@ def test_cdp_class_type():
expected = dedent("""\
@dataclass
class AXValue:
- '''
+ r'''
A single computed AX property.
'''
#: The type of this value.
@@ -269,7 +279,7 @@ def get_partial_ax_tree(
object_id: typing.Optional[runtime.RemoteObjectId] = None,
fetch_relatives: typing.Optional[bool] = None
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,typing.List[AXNode]]:
- '''
+ r'''
Fetches the accessibility node and partial accessibility tree for this DOM node, if it exists.
**EXPERIMENTAL**
@@ -308,7 +318,7 @@ def test_cdp_command_no_params_or_returns():
}
expected = dedent("""\
def disable() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
- '''
+ r'''
Disables the accessibility domain.
'''
cmd_dict: T_JSON_DICT = {
@@ -344,7 +354,7 @@ def test_cdp_command_return_primitive():
def get_current_time(
id_: str
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,float]:
- '''
+ r'''
Returns the current time of the an animation.
:param id_: Id of animation.
@@ -382,7 +392,7 @@ def test_cdp_command_return_array_of_primitive():
}
expected = dedent("""\
def get_browser_command_line() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,typing.List[str]]:
- '''
+ r'''
Returns the command line switches for the browser process if, and only if
--enable-automation is on the commandline.
@@ -420,7 +430,7 @@ def test_cdp_command_array_of_primitive_parameter():
def release_animations(
animations: typing.List[str]
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
- '''
+ r'''
Releases a set of animations to no longer be manipulated.
:param animations: List of animation ids to seek.
@@ -461,7 +471,7 @@ def test_cdp_command_ref_parameter():
def resolve_animation(
animation_id: str
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,runtime.RemoteObject]:
- '''
+ r'''
Gets the remote object of the Animation.
:param animation_id: Animation id.
@@ -540,7 +550,7 @@ def get_encoded_response(
quality: typing.Optional[float] = None,
size_only: typing.Optional[bool] = None
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,typing.Tuple[typing.Optional[str], int, int]]:
- '''
+ r'''
Returns the response body and size if it were re-encoded with the specified settings. Only
applies to images.
@@ -608,7 +618,7 @@ def grant_permissions(
permissions: typing.List[PermissionType],
browser_context_id: typing.Optional[target.BrowserContextID] = None
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
- '''
+ r'''
Grant specific permissions to the given origin and reject all others.
**EXPERIMENTAL**
@@ -652,7 +662,7 @@ def test_cdp_event():
@event_class('BackgroundService.recordingStateChanged')
@dataclass
class RecordingStateChanged:
- '''
+ r'''
Called when the recording state for the service has been updated.
'''
is_recording: bool
@@ -704,7 +714,7 @@ def test_cdp_event_parameter_docs():
@event_class('Page.windowOpen')
@dataclass
class WindowOpen:
- '''
+ r'''
Fired when a new window is going to be opened, via window.open(), link click, form submission,
etc.
'''