{"domains":[ { "domain": "Animation", "description": "Domain for tracking/modifying Web Animations, as well as CSS (declarative) animations and transitions.", "debuggableTypes": ["page", "web-page"], "targetTypes": ["page"], "types": [ { "id": "AnimationId", "type": "string", "description": "Unique Web Animation identifier." }, { "id": "AnimationState", "type": "string", "enum": ["ready", "delayed", "active", "canceled", "done"] }, { "id": "TrackingUpdate", "type": "object", "properties": [ { "name": "trackingAnimationId", "$ref": "AnimationId" }, { "name": "animationState", "$ref": "AnimationState" }, { "name": "nodeId", "$ref": "DOM.NodeId", "optional": true }, { "name": "animationName", "type": "string", "optional": true, "description": "Equal to the corresponding `animation-name` CSS property. Should not be provided if `transitionProperty` is also provided." }, { "name": "transitionProperty", "type": "string", "optional": true, "description": "Equal to the corresponding `transition-property` CSS property. Should not be provided if `animationName` is also provided." } ] } ], "commands": [ { "name": "startTracking", "description": "Start tracking animations. This will produce a `trackingStart` event." }, { "name": "stopTracking", "description": "Stop tracking animations. This will produce a `trackingComplete` event." } ], "events": [ { "name": "trackingStart", "description": "Dispatched after `startTracking` command.", "parameters": [ { "name": "timestamp", "type": "number" } ] }, { "name": "trackingUpdate", "description": "Fired for each phase of Web Animation.", "parameters": [ { "name": "timestamp", "type": "number" }, { "name": "event", "$ref": "TrackingUpdate" } ] }, { "name": "trackingComplete", "description": "Dispatched after `stopTracking` command.", "parameters": [ { "name": "timestamp", "type": "number" } ] } ] } , { "domain": "ApplicationCache", "debuggableTypes": ["page", "web-page"], "targetTypes": ["page"], "types": [ { "id": "ApplicationCacheResource", "type": "object", "description": "Detailed application cache resource information.", "properties": [ { "name": "url", "type": "string", "description": "Resource url." }, { "name": "size", "type": "integer", "description": "Resource size." }, { "name": "type", "type": "string", "description": "Resource type." } ] }, { "id": "ApplicationCache", "type": "object", "description": "Detailed application cache information.", "properties": [ { "name": "manifestURL", "type": "string", "description": "Manifest URL." }, { "name": "size", "type": "number", "description": "Application cache size." }, { "name": "creationTime", "type": "number", "description": "Application cache creation time." }, { "name": "updateTime", "type": "number", "description": "Application cache update time." }, { "name": "resources", "type": "array", "items": { "$ref": "ApplicationCacheResource" }, "description": "Application cache resources." } ] }, { "id": "FrameWithManifest", "type": "object", "description": "Frame identifier - manifest URL pair.", "properties": [ { "name": "frameId", "$ref": "Network.FrameId", "description": "Frame identifier." }, { "name": "manifestURL", "type": "string", "description": "Manifest URL." }, { "name": "status", "type": "integer", "description": "Application cache status." } ] } ], "commands": [ { "name": "getFramesWithManifests", "description": "Returns array of frame identifiers with manifest urls for each frame containing a document associated with some application cache.", "returns": [ { "name": "frameIds", "type": "array", "items": { "$ref": "FrameWithManifest" }, "description": "Array of frame identifiers with manifest urls for each frame containing a document associated with some application cache." } ] }, { "name": "enable", "description": "Enables application cache domain notifications." }, { "name": "disable", "description": "Disable application cache domain notifications." }, { "name": "getManifestForFrame", "description": "Returns manifest URL for document in the given frame.", "parameters": [ { "name": "frameId", "$ref": "Network.FrameId", "description": "Identifier of the frame containing document whose manifest is retrieved." } ], "returns": [ { "name": "manifestURL", "type": "string", "description": "Manifest URL for document in the given frame." } ] }, { "name": "getApplicationCacheForFrame", "description": "Returns relevant application cache data for the document in given frame.", "parameters": [ { "name": "frameId", "$ref": "Network.FrameId", "description": "Identifier of the frame containing document whose application cache is retrieved." } ], "returns": [ { "name": "applicationCache", "$ref": "ApplicationCache", "description": "Relevant application cache data for the document in given frame." } ] } ], "events": [ { "name": "applicationCacheStatusUpdated", "parameters": [ { "name": "frameId", "$ref": "Network.FrameId", "description": "Identifier of the frame containing document whose application cache updated status." }, { "name": "manifestURL", "type": "string", "description": "Manifest URL." }, { "name": "status", "type": "integer", "description": "Updated application cache status." } ] }, { "name": "networkStateUpdated", "parameters": [ { "name": "isNowOnline", "type": "boolean" } ] } ] } , { "domain": "Audit", "description": "", "version": 3, "debuggableTypes": ["itml", "javascript", "page", "service-worker", "web-page"], "targetTypes": ["itml", "javascript", "page", "service-worker", "worker"], "commands": [ { "name": "setup", "description": "Creates the `WebInspectorAudit` object that is passed to run. Must call teardown before calling setup more than once.", "parameters": [ { "name": "contextId", "$ref": "Runtime.ExecutionContextId", "optional": true, "description": "Specifies in which isolated context to run the test. Each content script lives in an isolated context and this parameter may be used to specify one of those contexts. If the parameter is omitted or 0 the evaluation will be performed in the context of the inspected page." } ] }, { "name": "run", "description": "Parses and evaluates the given test string and sends back the result. Returned values are saved to the \"audit\" object group. Call setup before and teardown after if the `WebInspectorAudit` object should be passed into the test.", "parameters": [ { "name": "test", "type": "string", "description": "Test string to parse and evaluate." }, { "name": "contextId", "$ref": "Runtime.ExecutionContextId", "optional": true, "description": "Specifies in which isolated context to run the test. Each content script lives in an isolated context and this parameter may be used to specify one of those contexts. If the parameter is omitted or 0 the evaluation will be performed in the context of the inspected page." } ], "returns": [ { "name": "result", "$ref": "Runtime.RemoteObject", "description": "Evaluation result." }, { "name": "wasThrown", "type": "boolean", "optional": true, "description": "True if the result was thrown during the evaluation." } ] }, { "name": "teardown", "description": "Destroys the `WebInspectorAudit` object that is passed to run. Must call setup before calling teardown." } ] } , { "domain": "CPUProfiler", "description": "CPUProfiler domain exposes cpu usage tracking.", "featureGuard": "ENABLE(RESOURCE_USAGE)", "debuggableTypes": ["page", "web-page"], "targetTypes": ["page"], "types": [ { "id": "ThreadInfo", "description": "CPU usage for an individual thread.", "type": "object", "properties": [ { "name": "name", "type": "string", "description": "Some thread identification information." }, { "name": "usage", "type": "number", "description": "CPU usage for this thread. This should not exceed 100% for an individual thread." }, { "name": "type", "type": "string", "enum": ["main", "webkit"], "optional": true, "description": "Type of thread. There should be a single main thread." }, { "name": "targetId", "type": "string", "optional": true, "description": "A thread may be associated with a target, such as a Worker, in the process." } ] }, { "id": "Event", "type": "object", "properties": [ { "name": "timestamp", "type": "number" }, { "name": "usage", "type": "number", "description": "Percent of total cpu usage. If there are multiple cores the usage may be greater than 100%." }, { "name": "threads", "type": "array", "items": { "$ref": "ThreadInfo" }, "optional": true, "description": "Per-thread CPU usage information. Does not include the main thread." } ] } ], "commands": [ { "name": "startTracking", "description": "Start tracking cpu usage." }, { "name": "stopTracking", "description": "Stop tracking cpu usage. This will produce a `trackingComplete` event." } ], "events": [ { "name": "trackingStart", "description": "Tracking started.", "parameters": [ { "name": "timestamp", "type": "number" } ] }, { "name": "trackingUpdate", "description": "Periodic tracking updates with event data.", "parameters": [ { "name": "event", "$ref": "Event" } ] }, { "name": "trackingComplete", "description": "Tracking stopped.", "parameters": [ { "name": "timestamp", "type": "number" } ] } ] } , { "domain": "CSS", "description": "This domain exposes CSS read/write operations. All CSS objects, like stylesheets, rules, and styles, have an associated id used in subsequent operations on the related object. Each object type has a specific id structure, and those are not interchangeable between objects of different kinds. CSS objects can be loaded using the get*ForNode() calls (which accept a DOM node id). Alternatively, a client can discover all the existing stylesheets with the getAllStyleSheets() method and subsequently load the required stylesheet contents using the getStyleSheet[Text]() methods.", "debuggableTypes": ["itml", "page", "web-page"], "targetTypes": ["itml", "page"], "types": [ { "id": "StyleSheetId", "type": "string" }, { "id": "CSSStyleId", "type": "object", "description": "This object identifies a CSS style in a unique way.", "properties": [ { "name": "styleSheetId", "$ref": "StyleSheetId", "description": "Enclosing stylesheet identifier." }, { "name": "ordinal", "type": "integer", "description": "The style ordinal within the stylesheet." } ] }, { "id": "StyleSheetOrigin", "type": "string", "enum": ["user", "user-agent", "inspector", "regular"], "description": "Stylesheet type: \"user\" for user stylesheets, \"user-agent\" for user-agent stylesheets, \"inspector\" for stylesheets created by the inspector (i.e. those holding the \"via inspector\" rules), \"regular\" for regular stylesheets." }, { "id": "CSSRuleId", "type": "object", "description": "This object identifies a CSS rule in a unique way.", "properties": [ { "name": "styleSheetId", "$ref": "StyleSheetId", "description": "Enclosing stylesheet identifier." }, { "name": "ordinal", "type": "integer", "description": "The rule ordinal within the stylesheet." } ] }, { "id": "PseudoId", "type": "string", "enum": [ "first-line", "first-letter", "highlight", "marker", "before", "after", "selection", "scrollbar", "scrollbar-thumb", "scrollbar-button", "scrollbar-track", "scrollbar-track-piece", "scrollbar-corner", "resizer" ], "description": "Pseudo-style identifier (see enum PseudoId in RenderStyleConstants.h)." }, { "id": "PseudoIdMatches", "type": "object", "description": "CSS rule collection for a single pseudo style.", "properties": [ { "name": "pseudoId", "$ref": "PseudoId" }, { "name": "matches", "type": "array", "items": { "$ref": "RuleMatch" }, "description": "Matches of CSS rules applicable to the pseudo style."} ] }, { "id": "InheritedStyleEntry", "type": "object", "description": "CSS rule collection for a single pseudo style.", "properties": [ { "name": "inlineStyle", "$ref": "CSSStyle", "optional": true, "description": "The ancestor node's inline style, if any, in the style inheritance chain." }, { "name": "matchedCSSRules", "type": "array", "items": { "$ref": "RuleMatch" }, "description": "Matches of CSS rules matching the ancestor node in the style inheritance chain." } ] }, { "id": "RuleMatch", "type": "object", "description": "Match data for a CSS rule.", "properties": [ { "name": "rule", "$ref": "CSSRule", "description": "CSS rule in the match." }, { "name": "matchingSelectors", "type": "array", "items": { "type": "integer" }, "description": "Matching selector indices in the rule's selectorList selectors (0-based)." } ] }, { "id": "CSSSelector", "type": "object", "description": "CSS selector.", "properties": [ { "name": "text", "type": "string", "description": "Canonicalized selector text." }, { "name": "specificity", "optional": true, "type": "array", "items": { "type": "integer" }, "description": "Specificity (a, b, c) tuple. Included if the selector is sent in response to CSS.getMatchedStylesForNode which provides a context element." }, { "name": "dynamic", "optional": true, "type": "boolean", "description": "Whether or not the specificity can be dynamic. Included if the selector is sent in response to CSS.getMatchedStylesForNode which provides a context element." } ] }, { "id": "SelectorList", "type": "object", "description": "Selector list data.", "properties": [ { "name": "selectors", "type": "array", "items": { "$ref": "CSSSelector" }, "description": "Selectors in the list." }, { "name": "text", "type": "string", "description": "Rule selector text." }, { "name": "range", "$ref": "SourceRange", "optional": true, "description": "Rule selector range in the underlying resource (if available)." } ] }, { "id": "CSSStyleAttribute", "type": "object", "description": "CSS style information for a DOM style attribute.", "properties": [ { "name": "name", "type": "string", "description": "DOM attribute name (e.g. \"width\")."}, { "name": "style", "$ref": "CSSStyle", "description": "CSS style generated by the respective DOM attribute."} ] }, { "id": "CSSStyleSheetHeader", "type": "object", "description": "CSS stylesheet meta-information.", "properties": [ { "name": "styleSheetId", "$ref": "StyleSheetId", "description": "The stylesheet identifier."}, { "name": "frameId", "$ref": "Network.FrameId", "description": "Owner frame identifier."}, { "name": "sourceURL", "type": "string", "description": "Stylesheet resource URL."}, { "name": "origin", "$ref": "StyleSheetOrigin", "description": "Stylesheet origin."}, { "name": "title", "type": "string", "description": "Stylesheet title."}, { "name": "disabled", "type": "boolean", "description": "Denotes whether the stylesheet is disabled."}, { "name": "isInline", "type": "boolean", "description": "Whether this stylesheet is a