blob: 8961f3bbd2321e7786524fcd7d38a489a2b43cde [file] [log] [blame]
{
"domains": [
{
"domain": "Runtime",
"description": "Runtime domain exposes JavaScript runtime by means of remote evaluation and mirror objects. Evaluation results are returned as mirror object that expose object type, string representation and unique identifier that can be used for further object reference. Original objects are maintained in memory unless they are either explicitly released or are released along with the other objects in their object group.",
"types": [
{
"id": "RemoteObjectId",
"type": "string",
"description": "Unique object identifier."
},
{
"id": "RemoteObject",
"type": "object",
"description": "Mirror object referencing original JavaScript object.",
"properties": [
{
"name": "type",
"type": "string",
"enum": [
"object",
"function",
"undefined",
"string",
"number",
"boolean"
],
"description": "Object type."
},
{
"name": "subtype",
"type": "string",
"optional": true,
"enum": [
"array",
"null",
"node",
"regexp",
"date"
],
"description": "Object subtype hint. Specified for <code>object</code> type values only."
},
{
"name": "className",
"type": "string",
"optional": true,
"description": "Object class (constructor) name. Specified for <code>object</code> type values only."
},
{
"name": "value",
"type": "any",
"optional": true,
"description": "Remote object value (in case of primitive values or JSON values if it was requested)."
},
{
"name": "description",
"type": "string",
"optional": true,
"description": "String representation of the object."
},
{
"name": "objectId",
"$ref": "RemoteObjectId",
"optional": true,
"description": "Unique object identifier (for non-primitive values)."
},
{
"name": "preview",
"$ref": "ObjectPreview",
"optional": true,
"description": "Preview containing abbreviated property values.",
"hidden": true
}
]
},
{
"id": "ObjectPreview",
"type": "object",
"hidden": true,
"description": "Object containing abbreviated remote object value.",
"properties": [
{
"name": "lossless",
"type": "boolean",
"description": "Determines whether preview is lossless (contains all information of the original object)."
},
{
"name": "overflow",
"type": "boolean",
"description": "True iff some of the properties of the original did not fit."
},
{
"name": "properties",
"type": "array",
"items": {
"$ref": "PropertyPreview"
},
"description": "List of the properties."
}
]
},
{
"id": "PropertyPreview",
"type": "object",
"hidden": true,
"properties": [
{
"name": "name",
"type": "string",
"description": "Property name."
},
{
"name": "type",
"type": "string",
"enum": [
"object",
"function",
"undefined",
"string",
"number",
"boolean"
],
"description": "Object type."
},
{
"name": "value",
"type": "string",
"optional": true,
"description": "User-friendly property value string."
},
{
"name": "valuePreview",
"$ref": "ObjectPreview",
"optional": true,
"description": "Nested value preview."
},
{
"name": "subtype",
"type": "string",
"optional": true,
"enum": [
"array",
"null",
"node",
"regexp",
"date"
],
"description": "Object subtype hint. Specified for <code>object</code> type values only."
}
]
},
{
"id": "PropertyDescriptor",
"type": "object",
"description": "Object property descriptor.",
"properties": [
{
"name": "name",
"type": "string",
"description": "Property name."
},
{
"name": "value",
"$ref": "RemoteObject",
"optional": true,
"description": "The value associated with the property."
},
{
"name": "writable",
"type": "boolean",
"optional": true,
"description": "True if the value associated with the property may be changed (data descriptors only)."
},
{
"name": "get",
"$ref": "RemoteObject",
"optional": true,
"description": "A function which serves as a getter for the property, or <code>undefined</code> if there is no getter (accessor descriptors only)."
},
{
"name": "set",
"$ref": "RemoteObject",
"optional": true,
"description": "A function which serves as a setter for the property, or <code>undefined</code> if there is no setter (accessor descriptors only)."
},
{
"name": "configurable",
"type": "boolean",
"description": "True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object."
},
{
"name": "enumerable",
"type": "boolean",
"description": "True if this property shows up during enumeration of the properties on the corresponding object."
},
{
"name": "wasThrown",
"type": "boolean",
"optional": true,
"description": "True if the result was thrown during the evaluation."
},
{
"name": "isOwn",
"optional": true,
"type": "boolean",
"description": "True if the property is owned for the object.",
"hidden": true
}
]
},
{
"id": "InternalPropertyDescriptor",
"type": "object",
"description": "Object internal property descriptor. This property isn't normally visible in JavaScript code.",
"properties": [
{
"name": "name",
"type": "string",
"description": "Conventional property name."
},
{
"name": "value",
"$ref": "RemoteObject",
"optional": true,
"description": "The value associated with the property."
}
],
"hidden": true
},
{
"id": "CallArgument",
"type": "object",
"description": "Represents function call argument. Either remote object id <code>objectId</code> or primitive <code>value</code> or neither of (for undefined) them should be specified.",
"properties": [
{
"name": "value",
"type": "any",
"optional": true,
"description": "Primitive value."
},
{
"name": "objectId",
"$ref": "RemoteObjectId",
"optional": true,
"description": "Remote object handle."
}
]
},
{
"id": "ExecutionContextId",
"type": "integer",
"description": "Id of an execution context."
},
{
"id": "ExecutionContextDescription",
"type": "object",
"description": "Description of an isolated world.",
"properties": [
{
"name": "id",
"$ref": "ExecutionContextId",
"description": "Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed."
},
{
"name": "isPageContext",
"type": "boolean",
"description": "True if this is a context where inpspected web page scripts run. False if it is a content script isolated context.",
"hidden": true
},
{
"name": "name",
"type": "string",
"description": "Human readable name describing given context.",
"hidden": true
},
{
"name": "frameId",
"type": "string",
"description": "Id of the owning frame."
}
]
}
],
"commands": [
{
"name": "evaluate",
"parameters": [
{
"name": "expression",
"type": "string",
"description": "Expression to evaluate."
},
{
"name": "objectGroup",
"type": "string",
"optional": true,
"description": "Symbolic group name that can be used to release multiple objects."
},
{
"name": "includeCommandLineAPI",
"type": "boolean",
"optional": true,
"description": "Determines whether Command Line API should be available during the evaluation.",
"hidden": true
},
{
"name": "doNotPauseOnExceptionsAndMuteConsole",
"type": "boolean",
"optional": true,
"description": "Specifies whether evaluation should stop on exceptions and mute console. Overrides setPauseOnException state.",
"hidden": true
},
{
"name": "contextId",
"$ref": "Runtime.ExecutionContextId",
"optional": true,
"description": "Specifies in which isolated context to perform evaluation. 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": "returnByValue",
"type": "boolean",
"optional": true,
"description": "Whether the result is expected to be a JSON object that should be sent by value."
},
{
"name": "generatePreview",
"type": "boolean",
"optional": true,
"hidden": true,
"description": "Whether preview should be generated for the result."
}
],
"returns": [
{
"name": "result",
"$ref": "RemoteObject",
"description": "Evaluation result."
},
{
"name": "wasThrown",
"type": "boolean",
"optional": true,
"description": "True if the result was thrown during the evaluation."
}
],
"description": "Evaluates expression on global object."
},
{
"name": "callFunctionOn",
"parameters": [
{
"name": "objectId",
"$ref": "RemoteObjectId",
"description": "Identifier of the object to call function on."
},
{
"name": "functionDeclaration",
"type": "string",
"description": "Declaration of the function to call."
},
{
"name": "arguments",
"type": "array",
"items": {
"$ref": "CallArgument",
"description": "Call argument."
},
"optional": true,
"description": "Call arguments. All call arguments must belong to the same JavaScript world as the target object."
},
{
"name": "doNotPauseOnExceptionsAndMuteConsole",
"type": "boolean",
"optional": true,
"description": "Specifies whether function call should stop on exceptions and mute console. Overrides setPauseOnException state.",
"hidden": true
},
{
"name": "returnByValue",
"type": "boolean",
"optional": true,
"description": "Whether the result is expected to be a JSON object which should be sent by value."
},
{
"name": "generatePreview",
"type": "boolean",
"optional": true,
"hidden": true,
"description": "Whether preview should be generated for the result."
}
],
"returns": [
{
"name": "result",
"$ref": "RemoteObject",
"description": "Call result."
},
{
"name": "wasThrown",
"type": "boolean",
"optional": true,
"description": "True if the result was thrown during the evaluation."
}
],
"description": "Calls function with given declaration on the given object. Object group of the result is inherited from the target object."
},
{
"name": "getProperties",
"parameters": [
{
"name": "objectId",
"$ref": "RemoteObjectId",
"description": "Identifier of the object to return properties for."
},
{
"name": "ownProperties",
"optional": true,
"type": "boolean",
"description": "If true, returns properties belonging only to the element itself, not to its prototype chain."
},
{
"name": "accessorPropertiesOnly",
"optional": true,
"type": "boolean",
"description": "If true, returns accessor properties (with getter/setter) only; internal properties are not returned either.",
"hidden": true
}
],
"returns": [
{
"name": "result",
"type": "array",
"items": {
"$ref": "PropertyDescriptor"
},
"description": "Object properties."
},
{
"name": "internalProperties",
"optional": true,
"type": "array",
"items": {
"$ref": "InternalPropertyDescriptor"
},
"description": "Internal object properties (only of the element itself).",
"hidden": true
}
],
"description": "Returns properties of a given object. Object group of the result is inherited from the target object."
},
{
"name": "releaseObject",
"parameters": [
{
"name": "objectId",
"$ref": "RemoteObjectId",
"description": "Identifier of the object to release."
}
],
"description": "Releases remote object with given id."
},
{
"name": "releaseObjectGroup",
"parameters": [
{
"name": "objectGroup",
"type": "string",
"description": "Symbolic object group name."
}
],
"description": "Releases all remote objects that belong to a given group."
},
{
"name": "run",
"hidden": true,
"description": "Tells inspected instance(worker or page) that it can run in case it was started paused."
},
{
"name": "enable",
"description": "Enables reporting of execution contexts creation by means of <code>executionContextCreated</code> event. When the reporting gets enabled the event will be sent immediately for each existing execution context."
},
{
"name": "disable",
"hidden": true,
"description": "Disables reporting of execution contexts creation."
}
],
"events": [
{
"name": "executionContextCreated",
"parameters": [
{
"name": "context",
"$ref": "ExecutionContextDescription",
"description": "A newly created execution contex."
}
],
"description": "Issued when new execution context is created."
}
]
},
{
"domain": "Debugger",
"description": "Debugger domain exposes JavaScript debugging capabilities. It allows setting and removing breakpoints, stepping through execution, exploring stack traces, etc.",
"types": [
{
"id": "SearchMatch",
"type": "object",
"description": "Search match for resource.",
"properties": [
{
"name": "lineNumber",
"type": "number",
"description": "Line number in resource content."
},
{
"name": "lineContent",
"type": "string",
"description": "Line with match content."
}
],
"hidden": true
},
{
"id": "BreakpointId",
"type": "string",
"description": "Breakpoint identifier."
},
{
"id": "ScriptId",
"type": "string",
"description": "Unique script identifier."
},
{
"id": "CallFrameId",
"type": "string",
"description": "Call frame identifier."
},
{
"id": "Location",
"type": "object",
"properties": [
{
"name": "scriptId",
"$ref": "ScriptId",
"description": "Script identifier as reported in the <code>Debugger.scriptParsed</code>."
},
{
"name": "lineNumber",
"type": "integer",
"description": "Line number in the script (0-based)."
},
{
"name": "columnNumber",
"type": "integer",
"optional": true,
"description": "Column number in the script (0-based)."
}
],
"description": "Location in the source code."
},
{
"id": "FunctionDetails",
"hidden": true,
"type": "object",
"properties": [
{
"name": "location",
"$ref": "Location",
"description": "Location of the function."
},
{
"name": "name",
"type": "string",
"optional": true,
"description": "Name of the function. Not present for anonymous functions."
},
{
"name": "displayName",
"type": "string",
"optional": true,
"description": "Display name of the function(specified in 'displayName' property on the function object)."
},
{
"name": "inferredName",
"type": "string",
"optional": true,
"description": "Name of the function inferred from its initial assignment."
},
{
"name": "scopeChain",
"type": "array",
"optional": true,
"items": {
"$ref": "Scope"
},
"description": "Scope chain for this closure."
}
],
"description": "Information about the function."
},
{
"id": "CallFrame",
"type": "object",
"properties": [
{
"name": "callFrameId",
"$ref": "CallFrameId",
"description": "Call frame identifier. This identifier is only valid while the virtual machine is paused."
},
{
"name": "functionName",
"type": "string",
"description": "Name of the JavaScript function called on this call frame."
},
{
"name": "location",
"$ref": "Location",
"description": "Location in the source code."
},
{
"name": "scopeChain",
"type": "array",
"items": {
"$ref": "Scope"
},
"description": "Scope chain for this call frame."
},
{
"name": "this",
"$ref": "Runtime.RemoteObject",
"description": "<code>this</code> object for this call frame."
}
],
"description": "JavaScript call frame. Array of call frames form the call stack."
},
{
"id": "Scope",
"type": "object",
"properties": [
{
"name": "type",
"type": "string",
"enum": [
"global",
"local",
"with",
"closure",
"catch"
],
"description": "Scope type."
},
{
"name": "object",
"$ref": "Runtime.RemoteObject",
"description": "Object representing the scope. For <code>global</code> and <code>with</code> scopes it represents the actual object; for the rest of the scopes, it is artificial transient object enumerating scope variables as its properties."
}
],
"description": "Scope description."
},
{
"id": "SetScriptSourceError",
"type": "object",
"properties": [
{
"name": "compileError",
"optional": true,
"type": "object",
"properties": [
{
"name": "message",
"type": "string",
"description": "Compiler error message"
},
{
"name": "lineNumber",
"type": "integer",
"description": "Compile error line number (1-based)"
},
{
"name": "columnNumber",
"type": "integer",
"description": "Compile error column number (1-based)"
}
]
}
],
"description": "Error data for setScriptSource command. compileError is a case type for uncompilable script source error.",
"hidden": true
}
],
"commands": [
{
"name": "enable",
"description": "Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received."
},
{
"name": "disable",
"description": "Disables debugger for given page."
},
{
"name": "setBreakpointsActive",
"parameters": [
{
"name": "active",
"type": "boolean",
"description": "New value for breakpoints active state."
}
],
"description": "Activates / deactivates all breakpoints on the page."
},
{
"name": "setSkipAllPauses",
"hidden": true,
"parameters": [
{
"name": "skipped",
"type": "boolean",
"description": "New value for skip pauses state."
},
{
"name": "untilReload",
"type": "boolean",
"optional": true,
"description": "Whether page reload should set skipped to false."
}
],
"description": "Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc)."
},
{
"name": "setBreakpointByUrl",
"parameters": [
{
"name": "lineNumber",
"type": "integer",
"description": "Line number to set breakpoint at."
},
{
"name": "url",
"type": "string",
"optional": true,
"description": "URL of the resources to set breakpoint on."
},
{
"name": "urlRegex",
"type": "string",
"optional": true,
"description": "Regex pattern for the URLs of the resources to set breakpoints on. Either <code>url</code> or <code>urlRegex</code> must be specified."
},
{
"name": "columnNumber",
"type": "integer",
"optional": true,
"description": "Offset in the line to set breakpoint at."
},
{
"name": "condition",
"type": "string",
"optional": true,
"description": "Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true."
},
{
"name": "isAntibreakpoint",
"type": "boolean",
"optional": true,
"hidden": true,
"description": "Creates pseudo-breakpoint that prevents debugger from pausing on exception at this location."
}
],
"returns": [
{
"name": "breakpointId",
"$ref": "BreakpointId",
"description": "Id of the created breakpoint for further reference."
},
{
"name": "locations",
"type": "array",
"items": {
"$ref": "Location"
},
"description": "List of the locations this breakpoint resolved into upon addition."
}
],
"description": "Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in <code>locations</code> property. Further matching script parsing will result in subsequent <code>breakpointResolved</code> events issued. This logical breakpoint will survive page reloads."
},
{
"name": "setBreakpoint",
"parameters": [
{
"name": "location",
"$ref": "Location",
"description": "Location to set breakpoint in."
},
{
"name": "condition",
"type": "string",
"optional": true,
"description": "Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true."
}
],
"returns": [
{
"name": "breakpointId",
"$ref": "BreakpointId",
"description": "Id of the created breakpoint for further reference."
},
{
"name": "actualLocation",
"$ref": "Location",
"description": "Location this breakpoint resolved into."
}
],
"description": "Sets JavaScript breakpoint at a given location."
},
{
"name": "removeBreakpoint",
"parameters": [
{
"name": "breakpointId",
"$ref": "BreakpointId"
}
],
"description": "Removes JavaScript breakpoint."
},
{
"name": "continueToLocation",
"parameters": [
{
"name": "location",
"$ref": "Location",
"description": "Location to continue to."
},
{
"name": "interstatementLocation",
"type": "boolean",
"optional": true,
"hidden": true,
"description": "Allows breakpoints at the intemediate positions inside statements."
}
],
"description": "Continues execution until specific location is reached."
},
{
"name": "stepOver",
"description": "Steps over the statement."
},
{
"name": "stepInto",
"description": "Steps into the function call."
},
{
"name": "stepOut",
"description": "Steps out of the function call."
},
{
"name": "pause",
"description": "Stops on the next JavaScript statement."
},
{
"name": "resume",
"description": "Resumes JavaScript execution."
},
{
"name": "searchInContent",
"parameters": [
{
"name": "scriptId",
"$ref": "ScriptId",
"description": "Id of the script to search in."
},
{
"name": "query",
"type": "string",
"description": "String to search for."
},
{
"name": "caseSensitive",
"type": "boolean",
"optional": true,
"description": "If true, search is case sensitive."
},
{
"name": "isRegex",
"type": "boolean",
"optional": true,
"description": "If true, treats string parameter as regex."
}
],
"returns": [
{
"name": "result",
"type": "array",
"items": {
"$ref": "SearchMatch"
},
"description": "List of search matches."
}
],
"description": "Searches for given string in script content."
},
{
"name": "canSetScriptSource",
"returns": [
{
"name": "result",
"type": "boolean",
"description": "True if <code>setScriptSource</code> is supported."
}
],
"description": "Always returns true."
},
{
"name": "setScriptSource",
"parameters": [
{
"name": "scriptId",
"$ref": "ScriptId",
"description": "Id of the script to edit."
},
{
"name": "scriptSource",
"type": "string",
"description": "New content of the script."
},
{
"name": "preview",
"type": "boolean",
"optional": true,
"description": " If true the change will not actually be applied. Preview mode may be used to get result description without actually modifying the code.",
"hidden": true
}
],
"returns": [
{
"name": "callFrames",
"type": "array",
"optional": true,
"items": {
"$ref": "CallFrame"
},
"description": "New stack trace in case editing has happened while VM was stopped."
},
{
"name": "result",
"type": "object",
"optional": true,
"description": "VM-specific description of the changes applied.",
"hidden": true
}
],
"error": {
"$ref": "SetScriptSourceError"
},
"description": "Edits JavaScript source live."
},
{
"name": "restartFrame",
"parameters": [
{
"name": "callFrameId",
"$ref": "CallFrameId",
"description": "Call frame identifier to evaluate on."
}
],
"returns": [
{
"name": "callFrames",
"type": "array",
"items": {
"$ref": "CallFrame"
},
"description": "New stack trace."
},
{
"name": "result",
"type": "object",
"description": "VM-specific description.",
"hidden": true
}
],
"hidden": true,
"description": "Restarts particular call frame from the beginning."
},
{
"name": "getScriptSource",
"parameters": [
{
"name": "scriptId",
"$ref": "ScriptId",
"description": "Id of the script to get source for."
}
],
"returns": [
{
"name": "scriptSource",
"type": "string",
"description": "Script source."
}
],
"description": "Returns source for the script with given id."
},
{
"name": "getFunctionDetails",
"hidden": true,
"parameters": [
{
"name": "functionId",
"$ref": "Runtime.RemoteObjectId",
"description": "Id of the function to get location for."
}
],
"returns": [
{
"name": "details",
"$ref": "FunctionDetails",
"description": "Information about the function."
}
],
"description": "Returns detailed informtation on given function."
},
{
"name": "setPauseOnExceptions",
"parameters": [
{
"name": "state",
"type": "string",
"enum": [
"none",
"uncaught",
"all"
],
"description": "Pause on exceptions mode."
}
],
"description": "Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is <code>none</code>."
},
{
"name": "evaluateOnCallFrame",
"parameters": [
{
"name": "callFrameId",
"$ref": "CallFrameId",
"description": "Call frame identifier to evaluate on."
},
{
"name": "expression",
"type": "string",
"description": "Expression to evaluate."
},
{
"name": "objectGroup",
"type": "string",
"optional": true,
"description": "String object group name to put result into (allows rapid releasing resulting object handles using <code>releaseObjectGroup</code>)."
},
{
"name": "includeCommandLineAPI",
"type": "boolean",
"optional": true,
"description": "Specifies whether command line API should be available to the evaluated expression, defaults to false.",
"hidden": true
},
{
"name": "doNotPauseOnExceptionsAndMuteConsole",
"type": "boolean",
"optional": true,
"description": "Specifies whether evaluation should stop on exceptions and mute console. Overrides setPauseOnException state.",
"hidden": true
},
{
"name": "returnByValue",
"type": "boolean",
"optional": true,
"description": "Whether the result is expected to be a JSON object that should be sent by value."
},
{
"name": "generatePreview",
"type": "boolean",
"optional": true,
"hidden": true,
"description": "Whether preview should be generated for the result."
}
],
"returns": [
{
"name": "result",
"$ref": "Runtime.RemoteObject",
"description": "Object wrapper for the evaluation result."
},
{
"name": "wasThrown",
"type": "boolean",
"optional": true,
"description": "True if the result was thrown during the evaluation."
}
],
"description": "Evaluates expression on a given call frame."
},
{
"name": "compileScript",
"hidden": true,
"parameters": [
{
"name": "expression",
"type": "string",
"description": "Expression to compile."
},
{
"name": "sourceURL",
"type": "string",
"description": "Source url to be set for the script."
}
],
"returns": [
{
"name": "scriptId",
"$ref": "ScriptId",
"optional": true,
"description": "Id of the script."
},
{
"name": "syntaxErrorMessage",
"type": "string",
"optional": true,
"description": "Syntax error message if compilation failed."
}
],
"description": "Compiles expression."
},
{
"name": "runScript",
"hidden": true,
"parameters": [
{
"name": "scriptId",
"$ref": "ScriptId",
"description": "Id of the script to run."
},
{
"name": "contextId",
"$ref": "Runtime.ExecutionContextId",
"optional": true,
"description": "Specifies in which isolated context to perform script run. 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": "objectGroup",
"type": "string",
"optional": true,
"description": "Symbolic group name that can be used to release multiple objects."
},
{
"name": "doNotPauseOnExceptionsAndMuteConsole",
"type": "boolean",
"optional": true,
"description": "Specifies whether script run should stop on exceptions and mute console. Overrides setPauseOnException state."
}
],
"returns": [
{
"name": "result",
"$ref": "Runtime.RemoteObject",
"description": "Run result."
},
{
"name": "wasThrown",
"type": "boolean",
"optional": true,
"description": "True if the result was thrown during the script run."
}
],
"description": "Runs script with given id in a given context."
},
{
"name": "setOverlayMessage",
"parameters": [
{
"name": "message",
"type": "string",
"optional": true,
"description": "Overlay message to display when paused in debugger."
}
],
"hidden": true,
"description": "Sets overlay message."
},
{
"name": "setVariableValue",
"parameters": [
{
"name": "scopeNumber",
"type": "integer",
"description": "0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch' scope types are allowed. Other scopes could be manipulated manually."
},
{
"name": "variableName",
"type": "string",
"description": "Variable name."
},
{
"name": "newValue",
"$ref": "Runtime.CallArgument",
"description": "New variable value."
},
{
"name": "callFrameId",
"$ref": "CallFrameId",
"optional": true,
"description": "Id of callframe that holds variable."
},
{
"name": "functionObjectId",
"$ref": "Runtime.RemoteObjectId",
"optional": true,
"description": "Object id of closure (function) that holds variable."
}
],
"hidden": true,
"description": "Changes value of variable in a callframe or a closure. Either callframe or function must be specified. Object-based scopes are not supported and must be mutated manually."
},
{
"name": "getStepInPositions",
"parameters": [
{
"name": "callFrameId",
"$ref": "CallFrameId",
"description": "Id of a call frame where the current statement should be analized"
}
],
"returns": [
{
"name": "stepInPositions",
"type": "array",
"items": {
"$ref": "Location"
},
"optional": true,
"description": "experimental"
}
],
"hidden": true,
"description": "Lists all positions where step-in is possible for a current statement in a specified call frame"
},
{
"name": "getBacktrace",
"returns": [
{
"name": "callFrames",
"type": "array",
"items": {
"$ref": "CallFrame"
},
"description": "Call stack the virtual machine stopped on."
}
],
"hidden": true,
"description": "Returns call stack including variables changed since VM was paused. VM must be paused."
},
{
"name": "skipStackFrames",
"parameters": [
{
"name": "script",
"optional": true,
"type": "string",
"description": "Regular expression defining the scripts to ignore while stepping."
}
],
"hidden": true,
"description": "Makes backend skip steps in the sources with names matching given pattern. VM will try leave blacklisted scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful."
}
],
"events": [
{
"name": "globalObjectCleared",
"description": "Called when global has been cleared and debugger client should reset its state. Happens upon navigation or reload."
},
{
"name": "scriptParsed",
"parameters": [
{
"name": "scriptId",
"$ref": "ScriptId",
"description": "Identifier of the script parsed."
},
{
"name": "url",
"type": "string",
"description": "URL or name of the script parsed (if any)."
},
{
"name": "startLine",
"type": "integer",
"description": "Line offset of the script within the resource with given URL (for script tags)."
},
{
"name": "startColumn",
"type": "integer",
"description": "Column offset of the script within the resource with given URL."
},
{
"name": "endLine",
"type": "integer",
"description": "Last line of the script."
},
{
"name": "endColumn",
"type": "integer",
"description": "Length of the last line of the script."
},
{
"name": "isContentScript",
"type": "boolean",
"optional": true,
"description": "Determines whether this script is a user extension script."
},
{
"name": "sourceMapURL",
"type": "string",
"optional": true,
"description": "URL of source map associated with script (if any)."
},
{
"name": "hasSourceURL",
"type": "boolean",
"optional": true,
"description": "True, if this script has sourceURL.",
"hidden": true
}
],
"description": "Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger."
},
{
"name": "scriptFailedToParse",
"parameters": [
{
"name": "scriptId",
"$ref": "ScriptId",
"description": "Identifier of the script parsed."
},
{
"name": "url",
"type": "string",
"description": "URL or name of the script parsed (if any)."
},
{
"name": "startLine",
"type": "integer",
"description": "Line offset of the script within the resource with given URL (for script tags)."
},
{
"name": "startColumn",
"type": "integer",
"description": "Column offset of the script within the resource with given URL."
},
{
"name": "endLine",
"type": "integer",
"description": "Last line of the script."
},
{
"name": "endColumn",
"type": "integer",
"description": "Length of the last line of the script."
},
{
"name": "isContentScript",
"type": "boolean",
"optional": true,
"description": "Determines whether this script is a user extension script."
},
{
"name": "sourceMapURL",
"type": "string",
"optional": true,
"description": "URL of source map associated with script (if any)."
},
{
"name": "hasSourceURL",
"type": "boolean",
"optional": true,
"description": "True, if this script has sourceURL.",
"hidden": true
}
],
"description": "Fired when virtual machine fails to parse the script."
},
{
"name": "breakpointResolved",
"parameters": [
{
"name": "breakpointId",
"$ref": "BreakpointId",
"description": "Breakpoint unique identifier."
},
{
"name": "location",
"$ref": "Location",
"description": "Actual breakpoint location."
}
],
"description": "Fired when breakpoint is resolved to an actual script and location."
},
{
"name": "paused",
"parameters": [
{
"name": "callFrames",
"type": "array",
"items": {
"$ref": "CallFrame"
},
"description": "Call stack the virtual machine stopped on."
},
{
"name": "reason",
"type": "string",
"enum": [
"XHR",
"DOM",
"EventListener",
"exception",
"assert",
"CSPViolation",
"debugCommand",
"other"
],
"description": "Pause reason."
},
{
"name": "data",
"type": "object",
"optional": true,
"description": "Object containing break-specific auxiliary properties."
},
{
"name": "hitBreakpoints",
"type": "array",
"optional": true,
"items": {
"type": "string"
},
"description": "Hit breakpoints IDs",
"hidden": true
}
],
"description": "Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria."
},
{
"name": "resumed",
"description": "Fired when the virtual machine resumed execution."
}
]
},
{
"domain": "Profiler",
"hidden": true,
"types": [
{
"id": "ProfileHeader",
"type": "object",
"description": "Profile header.",
"properties": [
{
"name": "title",
"type": "string",
"description": "Profile title."
},
{
"name": "uid",
"type": "integer",
"description": "Unique identifier of the profile."
}
]
},
{
"id": "CPUProfileNode",
"type": "object",
"description": "CPU Profile node. Holds callsite information, execution statistics and child nodes.",
"properties": [
{
"name": "functionName",
"type": "string",
"description": "Function name."
},
{
"name": "scriptId",
"$ref": "Debugger.ScriptId",
"description": "Script identifier."
},
{
"name": "url",
"type": "string",
"description": "URL."
},
{
"name": "lineNumber",
"type": "integer",
"description": "Line number."
},
{
"name": "hitCount",
"type": "integer",
"description": "Number of samples where this node was on top of the call stack."
},
{
"name": "callUID",
"type": "number",
"description": "Call UID."
},
{
"name": "children",
"type": "array",
"items": {
"$ref": "CPUProfileNode"
},
"description": "Child nodes."
},
{
"name": "deoptReason",
"type": "string",
"description": "The reason of being not optimized. The function may be deoptimized or marked as don't optimize."
},
{
"name": "id",
"optional": true,
"type": "integer",
"description": "Unique id of the node."
}
]
},
{
"id": "CPUProfile",
"type": "object",
"description": "Profile.",
"properties": [
{
"name": "head",
"$ref": "CPUProfileNode"
},
{
"name": "startTime",
"type": "number",
"description": "Profiling start time in seconds."
},
{
"name": "endTime",
"type": "number",
"description": "Profiling end time in seconds."
},
{
"name": "samples",
"optional": true,
"type": "array",
"items": {
"type": "integer"
},
"description": "Ids of samples top nodes."
}
]
},
{
"id": "HeapSnapshotObjectId",
"type": "string",
"description": "Heap snashot object id."
}
],
"commands": [
{
"name": "enable"
},
{
"name": "disable"
},
{
"name": "start"
},
{
"name": "stop",
"returns": [
{
"name": "header",
"$ref": "ProfileHeader",
"description": "The header of the recorded profile."
}
]
},
{
"name": "getProfileHeaders",
"returns": [
{
"name": "headers",
"type": "array",
"items": {
"$ref": "ProfileHeader"
}
}
]
},
{
"name": "getCPUProfile",
"parameters": [
{
"name": "uid",
"type": "integer"
}
],
"returns": [
{
"name": "profile",
"$ref": "CPUProfile"
}
]
},
{
"name": "removeProfile",
"parameters": [
{
"name": "type",
"type": "string"
},
{
"name": "uid",
"type": "integer"
}
]
},
{
"name": "clearProfiles"
}
],
"events": [
{
"name": "addProfileHeader",
"parameters": [
{
"name": "header",
"$ref": "ProfileHeader"
}
]
},
{
"name": "setRecordingProfile",
"parameters": [
{
"name": "isProfiling",
"type": "boolean"
}
]
},
{
"name": "resetProfiles"
}
]
},
{
"domain": "HeapProfiler",
"hidden": true,
"types": [
{
"id": "ProfileHeader",
"type": "object",
"description": "Profile header.",
"properties": [
{
"name": "title",
"type": "string",
"description": "Profile title."
},
{
"name": "uid",
"type": "integer",
"description": "Unique identifier of the profile."
},
{
"name": "maxJSObjectId",
"type": "integer",
"optional": true,
"description": "Last seen JS object Id."
}
]
},
{
"id": "HeapSnapshotObjectId",
"type": "string",
"description": "Heap snashot object id."
}
],
"commands": [
{
"name": "getProfileHeaders",
"returns": [
{
"name": "headers",
"type": "array",
"items": {
"$ref": "ProfileHeader"
}
}
]
},
{
"name": "startTrackingHeapObjects"
},
{
"name": "stopTrackingHeapObjects"
},
{
"name": "getHeapSnapshot",
"parameters": [
{
"name": "uid",
"type": "integer"
}
]
},
{
"name": "removeProfile",
"parameters": [
{
"name": "uid",
"type": "integer"
}
]
},
{
"name": "clearProfiles"
},
{
"name": "takeHeapSnapshot",
"parameters": [
{
"name": "reportProgress",
"type": "boolean",
"optional": true,
"description": "If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken."
}
]
},
{
"name": "collectGarbage"
},
{
"name": "getObjectByHeapObjectId",
"parameters": [
{
"name": "objectId",
"$ref": "HeapSnapshotObjectId"
},
{
"name": "objectGroup",
"type": "string",
"optional": true,
"description": "Symbolic group name that can be used to release multiple objects."
}
],
"returns": [
{
"name": "result",
"$ref": "Runtime.RemoteObject",
"description": "Evaluation result."
}
]
},
{
"name": "getHeapObjectId",
"parameters": [
{
"name": "objectId",
"$ref": "Runtime.RemoteObjectId",
"description": "Identifier of the object to get heap object id for."
}
],
"returns": [
{
"name": "heapSnapshotObjectId",
"$ref": "HeapSnapshotObjectId",
"description": "Id of the heap snapshot object corresponding to the passed remote object id."
}
]
}
],
"events": [
{
"name": "addProfileHeader",
"parameters": [
{
"name": "header",
"$ref": "ProfileHeader"
}
]
},
{
"name": "addHeapSnapshotChunk",
"parameters": [
{
"name": "uid",
"type": "integer"
},
{
"name": "chunk",
"type": "string"
}
]
},
{
"name": "finishHeapSnapshot",
"parameters": [
{
"name": "uid",
"type": "integer"
}
]
},
{
"name": "resetProfiles"
},
{
"name": "reportHeapSnapshotProgress",
"parameters": [
{
"name": "done",
"type": "integer"
},
{
"name": "total",
"type": "integer"
}
]
},
{
"name": "lastSeenObjectId",
"description": "If heap objects tracking has been started then backend regulary sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.",
"parameters": [
{
"name": "lastSeenObjectId",
"type": "integer"
},
{
"name": "timestamp",
"type": "number"
}
]
},
{
"name": "heapStatsUpdate",
"description": "If heap objects tracking has been started then backend may send update for one or more fragments",
"parameters": [
{
"name": "statsUpdate",
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of triplets. Each triplet describes a fragment. The first integer is the fragment index, the second integer is a total count of objects for the fragment, the third integer is a total size of the objects for the fragment."
}
]
}
]
}
],
"version": {
"major": "1",
"minor": "1"
}
}