Source code

Revision control

Copy as Markdown

Other Tools

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// The `Description` below is imported from Chromium Code.
// TODO(ato): We send back a description of the protocol
// when the user makes the initial HTTP request,
// but the following is pure fiction.
const Description = {
"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": [
"figcaption",
"label",
"labelfor",
"labelwrapped",
"legend",
"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: from 'busy' to 'roledescription' - states which apply to every AX\nnode, from 'live' to 'root' - attributes which apply to nodes in live regions, from\n'autocomplete' to 'valuetext' - attributes which apply to widgets, from 'checked' to 'selected'\n- states which apply to widgets, from 'activedescendant' to 'owns' - relationships between\nelements 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": "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": "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"
}
]
}
],
"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 nodes 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",
"experimental": true,
"returns": [
{
"name": "nodes",
"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": "ApplicationCache",
"experimental": true,
"types": [
{
"id": "ApplicationCacheResource",
"description": "Detailed application cache resource information.",
"type": "object",
"properties": [
{
"name": "url",
"description": "Resource url.",
"type": "string"
},
{
"name": "size",
"description": "Resource size.",
"type": "integer"
},
{
"name": "type",
"description": "Resource type.",
"type": "string"
}
]
},
{
"id": "ApplicationCache",
"description": "Detailed application cache information.",
"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": "resources",
"description": "Application cache resources.",
"type": "array",
"items": {
"$ref": "ApplicationCacheResource"
}
}
]
},
{
"id": "FrameWithManifest",
"description": "Frame identifier - manifest URL pair.",
"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."
},
{
"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"
}
]
},
{
"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"
}
}
]
},
{
"name": "getManifestForFrame",
"description": "Returns manifest URL for document in the given frame.",
"parameters": [
{
"name": "frameId",
"description": "Identifier of the frame containing document whose manifest is retrieved.",
"$ref": "Page.FrameId"
}
],
"returns": [
{
"name": "manifestURL",
"description": "Manifest URL for document in the given frame.",
"type": "string"
}
]
}
],
"events": [
{
"name": "applicationCacheStatusUpdated",
"parameters": [
{
"name": "frameId",
"description": "Identifier of the frame containing document whose application cache updated status.",
"$ref": "Page.FrameId"
},
{
"name": "manifestURL",
"description": "Manifest URL.",
"type": "string"
},
{
"name": "status",
"description": "Updated application cache status.",
"type": "integer"
}
]
},
{
"name": "networkStateUpdated",
"parameters": [
{
"name": "isNowOnline",
"type": "boolean"
}
]
}
]
},
{
"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": [
{
"name": "requestId",
"description": "Identifier of the network request to get content for.",
"$ref": "Network.RequestId"
},
{
"name": "encoding",
"description": "The encoding to use.",
"type": "string",
"enum": [
"webp",
"jpeg",
"png"
]
},
{
"name": "quality",
"description": "The quality of the encoding (0-1). (defaults to 1)",
"optional": true,
"type": "number"
},
{
"name": "sizeOnly",
"description": "Whether to only return the size information (defaults to false).",
"optional": true,
"type": "boolean"
}
],
"returns": [
{
"name": "body",
"description": "The encoded body as a base64 string. Omitted if sizeOnly is true.",
"optional": true,
"type": "binary"
},
{
"name": "originalSize",
"description": "Size before re-encoding.",
"type": "integer"
},
{
"name": "encodedSize",
"description": "Size after re-encoding.",
"type": "integer"
}
]
}
]
},
{
"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"
]
},
{
"id": "Bounds",
"description": "Browser window bounds information",
"experimental": true,
"type": "object",
"properties": [
{
"name": "left",
"description": "The offset from the left edge of the screen to the window in pixels.",
"optional": true,
"type": "integer"
},
{
"name": "top",
"description": "The offset from the top edge of the screen to the window in pixels.",
"optional": true,
"type": "integer"
},
{
"name": "width",
"description": "The window width in pixels.",
"optional": true,
"type": "integer"
},
{
"name": "height",
"description": "The window height in pixels.",
"optional": true,
"type": "integer"
},
{
"name": "windowState",
"description": "The window state. Default to normal.",
"optional": true,
"$ref": "WindowState"
}
]
},
{
"id": "PermissionType",
"experimental": true,
"type": "string",
"enum": [
"accessibilityEvents",
"audioCapture",
"backgroundSync",
"backgroundFetch",
"clipboardRead",
"clipboardWrite",
"durableStorage",
"flash",
"geolocation",
"midi",
"midiSysex",
"notifications",
"paymentHandler",
"protectedMediaIdentifier",
"sensors",
"videoCapture"
]
},
{
"id": "Bucket",
"description": "Chrome histogram bucket.",
"experimental": true,
"type": "object",
"properties": [
{
"name": "low",
"description": "Minimum value (inclusive).",
"type": "integer"
},
{
"name": "high",
"description": "Maximum value (exclusive).",
"type": "integer"
},
{
"name": "count",
"description": "Number of samples.",
"type": "integer"
}
]
},
{
"id": "Histogram",
"description": "Chrome histogram.",
"experimental": true,
"type": "object",
"properties": [
{
"name": "name",
"description": "Name.",
"type": "string"
},
{
"name": "sum",
"description": "Sum of sample values.",
"type": "integer"
},
{
"name": "count",
"description": "Total number of samples.",
"type": "integer"
},
{
"name": "buckets",
"description": "Buckets.",
"type": "array",
"items": {
"$ref": "Bucket"
}
}
]
}
],
"commands": [
{
"name": "grantPermissions",
"description": "Grant specific permissions to the given origin and reject all others.",
"experimental": true,
"parameters": [
{
"name": "origin",
"type": "string"
},
{
"name": "permissions",
"type": "array",
"items": {
"$ref": "PermissionType"
}
},
{
"name": "browserContextId",
"description": "BrowserContext to override permissions. When omitted, default browser context is used.",
"optional": true,
"$ref": "Target.BrowserContextID"
}
]
},
{
"name": "resetPermissions",
"description": "Reset all permission management for all origins.",
"experimental": true,
"parameters": [
{
"name": "browserContextId",
"description": "BrowserContext to reset permissions. When omitted, default browser context is used.",
"optional": true,
"$ref": "Target.BrowserContextID"
}
]
},
{
"name": "close",
"description": "Close browser gracefully."
},
{
"name": "crash",
"description": "Crashes browser on the main thread.",
"experimental": true
},
{
"name": "getVersion",
"description": "Returns version information.",
"returns": [
{
"name": "protocolVersion",
"description": "Protocol version.",
"type": "string"
},
{
"name": "product",
"description": "Product name.",
"type": "string"
},
{
"name": "revision",
"description": "Product revision.",
"type": "string"
},
{
"name": "userAgent",
"description": "User-Agent.",
"type": "string"
},
{
"name": "jsVersion",
"description": "V8 version.",
"type": "string"
}
]
},
{
"name": "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"
}
}
]
},
{
"name": "getHistograms",
"description": "Get Chrome histograms.",
"experimental": true,
"parameters": [
{
"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": "histograms",
"description": "Histograms.",
"type": "array",
"items": {
"$ref": "Histogram"
}
}
]
},
{
"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": [
{
"name": "targetId",
"description": "Devtools agent host id. If called as a part of the session, associated targetId is used.",
"optional": true,
"$ref": "Target.TargetID"
}
],
"returns": [
{
"name": "windowId",
"description": "Browser window id.",
"$ref": "WindowID"
},
{
"name": "bounds",
"description": "Bounds information of the window. When window state is 'minimized', the restored window\nposition and size are returned.",
"$ref": "Bounds"
}
]
},
{
"name": "setWindowBounds",
"description": "Set position and/or size of the browser window.",
"experimental": true,
"parameters": [
{
"name": "windowId",
"description": "Browser window id.",
"$ref": "WindowID"
},
{
"name": "bounds",
"description": "New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined\nwith 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged.",
"$ref": "Bounds"
}
]
},
{
"name": "setDockTile",
"description": "Set dock tile details, platform-specific.",
"experimental": true,
"parameters": [
{
"name": "badgeLabel",
"optional": true,
"type": "string"
},
{
"name": "image",
"description": "Png encoded image.",
"optional": true,
"type": "binary"
}
]
}
]
},
{
"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.",
"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": "RuleMatch"
}
}
]
},
{
"id": "InheritedStyleEntry",
"description": "Inherited CSS rule collection from ancestor node.",
"type": "object",
"properties": [
{
"name": "inlineStyle",
"description": "The ancestor node's inline style, if any, in the style inheritance chain.",
"optional": true,
"$ref": "CSSStyle"
},
{
"name": "matchedCSSRules",
"description": "Matches of CSS rules matching the ancestor node in the style inheritance chain.",
"type": "array",
"items": {
"$ref": "RuleMatch"
}
}
]
},
{
"id": "RuleMatch",
"description": "Match data for a CSS rule.",
"type": "object",
"properties": [
{
"name": "rule",
"description": "CSS rule in the match.",
"$ref": "CSSRule"
},
{
"name": "matchingSelectors",
"description": "Matching selector indices in the rule's selectorList selectors (0-based).",
"type": "array",
"items": {
"type": "integer"
}
}
]
},
{
"id": "Value",
"description": "Data for a simple selector (these are delimited by commas in a selector list).",
"type": "object",
"properties": [
{
"name": "text",
"description": "Value text.",
"type": "string"
},
{
"name": "range",
"description": "Value range in the underlying resource (if available).",
"optional": true,
"$ref": "SourceRange"
}
]
},
{
"id": "SelectorList",
"description": "Selector list data.",
"type": "object",
"properties": [
{
"name": "selectors",
"description": "Selectors in the list.",
"type": "array",
"items": {
"$ref": "Value"
}
},
{
"name": "text",
"description": "Rule selector text.",
"type": "string"
}
]
},
{
"id": "CSSStyleSheetHeader",
"description": "CSS stylesheet metainformation.",
"type": "object",
"properties": [
{
"name": "styleSheetId",
"description": "The stylesheet identifier.",
"$ref": "StyleSheetId"
},
{
"name": "frameId",
"description": "Owner frame identifier.",
"$ref": "Page.FrameId"
},
{
"name": "sourceURL",
"description": "Stylesheet resource URL.",
"type": "string"
},
{
"name": "sourceMapURL",
"description": "URL of source map associated with the stylesheet (if any).",
"optional": true,
"type": "string"
},
{
"name": "origin",
"description": "Stylesheet origin.",
"$ref": "StyleSheetOrigin"
},
{
"name": "title",
"description": "Stylesheet title.",
"type": "string"
},
{
"name": "ownerNode",
"description": "The backend id for the owner node of the stylesheet.",
"optional": true,
"$ref": "DOM.BackendNodeId"
},
{
"name": "disabled",
"description": "Denotes whether the stylesheet is disabled.",
"type": "boolean"
},
{
"name": "hasSourceURL",
"description": "Whether the sourceURL field value comes from the sourceURL comment.",
"optional": true,
"type": "boolean"
},
{
"name": "isInline",
"description": "Whether this stylesheet is created for STYLE tag by parser. This flag is not set for\ndocument.written STYLE tags.",
"type": "boolean"
},
{
"name": "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"
}
]
},
{
"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": "selectorList",
"description": "Rule selector data.",
"$ref": "SelectorList"
},
{
"name": "origin",
"description": "Parent stylesheet's origin.",
"$ref": "StyleSheetOrigin"
},
{
"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.",
"optional": true,
"type": "array",
"items": {
"$ref": "CSSMedia"
}
}
]
},
{
"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": "startOffset",
"description": "Offset of the start of the rule (including selector) from the beginning of the stylesheet.",
"type": "number"
},
{
"name": "endOffset",
"description": "Offset of the end of the rule body from the beginning of the stylesheet.",
"type": "number"
},
{
"name": "used",
"description": "Indicates whether the rule was actually used by some element in the page.",
"type": "boolean"
}
]
},
{
"id": "SourceRange",
"description": "Text range within a resource. All numbers are zero-based.",
"type": "object",
"properties": [
{
"name": "startLine",
"description": "Start line of range.",
"type": "integer"
},
{
"name": "startColumn",
"description": "Start column of range (inclusive).",
"type": "integer"
},
{
"name": "endLine",
"description": "End line of range",
"type": "integer"
},
{
"name": "endColumn",
"description": "End column of range (exclusive).",
"type": "integer"
}
]
},
{
"id": "ShorthandEntry",
"type": "object",
"properties": [
{
"name": "name",
"description": "Shorthand name.",
"type": "string"
},
{
"name": "value",
"description": "Shorthand value.",
"type": "string"
},
{
"name": "important",
"description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
"optional": true,
"type": "boolean"
}
]
},
{
"id": "CSSComputedStyleProperty",
"type": "object",
"properties": [
{
"name": "name",
"description": "Computed style property name.",
"type": "string"
},
{
"name": "value",
"description": "Computed style property value.",
"type": "string"
}
]
},
{
"id": "CSSStyle",
"description": "CSS style representation.",
"type": "object",
"properties": [
{
"name": "styleSheetId",
"description": "The css style sheet identifier (absent for user agent stylesheet and user-specified\nstylesheet rules) this rule came from.",
"optional": true,
"$ref": "StyleSheetId"
},
{
"name": "cssProperties",
"description": "CSS properties in the style.",
"type": "array",
"items": {
"$ref": "CSSProperty"
}
},
{
"name": "shorthandEntries",
"description": "Computed values for all shorthands found in the style.",
"type": "array",
"items": {
"$ref": "ShorthandEntry"
}
},
{
"name": "cssText",
"description": "Style declaration text (if available).",
"optional": true,
"type": "string"
},
{
"name": "range",
"description": "Style declaration range in the enclosing stylesheet (if available).",
"optional": true,
"$ref": "SourceRange"
}
]
},
{
"id": "CSSProperty",
"description": "CSS property declaration data.",
"type": "object",
"properties": [
{
"name": "name",
"description": "The property name.",
"type": "string"
},
{
"name": "value",
"description": "The property value.",
"type": "string"
},
{
"name": "important",
"description": "Whether the property has \"!important\" annotation (implies `false` if absent).",
"optional": true,
"type": "boolean"
},
{
"name": "implicit",
"description": "Whether the property is implicit (implies `false` if absent).",
"optional": true,
"type": "boolean"
},
{
"name": "text",
"description": "The full property text as specified in the style.",
"optional": true,
"type": "string"
},
{
"name": "parsedOk",
"description": "Whether the property is understood by the browser (implies `true` if absent).",
"optional": true,
"type": "boolean"
},
{
"name": "disabled",
"description": "Whether the property is disabled by the user (present for source-based properties only).",
"optional": true,
"type": "boolean"
},
{
"name": "range",
"description": "The entire property range in the enclosing style declaration (if available).",
"optional": true,