| # Copyright 2017 The Chromium Authors. All rights reserved. | 
 | # Use of this source code is governed by a BSD-style license that can be | 
 | # found in the LICENSE file. | 
 |  | 
 | version | 
 |   major 1 | 
 |   minor 3 | 
 |  | 
 | # This domain is deprecated - use Runtime or Log instead. | 
 | deprecated domain Console | 
 |   depends on Runtime | 
 |  | 
 |   # Console message. | 
 |   type ConsoleMessage extends object | 
 |     properties | 
 |       # Message source. | 
 |       enum source | 
 |         xml | 
 |         javascript | 
 |         network | 
 |         console-api | 
 |         storage | 
 |         appcache | 
 |         rendering | 
 |         security | 
 |         other | 
 |         deprecation | 
 |         worker | 
 |       # Message severity. | 
 |       enum level | 
 |         log | 
 |         warning | 
 |         error | 
 |         debug | 
 |         info | 
 |       # Message text. | 
 |       string text | 
 |       # URL of the message origin. | 
 |       optional string url | 
 |       # Line number in the resource that generated this message (1-based). | 
 |       optional integer line | 
 |       # Column number in the resource that generated this message (1-based). | 
 |       optional integer column | 
 |  | 
 |   # Does nothing. | 
 |   command clearMessages | 
 |  | 
 |   # Disables console domain, prevents further console messages from being reported to the client. | 
 |   command disable | 
 |  | 
 |   # Enables console domain, sends the messages collected so far to the client by means of the | 
 |   # `messageAdded` notification. | 
 |   command enable | 
 |  | 
 |   # Issued when new console message is added. | 
 |   event messageAdded | 
 |     parameters | 
 |       # Console message that has been added. | 
 |       ConsoleMessage message | 
 |  | 
 | # Debugger domain exposes JavaScript debugging capabilities. It allows setting and removing | 
 | # breakpoints, stepping through execution, exploring stack traces, etc. | 
 | domain Debugger | 
 |   depends on Runtime | 
 |  | 
 |   # Breakpoint identifier. | 
 |   type BreakpointId extends string | 
 |  | 
 |   # Call frame identifier. | 
 |   type CallFrameId extends string | 
 |  | 
 |   # Location in the source code. | 
 |   type Location extends object | 
 |     properties | 
 |       # Script identifier as reported in the `Debugger.scriptParsed`. | 
 |       Runtime.ScriptId scriptId | 
 |       # Line number in the script (0-based). | 
 |       integer lineNumber | 
 |       # Column number in the script (0-based). | 
 |       optional integer columnNumber | 
 |  | 
 |   # Location in the source code. | 
 |   experimental type ScriptPosition extends object | 
 |     properties | 
 |       integer lineNumber | 
 |       integer columnNumber | 
 |  | 
 |   # JavaScript call frame. Array of call frames form the call stack. | 
 |   type CallFrame extends object | 
 |     properties | 
 |       # Call frame identifier. This identifier is only valid while the virtual machine is paused. | 
 |       CallFrameId callFrameId | 
 |       # Name of the JavaScript function called on this call frame. | 
 |       string functionName | 
 |       # Location in the source code. | 
 |       optional Location functionLocation | 
 |       # Location in the source code. | 
 |       Location location | 
 |       # JavaScript script name or url. | 
 |       string url | 
 |       # Scope chain for this call frame. | 
 |       array of Scope scopeChain | 
 |       # `this` object for this call frame. | 
 |       Runtime.RemoteObject this | 
 |       # The value being returned, if the function is at return point. | 
 |       optional Runtime.RemoteObject returnValue | 
 |  | 
 |   # Scope description. | 
 |   type Scope extends object | 
 |     properties | 
 |       # Scope type. | 
 |       enum type | 
 |         global | 
 |         local | 
 |         with | 
 |         closure | 
 |         catch | 
 |         block | 
 |         script | 
 |         eval | 
 |         module | 
 |       # Object representing the scope. For `global` and `with` scopes it represents the actual | 
 |       # object; for the rest of the scopes, it is artificial transient object enumerating scope | 
 |       # variables as its properties. | 
 |       Runtime.RemoteObject object | 
 |       optional string name | 
 |       # Location in the source code where scope starts | 
 |       optional Location startLocation | 
 |       # Location in the source code where scope ends | 
 |       optional Location endLocation | 
 |  | 
 |   # Search match for resource. | 
 |   type SearchMatch extends object | 
 |     properties | 
 |       # Line number in resource content. | 
 |       number lineNumber | 
 |       # Line with match content. | 
 |       string lineContent | 
 |  | 
 |   type BreakLocation extends object | 
 |     properties | 
 |       # Script identifier as reported in the `Debugger.scriptParsed`. | 
 |       Runtime.ScriptId scriptId | 
 |       # Line number in the script (0-based). | 
 |       integer lineNumber | 
 |       # Column number in the script (0-based). | 
 |       optional integer columnNumber | 
 |       optional enum type | 
 |         debuggerStatement | 
 |         call | 
 |         return | 
 |  | 
 |   # Continues execution until specific location is reached. | 
 |   command continueToLocation | 
 |     parameters | 
 |       # Location to continue to. | 
 |       Location location | 
 |       optional enum targetCallFrames | 
 |         any | 
 |         current | 
 |  | 
 |   # Disables debugger for given page. | 
 |   command disable | 
 |  | 
 |   # Enables debugger for the given page. Clients should not assume that the debugging has been | 
 |   # enabled until the result for this command is received. | 
 |   command enable | 
 |     parameters | 
 |       # The maximum size in bytes of collected scripts (not referenced by other heap objects) | 
 |       # the debugger can hold. Puts no limit if paramter is omitted. | 
 |       experimental optional number maxScriptsCacheSize | 
 |     returns | 
 |       # Unique identifier of the debugger. | 
 |       experimental Runtime.UniqueDebuggerId debuggerId | 
 |  | 
 |   # Evaluates expression on a given call frame. | 
 |   command evaluateOnCallFrame | 
 |     parameters | 
 |       # Call frame identifier to evaluate on. | 
 |       CallFrameId callFrameId | 
 |       # Expression to evaluate. | 
 |       string expression | 
 |       # String object group name to put result into (allows rapid releasing resulting object handles | 
 |       # using `releaseObjectGroup`). | 
 |       optional string objectGroup | 
 |       # Specifies whether command line API should be available to the evaluated expression, defaults | 
 |       # to false. | 
 |       optional boolean includeCommandLineAPI | 
 |       # In silent mode exceptions thrown during evaluation are not reported and do not pause | 
 |       # execution. Overrides `setPauseOnException` state. | 
 |       optional boolean silent | 
 |       # Whether the result is expected to be a JSON object that should be sent by value. | 
 |       optional boolean returnByValue | 
 |       # Whether preview should be generated for the result. | 
 |       experimental optional boolean generatePreview | 
 |       # Whether to throw an exception if side effect cannot be ruled out during evaluation. | 
 |       optional boolean throwOnSideEffect | 
 |       # Terminate execution after timing out (number of milliseconds). | 
 |       experimental optional Runtime.TimeDelta timeout | 
 |     returns | 
 |       # Object wrapper for the evaluation result. | 
 |       Runtime.RemoteObject result | 
 |       # Exception details. | 
 |       optional Runtime.ExceptionDetails exceptionDetails | 
 |  | 
 |   # Returns possible locations for breakpoint. scriptId in start and end range locations should be | 
 |   # the same. | 
 |   command getPossibleBreakpoints | 
 |     parameters | 
 |       # Start of range to search possible breakpoint locations in. | 
 |       Location start | 
 |       # End of range to search possible breakpoint locations in (excluding). When not specified, end | 
 |       # of scripts is used as end of range. | 
 |       optional Location end | 
 |       # Only consider locations which are in the same (non-nested) function as start. | 
 |       optional boolean restrictToFunction | 
 |     returns | 
 |       # List of the possible breakpoint locations. | 
 |       array of BreakLocation locations | 
 |  | 
 |   # Returns source for the script with given id. | 
 |   command getScriptSource | 
 |     parameters | 
 |       # Id of the script to get source for. | 
 |       Runtime.ScriptId scriptId | 
 |     returns | 
 |       # Script source (empty in case of Wasm bytecode). | 
 |       string scriptSource | 
 |       # Wasm bytecode. | 
 |       optional binary bytecode | 
 |  | 
 |   # This command is deprecated. Use getScriptSource instead. | 
 |   deprecated command getWasmBytecode | 
 |     parameters | 
 |       # Id of the Wasm script to get source for. | 
 |       Runtime.ScriptId scriptId | 
 |     returns | 
 |       # Script source. | 
 |       binary bytecode | 
 |  | 
 |   # Returns stack trace with given `stackTraceId`. | 
 |   experimental command getStackTrace | 
 |     parameters | 
 |       Runtime.StackTraceId stackTraceId | 
 |     returns | 
 |       Runtime.StackTrace stackTrace | 
 |  | 
 |   # Stops on the next JavaScript statement. | 
 |   command pause | 
 |  | 
 |   experimental deprecated command pauseOnAsyncCall | 
 |     parameters | 
 |       # Debugger will pause when async call with given stack trace is started. | 
 |       Runtime.StackTraceId parentStackTraceId | 
 |  | 
 |   # Removes JavaScript breakpoint. | 
 |   command removeBreakpoint | 
 |     parameters | 
 |       BreakpointId breakpointId | 
 |  | 
 |   # Restarts particular call frame from the beginning. | 
 |   command restartFrame | 
 |     parameters | 
 |       # Call frame identifier to evaluate on. | 
 |       CallFrameId callFrameId | 
 |     returns | 
 |       # New stack trace. | 
 |       array of CallFrame callFrames | 
 |       # Async stack trace, if any. | 
 |       optional Runtime.StackTrace asyncStackTrace | 
 |       # Async stack trace, if any. | 
 |       experimental optional Runtime.StackTraceId asyncStackTraceId | 
 |  | 
 |   # Resumes JavaScript execution. | 
 |   command resume | 
 |  | 
 |   # Searches for given string in script content. | 
 |   command searchInContent | 
 |     parameters | 
 |       # Id of the script to search in. | 
 |       Runtime.ScriptId scriptId | 
 |       # String to search for. | 
 |       string query | 
 |       # If true, search is case sensitive. | 
 |       optional boolean caseSensitive | 
 |       # If true, treats string parameter as regex. | 
 |       optional boolean isRegex | 
 |     returns | 
 |       # List of search matches. | 
 |       array of SearchMatch result | 
 |  | 
 |   # Enables or disables async call stacks tracking. | 
 |   command setAsyncCallStackDepth | 
 |     parameters | 
 |       # Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async | 
 |       # call stacks (default). | 
 |       integer maxDepth | 
 |  | 
 |   # Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in | 
 |   # scripts with url matching one of the patterns. VM will try to leave blackboxed script by | 
 |   # performing 'step in' several times, finally resorting to 'step out' if unsuccessful. | 
 |   experimental command setBlackboxPatterns | 
 |     parameters | 
 |       # Array of regexps that will be used to check script url for blackbox state. | 
 |       array of string patterns | 
 |  | 
 |   # Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted | 
 |   # scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. | 
 |   # Positions array contains positions where blackbox state is changed. First interval isn't | 
 |   # blackboxed. Array should be sorted. | 
 |   experimental command setBlackboxedRanges | 
 |     parameters | 
 |       # Id of the script. | 
 |       Runtime.ScriptId scriptId | 
 |       array of ScriptPosition positions | 
 |  | 
 |   # Sets JavaScript breakpoint at a given location. | 
 |   command setBreakpoint | 
 |     parameters | 
 |       # Location to set breakpoint in. | 
 |       Location location | 
 |       # Expression to use as a breakpoint condition. When specified, debugger will only stop on the | 
 |       # breakpoint if this expression evaluates to true. | 
 |       optional string condition | 
 |     returns | 
 |       # Id of the created breakpoint for further reference. | 
 |       BreakpointId breakpointId | 
 |       # Location this breakpoint resolved into. | 
 |       Location actualLocation | 
 |  | 
 |   # Sets instrumentation breakpoint. | 
 |   command setInstrumentationBreakpoint | 
 |     parameters | 
 |       # Instrumentation name. | 
 |       enum instrumentation | 
 |         beforeScriptExecution | 
 |         beforeScriptWithSourceMapExecution | 
 |     returns | 
 |       # Id of the created breakpoint for further reference. | 
 |       BreakpointId breakpointId | 
 |  | 
 |   # 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 | 
 |   # `locations` property. Further matching script parsing will result in subsequent | 
 |   # `breakpointResolved` events issued. This logical breakpoint will survive page reloads. | 
 |   command setBreakpointByUrl | 
 |     parameters | 
 |       # Line number to set breakpoint at. | 
 |       integer lineNumber | 
 |       # URL of the resources to set breakpoint on. | 
 |       optional string url | 
 |       # Regex pattern for the URLs of the resources to set breakpoints on. Either `url` or | 
 |       # `urlRegex` must be specified. | 
 |       optional string urlRegex | 
 |       # Script hash of the resources to set breakpoint on. | 
 |       optional string scriptHash | 
 |       # Offset in the line to set breakpoint at. | 
 |       optional integer columnNumber | 
 |       # Expression to use as a breakpoint condition. When specified, debugger will only stop on the | 
 |       # breakpoint if this expression evaluates to true. | 
 |       optional string condition | 
 |     returns | 
 |       # Id of the created breakpoint for further reference. | 
 |       BreakpointId breakpointId | 
 |       # List of the locations this breakpoint resolved into upon addition. | 
 |       array of Location locations | 
 |  | 
 |   # Sets JavaScript breakpoint before each call to the given function. | 
 |   # If another function was created from the same source as a given one, | 
 |   # calling it will also trigger the breakpoint. | 
 |   experimental command setBreakpointOnFunctionCall | 
 |     parameters | 
 |       # Function object id. | 
 |       Runtime.RemoteObjectId objectId | 
 |       # Expression to use as a breakpoint condition. When specified, debugger will | 
 |       # stop on the breakpoint if this expression evaluates to true. | 
 |       optional string condition | 
 |     returns | 
 |       # Id of the created breakpoint for further reference. | 
 |       BreakpointId breakpointId | 
 |  | 
 |   # Activates / deactivates all breakpoints on the page. | 
 |   command setBreakpointsActive | 
 |     parameters | 
 |       # New value for breakpoints active state. | 
 |       boolean active | 
 |  | 
 |   # Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or | 
 |   # no exceptions. Initial pause on exceptions state is `none`. | 
 |   command setPauseOnExceptions | 
 |     parameters | 
 |       # Pause on exceptions mode. | 
 |       enum state | 
 |         none | 
 |         uncaught | 
 |         all | 
 |  | 
 |   # Changes return value in top frame. Available only at return break position. | 
 |   experimental command setReturnValue | 
 |     parameters | 
 |       # New return value. | 
 |       Runtime.CallArgument newValue | 
 |  | 
 |   # Edits JavaScript source live. | 
 |   command setScriptSource | 
 |     parameters | 
 |       # Id of the script to edit. | 
 |       Runtime.ScriptId scriptId | 
 |       # New content of the script. | 
 |       string scriptSource | 
 |       #  If true the change will not actually be applied. Dry run may be used to get result | 
 |       # description without actually modifying the code. | 
 |       optional boolean dryRun | 
 |     returns | 
 |       # New stack trace in case editing has happened while VM was stopped. | 
 |       optional array of CallFrame callFrames | 
 |       # Whether current call stack  was modified after applying the changes. | 
 |       optional boolean stackChanged | 
 |       # Async stack trace, if any. | 
 |       optional Runtime.StackTrace asyncStackTrace | 
 |       # Async stack trace, if any. | 
 |       experimental optional Runtime.StackTraceId asyncStackTraceId | 
 |       # Exception details if any. | 
 |       optional Runtime.ExceptionDetails exceptionDetails | 
 |  | 
 |   # Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc). | 
 |   command setSkipAllPauses | 
 |     parameters | 
 |       # New value for skip pauses state. | 
 |       boolean skip | 
 |  | 
 |   # Changes value of variable in a callframe. Object-based scopes are not supported and must be | 
 |   # mutated manually. | 
 |   command setVariableValue | 
 |     parameters | 
 |       # 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. | 
 |       integer scopeNumber | 
 |       # Variable name. | 
 |       string variableName | 
 |       # New variable value. | 
 |       Runtime.CallArgument newValue | 
 |       # Id of callframe that holds variable. | 
 |       CallFrameId callFrameId | 
 |  | 
 |   # Steps into the function call. | 
 |   command stepInto | 
 |     parameters | 
 |       # Debugger will pause on the execution of the first async task which was scheduled | 
 |       # before next pause. | 
 |       experimental optional boolean breakOnAsyncCall | 
 |  | 
 |   # Steps out of the function call. | 
 |   command stepOut | 
 |  | 
 |   # Steps over the statement. | 
 |   command stepOver | 
 |  | 
 |   # Fired when breakpoint is resolved to an actual script and location. | 
 |   event breakpointResolved | 
 |     parameters | 
 |       # Breakpoint unique identifier. | 
 |       BreakpointId breakpointId | 
 |       # Actual breakpoint location. | 
 |       Location location | 
 |  | 
 |   # Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. | 
 |   event paused | 
 |     parameters | 
 |       # Call stack the virtual machine stopped on. | 
 |       array of CallFrame callFrames | 
 |       # Pause reason. | 
 |       enum reason | 
 |         ambiguous | 
 |         assert | 
 |         debugCommand | 
 |         DOM | 
 |         EventListener | 
 |         exception | 
 |         instrumentation | 
 |         OOM | 
 |         other | 
 |         promiseRejection | 
 |         XHR | 
 |       # Object containing break-specific auxiliary properties. | 
 |       optional object data | 
 |       # Hit breakpoints IDs | 
 |       optional array of string hitBreakpoints | 
 |       # Async stack trace, if any. | 
 |       optional Runtime.StackTrace asyncStackTrace | 
 |       # Async stack trace, if any. | 
 |       experimental optional Runtime.StackTraceId asyncStackTraceId | 
 |       # Never present, will be removed. | 
 |       experimental deprecated optional Runtime.StackTraceId asyncCallStackTraceId | 
 |  | 
 |   # Fired when the virtual machine resumed execution. | 
 |   event resumed | 
 |  | 
 |   # Fired when virtual machine fails to parse the script. | 
 |   event scriptFailedToParse | 
 |     parameters | 
 |       # Identifier of the script parsed. | 
 |       Runtime.ScriptId scriptId | 
 |       # URL or name of the script parsed (if any). | 
 |       string url | 
 |       # Line offset of the script within the resource with given URL (for script tags). | 
 |       integer startLine | 
 |       # Column offset of the script within the resource with given URL. | 
 |       integer startColumn | 
 |       # Last line of the script. | 
 |       integer endLine | 
 |       # Length of the last line of the script. | 
 |       integer endColumn | 
 |       # Specifies script creation context. | 
 |       Runtime.ExecutionContextId executionContextId | 
 |       # Content hash of the script. | 
 |       string hash | 
 |       # Embedder-specific auxiliary data. | 
 |       optional object executionContextAuxData | 
 |       # URL of source map associated with script (if any). | 
 |       optional string sourceMapURL | 
 |       # True, if this script has sourceURL. | 
 |       optional boolean hasSourceURL | 
 |       # True, if this script is ES6 module. | 
 |       optional boolean isModule | 
 |       # This script length. | 
 |       optional integer length | 
 |       # JavaScript top stack frame of where the script parsed event was triggered if available. | 
 |       experimental optional Runtime.StackTrace stackTrace | 
 |  | 
 |   # Fired when virtual machine parses script. This event is also fired for all known and uncollected | 
 |   # scripts upon enabling debugger. | 
 |   event scriptParsed | 
 |     parameters | 
 |       # Identifier of the script parsed. | 
 |       Runtime.ScriptId scriptId | 
 |       # URL or name of the script parsed (if any). | 
 |       string url | 
 |       # Line offset of the script within the resource with given URL (for script tags). | 
 |       integer startLine | 
 |       # Column offset of the script within the resource with given URL. | 
 |       integer startColumn | 
 |       # Last line of the script. | 
 |       integer endLine | 
 |       # Length of the last line of the script. | 
 |       integer endColumn | 
 |       # Specifies script creation context. | 
 |       Runtime.ExecutionContextId executionContextId | 
 |       # Content hash of the script. | 
 |       string hash | 
 |       # Embedder-specific auxiliary data. | 
 |       optional object executionContextAuxData | 
 |       # True, if this script is generated as a result of the live edit operation. | 
 |       experimental optional boolean isLiveEdit | 
 |       # URL of source map associated with script (if any). | 
 |       optional string sourceMapURL | 
 |       # True, if this script has sourceURL. | 
 |       optional boolean hasSourceURL | 
 |       # True, if this script is ES6 module. | 
 |       optional boolean isModule | 
 |       # This script length. | 
 |       optional integer length | 
 |       # JavaScript top stack frame of where the script parsed event was triggered if available. | 
 |       experimental optional Runtime.StackTrace stackTrace | 
 |  | 
 | experimental domain HeapProfiler | 
 |   depends on Runtime | 
 |  | 
 |   # Heap snapshot object id. | 
 |   type HeapSnapshotObjectId extends string | 
 |  | 
 |   # Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes. | 
 |   type SamplingHeapProfileNode extends object | 
 |     properties | 
 |       # Function location. | 
 |       Runtime.CallFrame callFrame | 
 |       # Allocations size in bytes for the node excluding children. | 
 |       number selfSize | 
 |       # Node id. Ids are unique across all profiles collected between startSampling and stopSampling. | 
 |       integer id | 
 |       # Child nodes. | 
 |       array of SamplingHeapProfileNode children | 
 |  | 
 |   # A single sample from a sampling profile. | 
 |   type SamplingHeapProfileSample extends object | 
 |     properties | 
 |       # Allocation size in bytes attributed to the sample. | 
 |       number size | 
 |       # Id of the corresponding profile tree node. | 
 |       integer nodeId | 
 |       # Time-ordered sample ordinal number. It is unique across all profiles retrieved | 
 |       # between startSampling and stopSampling. | 
 |       number ordinal | 
 |  | 
 |   # Sampling profile. | 
 |   type SamplingHeapProfile extends object | 
 |     properties | 
 |       SamplingHeapProfileNode head | 
 |       array of SamplingHeapProfileSample samples | 
 |  | 
 |   # Enables console to refer to the node with given id via $x (see Command Line API for more details | 
 |   # $x functions). | 
 |   command addInspectedHeapObject | 
 |     parameters | 
 |       # Heap snapshot object id to be accessible by means of $x command line API. | 
 |       HeapSnapshotObjectId heapObjectId | 
 |  | 
 |   command collectGarbage | 
 |  | 
 |   command disable | 
 |  | 
 |   command enable | 
 |  | 
 |   command getHeapObjectId | 
 |     parameters | 
 |       # Identifier of the object to get heap object id for. | 
 |       Runtime.RemoteObjectId objectId | 
 |     returns | 
 |       # Id of the heap snapshot object corresponding to the passed remote object id. | 
 |       HeapSnapshotObjectId heapSnapshotObjectId | 
 |  | 
 |   command getObjectByHeapObjectId | 
 |     parameters | 
 |       HeapSnapshotObjectId objectId | 
 |       # Symbolic group name that can be used to release multiple objects. | 
 |       optional string objectGroup | 
 |     returns | 
 |       # Evaluation result. | 
 |       Runtime.RemoteObject result | 
 |  | 
 |   command getSamplingProfile | 
 |     returns | 
 |       # Return the sampling profile being collected. | 
 |       SamplingHeapProfile profile | 
 |  | 
 |   command startSampling | 
 |     parameters | 
 |       # Average sample interval in bytes. Poisson distribution is used for the intervals. The | 
 |       # default value is 32768 bytes. | 
 |       optional number samplingInterval | 
 |  | 
 |   command startTrackingHeapObjects | 
 |     parameters | 
 |       optional boolean trackAllocations | 
 |  | 
 |   command stopSampling | 
 |     returns | 
 |       # Recorded sampling heap profile. | 
 |       SamplingHeapProfile profile | 
 |  | 
 |   command stopTrackingHeapObjects | 
 |     parameters | 
 |       # If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken | 
 |       # when the tracking is stopped. | 
 |       optional boolean reportProgress | 
 |  | 
 |   command takeHeapSnapshot | 
 |     parameters | 
 |       # If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken. | 
 |       optional boolean reportProgress | 
 |  | 
 |   event addHeapSnapshotChunk | 
 |     parameters | 
 |       string chunk | 
 |  | 
 |   # If heap objects tracking has been started then backend may send update for one or more fragments | 
 |   event heapStatsUpdate | 
 |     parameters | 
 |       # 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. | 
 |       array of integer statsUpdate | 
 |  | 
 |   # If heap objects tracking has been started then backend regularly 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. | 
 |   event lastSeenObjectId | 
 |     parameters | 
 |       integer lastSeenObjectId | 
 |       number timestamp | 
 |  | 
 |   event reportHeapSnapshotProgress | 
 |     parameters | 
 |       integer done | 
 |       integer total | 
 |       optional boolean finished | 
 |  | 
 |   event resetProfiles | 
 |  | 
 | domain Profiler | 
 |   depends on Runtime | 
 |   depends on Debugger | 
 |  | 
 |   # Profile node. Holds callsite information, execution statistics and child nodes. | 
 |   type ProfileNode extends object | 
 |     properties | 
 |       # Unique id of the node. | 
 |       integer id | 
 |       # Function location. | 
 |       Runtime.CallFrame callFrame | 
 |       # Number of samples where this node was on top of the call stack. | 
 |       optional integer hitCount | 
 |       # Child node ids. | 
 |       optional array of integer children | 
 |       # The reason of being not optimized. The function may be deoptimized or marked as don't | 
 |       # optimize. | 
 |       optional string deoptReason | 
 |       # An array of source position ticks. | 
 |       optional array of PositionTickInfo positionTicks | 
 |  | 
 |   # Profile. | 
 |   type Profile extends object | 
 |     properties | 
 |       # The list of profile nodes. First item is the root node. | 
 |       array of ProfileNode nodes | 
 |       # Profiling start timestamp in microseconds. | 
 |       number startTime | 
 |       # Profiling end timestamp in microseconds. | 
 |       number endTime | 
 |       # Ids of samples top nodes. | 
 |       optional array of integer samples | 
 |       # Time intervals between adjacent samples in microseconds. The first delta is relative to the | 
 |       # profile startTime. | 
 |       optional array of integer timeDeltas | 
 |  | 
 |   # Specifies a number of samples attributed to a certain source position. | 
 |   type PositionTickInfo extends object | 
 |     properties | 
 |       # Source line number (1-based). | 
 |       integer line | 
 |       # Number of samples attributed to the source line. | 
 |       integer ticks | 
 |  | 
 |   # Coverage data for a source range. | 
 |   type CoverageRange extends object | 
 |     properties | 
 |       # JavaScript script source offset for the range start. | 
 |       integer startOffset | 
 |       # JavaScript script source offset for the range end. | 
 |       integer endOffset | 
 |       # Collected execution count of the source range. | 
 |       integer count | 
 |  | 
 |   # Coverage data for a JavaScript function. | 
 |   type FunctionCoverage extends object | 
 |     properties | 
 |       # JavaScript function name. | 
 |       string functionName | 
 |       # Source ranges inside the function with coverage data. | 
 |       array of CoverageRange ranges | 
 |       # Whether coverage data for this function has block granularity. | 
 |       boolean isBlockCoverage | 
 |  | 
 |   # Coverage data for a JavaScript script. | 
 |   type ScriptCoverage extends object | 
 |     properties | 
 |       # JavaScript script id. | 
 |       Runtime.ScriptId scriptId | 
 |       # JavaScript script name or url. | 
 |       string url | 
 |       # Functions contained in the script that has coverage data. | 
 |       array of FunctionCoverage functions | 
 |  | 
 |   # Describes a type collected during runtime. | 
 |   experimental type TypeObject extends object | 
 |     properties | 
 |       # Name of a type collected with type profiling. | 
 |       string name | 
 |  | 
 |   # Source offset and types for a parameter or return value. | 
 |   experimental type TypeProfileEntry extends object | 
 |     properties | 
 |       # Source offset of the parameter or end of function for return values. | 
 |       integer offset | 
 |       # The types for this parameter or return value. | 
 |       array of TypeObject types | 
 |  | 
 |   # Type profile data collected during runtime for a JavaScript script. | 
 |   experimental type ScriptTypeProfile extends object | 
 |     properties | 
 |       # JavaScript script id. | 
 |       Runtime.ScriptId scriptId | 
 |       # JavaScript script name or url. | 
 |       string url | 
 |       # Type profile entries for parameters and return values of the functions in the script. | 
 |       array of TypeProfileEntry entries | 
 |  | 
 |   # Collected counter information. | 
 |   experimental type CounterInfo extends object | 
 |     properties | 
 |       # Counter name. | 
 |       string name | 
 |       # Counter value. | 
 |       integer value | 
 |  | 
 |   command disable | 
 |  | 
 |   command enable | 
 |  | 
 |   # Collect coverage data for the current isolate. The coverage data may be incomplete due to | 
 |   # garbage collection. | 
 |   command getBestEffortCoverage | 
 |     returns | 
 |       # Coverage data for the current isolate. | 
 |       array of ScriptCoverage result | 
 |  | 
 |   # Changes CPU profiler sampling interval. Must be called before CPU profiles recording started. | 
 |   command setSamplingInterval | 
 |     parameters | 
 |       # New sampling interval in microseconds. | 
 |       integer interval | 
 |  | 
 |   command start | 
 |  | 
 |   # Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code | 
 |   # coverage may be incomplete. Enabling prevents running optimized code and resets execution | 
 |   # counters. | 
 |   command startPreciseCoverage | 
 |     parameters | 
 |       # Collect accurate call counts beyond simple 'covered' or 'not covered'. | 
 |       optional boolean callCount | 
 |       # Collect block-based coverage. | 
 |       optional boolean detailed | 
 |  | 
 |   # Enable type profile. | 
 |   experimental command startTypeProfile | 
 |  | 
 |   command stop | 
 |     returns | 
 |       # Recorded profile. | 
 |       Profile profile | 
 |  | 
 |   # Disable precise code coverage. Disabling releases unnecessary execution count records and allows | 
 |   # executing optimized code. | 
 |   command stopPreciseCoverage | 
 |  | 
 |   # Disable type profile. Disabling releases type profile data collected so far. | 
 |   experimental command stopTypeProfile | 
 |  | 
 |   # Collect coverage data for the current isolate, and resets execution counters. Precise code | 
 |   # coverage needs to have started. | 
 |   command takePreciseCoverage | 
 |     returns | 
 |       # Coverage data for the current isolate. | 
 |       array of ScriptCoverage result | 
 |  | 
 |   # Collect type profile. | 
 |   experimental command takeTypeProfile | 
 |     returns | 
 |       # Type profile for all scripts since startTypeProfile() was turned on. | 
 |       array of ScriptTypeProfile result | 
 |  | 
 |   # Enable run time call stats collection. | 
 |   experimental command enableRuntimeCallStats | 
 |  | 
 |   # Disable run time call stats collection. | 
 |   experimental command disableRuntimeCallStats | 
 |  | 
 |   # Retrieve run time call stats. | 
 |   experimental command getRuntimeCallStats | 
 |     returns | 
 |       # Collected counter information. | 
 |       array of CounterInfo result | 
 |  | 
 |   event consoleProfileFinished | 
 |     parameters | 
 |       string id | 
 |       # Location of console.profileEnd(). | 
 |       Debugger.Location location | 
 |       Profile profile | 
 |       # Profile title passed as an argument to console.profile(). | 
 |       optional string title | 
 |  | 
 |   # Sent when new profile recording is started using console.profile() call. | 
 |   event consoleProfileStarted | 
 |     parameters | 
 |       string id | 
 |       # Location of console.profile(). | 
 |       Debugger.Location location | 
 |       # Profile title passed as an argument to console.profile(). | 
 |       optional string title | 
 |  | 
 | # 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. | 
 | domain Runtime | 
 |  | 
 |   # Unique script identifier. | 
 |   type ScriptId extends string | 
 |  | 
 |   # Unique object identifier. | 
 |   type RemoteObjectId extends string | 
 |  | 
 |   # Primitive value which cannot be JSON-stringified. Includes values `-0`, `NaN`, `Infinity`, | 
 |   # `-Infinity`, and bigint literals. | 
 |   type UnserializableValue extends string | 
 |  | 
 |   # Mirror object referencing original JavaScript object. | 
 |   type RemoteObject extends object | 
 |     properties | 
 |       # Object type. | 
 |       enum type | 
 |         object | 
 |         function | 
 |         undefined | 
 |         string | 
 |         number | 
 |         boolean | 
 |         symbol | 
 |         bigint | 
 |       # Object subtype hint. Specified for `object` type values only. | 
 |       optional enum subtype | 
 |         array | 
 |         null | 
 |         node | 
 |         regexp | 
 |         date | 
 |         map | 
 |         set | 
 |         weakmap | 
 |         weakset | 
 |         iterator | 
 |         generator | 
 |         error | 
 |         proxy | 
 |         promise | 
 |         typedarray | 
 |         arraybuffer | 
 |         dataview | 
 |       # Object class (constructor) name. Specified for `object` type values only. | 
 |       optional string className | 
 |       # Remote object value in case of primitive values or JSON values (if it was requested). | 
 |       optional any value | 
 |       # Primitive value which can not be JSON-stringified does not have `value`, but gets this | 
 |       # property. | 
 |       optional UnserializableValue unserializableValue | 
 |       # String representation of the object. | 
 |       optional string description | 
 |       # Unique object identifier (for non-primitive values). | 
 |       optional RemoteObjectId objectId | 
 |       # Preview containing abbreviated property values. Specified for `object` type values only. | 
 |       experimental optional ObjectPreview preview | 
 |       experimental optional CustomPreview customPreview | 
 |  | 
 |   experimental type CustomPreview extends object | 
 |     properties | 
 |       # The JSON-stringified result of formatter.header(object, config) call. | 
 |       # It contains json ML array that represents RemoteObject. | 
 |       string header | 
 |       # If formatter returns true as a result of formatter.hasBody call then bodyGetterId will | 
 |       # contain RemoteObjectId for the function that returns result of formatter.body(object, config) call. | 
 |       # The result value is json ML array. | 
 |       optional RemoteObjectId bodyGetterId | 
 |  | 
 |   # Object containing abbreviated remote object value. | 
 |   experimental type ObjectPreview extends object | 
 |     properties | 
 |       # Object type. | 
 |       enum type | 
 |         object | 
 |         function | 
 |         undefined | 
 |         string | 
 |         number | 
 |         boolean | 
 |         symbol | 
 |         bigint | 
 |       # Object subtype hint. Specified for `object` type values only. | 
 |       optional enum subtype | 
 |         array | 
 |         null | 
 |         node | 
 |         regexp | 
 |         date | 
 |         map | 
 |         set | 
 |         weakmap | 
 |         weakset | 
 |         iterator | 
 |         generator | 
 |         error | 
 |       # String representation of the object. | 
 |       optional string description | 
 |       # True iff some of the properties or entries of the original object did not fit. | 
 |       boolean overflow | 
 |       # List of the properties. | 
 |       array of PropertyPreview properties | 
 |       # List of the entries. Specified for `map` and `set` subtype values only. | 
 |       optional array of EntryPreview entries | 
 |  | 
 |   experimental type PropertyPreview extends object | 
 |     properties | 
 |       # Property name. | 
 |       string name | 
 |       # Object type. Accessor means that the property itself is an accessor property. | 
 |       enum type | 
 |         object | 
 |         function | 
 |         undefined | 
 |         string | 
 |         number | 
 |         boolean | 
 |         symbol | 
 |         accessor | 
 |         bigint | 
 |       # User-friendly property value string. | 
 |       optional string value | 
 |       # Nested value preview. | 
 |       optional ObjectPreview valuePreview | 
 |       # Object subtype hint. Specified for `object` type values only. | 
 |       optional enum subtype | 
 |         array | 
 |         null | 
 |         node | 
 |         regexp | 
 |         date | 
 |         map | 
 |         set | 
 |         weakmap | 
 |         weakset | 
 |         iterator | 
 |         generator | 
 |         error | 
 |  | 
 |   experimental type EntryPreview extends object | 
 |     properties | 
 |       # Preview of the key. Specified for map-like collection entries. | 
 |       optional ObjectPreview key | 
 |       # Preview of the value. | 
 |       ObjectPreview value | 
 |  | 
 |   # Object property descriptor. | 
 |   type PropertyDescriptor extends object | 
 |     properties | 
 |       # Property name or symbol description. | 
 |       string name | 
 |       # The value associated with the property. | 
 |       optional RemoteObject value | 
 |       # True if the value associated with the property may be changed (data descriptors only). | 
 |       optional boolean writable | 
 |       # A function which serves as a getter for the property, or `undefined` if there is no getter | 
 |       # (accessor descriptors only). | 
 |       optional RemoteObject get | 
 |       # A function which serves as a setter for the property, or `undefined` if there is no setter | 
 |       # (accessor descriptors only). | 
 |       optional RemoteObject set | 
 |       # True if the type of this property descriptor may be changed and if the property may be | 
 |       # deleted from the corresponding object. | 
 |       boolean configurable | 
 |       # True if this property shows up during enumeration of the properties on the corresponding | 
 |       # object. | 
 |       boolean enumerable | 
 |       # True if the result was thrown during the evaluation. | 
 |       optional boolean wasThrown | 
 |       # True if the property is owned for the object. | 
 |       optional boolean isOwn | 
 |       # Property symbol object, if the property is of the `symbol` type. | 
 |       optional RemoteObject symbol | 
 |  | 
 |   # Object internal property descriptor. This property isn't normally visible in JavaScript code. | 
 |   type InternalPropertyDescriptor extends object | 
 |     properties | 
 |       # Conventional property name. | 
 |       string name | 
 |       # The value associated with the property. | 
 |       optional RemoteObject value | 
 |  | 
 |   # Object private field descriptor. | 
 |   experimental type PrivatePropertyDescriptor extends object | 
 |     properties | 
 |       # Private property name. | 
 |       string name | 
 |       # The value associated with the private property. | 
 |       optional RemoteObject value | 
 |       # A function which serves as a getter for the private property, | 
 |       # or `undefined` if there is no getter (accessor descriptors only). | 
 |       optional RemoteObject get | 
 |       # A function which serves as a setter for the private property, | 
 |       # or `undefined` if there is no setter (accessor descriptors only). | 
 |       optional RemoteObject set | 
 |  | 
 |   # Represents function call argument. Either remote object id `objectId`, primitive `value`, | 
 |   # unserializable primitive value or neither of (for undefined) them should be specified. | 
 |   type CallArgument extends object | 
 |     properties | 
 |       # Primitive value or serializable javascript object. | 
 |       optional any value | 
 |       # Primitive value which can not be JSON-stringified. | 
 |       optional UnserializableValue unserializableValue | 
 |       # Remote object handle. | 
 |       optional RemoteObjectId objectId | 
 |  | 
 |   # Id of an execution context. | 
 |   type ExecutionContextId extends integer | 
 |  | 
 |   # Description of an isolated world. | 
 |   type ExecutionContextDescription extends object | 
 |     properties | 
 |       # Unique id of the execution context. It can be used to specify in which execution context | 
 |       # script evaluation should be performed. | 
 |       ExecutionContextId id | 
 |       # Execution context origin. | 
 |       string origin | 
 |       # Human readable name describing given context. | 
 |       string name | 
 |       # Embedder-specific auxiliary data. | 
 |       optional object auxData | 
 |  | 
 |   # Detailed information about exception (or error) that was thrown during script compilation or | 
 |   # execution. | 
 |   type ExceptionDetails extends object | 
 |     properties | 
 |       # Exception id. | 
 |       integer exceptionId | 
 |       # Exception text, which should be used together with exception object when available. | 
 |       string text | 
 |       # Line number of the exception location (0-based). | 
 |       integer lineNumber | 
 |       # Column number of the exception location (0-based). | 
 |       integer columnNumber | 
 |       # Script ID of the exception location. | 
 |       optional ScriptId scriptId | 
 |       # URL of the exception location, to be used when the script was not reported. | 
 |       optional string url | 
 |       # JavaScript stack trace if available. | 
 |       optional StackTrace stackTrace | 
 |       # Exception object if available. | 
 |       optional RemoteObject exception | 
 |       # Identifier of the context where exception happened. | 
 |       optional ExecutionContextId executionContextId | 
 |  | 
 |   # Number of milliseconds since epoch. | 
 |   type Timestamp extends number | 
 |  | 
 |   # Number of milliseconds. | 
 |   type TimeDelta extends number | 
 |  | 
 |   # Stack entry for runtime errors and assertions. | 
 |   type CallFrame extends object | 
 |     properties | 
 |       # JavaScript function name. | 
 |       string functionName | 
 |       # JavaScript script id. | 
 |       ScriptId scriptId | 
 |       # JavaScript script name or url. | 
 |       string url | 
 |       # JavaScript script line number (0-based). | 
 |       integer lineNumber | 
 |       # JavaScript script column number (0-based). | 
 |       integer columnNumber | 
 |  | 
 |   # Call frames for assertions or error messages. | 
 |   type StackTrace extends object | 
 |     properties | 
 |       # String label of this stack trace. For async traces this may be a name of the function that | 
 |       # initiated the async call. | 
 |       optional string description | 
 |       # JavaScript function name. | 
 |       array of CallFrame callFrames | 
 |       # Asynchronous JavaScript stack trace that preceded this stack, if available. | 
 |       optional StackTrace parent | 
 |       # Asynchronous JavaScript stack trace that preceded this stack, if available. | 
 |       experimental optional StackTraceId parentId | 
 |  | 
 |   # Unique identifier of current debugger. | 
 |   experimental type UniqueDebuggerId extends string | 
 |  | 
 |   # If `debuggerId` is set stack trace comes from another debugger and can be resolved there. This | 
 |   # allows to track cross-debugger calls. See `Runtime.StackTrace` and `Debugger.paused` for usages. | 
 |   experimental type StackTraceId extends object | 
 |     properties | 
 |       string id | 
 |       optional UniqueDebuggerId debuggerId | 
 |  | 
 |   # Add handler to promise with given promise object id. | 
 |   command awaitPromise | 
 |     parameters | 
 |       # Identifier of the promise. | 
 |       RemoteObjectId promiseObjectId | 
 |       # Whether the result is expected to be a JSON object that should be sent by value. | 
 |       optional boolean returnByValue | 
 |       # Whether preview should be generated for the result. | 
 |       optional boolean generatePreview | 
 |     returns | 
 |       # Promise result. Will contain rejected value if promise was rejected. | 
 |       RemoteObject result | 
 |       # Exception details if stack strace is available. | 
 |       optional ExceptionDetails exceptionDetails | 
 |  | 
 |   # Calls function with given declaration on the given object. Object group of the result is | 
 |   # inherited from the target object. | 
 |   command callFunctionOn | 
 |     parameters | 
 |       # Declaration of the function to call. | 
 |       string functionDeclaration | 
 |       # Identifier of the object to call function on. Either objectId or executionContextId should | 
 |       # be specified. | 
 |       optional RemoteObjectId objectId | 
 |       # Call arguments. All call arguments must belong to the same JavaScript world as the target | 
 |       # object. | 
 |       optional array of CallArgument arguments | 
 |       # In silent mode exceptions thrown during evaluation are not reported and do not pause | 
 |       # execution. Overrides `setPauseOnException` state. | 
 |       optional boolean silent | 
 |       # Whether the result is expected to be a JSON object which should be sent by value. | 
 |       optional boolean returnByValue | 
 |       # Whether preview should be generated for the result. | 
 |       experimental optional boolean generatePreview | 
 |       # Whether execution should be treated as initiated by user in the UI. | 
 |       optional boolean userGesture | 
 |       # Whether execution should `await` for resulting value and return once awaited promise is | 
 |       # resolved. | 
 |       optional boolean awaitPromise | 
 |       # Specifies execution context which global object will be used to call function on. Either | 
 |       # executionContextId or objectId should be specified. | 
 |       optional ExecutionContextId executionContextId | 
 |       # Symbolic group name that can be used to release multiple objects. If objectGroup is not | 
 |       # specified and objectId is, objectGroup will be inherited from object. | 
 |       optional string objectGroup | 
 |     returns | 
 |       # Call result. | 
 |       RemoteObject result | 
 |       # Exception details. | 
 |       optional ExceptionDetails exceptionDetails | 
 |  | 
 |   # Compiles expression. | 
 |   command compileScript | 
 |     parameters | 
 |       # Expression to compile. | 
 |       string expression | 
 |       # Source url to be set for the script. | 
 |       string sourceURL | 
 |       # Specifies whether the compiled script should be persisted. | 
 |       boolean persistScript | 
 |       # Specifies in which execution context to perform script run. If the parameter is omitted the | 
 |       # evaluation will be performed in the context of the inspected page. | 
 |       optional ExecutionContextId executionContextId | 
 |     returns | 
 |       # Id of the script. | 
 |       optional ScriptId scriptId | 
 |       # Exception details. | 
 |       optional ExceptionDetails exceptionDetails | 
 |  | 
 |   # Disables reporting of execution contexts creation. | 
 |   command disable | 
 |  | 
 |   # Discards collected exceptions and console API calls. | 
 |   command discardConsoleEntries | 
 |  | 
 |   # Enables reporting of execution contexts creation by means of `executionContextCreated` event. | 
 |   # When the reporting gets enabled the event will be sent immediately for each existing execution | 
 |   # context. | 
 |   command enable | 
 |  | 
 |   # Evaluates expression on global object. | 
 |   command evaluate | 
 |     parameters | 
 |       # Expression to evaluate. | 
 |       string expression | 
 |       # Symbolic group name that can be used to release multiple objects. | 
 |       optional string objectGroup | 
 |       # Determines whether Command Line API should be available during the evaluation. | 
 |       optional boolean includeCommandLineAPI | 
 |       # In silent mode exceptions thrown during evaluation are not reported and do not pause | 
 |       # execution. Overrides `setPauseOnException` state. | 
 |       optional boolean silent | 
 |       # Specifies in which execution context to perform evaluation. If the parameter is omitted the | 
 |       # evaluation will be performed in the context of the inspected page. | 
 |       optional ExecutionContextId contextId | 
 |       # Whether the result is expected to be a JSON object that should be sent by value. | 
 |       optional boolean returnByValue | 
 |       # Whether preview should be generated for the result. | 
 |       experimental optional boolean generatePreview | 
 |       # Whether execution should be treated as initiated by user in the UI. | 
 |       optional boolean userGesture | 
 |       # Whether execution should `await` for resulting value and return once awaited promise is | 
 |       # resolved. | 
 |       optional boolean awaitPromise | 
 |       # Whether to throw an exception if side effect cannot be ruled out during evaluation. | 
 |       # This implies `disableBreaks` below. | 
 |       experimental optional boolean throwOnSideEffect | 
 |       # Terminate execution after timing out (number of milliseconds). | 
 |       experimental optional TimeDelta timeout | 
 |       # Disable breakpoints during execution. | 
 |       experimental optional boolean disableBreaks | 
 |       # Reserved flag for future REPL mode support. Setting this flag has currently no effect. | 
 |       experimental optional boolean replMode | 
 |     returns | 
 |       # Evaluation result. | 
 |       RemoteObject result | 
 |       # Exception details. | 
 |       optional ExceptionDetails exceptionDetails | 
 |  | 
 |   # Returns the isolate id. | 
 |   experimental command getIsolateId | 
 |     returns | 
 |       # The isolate id. | 
 |       string id | 
 |  | 
 |   # Returns the JavaScript heap usage. | 
 |   # It is the total usage of the corresponding isolate not scoped to a particular Runtime. | 
 |   experimental command getHeapUsage | 
 |     returns | 
 |       # Used heap size in bytes. | 
 |       number usedSize | 
 |       # Allocated heap size in bytes. | 
 |       number totalSize | 
 |  | 
 |   # Returns properties of a given object. Object group of the result is inherited from the target | 
 |   # object. | 
 |   command getProperties | 
 |     parameters | 
 |       # Identifier of the object to return properties for. | 
 |       RemoteObjectId objectId | 
 |       # If true, returns properties belonging only to the element itself, not to its prototype | 
 |       # chain. | 
 |       optional boolean ownProperties | 
 |       # If true, returns accessor properties (with getter/setter) only; internal properties are not | 
 |       # returned either. | 
 |       experimental optional boolean accessorPropertiesOnly | 
 |       # Whether preview should be generated for the results. | 
 |       experimental optional boolean generatePreview | 
 |     returns | 
 |       # Object properties. | 
 |       array of PropertyDescriptor result | 
 |       # Internal object properties (only of the element itself). | 
 |       optional array of InternalPropertyDescriptor internalProperties | 
 |       # Object private properties. | 
 |       experimental optional array of PrivatePropertyDescriptor privateProperties | 
 |       # Exception details. | 
 |       optional ExceptionDetails exceptionDetails | 
 |  | 
 |   # Returns all let, const and class variables from global scope. | 
 |   command globalLexicalScopeNames | 
 |     parameters | 
 |       # Specifies in which execution context to lookup global scope variables. | 
 |       optional ExecutionContextId executionContextId | 
 |     returns | 
 |       array of string names | 
 |  | 
 |   command queryObjects | 
 |     parameters | 
 |       # Identifier of the prototype to return objects for. | 
 |       RemoteObjectId prototypeObjectId | 
 |       # Symbolic group name that can be used to release the results. | 
 |       optional string objectGroup | 
 |     returns | 
 |       # Array with objects. | 
 |       RemoteObject objects | 
 |  | 
 |   # Releases remote object with given id. | 
 |   command releaseObject | 
 |     parameters | 
 |       # Identifier of the object to release. | 
 |       RemoteObjectId objectId | 
 |  | 
 |   # Releases all remote objects that belong to a given group. | 
 |   command releaseObjectGroup | 
 |     parameters | 
 |       # Symbolic object group name. | 
 |       string objectGroup | 
 |  | 
 |   # Tells inspected instance to run if it was waiting for debugger to attach. | 
 |   command runIfWaitingForDebugger | 
 |  | 
 |   # Runs script with given id in a given context. | 
 |   command runScript | 
 |     parameters | 
 |       # Id of the script to run. | 
 |       ScriptId scriptId | 
 |       # Specifies in which execution context to perform script run. If the parameter is omitted the | 
 |       # evaluation will be performed in the context of the inspected page. | 
 |       optional ExecutionContextId executionContextId | 
 |       # Symbolic group name that can be used to release multiple objects. | 
 |       optional string objectGroup | 
 |       # In silent mode exceptions thrown during evaluation are not reported and do not pause | 
 |       # execution. Overrides `setPauseOnException` state. | 
 |       optional boolean silent | 
 |       # Determines whether Command Line API should be available during the evaluation. | 
 |       optional boolean includeCommandLineAPI | 
 |       # Whether the result is expected to be a JSON object which should be sent by value. | 
 |       optional boolean returnByValue | 
 |       # Whether preview should be generated for the result. | 
 |       optional boolean generatePreview | 
 |       # Whether execution should `await` for resulting value and return once awaited promise is | 
 |       # resolved. | 
 |       optional boolean awaitPromise | 
 |     returns | 
 |       # Run result. | 
 |       RemoteObject result | 
 |       # Exception details. | 
 |       optional ExceptionDetails exceptionDetails | 
 |  | 
 |   # Enables or disables async call stacks tracking. | 
 |   command setAsyncCallStackDepth | 
 |     redirect Debugger | 
 |     parameters | 
 |       # Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async | 
 |       # call stacks (default). | 
 |       integer maxDepth | 
 |  | 
 |   experimental command setCustomObjectFormatterEnabled | 
 |     parameters | 
 |       boolean enabled | 
 |  | 
 |   experimental command setMaxCallStackSizeToCapture | 
 |     parameters | 
 |       integer size | 
 |  | 
 |   # Terminate current or next JavaScript execution. | 
 |   # Will cancel the termination when the outer-most script execution ends. | 
 |   experimental command terminateExecution | 
 |  | 
 |   # If executionContextId is empty, adds binding with the given name on the | 
 |   # global objects of all inspected contexts, including those created later, | 
 |   # bindings survive reloads. | 
 |   # If executionContextId is specified, adds binding only on global object of | 
 |   # given execution context. | 
 |   # Binding function takes exactly one argument, this argument should be string, | 
 |   # in case of any other input, function throws an exception. | 
 |   # Each binding function call produces Runtime.bindingCalled notification. | 
 |   experimental command addBinding | 
 |     parameters | 
 |       string name | 
 |       optional ExecutionContextId executionContextId | 
 |  | 
 |   # This method does not remove binding function from global object but | 
 |   # unsubscribes current runtime agent from Runtime.bindingCalled notifications. | 
 |   experimental command removeBinding | 
 |     parameters | 
 |       string name | 
 |  | 
 |   # Notification is issued every time when binding is called. | 
 |   experimental event bindingCalled | 
 |     parameters | 
 |       string name | 
 |       string payload | 
 |       # Identifier of the context where the call was made. | 
 |       ExecutionContextId executionContextId | 
 |  | 
 |   # Issued when console API was called. | 
 |   event consoleAPICalled | 
 |     parameters | 
 |       # Type of the call. | 
 |       enum type | 
 |         log | 
 |         debug | 
 |         info | 
 |         error | 
 |         warning | 
 |         dir | 
 |         dirxml | 
 |         table | 
 |         trace | 
 |         clear | 
 |         startGroup | 
 |         startGroupCollapsed | 
 |         endGroup | 
 |         assert | 
 |         profile | 
 |         profileEnd | 
 |         count | 
 |         timeEnd | 
 |       # Call arguments. | 
 |       array of RemoteObject args | 
 |       # Identifier of the context where the call was made. | 
 |       ExecutionContextId executionContextId | 
 |       # Call timestamp. | 
 |       Timestamp timestamp | 
 |       # Stack trace captured when the call was made. The async stack chain is automatically reported for | 
 |       # the following call types: `assert`, `error`, `trace`, `warning`. For other types the async call | 
 |       # chain can be retrieved using `Debugger.getStackTrace` and `stackTrace.parentId` field. | 
 |       optional StackTrace stackTrace | 
 |       # Console context descriptor for calls on non-default console context (not console.*): | 
 |       # 'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call | 
 |       # on named context. | 
 |       experimental optional string context | 
 |  | 
 |   # Issued when unhandled exception was revoked. | 
 |   event exceptionRevoked | 
 |     parameters | 
 |       # Reason describing why exception was revoked. | 
 |       string reason | 
 |       # The id of revoked exception, as reported in `exceptionThrown`. | 
 |       integer exceptionId | 
 |  | 
 |   # Issued when exception was thrown and unhandled. | 
 |   event exceptionThrown | 
 |     parameters | 
 |       # Timestamp of the exception. | 
 |       Timestamp timestamp | 
 |       ExceptionDetails exceptionDetails | 
 |  | 
 |   # Issued when new execution context is created. | 
 |   event executionContextCreated | 
 |     parameters | 
 |       # A newly created execution context. | 
 |       ExecutionContextDescription context | 
 |  | 
 |   # Issued when execution context is destroyed. | 
 |   event executionContextDestroyed | 
 |     parameters | 
 |       # Id of the destroyed context | 
 |       ExecutionContextId executionContextId | 
 |  | 
 |   # Issued when all executionContexts were cleared in browser | 
 |   event executionContextsCleared | 
 |  | 
 |   # Issued when object should be inspected (for example, as a result of inspect() command line API | 
 |   # call). | 
 |   event inspectRequested | 
 |     parameters | 
 |       RemoteObject object | 
 |       object hints | 
 |  | 
 | # This domain is deprecated. | 
 | deprecated domain Schema | 
 |  | 
 |   # Description of the protocol domain. | 
 |   type Domain extends object | 
 |     properties | 
 |       # Domain name. | 
 |       string name | 
 |       # Domain version. | 
 |       string version | 
 |  | 
 |   # Returns supported domains. | 
 |   command getDomains | 
 |     returns | 
 |       # List of supported domains. | 
 |       array of Domain domains |