@luminati-io/chrome-remote-interface
Version:
Chrome Debugging Protocol interface
1,151 lines • 1.26 MB
JSON
{
"version": {
"major": "1",
"minor": "3"
},
"domains": [
{
"domain": "Accessibility",
"experimental": true,
"dependencies": [
"DOM"
],
"types": [
{
"id": "AXNodeId",
"description": "Unique accessibility node identifier.",
"type": "string"
},
{
"id": "AXValueType",
"description": "Enum of possible property types.",
"type": "string",
"enum": [
"boolean",
"tristate",
"booleanOrUndefined",
"idref",
"idrefList",
"integer",
"node",
"nodeList",
"number",
"string",
"computedString",
"token",
"tokenList",
"domRelation",
"role",
"internalRole",
"valueUndefined"
]
},
{
"id": "AXValueSourceType",
"description": "Enum of possible property sources.",
"type": "string",
"enum": [
"attribute",
"implicit",
"style",
"contents",
"placeholder",
"relatedElement"
]
},
{
"id": "AXValueNativeSourceType",
"description": "Enum of possible native property sources (as a subtype of a particular AXValueSourceType).",
"type": "string",
"enum": [
"description",
"figcaption",
"label",
"labelfor",
"labelwrapped",
"legend",
"rubyannotation",
"tablecaption",
"title",
"other"
]
},
{
"id": "AXValueSource",
"description": "A single source for a computed AX property.",
"type": "object",
"properties": [
{
"name": "type",
"description": "What type of source this is.",
"$ref": "AXValueSourceType"
},
{
"name": "value",
"description": "The value of this property source.",
"optional": true,
"$ref": "AXValue"
},
{
"name": "attribute",
"description": "The name of the relevant attribute, if any.",
"optional": true,
"type": "string"
},
{
"name": "attributeValue",
"description": "The value of the relevant attribute, if any.",
"optional": true,
"$ref": "AXValue"
},
{
"name": "superseded",
"description": "Whether this source is superseded by a higher priority source.",
"optional": true,
"type": "boolean"
},
{
"name": "nativeSource",
"description": "The native markup source for this value, e.g. a `<label>` element.",
"optional": true,
"$ref": "AXValueNativeSourceType"
},
{
"name": "nativeSourceValue",
"description": "The value, such as a node or node list, of the native source.",
"optional": true,
"$ref": "AXValue"
},
{
"name": "invalid",
"description": "Whether the value for this property is invalid.",
"optional": true,
"type": "boolean"
},
{
"name": "invalidReason",
"description": "Reason for the value being invalid, if it is.",
"optional": true,
"type": "string"
}
]
},
{
"id": "AXRelatedNode",
"type": "object",
"properties": [
{
"name": "backendDOMNodeId",
"description": "The BackendNodeId of the related DOM node.",
"$ref": "DOM.BackendNodeId"
},
{
"name": "idref",
"description": "The IDRef value provided, if any.",
"optional": true,
"type": "string"
},
{
"name": "text",
"description": "The text alternative of this node in the current context.",
"optional": true,
"type": "string"
}
]
},
{
"id": "AXProperty",
"type": "object",
"properties": [
{
"name": "name",
"description": "The name of this property.",
"$ref": "AXPropertyName"
},
{
"name": "value",
"description": "The value of this property.",
"$ref": "AXValue"
}
]
},
{
"id": "AXValue",
"description": "A single computed AX property.",
"type": "object",
"properties": [
{
"name": "type",
"description": "The type of this value.",
"$ref": "AXValueType"
},
{
"name": "value",
"description": "The computed value of this property.",
"optional": true,
"type": "any"
},
{
"name": "relatedNodes",
"description": "One or more related nodes, if applicable.",
"optional": true,
"type": "array",
"items": {
"$ref": "AXRelatedNode"
}
},
{
"name": "sources",
"description": "The sources which contributed to the computation of this property.",
"optional": true,
"type": "array",
"items": {
"$ref": "AXValueSource"
}
}
]
},
{
"id": "AXPropertyName",
"description": "Values of AXProperty name:\n- from 'busy' to 'roledescription': states which apply to every AX node\n- from 'live' to 'root': attributes which apply to nodes in live regions\n- from 'autocomplete' to 'valuetext': attributes which apply to widgets\n- from 'checked' to 'selected': states which apply to widgets\n- from 'activedescendant' to 'owns' - relationships between elements other than parent/child/sibling.",
"type": "string",
"enum": [
"busy",
"disabled",
"editable",
"focusable",
"focused",
"hidden",
"hiddenRoot",
"invalid",
"keyshortcuts",
"settable",
"roledescription",
"live",
"atomic",
"relevant",
"root",
"autocomplete",
"hasPopup",
"level",
"multiselectable",
"orientation",
"multiline",
"readonly",
"required",
"valuemin",
"valuemax",
"valuetext",
"checked",
"expanded",
"modal",
"pressed",
"selected",
"activedescendant",
"controls",
"describedby",
"details",
"errormessage",
"flowto",
"labelledby",
"owns"
]
},
{
"id": "AXNode",
"description": "A node in the accessibility tree.",
"type": "object",
"properties": [
{
"name": "nodeId",
"description": "Unique identifier for this node.",
"$ref": "AXNodeId"
},
{
"name": "ignored",
"description": "Whether this node is ignored for accessibility",
"type": "boolean"
},
{
"name": "ignoredReasons",
"description": "Collection of reasons why this node is hidden.",
"optional": true,
"type": "array",
"items": {
"$ref": "AXProperty"
}
},
{
"name": "role",
"description": "This `Node`'s role, whether explicit or implicit.",
"optional": true,
"$ref": "AXValue"
},
{
"name": "chromeRole",
"description": "This `Node`'s Chrome raw role.",
"optional": true,
"$ref": "AXValue"
},
{
"name": "name",
"description": "The accessible name for this `Node`.",
"optional": true,
"$ref": "AXValue"
},
{
"name": "description",
"description": "The accessible description for this `Node`.",
"optional": true,
"$ref": "AXValue"
},
{
"name": "value",
"description": "The value for this `Node`.",
"optional": true,
"$ref": "AXValue"
},
{
"name": "properties",
"description": "All other properties",
"optional": true,
"type": "array",
"items": {
"$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.",
"optional": true,
"type": "array",
"items": {
"$ref": "AXNodeId"
}
},
{
"name": "backendDOMNodeId",
"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"
}
]
}
],
"commands": [
{
"name": "disable",
"description": "Disables the accessibility domain."
},
{
"name": "enable",
"description": "Enables the accessibility domain which causes `AXNodeId`s to remain consistent between method calls.\nThis turns on accessibility for the page, which can impact performance until accessibility is disabled."
},
{
"name": "getPartialAXTree",
"description": "Fetches the accessibility node and partial accessibility tree for this DOM node, if it exists.",
"experimental": true,
"parameters": [
{
"name": "nodeId",
"description": "Identifier of the node to get the partial accessibility tree for.",
"optional": true,
"$ref": "DOM.NodeId"
},
{
"name": "backendNodeId",
"description": "Identifier of the backend node to get the partial accessibility tree for.",
"optional": true,
"$ref": "DOM.BackendNodeId"
},
{
"name": "objectId",
"description": "JavaScript object id of the node wrapper to get the partial accessibility tree for.",
"optional": true,
"$ref": "Runtime.RemoteObjectId"
},
{
"name": "fetchRelatives",
"description": "Whether to fetch this node's ancestors, siblings and children. Defaults to true.",
"optional": true,
"type": "boolean"
}
],
"returns": [
{
"name": "nodes",
"description": "The `Accessibility.AXNode` for this DOM node, if it exists, plus its ancestors, siblings and\nchildren, if requested.",
"type": "array",
"items": {
"$ref": "AXNode"
}
}
]
},
{
"name": "getFullAXTree",
"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": "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"
}
}
]
}
]
},
{
"domain": "Animation",
"experimental": true,
"dependencies": [
"Runtime",
"DOM"
],
"types": [
{
"id": "Animation",
"description": "Animation instance.",
"type": "object",
"properties": [
{
"name": "id",
"description": "`Animation`'s id.",
"type": "string"
},
{
"name": "name",
"description": "`Animation`'s name.",
"type": "string"
},
{
"name": "pausedState",
"description": "`Animation`'s internal paused state.",
"type": "boolean"
},
{
"name": "playState",
"description": "`Animation`'s play state.",
"type": "string"
},
{
"name": "playbackRate",
"description": "`Animation`'s playback rate.",
"type": "number"
},
{
"name": "startTime",
"description": "`Animation`'s start time.",
"type": "number"
},
{
"name": "currentTime",
"description": "`Animation`'s current time.",
"type": "number"
},
{
"name": "type",
"description": "Animation type of `Animation`.",
"type": "string",
"enum": [
"CSSTransition",
"CSSAnimation",
"WebAnimation"
]
},
{
"name": "source",
"description": "`Animation`'s source animation node.",
"optional": true,
"$ref": "AnimationEffect"
},
{
"name": "cssId",
"description": "A unique ID for `Animation` representing the sources that triggered this CSS\nanimation/transition.",
"optional": true,
"type": "string"
}
]
},
{
"id": "AnimationEffect",
"description": "AnimationEffect instance",
"type": "object",
"properties": [
{
"name": "delay",
"description": "`AnimationEffect`'s delay.",
"type": "number"
},
{
"name": "endDelay",
"description": "`AnimationEffect`'s end delay.",
"type": "number"
},
{
"name": "iterationStart",
"description": "`AnimationEffect`'s iteration start.",
"type": "number"
},
{
"name": "iterations",
"description": "`AnimationEffect`'s iterations.",
"type": "number"
},
{
"name": "duration",
"description": "`AnimationEffect`'s iteration duration.",
"type": "number"
},
{
"name": "direction",
"description": "`AnimationEffect`'s playback direction.",
"type": "string"
},
{
"name": "fill",
"description": "`AnimationEffect`'s fill mode.",
"type": "string"
},
{
"name": "backendNodeId",
"description": "`AnimationEffect`'s target node.",
"optional": true,
"$ref": "DOM.BackendNodeId"
},
{
"name": "keyframesRule",
"description": "`AnimationEffect`'s keyframes.",
"optional": true,
"$ref": "KeyframesRule"
},
{
"name": "easing",
"description": "`AnimationEffect`'s timing function.",
"type": "string"
}
]
},
{
"id": "KeyframesRule",
"description": "Keyframes Rule",
"type": "object",
"properties": [
{
"name": "name",
"description": "CSS keyframed animation's name.",
"optional": true,
"type": "string"
},
{
"name": "keyframes",
"description": "List of animation keyframes.",
"type": "array",
"items": {
"$ref": "KeyframeStyle"
}
}
]
},
{
"id": "KeyframeStyle",
"description": "Keyframe Style",
"type": "object",
"properties": [
{
"name": "offset",
"description": "Keyframe's time offset.",
"type": "string"
},
{
"name": "easing",
"description": "`AnimationEffect`'s timing function.",
"type": "string"
}
]
}
],
"commands": [
{
"name": "disable",
"description": "Disables animation domain notifications."
},
{
"name": "enable",
"description": "Enables animation domain notifications."
},
{
"name": "getCurrentTime",
"description": "Returns the current time of the an animation.",
"parameters": [
{
"name": "id",
"description": "Id of animation.",
"type": "string"
}
],
"returns": [
{
"name": "currentTime",
"description": "Current time of the page.",
"type": "number"
}
]
},
{
"name": "getPlaybackRate",
"description": "Gets the playback rate of the document timeline.",
"returns": [
{
"name": "playbackRate",
"description": "Playback rate for animations on page.",
"type": "number"
}
]
},
{
"name": "releaseAnimations",
"description": "Releases a set of animations to no longer be manipulated.",
"parameters": [
{
"name": "animations",
"description": "List of animation ids to seek.",
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"name": "resolveAnimation",
"description": "Gets the remote object of the Animation.",
"parameters": [
{
"name": "animationId",
"description": "Animation id.",
"type": "string"
}
],
"returns": [
{
"name": "remoteObject",
"description": "Corresponding remote object.",
"$ref": "Runtime.RemoteObject"
}
]
},
{
"name": "seekAnimations",
"description": "Seek a set of animations to a particular time within each animation.",
"parameters": [
{
"name": "animations",
"description": "List of animation ids to seek.",
"type": "array",
"items": {
"type": "string"
}
},
{
"name": "currentTime",
"description": "Set the current time of each animation.",
"type": "number"
}
]
},
{
"name": "setPaused",
"description": "Sets the paused state of a set of animations.",
"parameters": [
{
"name": "animations",
"description": "Animations to set the pause state of.",
"type": "array",
"items": {
"type": "string"
}
},
{
"name": "paused",
"description": "Paused state to set to.",
"type": "boolean"
}
]
},
{
"name": "setPlaybackRate",
"description": "Sets the playback rate of the document timeline.",
"parameters": [
{
"name": "playbackRate",
"description": "Playback rate for animations on page",
"type": "number"
}
]
},
{
"name": "setTiming",
"description": "Sets the timing of an animation node.",
"parameters": [
{
"name": "animationId",
"description": "Animation id.",
"type": "string"
},
{
"name": "duration",
"description": "Duration of the animation.",
"type": "number"
},
{
"name": "delay",
"description": "Delay of the animation.",
"type": "number"
}
]
}
],
"events": [
{
"name": "animationCanceled",
"description": "Event for when an animation has been cancelled.",
"parameters": [
{
"name": "id",
"description": "Id of the animation that was cancelled.",
"type": "string"
}
]
},
{
"name": "animationCreated",
"description": "Event for each animation that has been created.",
"parameters": [
{
"name": "id",
"description": "Id of the animation that was created.",
"type": "string"
}
]
},
{
"name": "animationStarted",
"description": "Event for animation that has been started.",
"parameters": [
{
"name": "animation",
"description": "Animation that was started.",
"$ref": "Animation"
}
]
}
]
},
{
"domain": "Audits",
"description": "Audits domain allows investigation of page violations and possible improvements.",
"experimental": true,
"dependencies": [
"Network"
],
"types": [
{
"id": "AffectedCookie",
"description": "Information about a cookie that is affected by an inspector issue.",
"type": "object",
"properties": [
{
"name": "name",
"description": "The following three properties uniquely identify a cookie",
"type": "string"
},
{
"name": "path",
"type": "string"
},
{
"name": "domain",
"type": "string"
}
]
},
{
"id": "AffectedRequest",
"description": "Information about a request that is affected by an inspector issue.",
"type": "object",
"properties": [
{
"name": "requestId",
"description": "The unique request id.",
"$ref": "Network.RequestId"
},
{
"name": "url",
"optional": true,
"type": "string"
}
]
},
{
"id": "AffectedFrame",
"description": "Information about the frame affected by an inspector issue.",
"type": "object",
"properties": [
{
"name": "frameId",
"$ref": "Page.FrameId"
}
]
},
{
"id": "CookieExclusionReason",
"type": "string",
"enum": [
"ExcludeSameSiteUnspecifiedTreatedAsLax",
"ExcludeSameSiteNoneInsecure",
"ExcludeSameSiteLax",
"ExcludeSameSiteStrict",
"ExcludeInvalidSameParty",
"ExcludeSamePartyCrossPartyContext",
"ExcludeDomainNonASCII",
"ExcludeThirdPartyCookieBlockedInFirstPartySet"
]
},
{
"id": "CookieWarningReason",
"type": "string",
"enum": [
"WarnSameSiteUnspecifiedCrossSiteContext",
"WarnSameSiteNoneInsecure",
"WarnSameSiteUnspecifiedLaxAllowUnsafe",
"WarnSameSiteStrictLaxDowngradeStrict",
"WarnSameSiteStrictCrossDowngradeStrict",
"WarnSameSiteStrictCrossDowngradeLax",
"WarnSameSiteLaxCrossDowngradeStrict",
"WarnSameSiteLaxCrossDowngradeLax",
"WarnAttributeValueExceedsMaxSize",
"WarnDomainNonASCII",
"WarnThirdPartyPhaseout"
]
},
{
"id": "CookieOperation",
"type": "string",
"enum": [
"SetCookie",
"ReadCookie"
]
},
{
"id": "CookieIssueDetails",
"description": "This information is currently necessary, as the front-end has a difficult\ntime finding a specific cookie. With this, we can convey specific error\ninformation without the cookie.",
"type": "object",
"properties": [
{
"name": "cookie",
"description": "If AffectedCookie is not set then rawCookieLine contains the raw\nSet-Cookie header string. This hints at a problem where the\ncookie line is syntactically or semantically malformed in a way\nthat no valid cookie could be created.",
"optional": true,
"$ref": "AffectedCookie"
},
{
"name": "rawCookieLine",
"optional": true,
"type": "string"
},
{
"name": "cookieWarningReasons",
"type": "array",
"items": {
"$ref": "CookieWarningReason"
}
},
{
"name": "cookieExclusionReasons",
"type": "array",
"items": {
"$ref": "CookieExclusionReason"
}
},
{
"name": "operation",
"description": "Optionally identifies the site-for-cookies and the cookie url, which\nmay be used by the front-end as additional context.",
"$ref": "CookieOperation"
},
{
"name": "siteForCookies",
"optional": true,
"type": "string"
},
{
"name": "cookieUrl",
"optional": true,
"type": "string"
},
{
"name": "request",
"optional": true,
"$ref": "AffectedRequest"
}
]
},
{
"id": "MixedContentResolutionStatus",
"type": "string",
"enum": [
"MixedContentBlocked",
"MixedContentAutomaticallyUpgraded",
"MixedContentWarning"
]
},
{
"id": "MixedContentResourceType",
"type": "string",
"enum": [
"AttributionSrc",
"Audio",
"Beacon",
"CSPReport",
"Download",
"EventSource",
"Favicon",
"Font",
"Form",
"Frame",
"Image",
"Import",
"Manifest",
"Ping",
"PluginData",
"PluginResource",
"Prefetch",
"Resource",
"Script",
"ServiceWorker",
"SharedWorker",
"Stylesheet",
"Track",
"Video",
"Worker",
"XMLHttpRequest",
"XSLT"
]
},
{
"id": "MixedContentIssueDetails",
"type": "object",
"properties": [
{
"name": "resourceType",
"description": "The type of resource causing the mixed content issue (css, js, iframe,\nform,...). Marked as optional because it is mapped to from\nblink::mojom::RequestContextType, which will be replaced\nby network::mojom::RequestDestination",
"optional": true,
"$ref": "MixedContentResourceType"
},
{
"name": "resolutionStatus",
"description": "The way the mixed content issue is being resolved.",
"$ref": "MixedContentResolutionStatus"
},
{
"name": "insecureURL",
"description": "The unsafe http url causing the mixed content issue.",
"type": "string"
},
{
"name": "mainResourceURL",
"description": "The url responsible for the call to an unsafe url.",
"type": "string"
},
{
"name": "request",
"description": "The mixed content request.\nDoes not always exist (e.g. for unsafe form submission urls).",
"optional": true,
"$ref": "AffectedRequest"
},
{
"name": "frame",
"descript