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