• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2017 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5version
6  major 1
7  minor 3
8
9# This domain is deprecated - use Runtime or Log instead.
10deprecated domain Console
11  depends on Runtime
12
13  # Console message.
14  type ConsoleMessage extends object
15    properties
16      # Message source.
17      enum source
18        xml
19        javascript
20        network
21        console-api
22        storage
23        appcache
24        rendering
25        security
26        other
27        deprecation
28        worker
29      # Message severity.
30      enum level
31        log
32        warning
33        error
34        debug
35        info
36      # Message text.
37      string text
38      # URL of the message origin.
39      optional string url
40      # Line number in the resource that generated this message (1-based).
41      optional integer line
42      # Column number in the resource that generated this message (1-based).
43      optional integer column
44
45  # Does nothing.
46  command clearMessages
47
48  # Disables console domain, prevents further console messages from being reported to the client.
49  command disable
50
51  # Enables console domain, sends the messages collected so far to the client by means of the
52  # `messageAdded` notification.
53  command enable
54
55  # Issued when new console message is added.
56  event messageAdded
57    parameters
58      # Console message that has been added.
59      ConsoleMessage message
60
61# Debugger domain exposes JavaScript debugging capabilities. It allows setting and removing
62# breakpoints, stepping through execution, exploring stack traces, etc.
63domain Debugger
64  depends on Runtime
65
66  # Breakpoint identifier.
67  type BreakpointId extends string
68
69  # Call frame identifier.
70  type CallFrameId extends string
71
72  # Location in the source code.
73  type Location extends object
74    properties
75      # Script identifier as reported in the `Debugger.scriptParsed`.
76      Runtime.ScriptId scriptId
77      # Line number in the script (0-based).
78      integer lineNumber
79      # Column number in the script (0-based).
80      optional integer columnNumber
81
82  # Location in the source code.
83  experimental type ScriptPosition extends object
84    properties
85      integer lineNumber
86      integer columnNumber
87
88  # Location range within one script.
89  experimental type LocationRange extends object
90    properties
91      Runtime.ScriptId scriptId
92      ScriptPosition start
93      ScriptPosition end
94
95  # JavaScript call frame. Array of call frames form the call stack.
96  type CallFrame extends object
97    properties
98      # Call frame identifier. This identifier is only valid while the virtual machine is paused.
99      CallFrameId callFrameId
100      # Name of the JavaScript function called on this call frame.
101      string functionName
102      # Location in the source code.
103      optional Location functionLocation
104      # Location in the source code.
105      Location location
106      # JavaScript script name or url.
107      string url
108      # Scope chain for this call frame.
109      array of Scope scopeChain
110      # `this` object for this call frame.
111      Runtime.RemoteObject this
112      # The value being returned, if the function is at return point.
113      optional Runtime.RemoteObject returnValue
114
115  # Scope description.
116  type Scope extends object
117    properties
118      # Scope type.
119      enum type
120        global
121        local
122        with
123        closure
124        catch
125        block
126        script
127        eval
128        module
129        wasm-expression-stack
130      # Object representing the scope. For `global` and `with` scopes it represents the actual
131      # object; for the rest of the scopes, it is artificial transient object enumerating scope
132      # variables as its properties.
133      Runtime.RemoteObject object
134      optional string name
135      # Location in the source code where scope starts
136      optional Location startLocation
137      # Location in the source code where scope ends
138      optional Location endLocation
139
140  # Search match for resource.
141  type SearchMatch extends object
142    properties
143      # Line number in resource content.
144      number lineNumber
145      # Line with match content.
146      string lineContent
147
148  type BreakLocation extends object
149    properties
150      # Script identifier as reported in the `Debugger.scriptParsed`.
151      Runtime.ScriptId scriptId
152      # Line number in the script (0-based).
153      integer lineNumber
154      # Column number in the script (0-based).
155      optional integer columnNumber
156      optional enum type
157        debuggerStatement
158        call
159        return
160
161  # Continues execution until specific location is reached.
162  command continueToLocation
163    parameters
164      # Location to continue to.
165      Location location
166      optional enum targetCallFrames
167        any
168        current
169
170  # Disables debugger for given page.
171  command disable
172
173  # Enables debugger for the given page. Clients should not assume that the debugging has been
174  # enabled until the result for this command is received.
175  command enable
176    parameters
177      # The maximum size in bytes of collected scripts (not referenced by other heap objects)
178      # the debugger can hold. Puts no limit if paramter is omitted.
179      experimental optional number maxScriptsCacheSize
180    returns
181      # Unique identifier of the debugger.
182      experimental Runtime.UniqueDebuggerId debuggerId
183
184  # Evaluates expression on a given call frame.
185  command evaluateOnCallFrame
186    parameters
187      # Call frame identifier to evaluate on.
188      CallFrameId callFrameId
189      # Expression to evaluate.
190      string expression
191      # String object group name to put result into (allows rapid releasing resulting object handles
192      # using `releaseObjectGroup`).
193      optional string objectGroup
194      # Specifies whether command line API should be available to the evaluated expression, defaults
195      # to false.
196      optional boolean includeCommandLineAPI
197      # In silent mode exceptions thrown during evaluation are not reported and do not pause
198      # execution. Overrides `setPauseOnException` state.
199      optional boolean silent
200      # Whether the result is expected to be a JSON object that should be sent by value.
201      optional boolean returnByValue
202      # Whether preview should be generated for the result.
203      experimental optional boolean generatePreview
204      # Whether to throw an exception if side effect cannot be ruled out during evaluation.
205      optional boolean throwOnSideEffect
206      # Terminate execution after timing out (number of milliseconds).
207      experimental optional Runtime.TimeDelta timeout
208    returns
209      # Object wrapper for the evaluation result.
210      Runtime.RemoteObject result
211      # Exception details.
212      optional Runtime.ExceptionDetails exceptionDetails
213
214  # Execute a Wasm Evaluator module on a given call frame.
215  experimental command executeWasmEvaluator
216    parameters
217      # WebAssembly call frame identifier to evaluate on.
218      CallFrameId callFrameId
219      # Code of the evaluator module.
220      binary evaluator
221      # Terminate execution after timing out (number of milliseconds).
222      experimental optional Runtime.TimeDelta timeout
223    returns
224      # Object wrapper for the evaluation result.
225      Runtime.RemoteObject result
226      # Exception details.
227      optional Runtime.ExceptionDetails exceptionDetails
228
229  # Returns possible locations for breakpoint. scriptId in start and end range locations should be
230  # the same.
231  command getPossibleBreakpoints
232    parameters
233      # Start of range to search possible breakpoint locations in.
234      Location start
235      # End of range to search possible breakpoint locations in (excluding). When not specified, end
236      # of scripts is used as end of range.
237      optional Location end
238      # Only consider locations which are in the same (non-nested) function as start.
239      optional boolean restrictToFunction
240    returns
241      # List of the possible breakpoint locations.
242      array of BreakLocation locations
243
244  # Returns source for the script with given id.
245  command getScriptSource
246    parameters
247      # Id of the script to get source for.
248      Runtime.ScriptId scriptId
249    returns
250      # Script source (empty in case of Wasm bytecode).
251      string scriptSource
252      # Wasm bytecode.
253      optional binary bytecode
254
255  # This command is deprecated. Use getScriptSource instead.
256  deprecated command getWasmBytecode
257    parameters
258      # Id of the Wasm script to get source for.
259      Runtime.ScriptId scriptId
260    returns
261      # Script source.
262      binary bytecode
263
264  # Returns stack trace with given `stackTraceId`.
265  experimental command getStackTrace
266    parameters
267      Runtime.StackTraceId stackTraceId
268    returns
269      Runtime.StackTrace stackTrace
270
271  # Stops on the next JavaScript statement.
272  command pause
273
274  experimental deprecated command pauseOnAsyncCall
275    parameters
276      # Debugger will pause when async call with given stack trace is started.
277      Runtime.StackTraceId parentStackTraceId
278
279  # Removes JavaScript breakpoint.
280  command removeBreakpoint
281    parameters
282      BreakpointId breakpointId
283
284  # Restarts particular call frame from the beginning.
285  command restartFrame
286    parameters
287      # Call frame identifier to evaluate on.
288      CallFrameId callFrameId
289    returns
290      # New stack trace.
291      array of CallFrame callFrames
292      # Async stack trace, if any.
293      optional Runtime.StackTrace asyncStackTrace
294      # Async stack trace, if any.
295      experimental optional Runtime.StackTraceId asyncStackTraceId
296
297  # Resumes JavaScript execution.
298  command resume
299    parameters
300      # Set to true to terminate execution upon resuming execution. In contrast
301      # to Runtime.terminateExecution, this will allows to execute further
302      # JavaScript (i.e. via evaluation) until execution of the paused code
303      # is actually resumed, at which point termination is triggered.
304      # If execution is currently not paused, this parameter has no effect.
305      optional boolean terminateOnResume
306
307  # Searches for given string in script content.
308  command searchInContent
309    parameters
310      # Id of the script to search in.
311      Runtime.ScriptId scriptId
312      # String to search for.
313      string query
314      # If true, search is case sensitive.
315      optional boolean caseSensitive
316      # If true, treats string parameter as regex.
317      optional boolean isRegex
318    returns
319      # List of search matches.
320      array of SearchMatch result
321
322  # Enables or disables async call stacks tracking.
323  command setAsyncCallStackDepth
324    parameters
325      # Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async
326      # call stacks (default).
327      integer maxDepth
328
329  # Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in
330  # scripts with url matching one of the patterns. VM will try to leave blackboxed script by
331  # performing 'step in' several times, finally resorting to 'step out' if unsuccessful.
332  experimental command setBlackboxPatterns
333    parameters
334      # Array of regexps that will be used to check script url for blackbox state.
335      array of string patterns
336
337  # Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted
338  # scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful.
339  # Positions array contains positions where blackbox state is changed. First interval isn't
340  # blackboxed. Array should be sorted.
341  experimental command setBlackboxedRanges
342    parameters
343      # Id of the script.
344      Runtime.ScriptId scriptId
345      array of ScriptPosition positions
346
347  # Sets JavaScript breakpoint at a given location.
348  command setBreakpoint
349    parameters
350      # Location to set breakpoint in.
351      Location location
352      # Expression to use as a breakpoint condition. When specified, debugger will only stop on the
353      # breakpoint if this expression evaluates to true.
354      optional string condition
355    returns
356      # Id of the created breakpoint for further reference.
357      BreakpointId breakpointId
358      # Location this breakpoint resolved into.
359      Location actualLocation
360
361  # Sets instrumentation breakpoint.
362  command setInstrumentationBreakpoint
363    parameters
364      # Instrumentation name.
365      enum instrumentation
366        beforeScriptExecution
367        beforeScriptWithSourceMapExecution
368    returns
369      # Id of the created breakpoint for further reference.
370      BreakpointId breakpointId
371
372  # Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this
373  # command is issued, all existing parsed scripts will have breakpoints resolved and returned in
374  # `locations` property. Further matching script parsing will result in subsequent
375  # `breakpointResolved` events issued. This logical breakpoint will survive page reloads.
376  command setBreakpointByUrl
377    parameters
378      # Line number to set breakpoint at.
379      integer lineNumber
380      # URL of the resources to set breakpoint on.
381      optional string url
382      # Regex pattern for the URLs of the resources to set breakpoints on. Either `url` or
383      # `urlRegex` must be specified.
384      optional string urlRegex
385      # Script hash of the resources to set breakpoint on.
386      optional string scriptHash
387      # Offset in the line to set breakpoint at.
388      optional integer columnNumber
389      # Expression to use as a breakpoint condition. When specified, debugger will only stop on the
390      # breakpoint if this expression evaluates to true.
391      optional string condition
392    returns
393      # Id of the created breakpoint for further reference.
394      BreakpointId breakpointId
395      # List of the locations this breakpoint resolved into upon addition.
396      array of Location locations
397
398  # Sets JavaScript breakpoint before each call to the given function.
399  # If another function was created from the same source as a given one,
400  # calling it will also trigger the breakpoint.
401  experimental command setBreakpointOnFunctionCall
402    parameters
403      # Function object id.
404      Runtime.RemoteObjectId objectId
405      # Expression to use as a breakpoint condition. When specified, debugger will
406      # stop on the breakpoint if this expression evaluates to true.
407      optional string condition
408    returns
409      # Id of the created breakpoint for further reference.
410      BreakpointId breakpointId
411
412  # Activates / deactivates all breakpoints on the page.
413  command setBreakpointsActive
414    parameters
415      # New value for breakpoints active state.
416      boolean active
417
418  # Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or
419  # no exceptions. Initial pause on exceptions state is `none`.
420  command setPauseOnExceptions
421    parameters
422      # Pause on exceptions mode.
423      enum state
424        none
425        uncaught
426        all
427
428  # Changes return value in top frame. Available only at return break position.
429  experimental command setReturnValue
430    parameters
431      # New return value.
432      Runtime.CallArgument newValue
433
434  # Edits JavaScript source live.
435  command setScriptSource
436    parameters
437      # Id of the script to edit.
438      Runtime.ScriptId scriptId
439      # New content of the script.
440      string scriptSource
441      #  If true the change will not actually be applied. Dry run may be used to get result
442      # description without actually modifying the code.
443      optional boolean dryRun
444    returns
445      # New stack trace in case editing has happened while VM was stopped.
446      optional array of CallFrame callFrames
447      # Whether current call stack  was modified after applying the changes.
448      optional boolean stackChanged
449      # Async stack trace, if any.
450      optional Runtime.StackTrace asyncStackTrace
451      # Async stack trace, if any.
452      experimental optional Runtime.StackTraceId asyncStackTraceId
453      # Exception details if any.
454      optional Runtime.ExceptionDetails exceptionDetails
455
456  # Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc).
457  command setSkipAllPauses
458    parameters
459      # New value for skip pauses state.
460      boolean skip
461
462  # Changes value of variable in a callframe. Object-based scopes are not supported and must be
463  # mutated manually.
464  command setVariableValue
465    parameters
466      # 0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch'
467      # scope types are allowed. Other scopes could be manipulated manually.
468      integer scopeNumber
469      # Variable name.
470      string variableName
471      # New variable value.
472      Runtime.CallArgument newValue
473      # Id of callframe that holds variable.
474      CallFrameId callFrameId
475
476  # Steps into the function call.
477  command stepInto
478    parameters
479      # Debugger will pause on the execution of the first async task which was scheduled
480      # before next pause.
481      experimental optional boolean breakOnAsyncCall
482      # The skipList specifies location ranges that should be skipped on step into.
483      experimental optional array of LocationRange skipList
484
485  # Steps out of the function call.
486  command stepOut
487
488  # Steps over the statement.
489  command stepOver
490    parameters
491      # The skipList specifies location ranges that should be skipped on step over.
492      experimental optional array of LocationRange skipList
493
494  # Fired when breakpoint is resolved to an actual script and location.
495  event breakpointResolved
496    parameters
497      # Breakpoint unique identifier.
498      BreakpointId breakpointId
499      # Actual breakpoint location.
500      Location location
501
502  # Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria.
503  event paused
504    parameters
505      # Call stack the virtual machine stopped on.
506      array of CallFrame callFrames
507      # Pause reason.
508      enum reason
509        ambiguous
510        assert
511        debugCommand
512        DOM
513        EventListener
514        exception
515        instrumentation
516        OOM
517        other
518        promiseRejection
519        XHR
520      # Object containing break-specific auxiliary properties.
521      optional object data
522      # Hit breakpoints IDs
523      optional array of string hitBreakpoints
524      # Async stack trace, if any.
525      optional Runtime.StackTrace asyncStackTrace
526      # Async stack trace, if any.
527      experimental optional Runtime.StackTraceId asyncStackTraceId
528      # Never present, will be removed.
529      experimental deprecated optional Runtime.StackTraceId asyncCallStackTraceId
530
531  # Fired when the virtual machine resumed execution.
532  event resumed
533
534  # Enum of possible script languages.
535  type ScriptLanguage extends string
536    enum
537      JavaScript
538      WebAssembly
539
540  # Debug symbols available for a wasm script.
541  type DebugSymbols extends object
542    properties
543      # Type of the debug symbols.
544      enum type
545        None
546        SourceMap
547        EmbeddedDWARF
548        ExternalDWARF
549      # URL of the external symbol source.
550      optional string externalURL
551
552  # Fired when virtual machine fails to parse the script.
553  event scriptFailedToParse
554    parameters
555      # Identifier of the script parsed.
556      Runtime.ScriptId scriptId
557      # URL or name of the script parsed (if any).
558      string url
559      # Line offset of the script within the resource with given URL (for script tags).
560      integer startLine
561      # Column offset of the script within the resource with given URL.
562      integer startColumn
563      # Last line of the script.
564      integer endLine
565      # Length of the last line of the script.
566      integer endColumn
567      # Specifies script creation context.
568      Runtime.ExecutionContextId executionContextId
569      # Content hash of the script.
570      string hash
571      # Embedder-specific auxiliary data.
572      optional object executionContextAuxData
573      # URL of source map associated with script (if any).
574      optional string sourceMapURL
575      # True, if this script has sourceURL.
576      optional boolean hasSourceURL
577      # True, if this script is ES6 module.
578      optional boolean isModule
579      # This script length.
580      optional integer length
581      # JavaScript top stack frame of where the script parsed event was triggered if available.
582      experimental optional Runtime.StackTrace stackTrace
583      # If the scriptLanguage is WebAssembly, the code section offset in the module.
584      experimental optional integer codeOffset
585      # The language of the script.
586      experimental optional Debugger.ScriptLanguage scriptLanguage
587      # The name the embedder supplied for this script.
588      experimental optional string embedderName
589
590  # Fired when virtual machine parses script. This event is also fired for all known and uncollected
591  # scripts upon enabling debugger.
592  event scriptParsed
593    parameters
594      # Identifier of the script parsed.
595      Runtime.ScriptId scriptId
596      # URL or name of the script parsed (if any).
597      string url
598      # Line offset of the script within the resource with given URL (for script tags).
599      integer startLine
600      # Column offset of the script within the resource with given URL.
601      integer startColumn
602      # Last line of the script.
603      integer endLine
604      # Length of the last line of the script.
605      integer endColumn
606      # Specifies script creation context.
607      Runtime.ExecutionContextId executionContextId
608      # Content hash of the script.
609      string hash
610      # Embedder-specific auxiliary data.
611      optional object executionContextAuxData
612      # True, if this script is generated as a result of the live edit operation.
613      experimental optional boolean isLiveEdit
614      # URL of source map associated with script (if any).
615      optional string sourceMapURL
616      # True, if this script has sourceURL.
617      optional boolean hasSourceURL
618      # True, if this script is ES6 module.
619      optional boolean isModule
620      # This script length.
621      optional integer length
622      # JavaScript top stack frame of where the script parsed event was triggered if available.
623      experimental optional Runtime.StackTrace stackTrace
624      # If the scriptLanguage is WebAssembly, the code section offset in the module.
625      experimental optional integer codeOffset
626      # The language of the script.
627      experimental optional Debugger.ScriptLanguage scriptLanguage
628      # If the scriptLanguage is WebASsembly, the source of debug symbols for the module.
629      experimental optional Debugger.DebugSymbols debugSymbols
630      # The name the embedder supplied for this script.
631      experimental optional string embedderName
632
633experimental domain HeapProfiler
634  depends on Runtime
635
636  # Heap snapshot object id.
637  type HeapSnapshotObjectId extends string
638
639  # Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes.
640  type SamplingHeapProfileNode extends object
641    properties
642      # Function location.
643      Runtime.CallFrame callFrame
644      # Allocations size in bytes for the node excluding children.
645      number selfSize
646      # Node id. Ids are unique across all profiles collected between startSampling and stopSampling.
647      integer id
648      # Child nodes.
649      array of SamplingHeapProfileNode children
650
651  # A single sample from a sampling profile.
652  type SamplingHeapProfileSample extends object
653    properties
654      # Allocation size in bytes attributed to the sample.
655      number size
656      # Id of the corresponding profile tree node.
657      integer nodeId
658      # Time-ordered sample ordinal number. It is unique across all profiles retrieved
659      # between startSampling and stopSampling.
660      number ordinal
661
662  # Sampling profile.
663  type SamplingHeapProfile extends object
664    properties
665      SamplingHeapProfileNode head
666      array of SamplingHeapProfileSample samples
667
668  # Enables console to refer to the node with given id via $x (see Command Line API for more details
669  # $x functions).
670  command addInspectedHeapObject
671    parameters
672      # Heap snapshot object id to be accessible by means of $x command line API.
673      HeapSnapshotObjectId heapObjectId
674
675  command collectGarbage
676
677  command disable
678
679  command enable
680
681  command getHeapObjectId
682    parameters
683      # Identifier of the object to get heap object id for.
684      Runtime.RemoteObjectId objectId
685    returns
686      # Id of the heap snapshot object corresponding to the passed remote object id.
687      HeapSnapshotObjectId heapSnapshotObjectId
688
689  command getObjectByHeapObjectId
690    parameters
691      HeapSnapshotObjectId objectId
692      # Symbolic group name that can be used to release multiple objects.
693      optional string objectGroup
694    returns
695      # Evaluation result.
696      Runtime.RemoteObject result
697
698  command getSamplingProfile
699    returns
700      # Return the sampling profile being collected.
701      SamplingHeapProfile profile
702
703  command startSampling
704    parameters
705      # Average sample interval in bytes. Poisson distribution is used for the intervals. The
706      # default value is 32768 bytes.
707      optional number samplingInterval
708
709  command startTrackingHeapObjects
710    parameters
711      optional boolean trackAllocations
712
713  command stopSampling
714    returns
715      # Recorded sampling heap profile.
716      SamplingHeapProfile profile
717
718  command stopTrackingHeapObjects
719    parameters
720      # If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken
721      # when the tracking is stopped.
722      optional boolean reportProgress
723      optional boolean treatGlobalObjectsAsRoots
724
725  command takeHeapSnapshot
726    parameters
727      # If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken.
728      optional boolean reportProgress
729      # If true, a raw snapshot without artifical roots will be generated
730      optional boolean treatGlobalObjectsAsRoots
731
732  event addHeapSnapshotChunk
733    parameters
734      string chunk
735
736  # If heap objects tracking has been started then backend may send update for one or more fragments
737  event heapStatsUpdate
738    parameters
739      # An array of triplets. Each triplet describes a fragment. The first integer is the fragment
740      # index, the second integer is a total count of objects for the fragment, the third integer is
741      # a total size of the objects for the fragment.
742      array of integer statsUpdate
743
744  # If heap objects tracking has been started then backend regularly sends a current value for last
745  # seen object id and corresponding timestamp. If the were changes in the heap since last event
746  # then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.
747  event lastSeenObjectId
748    parameters
749      integer lastSeenObjectId
750      number timestamp
751
752  event reportHeapSnapshotProgress
753    parameters
754      integer done
755      integer total
756      optional boolean finished
757
758  event resetProfiles
759
760domain Profiler
761  depends on Runtime
762  depends on Debugger
763
764  # Profile node. Holds callsite information, execution statistics and child nodes.
765  type ProfileNode extends object
766    properties
767      # Unique id of the node.
768      integer id
769      # Function location.
770      Runtime.CallFrame callFrame
771      # Number of samples where this node was on top of the call stack.
772      optional integer hitCount
773      # Child node ids.
774      optional array of integer children
775      # The reason of being not optimized. The function may be deoptimized or marked as don't
776      # optimize.
777      optional string deoptReason
778      # An array of source position ticks.
779      optional array of PositionTickInfo positionTicks
780
781  # Profile.
782  type Profile extends object
783    properties
784      # The list of profile nodes. First item is the root node.
785      array of ProfileNode nodes
786      # Profiling start timestamp in microseconds.
787      number startTime
788      # Profiling end timestamp in microseconds.
789      number endTime
790      # Ids of samples top nodes.
791      optional array of integer samples
792      # Time intervals between adjacent samples in microseconds. The first delta is relative to the
793      # profile startTime.
794      optional array of integer timeDeltas
795
796  # Specifies a number of samples attributed to a certain source position.
797  type PositionTickInfo extends object
798    properties
799      # Source line number (1-based).
800      integer line
801      # Number of samples attributed to the source line.
802      integer ticks
803
804  # Coverage data for a source range.
805  type CoverageRange extends object
806    properties
807      # JavaScript script source offset for the range start.
808      integer startOffset
809      # JavaScript script source offset for the range end.
810      integer endOffset
811      # Collected execution count of the source range.
812      integer count
813
814  # Coverage data for a JavaScript function.
815  type FunctionCoverage extends object
816    properties
817      # JavaScript function name.
818      string functionName
819      # Source ranges inside the function with coverage data.
820      array of CoverageRange ranges
821      # Whether coverage data for this function has block granularity.
822      boolean isBlockCoverage
823
824  # Coverage data for a JavaScript script.
825  type ScriptCoverage extends object
826    properties
827      # JavaScript script id.
828      Runtime.ScriptId scriptId
829      # JavaScript script name or url.
830      string url
831      # Functions contained in the script that has coverage data.
832      array of FunctionCoverage functions
833
834  # Describes a type collected during runtime.
835  experimental type TypeObject extends object
836    properties
837      # Name of a type collected with type profiling.
838      string name
839
840  # Source offset and types for a parameter or return value.
841  experimental type TypeProfileEntry extends object
842    properties
843      # Source offset of the parameter or end of function for return values.
844      integer offset
845      # The types for this parameter or return value.
846      array of TypeObject types
847
848  # Type profile data collected during runtime for a JavaScript script.
849  experimental type ScriptTypeProfile extends object
850    properties
851      # JavaScript script id.
852      Runtime.ScriptId scriptId
853      # JavaScript script name or url.
854      string url
855      # Type profile entries for parameters and return values of the functions in the script.
856      array of TypeProfileEntry entries
857
858  # Collected counter information.
859  experimental type CounterInfo extends object
860    properties
861      # Counter name.
862      string name
863      # Counter value.
864      integer value
865
866  # Runtime call counter information.
867  experimental type RuntimeCallCounterInfo extends object
868    properties
869      # Counter name.
870      string name
871      # Counter value.
872      number value
873      # Counter time in seconds.
874      number time
875
876  command disable
877
878  command enable
879
880  # Collect coverage data for the current isolate. The coverage data may be incomplete due to
881  # garbage collection.
882  command getBestEffortCoverage
883    returns
884      # Coverage data for the current isolate.
885      array of ScriptCoverage result
886
887  # Changes CPU profiler sampling interval. Must be called before CPU profiles recording started.
888  command setSamplingInterval
889    parameters
890      # New sampling interval in microseconds.
891      integer interval
892
893  command start
894
895  # Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code
896  # coverage may be incomplete. Enabling prevents running optimized code and resets execution
897  # counters.
898  command startPreciseCoverage
899    parameters
900      # Collect accurate call counts beyond simple 'covered' or 'not covered'.
901      optional boolean callCount
902      # Collect block-based coverage.
903      optional boolean detailed
904      # Allow the backend to send updates on its own initiative
905      optional boolean allowTriggeredUpdates
906    returns
907      # Monotonically increasing time (in seconds) when the coverage update was taken in the backend.
908      number timestamp
909
910  # Enable type profile.
911  experimental command startTypeProfile
912
913  command stop
914    returns
915      # Recorded profile.
916      Profile profile
917
918  # Disable precise code coverage. Disabling releases unnecessary execution count records and allows
919  # executing optimized code.
920  command stopPreciseCoverage
921
922  # Disable type profile. Disabling releases type profile data collected so far.
923  experimental command stopTypeProfile
924
925  # Collect coverage data for the current isolate, and resets execution counters. Precise code
926  # coverage needs to have started.
927  command takePreciseCoverage
928    returns
929      # Coverage data for the current isolate.
930      array of ScriptCoverage result
931      # Monotonically increasing time (in seconds) when the coverage update was taken in the backend.
932      number timestamp
933
934  # Collect type profile.
935  experimental command takeTypeProfile
936    returns
937      # Type profile for all scripts since startTypeProfile() was turned on.
938      array of ScriptTypeProfile result
939
940  # Enable counters collection.
941  experimental command enableCounters
942
943  # Disable counters collection.
944  experimental command disableCounters
945
946  # Retrieve counters.
947  experimental command getCounters
948    returns
949      # Collected counters information.
950      array of CounterInfo result
951
952  # Enable run time call stats collection.
953  experimental command enableRuntimeCallStats
954
955  # Disable run time call stats collection.
956  experimental command disableRuntimeCallStats
957
958  # Retrieve run time call stats.
959  experimental command getRuntimeCallStats
960    returns
961      # Collected runtime call counter information.
962      array of RuntimeCallCounterInfo result
963
964  event consoleProfileFinished
965    parameters
966      string id
967      # Location of console.profileEnd().
968      Debugger.Location location
969      Profile profile
970      # Profile title passed as an argument to console.profile().
971      optional string title
972
973  # Sent when new profile recording is started using console.profile() call.
974  event consoleProfileStarted
975    parameters
976      string id
977      # Location of console.profile().
978      Debugger.Location location
979      # Profile title passed as an argument to console.profile().
980      optional string title
981
982  # Reports coverage delta since the last poll (either from an event like this, or from
983  # `takePreciseCoverage` for the current isolate. May only be sent if precise code
984  # coverage has been started. This event can be trigged by the embedder to, for example,
985  # trigger collection of coverage data immediatelly at a certain point in time.
986  experimental event preciseCoverageDeltaUpdate
987    parameters
988      # Monotonically increasing time (in seconds) when the coverage update was taken in the backend.
989      number timestamp
990      # Identifier for distinguishing coverage events.
991      string occassion
992      # Coverage data for the current isolate.
993      array of ScriptCoverage result
994
995# Runtime domain exposes JavaScript runtime by means of remote evaluation and mirror objects.
996# Evaluation results are returned as mirror object that expose object type, string representation
997# and unique identifier that can be used for further object reference. Original objects are
998# maintained in memory unless they are either explicitly released or are released along with the
999# other objects in their object group.
1000domain Runtime
1001
1002  # Unique script identifier.
1003  type ScriptId extends string
1004
1005  # Unique object identifier.
1006  type RemoteObjectId extends string
1007
1008  # Primitive value which cannot be JSON-stringified. Includes values `-0`, `NaN`, `Infinity`,
1009  # `-Infinity`, and bigint literals.
1010  type UnserializableValue extends string
1011
1012  # Mirror object referencing original JavaScript object.
1013  type RemoteObject extends object
1014    properties
1015      # Object type.
1016      enum type
1017        object
1018        function
1019        undefined
1020        string
1021        number
1022        boolean
1023        symbol
1024        bigint
1025        wasm
1026      # Object subtype hint. Specified for `object` or `wasm` type values only.
1027      optional enum subtype
1028        array
1029        null
1030        node
1031        regexp
1032        date
1033        map
1034        set
1035        weakmap
1036        weakset
1037        iterator
1038        generator
1039        error
1040        proxy
1041        promise
1042        typedarray
1043        arraybuffer
1044        dataview
1045        i32
1046        i64
1047        f32
1048        f64
1049        v128
1050        externref
1051      # Object class (constructor) name. Specified for `object` type values only.
1052      optional string className
1053      # Remote object value in case of primitive values or JSON values (if it was requested).
1054      optional any value
1055      # Primitive value which can not be JSON-stringified does not have `value`, but gets this
1056      # property.
1057      optional UnserializableValue unserializableValue
1058      # String representation of the object.
1059      optional string description
1060      # Unique object identifier (for non-primitive values).
1061      optional RemoteObjectId objectId
1062      # Preview containing abbreviated property values. Specified for `object` type values only.
1063      experimental optional ObjectPreview preview
1064      experimental optional CustomPreview customPreview
1065
1066  experimental type CustomPreview extends object
1067    properties
1068      # The JSON-stringified result of formatter.header(object, config) call.
1069      # It contains json ML array that represents RemoteObject.
1070      string header
1071      # If formatter returns true as a result of formatter.hasBody call then bodyGetterId will
1072      # contain RemoteObjectId for the function that returns result of formatter.body(object, config) call.
1073      # The result value is json ML array.
1074      optional RemoteObjectId bodyGetterId
1075
1076  # Object containing abbreviated remote object value.
1077  experimental type ObjectPreview extends object
1078    properties
1079      # Object type.
1080      enum type
1081        object
1082        function
1083        undefined
1084        string
1085        number
1086        boolean
1087        symbol
1088        bigint
1089      # Object subtype hint. Specified for `object` type values only.
1090      optional enum subtype
1091        array
1092        null
1093        node
1094        regexp
1095        date
1096        map
1097        set
1098        weakmap
1099        weakset
1100        iterator
1101        generator
1102        error
1103      # String representation of the object.
1104      optional string description
1105      # True iff some of the properties or entries of the original object did not fit.
1106      boolean overflow
1107      # List of the properties.
1108      array of PropertyPreview properties
1109      # List of the entries. Specified for `map` and `set` subtype values only.
1110      optional array of EntryPreview entries
1111
1112  experimental type PropertyPreview extends object
1113    properties
1114      # Property name.
1115      string name
1116      # Object type. Accessor means that the property itself is an accessor property.
1117      enum type
1118        object
1119        function
1120        undefined
1121        string
1122        number
1123        boolean
1124        symbol
1125        accessor
1126        bigint
1127      # User-friendly property value string.
1128      optional string value
1129      # Nested value preview.
1130      optional ObjectPreview valuePreview
1131      # Object subtype hint. Specified for `object` type values only.
1132      optional enum subtype
1133        array
1134        null
1135        node
1136        regexp
1137        date
1138        map
1139        set
1140        weakmap
1141        weakset
1142        iterator
1143        generator
1144        error
1145
1146  experimental type EntryPreview extends object
1147    properties
1148      # Preview of the key. Specified for map-like collection entries.
1149      optional ObjectPreview key
1150      # Preview of the value.
1151      ObjectPreview value
1152
1153  # Object property descriptor.
1154  type PropertyDescriptor extends object
1155    properties
1156      # Property name or symbol description.
1157      string name
1158      # The value associated with the property.
1159      optional RemoteObject value
1160      # True if the value associated with the property may be changed (data descriptors only).
1161      optional boolean writable
1162      # A function which serves as a getter for the property, or `undefined` if there is no getter
1163      # (accessor descriptors only).
1164      optional RemoteObject get
1165      # A function which serves as a setter for the property, or `undefined` if there is no setter
1166      # (accessor descriptors only).
1167      optional RemoteObject set
1168      # True if the type of this property descriptor may be changed and if the property may be
1169      # deleted from the corresponding object.
1170      boolean configurable
1171      # True if this property shows up during enumeration of the properties on the corresponding
1172      # object.
1173      boolean enumerable
1174      # True if the result was thrown during the evaluation.
1175      optional boolean wasThrown
1176      # True if the property is owned for the object.
1177      optional boolean isOwn
1178      # Property symbol object, if the property is of the `symbol` type.
1179      optional RemoteObject symbol
1180
1181  # Object internal property descriptor. This property isn't normally visible in JavaScript code.
1182  type InternalPropertyDescriptor extends object
1183    properties
1184      # Conventional property name.
1185      string name
1186      # The value associated with the property.
1187      optional RemoteObject value
1188
1189  # Object private field descriptor.
1190  experimental type PrivatePropertyDescriptor extends object
1191    properties
1192      # Private property name.
1193      string name
1194      # The value associated with the private property.
1195      optional RemoteObject value
1196      # A function which serves as a getter for the private property,
1197      # or `undefined` if there is no getter (accessor descriptors only).
1198      optional RemoteObject get
1199      # A function which serves as a setter for the private property,
1200      # or `undefined` if there is no setter (accessor descriptors only).
1201      optional RemoteObject set
1202
1203  # Represents function call argument. Either remote object id `objectId`, primitive `value`,
1204  # unserializable primitive value or neither of (for undefined) them should be specified.
1205  type CallArgument extends object
1206    properties
1207      # Primitive value or serializable javascript object.
1208      optional any value
1209      # Primitive value which can not be JSON-stringified.
1210      optional UnserializableValue unserializableValue
1211      # Remote object handle.
1212      optional RemoteObjectId objectId
1213
1214  # Id of an execution context.
1215  type ExecutionContextId extends integer
1216
1217  # Description of an isolated world.
1218  type ExecutionContextDescription extends object
1219    properties
1220      # Unique id of the execution context. It can be used to specify in which execution context
1221      # script evaluation should be performed.
1222      ExecutionContextId id
1223      # Execution context origin.
1224      string origin
1225      # Human readable name describing given context.
1226      string name
1227      # Embedder-specific auxiliary data.
1228      optional object auxData
1229
1230  # Detailed information about exception (or error) that was thrown during script compilation or
1231  # execution.
1232  type ExceptionDetails extends object
1233    properties
1234      # Exception id.
1235      integer exceptionId
1236      # Exception text, which should be used together with exception object when available.
1237      string text
1238      # Line number of the exception location (0-based).
1239      integer lineNumber
1240      # Column number of the exception location (0-based).
1241      integer columnNumber
1242      # Script ID of the exception location.
1243      optional ScriptId scriptId
1244      # URL of the exception location, to be used when the script was not reported.
1245      optional string url
1246      # JavaScript stack trace if available.
1247      optional StackTrace stackTrace
1248      # Exception object if available.
1249      optional RemoteObject exception
1250      # Identifier of the context where exception happened.
1251      optional ExecutionContextId executionContextId
1252
1253  # Number of milliseconds since epoch.
1254  type Timestamp extends number
1255
1256  # Number of milliseconds.
1257  type TimeDelta extends number
1258
1259  # Stack entry for runtime errors and assertions.
1260  type CallFrame extends object
1261    properties
1262      # JavaScript function name.
1263      string functionName
1264      # JavaScript script id.
1265      ScriptId scriptId
1266      # JavaScript script name or url.
1267      string url
1268      # JavaScript script line number (0-based).
1269      integer lineNumber
1270      # JavaScript script column number (0-based).
1271      integer columnNumber
1272
1273  # Call frames for assertions or error messages.
1274  type StackTrace extends object
1275    properties
1276      # String label of this stack trace. For async traces this may be a name of the function that
1277      # initiated the async call.
1278      optional string description
1279      # JavaScript function name.
1280      array of CallFrame callFrames
1281      # Asynchronous JavaScript stack trace that preceded this stack, if available.
1282      optional StackTrace parent
1283      # Asynchronous JavaScript stack trace that preceded this stack, if available.
1284      experimental optional StackTraceId parentId
1285
1286  # Unique identifier of current debugger.
1287  experimental type UniqueDebuggerId extends string
1288
1289  # If `debuggerId` is set stack trace comes from another debugger and can be resolved there. This
1290  # allows to track cross-debugger calls. See `Runtime.StackTrace` and `Debugger.paused` for usages.
1291  experimental type StackTraceId extends object
1292    properties
1293      string id
1294      optional UniqueDebuggerId debuggerId
1295
1296  # Add handler to promise with given promise object id.
1297  command awaitPromise
1298    parameters
1299      # Identifier of the promise.
1300      RemoteObjectId promiseObjectId
1301      # Whether the result is expected to be a JSON object that should be sent by value.
1302      optional boolean returnByValue
1303      # Whether preview should be generated for the result.
1304      optional boolean generatePreview
1305    returns
1306      # Promise result. Will contain rejected value if promise was rejected.
1307      RemoteObject result
1308      # Exception details if stack strace is available.
1309      optional ExceptionDetails exceptionDetails
1310
1311  # Calls function with given declaration on the given object. Object group of the result is
1312  # inherited from the target object.
1313  command callFunctionOn
1314    parameters
1315      # Declaration of the function to call.
1316      string functionDeclaration
1317      # Identifier of the object to call function on. Either objectId or executionContextId should
1318      # be specified.
1319      optional RemoteObjectId objectId
1320      # Call arguments. All call arguments must belong to the same JavaScript world as the target
1321      # object.
1322      optional array of CallArgument arguments
1323      # In silent mode exceptions thrown during evaluation are not reported and do not pause
1324      # execution. Overrides `setPauseOnException` state.
1325      optional boolean silent
1326      # Whether the result is expected to be a JSON object which should be sent by value.
1327      optional boolean returnByValue
1328      # Whether preview should be generated for the result.
1329      experimental optional boolean generatePreview
1330      # Whether execution should be treated as initiated by user in the UI.
1331      optional boolean userGesture
1332      # Whether execution should `await` for resulting value and return once awaited promise is
1333      # resolved.
1334      optional boolean awaitPromise
1335      # Specifies execution context which global object will be used to call function on. Either
1336      # executionContextId or objectId should be specified.
1337      optional ExecutionContextId executionContextId
1338      # Symbolic group name that can be used to release multiple objects. If objectGroup is not
1339      # specified and objectId is, objectGroup will be inherited from object.
1340      optional string objectGroup
1341    returns
1342      # Call result.
1343      RemoteObject result
1344      # Exception details.
1345      optional ExceptionDetails exceptionDetails
1346
1347  # Compiles expression.
1348  command compileScript
1349    parameters
1350      # Expression to compile.
1351      string expression
1352      # Source url to be set for the script.
1353      string sourceURL
1354      # Specifies whether the compiled script should be persisted.
1355      boolean persistScript
1356      # Specifies in which execution context to perform script run. If the parameter is omitted the
1357      # evaluation will be performed in the context of the inspected page.
1358      optional ExecutionContextId executionContextId
1359    returns
1360      # Id of the script.
1361      optional ScriptId scriptId
1362      # Exception details.
1363      optional ExceptionDetails exceptionDetails
1364
1365  # Disables reporting of execution contexts creation.
1366  command disable
1367
1368  # Discards collected exceptions and console API calls.
1369  command discardConsoleEntries
1370
1371  # Enables reporting of execution contexts creation by means of `executionContextCreated` event.
1372  # When the reporting gets enabled the event will be sent immediately for each existing execution
1373  # context.
1374  command enable
1375
1376  # Evaluates expression on global object.
1377  command evaluate
1378    parameters
1379      # Expression to evaluate.
1380      string expression
1381      # Symbolic group name that can be used to release multiple objects.
1382      optional string objectGroup
1383      # Determines whether Command Line API should be available during the evaluation.
1384      optional boolean includeCommandLineAPI
1385      # In silent mode exceptions thrown during evaluation are not reported and do not pause
1386      # execution. Overrides `setPauseOnException` state.
1387      optional boolean silent
1388      # Specifies in which execution context to perform evaluation. If the parameter is omitted the
1389      # evaluation will be performed in the context of the inspected page.
1390      optional ExecutionContextId contextId
1391      # Whether the result is expected to be a JSON object that should be sent by value.
1392      optional boolean returnByValue
1393      # Whether preview should be generated for the result.
1394      experimental optional boolean generatePreview
1395      # Whether execution should be treated as initiated by user in the UI.
1396      optional boolean userGesture
1397      # Whether execution should `await` for resulting value and return once awaited promise is
1398      # resolved.
1399      optional boolean awaitPromise
1400      # Whether to throw an exception if side effect cannot be ruled out during evaluation.
1401      # This implies `disableBreaks` below.
1402      experimental optional boolean throwOnSideEffect
1403      # Terminate execution after timing out (number of milliseconds).
1404      experimental optional TimeDelta timeout
1405      # Disable breakpoints during execution.
1406      experimental optional boolean disableBreaks
1407      # Setting this flag to true enables `let` re-declaration and top-level `await`.
1408      # Note that `let` variables can only be re-declared if they originate from
1409      # `replMode` themselves.
1410      experimental optional boolean replMode
1411      # The Content Security Policy (CSP) for the target might block 'unsafe-eval'
1412      # which includes eval(), Function(), setTimeout() and setInterval()
1413      # when called with non-callable arguments. This flag bypasses CSP for this
1414      # evaluation and allows unsafe-eval. Defaults to true.
1415      experimental optional boolean allowUnsafeEvalBlockedByCSP
1416    returns
1417      # Evaluation result.
1418      RemoteObject result
1419      # Exception details.
1420      optional ExceptionDetails exceptionDetails
1421
1422  # Returns the isolate id.
1423  experimental command getIsolateId
1424    returns
1425      # The isolate id.
1426      string id
1427
1428  # Returns the JavaScript heap usage.
1429  # It is the total usage of the corresponding isolate not scoped to a particular Runtime.
1430  experimental command getHeapUsage
1431    returns
1432      # Used heap size in bytes.
1433      number usedSize
1434      # Allocated heap size in bytes.
1435      number totalSize
1436
1437  # Returns properties of a given object. Object group of the result is inherited from the target
1438  # object.
1439  command getProperties
1440    parameters
1441      # Identifier of the object to return properties for.
1442      RemoteObjectId objectId
1443      # If true, returns properties belonging only to the element itself, not to its prototype
1444      # chain.
1445      optional boolean ownProperties
1446      # If true, returns accessor properties (with getter/setter) only; internal properties are not
1447      # returned either.
1448      experimental optional boolean accessorPropertiesOnly
1449      # Whether preview should be generated for the results.
1450      experimental optional boolean generatePreview
1451    returns
1452      # Object properties.
1453      array of PropertyDescriptor result
1454      # Internal object properties (only of the element itself).
1455      optional array of InternalPropertyDescriptor internalProperties
1456      # Object private properties.
1457      experimental optional array of PrivatePropertyDescriptor privateProperties
1458      # Exception details.
1459      optional ExceptionDetails exceptionDetails
1460
1461  # Returns all let, const and class variables from global scope.
1462  command globalLexicalScopeNames
1463    parameters
1464      # Specifies in which execution context to lookup global scope variables.
1465      optional ExecutionContextId executionContextId
1466    returns
1467      array of string names
1468
1469  command queryObjects
1470    parameters
1471      # Identifier of the prototype to return objects for.
1472      RemoteObjectId prototypeObjectId
1473      # Symbolic group name that can be used to release the results.
1474      optional string objectGroup
1475    returns
1476      # Array with objects.
1477      RemoteObject objects
1478
1479  # Releases remote object with given id.
1480  command releaseObject
1481    parameters
1482      # Identifier of the object to release.
1483      RemoteObjectId objectId
1484
1485  # Releases all remote objects that belong to a given group.
1486  command releaseObjectGroup
1487    parameters
1488      # Symbolic object group name.
1489      string objectGroup
1490
1491  # Tells inspected instance to run if it was waiting for debugger to attach.
1492  command runIfWaitingForDebugger
1493
1494  # Runs script with given id in a given context.
1495  command runScript
1496    parameters
1497      # Id of the script to run.
1498      ScriptId scriptId
1499      # Specifies in which execution context to perform script run. If the parameter is omitted the
1500      # evaluation will be performed in the context of the inspected page.
1501      optional ExecutionContextId executionContextId
1502      # Symbolic group name that can be used to release multiple objects.
1503      optional string objectGroup
1504      # In silent mode exceptions thrown during evaluation are not reported and do not pause
1505      # execution. Overrides `setPauseOnException` state.
1506      optional boolean silent
1507      # Determines whether Command Line API should be available during the evaluation.
1508      optional boolean includeCommandLineAPI
1509      # Whether the result is expected to be a JSON object which should be sent by value.
1510      optional boolean returnByValue
1511      # Whether preview should be generated for the result.
1512      optional boolean generatePreview
1513      # Whether execution should `await` for resulting value and return once awaited promise is
1514      # resolved.
1515      optional boolean awaitPromise
1516    returns
1517      # Run result.
1518      RemoteObject result
1519      # Exception details.
1520      optional ExceptionDetails exceptionDetails
1521
1522  # Enables or disables async call stacks tracking.
1523  command setAsyncCallStackDepth
1524    redirect Debugger
1525    parameters
1526      # Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async
1527      # call stacks (default).
1528      integer maxDepth
1529
1530  experimental command setCustomObjectFormatterEnabled
1531    parameters
1532      boolean enabled
1533
1534  experimental command setMaxCallStackSizeToCapture
1535    parameters
1536      integer size
1537
1538  # Terminate current or next JavaScript execution.
1539  # Will cancel the termination when the outer-most script execution ends.
1540  experimental command terminateExecution
1541
1542  # If executionContextId is empty, adds binding with the given name on the
1543  # global objects of all inspected contexts, including those created later,
1544  # bindings survive reloads.
1545  # Binding function takes exactly one argument, this argument should be string,
1546  # in case of any other input, function throws an exception.
1547  # Each binding function call produces Runtime.bindingCalled notification.
1548  experimental command addBinding
1549    parameters
1550      string name
1551      # If specified, the binding would only be exposed to the specified
1552      # execution context. If omitted and `executionContextName` is not set,
1553      # the binding is exposed to all execution contexts of the target.
1554      # This parameter is mutually exclusive with `executionContextName`.
1555      optional ExecutionContextId executionContextId
1556      # If specified, the binding is exposed to the executionContext with
1557      # matching name, even for contexts created after the binding is added.
1558      # See also `ExecutionContext.name` and `worldName` parameter to
1559      # `Page.addScriptToEvaluateOnNewDocument`.
1560      # This parameter is mutually exclusive with `executionContextId`.
1561      experimental optional string executionContextName
1562
1563  # This method does not remove binding function from global object but
1564  # unsubscribes current runtime agent from Runtime.bindingCalled notifications.
1565  experimental command removeBinding
1566    parameters
1567      string name
1568
1569  # Notification is issued every time when binding is called.
1570  experimental event bindingCalled
1571    parameters
1572      string name
1573      string payload
1574      # Identifier of the context where the call was made.
1575      ExecutionContextId executionContextId
1576
1577  # Issued when console API was called.
1578  event consoleAPICalled
1579    parameters
1580      # Type of the call.
1581      enum type
1582        log
1583        debug
1584        info
1585        error
1586        warning
1587        dir
1588        dirxml
1589        table
1590        trace
1591        clear
1592        startGroup
1593        startGroupCollapsed
1594        endGroup
1595        assert
1596        profile
1597        profileEnd
1598        count
1599        timeEnd
1600      # Call arguments.
1601      array of RemoteObject args
1602      # Identifier of the context where the call was made.
1603      ExecutionContextId executionContextId
1604      # Call timestamp.
1605      Timestamp timestamp
1606      # Stack trace captured when the call was made. The async stack chain is automatically reported for
1607      # the following call types: `assert`, `error`, `trace`, `warning`. For other types the async call
1608      # chain can be retrieved using `Debugger.getStackTrace` and `stackTrace.parentId` field.
1609      optional StackTrace stackTrace
1610      # Console context descriptor for calls on non-default console context (not console.*):
1611      # 'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call
1612      # on named context.
1613      experimental optional string context
1614
1615  # Issued when unhandled exception was revoked.
1616  event exceptionRevoked
1617    parameters
1618      # Reason describing why exception was revoked.
1619      string reason
1620      # The id of revoked exception, as reported in `exceptionThrown`.
1621      integer exceptionId
1622
1623  # Issued when exception was thrown and unhandled.
1624  event exceptionThrown
1625    parameters
1626      # Timestamp of the exception.
1627      Timestamp timestamp
1628      ExceptionDetails exceptionDetails
1629
1630  # Issued when new execution context is created.
1631  event executionContextCreated
1632    parameters
1633      # A newly created execution context.
1634      ExecutionContextDescription context
1635
1636  # Issued when execution context is destroyed.
1637  event executionContextDestroyed
1638    parameters
1639      # Id of the destroyed context
1640      ExecutionContextId executionContextId
1641
1642  # Issued when all executionContexts were cleared in browser
1643  event executionContextsCleared
1644
1645  # Issued when object should be inspected (for example, as a result of inspect() command line API
1646  # call).
1647  event inspectRequested
1648    parameters
1649      RemoteObject object
1650      object hints
1651
1652# This domain is deprecated.
1653deprecated domain Schema
1654
1655  # Description of the protocol domain.
1656  type Domain extends object
1657    properties
1658      # Domain name.
1659      string name
1660      # Domain version.
1661      string version
1662
1663  # Returns supported domains.
1664  command getDomains
1665    returns
1666      # List of supported domains.
1667      array of Domain domains
1668