OLD | NEW |
| (Empty) |
1 { | |
2 "version": { "major": "1", "minor": "2" }, | |
3 "domains": [ | |
4 { | |
5 "domain": "Schema", | |
6 "description": "Provides information about the protocol schema.", | |
7 "types": [ | |
8 { | |
9 "id": "Domain", | |
10 "type": "object", | |
11 "description": "Description of the protocol domain.", | |
12 "exported": true, | |
13 "properties": [ | |
14 { "name": "name", "type": "string", "description": "Domain n
ame." }, | |
15 { "name": "version", "type": "string", "description": "Domai
n version." } | |
16 ] | |
17 } | |
18 ], | |
19 "commands": [ | |
20 { | |
21 "name": "getDomains", | |
22 "description": "Returns supported domains.", | |
23 "handlers": ["browser", "renderer"], | |
24 "returns": [ | |
25 { "name": "domains", "type": "array", "items": { "$ref": "Do
main" }, "description": "List of supported domains." } | |
26 ] | |
27 } | |
28 ] | |
29 }, | |
30 { | |
31 "domain": "Runtime", | |
32 "description": "Runtime domain exposes JavaScript runtime by means of re
mote evaluation and mirror objects. Evaluation results are returned as mirror ob
ject that expose object type, string representation and unique identifier that c
an be used for further object reference. Original objects are maintained in memo
ry unless they are either explicitly released or are released along with the oth
er objects in their object group.", | |
33 "types": [ | |
34 { | |
35 "id": "ScriptId", | |
36 "type": "string", | |
37 "description": "Unique script identifier." | |
38 }, | |
39 { | |
40 "id": "RemoteObjectId", | |
41 "type": "string", | |
42 "description": "Unique object identifier." | |
43 }, | |
44 { | |
45 "id": "UnserializableValue", | |
46 "type": "string", | |
47 "enum": ["Infinity", "NaN", "-Infinity", "-0"], | |
48 "description": "Primitive value which cannot be JSON-stringified
." | |
49 }, | |
50 { | |
51 "id": "RemoteObject", | |
52 "type": "object", | |
53 "description": "Mirror object referencing original JavaScript ob
ject.", | |
54 "exported": true, | |
55 "properties": [ | |
56 { "name": "type", "type": "string", "enum": ["object", "func
tion", "undefined", "string", "number", "boolean", "symbol"], "description": "Ob
ject type." }, | |
57 { "name": "subtype", "type": "string", "optional": true, "en
um": ["array", "null", "node", "regexp", "date", "map", "set", "iterator", "gene
rator", "error", "proxy", "promise", "typedarray"], "description": "Object subty
pe hint. Specified for <code>object</code> type values only." }, | |
58 { "name": "className", "type": "string", "optional": true, "
description": "Object class (constructor) name. Specified for <code>object</code
> type values only." }, | |
59 { "name": "value", "type": "any", "optional": true, "descrip
tion": "Remote object value in case of primitive values or JSON values (if it wa
s requested)." }, | |
60 { "name": "unserializableValue", "$ref": "UnserializableValu
e", "optional": true, "description": "Primitive value which can not be JSON-stri
ngified does not have <code>value</code>, but gets this property." }, | |
61 { "name": "description", "type": "string", "optional": true,
"description": "String representation of the object." }, | |
62 { "name": "objectId", "$ref": "RemoteObjectId", "optional":
true, "description": "Unique object identifier (for non-primitive values)." }, | |
63 { "name": "preview", "$ref": "ObjectPreview", "optional": tr
ue, "description": "Preview containing abbreviated property values. Specified fo
r <code>object</code> type values only.", "experimental": true }, | |
64 { "name": "customPreview", "$ref": "CustomPreview", "optiona
l": true, "experimental": true} | |
65 ] | |
66 }, | |
67 { | |
68 "id": "CustomPreview", | |
69 "type": "object", | |
70 "experimental": true, | |
71 "properties": [ | |
72 { "name": "header", "type": "string"}, | |
73 { "name": "hasBody", "type": "boolean"}, | |
74 { "name": "formatterObjectId", "$ref": "RemoteObjectId"}, | |
75 { "name": "bindRemoteObjectFunctionId", "$ref": "RemoteObjec
tId" }, | |
76 { "name": "configObjectId", "$ref": "RemoteObjectId", "optio
nal": true } | |
77 ] | |
78 }, | |
79 { | |
80 "id": "ObjectPreview", | |
81 "type": "object", | |
82 "experimental": true, | |
83 "description": "Object containing abbreviated remote object valu
e.", | |
84 "properties": [ | |
85 { "name": "type", "type": "string", "enum": ["object", "func
tion", "undefined", "string", "number", "boolean", "symbol"], "description": "Ob
ject type." }, | |
86 { "name": "subtype", "type": "string", "optional": true, "en
um": ["array", "null", "node", "regexp", "date", "map", "set", "iterator", "gene
rator", "error"], "description": "Object subtype hint. Specified for <code>objec
t</code> type values only." }, | |
87 { "name": "description", "type": "string", "optional": true,
"description": "String representation of the object." }, | |
88 { "name": "overflow", "type": "boolean", "description": "Tru
e iff some of the properties or entries of the original object did not fit." }, | |
89 { "name": "properties", "type": "array", "items": { "$ref":
"PropertyPreview" }, "description": "List of the properties." }, | |
90 { "name": "entries", "type": "array", "items": { "$ref": "En
tryPreview" }, "optional": true, "description": "List of the entries. Specified
for <code>map</code> and <code>set</code> subtype values only." } | |
91 ] | |
92 }, | |
93 { | |
94 "id": "PropertyPreview", | |
95 "type": "object", | |
96 "experimental": true, | |
97 "properties": [ | |
98 { "name": "name", "type": "string", "description": "Property
name." }, | |
99 { "name": "type", "type": "string", "enum": ["object", "func
tion", "undefined", "string", "number", "boolean", "symbol", "accessor"], "descr
iption": "Object type. Accessor means that the property itself is an accessor pr
operty." }, | |
100 { "name": "value", "type": "string", "optional": true, "desc
ription": "User-friendly property value string." }, | |
101 { "name": "valuePreview", "$ref": "ObjectPreview", "optional
": true, "description": "Nested value preview." }, | |
102 { "name": "subtype", "type": "string", "optional": true, "en
um": ["array", "null", "node", "regexp", "date", "map", "set", "iterator", "gene
rator", "error"], "description": "Object subtype hint. Specified for <code>objec
t</code> type values only." } | |
103 ] | |
104 }, | |
105 { | |
106 "id": "EntryPreview", | |
107 "type": "object", | |
108 "experimental": true, | |
109 "properties": [ | |
110 { "name": "key", "$ref": "ObjectPreview", "optional": true,
"description": "Preview of the key. Specified for map-like collection entries."
}, | |
111 { "name": "value", "$ref": "ObjectPreview", "description": "
Preview of the value." } | |
112 ] | |
113 }, | |
114 { | |
115 "id": "PropertyDescriptor", | |
116 "type": "object", | |
117 "description": "Object property descriptor.", | |
118 "properties": [ | |
119 { "name": "name", "type": "string", "description": "Property
name or symbol description." }, | |
120 { "name": "value", "$ref": "RemoteObject", "optional": true,
"description": "The value associated with the property." }, | |
121 { "name": "writable", "type": "boolean", "optional": true, "
description": "True if the value associated with the property may be changed (da
ta descriptors only)." }, | |
122 { "name": "get", "$ref": "RemoteObject", "optional": true, "
description": "A function which serves as a getter for the property, or <code>un
defined</code> if there is no getter (accessor descriptors only)." }, | |
123 { "name": "set", "$ref": "RemoteObject", "optional": true, "
description": "A function which serves as a setter for the property, or <code>un
defined</code> if there is no setter (accessor descriptors only)." }, | |
124 { "name": "configurable", "type": "boolean", "description":
"True if the type of this property descriptor may be changed and if the property
may be deleted from the corresponding object." }, | |
125 { "name": "enumerable", "type": "boolean", "description": "T
rue if this property shows up during enumeration of the properties on the corres
ponding object." }, | |
126 { "name": "wasThrown", "type": "boolean", "optional": true,
"description": "True if the result was thrown during the evaluation." }, | |
127 { "name": "isOwn", "optional": true, "type": "boolean", "des
cription": "True if the property is owned for the object." }, | |
128 { "name": "symbol", "$ref": "RemoteObject", "optional": true
, "description": "Property symbol object, if the property is of the <code>symbol
</code> type." } | |
129 ] | |
130 }, | |
131 { | |
132 "id": "InternalPropertyDescriptor", | |
133 "type": "object", | |
134 "description": "Object internal property descriptor. This proper
ty isn't normally visible in JavaScript code.", | |
135 "properties": [ | |
136 { "name": "name", "type": "string", "description": "Conventi
onal property name." }, | |
137 { "name": "value", "$ref": "RemoteObject", "optional": true,
"description": "The value associated with the property." } | |
138 ] | |
139 }, | |
140 { | |
141 "id": "CallArgument", | |
142 "type": "object", | |
143 "description": "Represents function call argument. Either remote
object id <code>objectId</code>, primitive <code>value</code>, unserializable p
rimitive value or neither of (for undefined) them should be specified.", | |
144 "properties": [ | |
145 { "name": "value", "type": "any", "optional": true, "descrip
tion": "Primitive value." }, | |
146 { "name": "unserializableValue", "$ref": "UnserializableValu
e", "optional": true, "description": "Primitive value which can not be JSON-stri
ngified." }, | |
147 { "name": "objectId", "$ref": "RemoteObjectId", "optional":
true, "description": "Remote object handle." } | |
148 ] | |
149 }, | |
150 { | |
151 "id": "ExecutionContextId", | |
152 "type": "integer", | |
153 "description": "Id of an execution context." | |
154 }, | |
155 { | |
156 "id": "ExecutionContextDescription", | |
157 "type": "object", | |
158 "description": "Description of an isolated world.", | |
159 "properties": [ | |
160 { "name": "id", "$ref": "ExecutionContextId", "description":
"Unique id of the execution context. It can be used to specify in which executi
on context script evaluation should be performed." }, | |
161 { "name": "origin", "type": "string", "description": "Execut
ion context origin." }, | |
162 { "name": "name", "type": "string", "description": "Human re
adable name describing given context." }, | |
163 { "name": "auxData", "type": "object", "optional": true, "de
scription": "Embedder-specific auxiliary data." } | |
164 ] | |
165 }, | |
166 { | |
167 "id": "ExceptionDetails", | |
168 "type": "object", | |
169 "description": "Detailed information about exception (or error)
that was thrown during script compilation or execution.", | |
170 "properties": [ | |
171 { "name": "exceptionId", "type": "integer", "description": "
Exception id." }, | |
172 { "name": "text", "type": "string", "description": "Exceptio
n text, which should be used together with exception object when available." }, | |
173 { "name": "lineNumber", "type": "integer", "description": "L
ine number of the exception location (0-based)." }, | |
174 { "name": "columnNumber", "type": "integer", "description":
"Column number of the exception location (0-based)." }, | |
175 { "name": "scriptId", "$ref": "ScriptId", "optional": true,
"description": "Script ID of the exception location." }, | |
176 { "name": "url", "type": "string", "optional": true, "descri
ption": "URL of the exception location, to be used when the script was not repor
ted." }, | |
177 { "name": "stackTrace", "$ref": "StackTrace", "optional": tr
ue, "description": "JavaScript stack trace if available." }, | |
178 { "name": "exception", "$ref": "RemoteObject", "optional": t
rue, "description": "Exception object if available." }, | |
179 { "name": "executionContextId", "$ref": "ExecutionContextId"
, "optional": true, "description": "Identifier of the context where exception ha
ppened." } | |
180 ] | |
181 }, | |
182 { | |
183 "id": "Timestamp", | |
184 "type": "number", | |
185 "description": "Number of milliseconds since epoch." | |
186 }, | |
187 { | |
188 "id": "CallFrame", | |
189 "type": "object", | |
190 "description": "Stack entry for runtime errors and assertions.", | |
191 "properties": [ | |
192 { "name": "functionName", "type": "string", "description": "
JavaScript function name." }, | |
193 { "name": "scriptId", "$ref": "ScriptId", "description": "Ja
vaScript script id." }, | |
194 { "name": "url", "type": "string", "description": "JavaScrip
t script name or url." }, | |
195 { "name": "lineNumber", "type": "integer", "description": "J
avaScript script line number (0-based)." }, | |
196 { "name": "columnNumber", "type": "integer", "description":
"JavaScript script column number (0-based)." } | |
197 ] | |
198 }, | |
199 { | |
200 "id": "StackTrace", | |
201 "type": "object", | |
202 "description": "Call frames for assertions or error messages.", | |
203 "exported": true, | |
204 "properties": [ | |
205 { "name": "description", "type": "string", "optional": true,
"description": "String label of this stack trace. For async traces this may be
a name of the function that initiated the async call." }, | |
206 { "name": "callFrames", "type": "array", "items": { "$ref":
"CallFrame" }, "description": "JavaScript function name." }, | |
207 { "name": "parent", "$ref": "StackTrace", "optional": true,
"description": "Asynchronous JavaScript stack trace that preceded this stack, if
available." } | |
208 ] | |
209 } | |
210 ], | |
211 "commands": [ | |
212 { | |
213 "name": "evaluate", | |
214 "async": true, | |
215 "parameters": [ | |
216 { "name": "expression", "type": "string", "description": "Ex
pression to evaluate." }, | |
217 { "name": "objectGroup", "type": "string", "optional": true,
"description": "Symbolic group name that can be used to release multiple object
s." }, | |
218 { "name": "includeCommandLineAPI", "type": "boolean", "optio
nal": true, "description": "Determines whether Command Line API should be availa
ble during the evaluation." }, | |
219 { "name": "silent", "type": "boolean", "optional": true, "de
scription": "In silent mode exceptions thrown during evaluation are not reported
and do not pause execution. Overrides <code>setPauseOnException</code> state."
}, | |
220 { "name": "contextId", "$ref": "ExecutionContextId", "option
al": true, "description": "Specifies in which execution context to perform evalu
ation. If the parameter is omitted the evaluation will be performed in the conte
xt of the inspected page." }, | |
221 { "name": "returnByValue", "type": "boolean", "optional": tr
ue, "description": "Whether the result is expected to be a JSON object that shou
ld be sent by value." }, | |
222 { "name": "generatePreview", "type": "boolean", "optional":
true, "experimental": true, "description": "Whether preview should be generated
for the result." }, | |
223 { "name": "userGesture", "type": "boolean", "optional": true
, "experimental": true, "description": "Whether execution should be treated as i
nitiated by user in the UI." }, | |
224 { "name": "awaitPromise", "type": "boolean", "optional":true
, "description": "Whether execution should wait for promise to be resolved. If t
he result of evaluation is not a Promise, it's considered to be an error." } | |
225 ], | |
226 "returns": [ | |
227 { "name": "result", "$ref": "RemoteObject", "description": "
Evaluation result." }, | |
228 { "name": "exceptionDetails", "$ref": "ExceptionDetails", "o
ptional": true, "description": "Exception details."} | |
229 ], | |
230 "description": "Evaluates expression on global object." | |
231 }, | |
232 { | |
233 "name": "awaitPromise", | |
234 "async": true, | |
235 "parameters": [ | |
236 { "name": "promiseObjectId", "$ref": "RemoteObjectId", "desc
ription": "Identifier of the promise." }, | |
237 { "name": "returnByValue", "type": "boolean", "optional": tr
ue, "description": "Whether the result is expected to be a JSON object that shou
ld be sent by value." }, | |
238 { "name": "generatePreview", "type": "boolean", "optional":
true, "description": "Whether preview should be generated for the result." } | |
239 ], | |
240 "returns": [ | |
241 { "name": "result", "$ref": "RemoteObject", "description": "
Promise result. Will contain rejected value if promise was rejected." }, | |
242 { "name": "exceptionDetails", "$ref": "ExceptionDetails", "o
ptional": true, "description": "Exception details if stack strace is available."
} | |
243 ], | |
244 "description": "Add handler to promise with given promise object
id." | |
245 }, | |
246 { | |
247 "name": "callFunctionOn", | |
248 "async": true, | |
249 "parameters": [ | |
250 { "name": "objectId", "$ref": "RemoteObjectId", "description
": "Identifier of the object to call function on." }, | |
251 { "name": "functionDeclaration", "type": "string", "descript
ion": "Declaration of the function to call." }, | |
252 { "name": "arguments", "type": "array", "items": { "$ref": "
CallArgument", "description": "Call argument." }, "optional": true, "description
": "Call arguments. All call arguments must belong to the same JavaScript world
as the target object." }, | |
253 { "name": "silent", "type": "boolean", "optional": true, "de
scription": "In silent mode exceptions thrown during evaluation are not reported
and do not pause execution. Overrides <code>setPauseOnException</code> state."
}, | |
254 { "name": "returnByValue", "type": "boolean", "optional": tr
ue, "description": "Whether the result is expected to be a JSON object which sho
uld be sent by value." }, | |
255 { "name": "generatePreview", "type": "boolean", "optional":
true, "experimental": true, "description": "Whether preview should be generated
for the result." }, | |
256 { "name": "userGesture", "type": "boolean", "optional": true
, "experimental": true, "description": "Whether execution should be treated as i
nitiated by user in the UI." }, | |
257 { "name": "awaitPromise", "type": "boolean", "optional":true
, "description": "Whether execution should wait for promise to be resolved. If t
he result of evaluation is not a Promise, it's considered to be an error." } | |
258 ], | |
259 "returns": [ | |
260 { "name": "result", "$ref": "RemoteObject", "description": "
Call result." }, | |
261 { "name": "exceptionDetails", "$ref": "ExceptionDetails", "o
ptional": true, "description": "Exception details."} | |
262 ], | |
263 "description": "Calls function with given declaration on the giv
en object. Object group of the result is inherited from the target object." | |
264 }, | |
265 { | |
266 "name": "getProperties", | |
267 "parameters": [ | |
268 { "name": "objectId", "$ref": "RemoteObjectId", "description
": "Identifier of the object to return properties for." }, | |
269 { "name": "ownProperties", "optional": true, "type": "boolea
n", "description": "If true, returns properties belonging only to the element it
self, not to its prototype chain." }, | |
270 { "name": "accessorPropertiesOnly", "optional": true, "type"
: "boolean", "description": "If true, returns accessor properties (with getter/s
etter) only; internal properties are not returned either.", "experimental": true
}, | |
271 { "name": "generatePreview", "type": "boolean", "optional":
true, "experimental": true, "description": "Whether preview should be generated
for the results." } | |
272 ], | |
273 "returns": [ | |
274 { "name": "result", "type": "array", "items": { "$ref": "Pro
pertyDescriptor" }, "description": "Object properties." }, | |
275 { "name": "internalProperties", "optional": true, "type": "a
rray", "items": { "$ref": "InternalPropertyDescriptor" }, "description": "Intern
al object properties (only of the element itself)." }, | |
276 { "name": "exceptionDetails", "$ref": "ExceptionDetails", "o
ptional": true, "description": "Exception details."} | |
277 ], | |
278 "description": "Returns properties of a given object. Object gro
up of the result is inherited from the target object." | |
279 }, | |
280 { | |
281 "name": "releaseObject", | |
282 "parameters": [ | |
283 { "name": "objectId", "$ref": "RemoteObjectId", "description
": "Identifier of the object to release." } | |
284 ], | |
285 "description": "Releases remote object with given id." | |
286 }, | |
287 { | |
288 "name": "releaseObjectGroup", | |
289 "parameters": [ | |
290 { "name": "objectGroup", "type": "string", "description": "S
ymbolic object group name." } | |
291 ], | |
292 "description": "Releases all remote objects that belong to a giv
en group." | |
293 }, | |
294 { | |
295 "name": "runIfWaitingForDebugger", | |
296 "description": "Tells inspected instance to run if it was waitin
g for debugger to attach." | |
297 }, | |
298 { | |
299 "name": "enable", | |
300 "description": "Enables reporting of execution contexts creation
by means of <code>executionContextCreated</code> event. When the reporting gets
enabled the event will be sent immediately for each existing execution context.
" | |
301 }, | |
302 { | |
303 "name": "disable", | |
304 "description": "Disables reporting of execution contexts creatio
n." | |
305 }, | |
306 { | |
307 "name": "discardConsoleEntries", | |
308 "description": "Discards collected exceptions and console API ca
lls." | |
309 }, | |
310 { | |
311 "name": "setCustomObjectFormatterEnabled", | |
312 "parameters": [ | |
313 { | |
314 "name": "enabled", | |
315 "type": "boolean" | |
316 } | |
317 ], | |
318 "experimental": true | |
319 }, | |
320 { | |
321 "name": "compileScript", | |
322 "parameters": [ | |
323 { "name": "expression", "type": "string", "description": "Ex
pression to compile." }, | |
324 { "name": "sourceURL", "type": "string", "description": "Sou
rce url to be set for the script." }, | |
325 { "name": "persistScript", "type": "boolean", "description":
"Specifies whether the compiled script should be persisted." }, | |
326 { "name": "executionContextId", "$ref": "ExecutionContextId"
, "optional": true, "description": "Specifies in which execution context to perf
orm script run. If the parameter is omitted the evaluation will be performed in
the context of the inspected page." } | |
327 ], | |
328 "returns": [ | |
329 { "name": "scriptId", "$ref": "ScriptId", "optional": true,
"description": "Id of the script." }, | |
330 { "name": "exceptionDetails", "$ref": "ExceptionDetails", "o
ptional": true, "description": "Exception details."} | |
331 ], | |
332 "description": "Compiles expression." | |
333 }, | |
334 { | |
335 "name": "runScript", | |
336 "async": true, | |
337 "parameters": [ | |
338 { "name": "scriptId", "$ref": "ScriptId", "description": "Id
of the script to run." }, | |
339 { "name": "executionContextId", "$ref": "ExecutionContextId"
, "optional": true, "description": "Specifies in which execution context to perf
orm script run. If the parameter is omitted the evaluation will be performed in
the context of the inspected page." }, | |
340 { "name": "objectGroup", "type": "string", "optional": true,
"description": "Symbolic group name that can be used to release multiple object
s." }, | |
341 { "name": "silent", "type": "boolean", "optional": true, "de
scription": "In silent mode exceptions thrown during evaluation are not reported
and do not pause execution. Overrides <code>setPauseOnException</code> state."
}, | |
342 { "name": "includeCommandLineAPI", "type": "boolean", "optio
nal": true, "description": "Determines whether Command Line API should be availa
ble during the evaluation." }, | |
343 { "name": "returnByValue", "type": "boolean", "optional": tr
ue, "description": "Whether the result is expected to be a JSON object which sho
uld be sent by value." }, | |
344 { "name": "generatePreview", "type": "boolean", "optional":
true, "description": "Whether preview should be generated for the result." }, | |
345 { "name": "awaitPromise", "type": "boolean", "optional": tru
e, "description": "Whether execution should wait for promise to be resolved. If
the result of evaluation is not a Promise, it's considered to be an error." } | |
346 ], | |
347 "returns": [ | |
348 { "name": "result", "$ref": "RemoteObject", "description": "
Run result." }, | |
349 { "name": "exceptionDetails", "$ref": "ExceptionDetails", "o
ptional": true, "description": "Exception details."} | |
350 ], | |
351 "description": "Runs script with given id in a given context." | |
352 } | |
353 ], | |
354 "events": [ | |
355 { | |
356 "name": "executionContextCreated", | |
357 "parameters": [ | |
358 { "name": "context", "$ref": "ExecutionContextDescription",
"description": "A newly created execution contex." } | |
359 ], | |
360 "description": "Issued when new execution context is created." | |
361 }, | |
362 { | |
363 "name": "executionContextDestroyed", | |
364 "parameters": [ | |
365 { "name": "executionContextId", "$ref": "ExecutionContextId"
, "description": "Id of the destroyed context" } | |
366 ], | |
367 "description": "Issued when execution context is destroyed." | |
368 }, | |
369 { | |
370 "name": "executionContextsCleared", | |
371 "description": "Issued when all executionContexts were cleared i
n browser" | |
372 }, | |
373 { | |
374 "name": "exceptionThrown", | |
375 "description": "Issued when exception was thrown and unhandled."
, | |
376 "parameters": [ | |
377 { "name": "timestamp", "$ref": "Timestamp", "description": "
Timestamp of the exception." }, | |
378 { "name": "exceptionDetails", "$ref": "ExceptionDetails" } | |
379 ] | |
380 }, | |
381 { | |
382 "name": "exceptionRevoked", | |
383 "description": "Issued when unhandled exception was revoked.", | |
384 "parameters": [ | |
385 { "name": "reason", "type": "string", "description": "Reason
describing why exception was revoked." }, | |
386 { "name": "exceptionId", "type": "integer", "description": "
The id of revoked exception, as reported in <code>exceptionUnhandled</code>." } | |
387 ] | |
388 }, | |
389 { | |
390 "name": "consoleAPICalled", | |
391 "description": "Issued when console API was called.", | |
392 "parameters": [ | |
393 { "name": "type", "type": "string", "enum": ["log", "debug",
"info", "error", "warning", "dir", "dirxml", "table", "trace", "clear", "startG
roup", "startGroupCollapsed", "endGroup", "assert", "profile", "profileEnd"], "d
escription": "Type of the call." }, | |
394 { "name": "args", "type": "array", "items": { "$ref": "Remot
eObject" }, "description": "Call arguments." }, | |
395 { "name": "executionContextId", "$ref": "ExecutionContextId"
, "description": "Identifier of the context where the call was made." }, | |
396 { "name": "timestamp", "$ref": "Timestamp", "description": "
Call timestamp." }, | |
397 { "name": "stackTrace", "$ref": "StackTrace", "optional": tr
ue, "description": "Stack trace captured when the call was made." } | |
398 ] | |
399 }, | |
400 { | |
401 "name": "inspectRequested", | |
402 "description": "Issued when object should be inspected (for exam
ple, as a result of inspect() command line API call).", | |
403 "parameters": [ | |
404 { "name": "object", "$ref": "RemoteObject" }, | |
405 { "name": "hints", "type": "object" } | |
406 ] | |
407 } | |
408 ] | |
409 }, | |
410 { | |
411 "domain": "Debugger", | |
412 "description": "Debugger domain exposes JavaScript debugging capabilitie
s. It allows setting and removing breakpoints, stepping through execution, explo
ring stack traces, etc.", | |
413 "dependencies": ["Runtime"], | |
414 "types": [ | |
415 { | |
416 "id": "BreakpointId", | |
417 "type": "string", | |
418 "description": "Breakpoint identifier." | |
419 }, | |
420 { | |
421 "id": "CallFrameId", | |
422 "type": "string", | |
423 "description": "Call frame identifier." | |
424 }, | |
425 { | |
426 "id": "Location", | |
427 "type": "object", | |
428 "properties": [ | |
429 { "name": "scriptId", "$ref": "Runtime.ScriptId", "descripti
on": "Script identifier as reported in the <code>Debugger.scriptParsed</code>."
}, | |
430 { "name": "lineNumber", "type": "integer", "description": "L
ine number in the script (0-based)." }, | |
431 { "name": "columnNumber", "type": "integer", "optional": tru
e, "description": "Column number in the script (0-based)." } | |
432 ], | |
433 "description": "Location in the source code." | |
434 }, | |
435 { | |
436 "id": "ScriptPosition", | |
437 "experimental": true, | |
438 "type": "object", | |
439 "properties": [ | |
440 { "name": "lineNumber", "type": "integer" }, | |
441 { "name": "columnNumber", "type": "integer" } | |
442 ], | |
443 "description": "Location in the source code." | |
444 }, | |
445 { | |
446 "id": "CallFrame", | |
447 "type": "object", | |
448 "properties": [ | |
449 { "name": "callFrameId", "$ref": "CallFrameId", "description
": "Call frame identifier. This identifier is only valid while the virtual machi
ne is paused." }, | |
450 { "name": "functionName", "type": "string", "description": "
Name of the JavaScript function called on this call frame." }, | |
451 { "name": "functionLocation", "$ref": "Location", "optional"
: true, "experimental": true, "description": "Location in the source code." }, | |
452 { "name": "location", "$ref": "Location", "description": "Lo
cation in the source code." }, | |
453 { "name": "scopeChain", "type": "array", "items": { "$ref":
"Scope" }, "description": "Scope chain for this call frame." }, | |
454 { "name": "this", "$ref": "Runtime.RemoteObject", "descripti
on": "<code>this</code> object for this call frame." }, | |
455 { "name": "returnValue", "$ref": "Runtime.RemoteObject", "op
tional": true, "description": "The value being returned, if the function is at r
eturn point." } | |
456 ], | |
457 "description": "JavaScript call frame. Array of call frames form
the call stack." | |
458 }, | |
459 { | |
460 "id": "Scope", | |
461 "type": "object", | |
462 "properties": [ | |
463 { "name": "type", "type": "string", "enum": ["global", "loca
l", "with", "closure", "catch", "block", "script"], "description": "Scope type."
}, | |
464 { "name": "object", "$ref": "Runtime.RemoteObject", "descrip
tion": "Object representing the scope. For <code>global</code> and <code>with</c
ode> scopes it represents the actual object; for the rest of the scopes, it is a
rtificial transient object enumerating scope variables as its properties." }, | |
465 { "name": "name", "type": "string", "optional": true }, | |
466 { "name": "startLocation", "$ref": "Location", "optional": t
rue, "description": "Location in the source code where scope starts" }, | |
467 { "name": "endLocation", "$ref": "Location", "optional": tru
e, "description": "Location in the source code where scope ends" } | |
468 ], | |
469 "description": "Scope description." | |
470 }, | |
471 { | |
472 "id": "SearchMatch", | |
473 "type": "object", | |
474 "description": "Search match for resource.", | |
475 "exported": true, | |
476 "properties": [ | |
477 { "name": "lineNumber", "type": "number", "description": "Li
ne number in resource content." }, | |
478 { "name": "lineContent", "type": "string", "description": "L
ine with match content." } | |
479 ], | |
480 "experimental": true | |
481 } | |
482 ], | |
483 "commands": [ | |
484 { | |
485 "name": "enable", | |
486 "description": "Enables debugger for the given page. Clients sho
uld not assume that the debugging has been enabled until the result for this com
mand is received." | |
487 }, | |
488 { | |
489 "name": "disable", | |
490 "description": "Disables debugger for given page." | |
491 }, | |
492 { | |
493 "name": "setBreakpointsActive", | |
494 "parameters": [ | |
495 { "name": "active", "type": "boolean", "description": "New v
alue for breakpoints active state." } | |
496 ], | |
497 "description": "Activates / deactivates all breakpoints on the p
age." | |
498 }, | |
499 { | |
500 "name": "setSkipAllPauses", | |
501 "parameters": [ | |
502 { "name": "skip", "type": "boolean", "description": "New val
ue for skip pauses state." } | |
503 ], | |
504 "description": "Makes page not interrupt on any pauses (breakpoi
nt, exception, dom exception etc)." | |
505 }, | |
506 { | |
507 "name": "setBreakpointByUrl", | |
508 "parameters": [ | |
509 { "name": "lineNumber", "type": "integer", "description": "L
ine number to set breakpoint at." }, | |
510 { "name": "url", "type": "string", "optional": true, "descri
ption": "URL of the resources to set breakpoint on." }, | |
511 { "name": "urlRegex", "type": "string", "optional": true, "d
escription": "Regex pattern for the URLs of the resources to set breakpoints on.
Either <code>url</code> or <code>urlRegex</code> must be specified." }, | |
512 { "name": "columnNumber", "type": "integer", "optional": tru
e, "description": "Offset in the line to set breakpoint at." }, | |
513 { "name": "condition", "type": "string", "optional": true, "
description": "Expression to use as a breakpoint condition. When specified, debu
gger will only stop on the breakpoint if this expression evaluates to true." } | |
514 ], | |
515 "returns": [ | |
516 { "name": "breakpointId", "$ref": "BreakpointId", "descripti
on": "Id of the created breakpoint for further reference." }, | |
517 { "name": "locations", "type": "array", "items": { "$ref": "
Location" }, "description": "List of the locations this breakpoint resolved into
upon addition." } | |
518 ], | |
519 "description": "Sets JavaScript breakpoint at given location spe
cified either by URL or URL regex. Once this command is issued, all existing par
sed scripts will have breakpoints resolved and returned in <code>locations</code
> property. Further matching script parsing will result in subsequent <code>brea
kpointResolved</code> events issued. This logical breakpoint will survive page r
eloads." | |
520 }, | |
521 { | |
522 "name": "setBreakpoint", | |
523 "parameters": [ | |
524 { "name": "location", "$ref": "Location", "description": "Lo
cation to set breakpoint in." }, | |
525 { "name": "condition", "type": "string", "optional": true, "
description": "Expression to use as a breakpoint condition. When specified, debu
gger will only stop on the breakpoint if this expression evaluates to true." } | |
526 ], | |
527 "returns": [ | |
528 { "name": "breakpointId", "$ref": "BreakpointId", "descripti
on": "Id of the created breakpoint for further reference." }, | |
529 { "name": "actualLocation", "$ref": "Location", "description
": "Location this breakpoint resolved into." } | |
530 ], | |
531 "description": "Sets JavaScript breakpoint at a given location." | |
532 }, | |
533 { | |
534 "name": "removeBreakpoint", | |
535 "parameters": [ | |
536 { "name": "breakpointId", "$ref": "BreakpointId" } | |
537 ], | |
538 "description": "Removes JavaScript breakpoint." | |
539 }, | |
540 { | |
541 "name": "continueToLocation", | |
542 "parameters": [ | |
543 { "name": "location", "$ref": "Location", "description": "Lo
cation to continue to." } | |
544 ], | |
545 "description": "Continues execution until specific location is r
eached." | |
546 }, | |
547 { | |
548 "name": "stepOver", | |
549 "description": "Steps over the statement." | |
550 }, | |
551 { | |
552 "name": "stepInto", | |
553 "description": "Steps into the function call." | |
554 }, | |
555 { | |
556 "name": "stepOut", | |
557 "description": "Steps out of the function call." | |
558 }, | |
559 { | |
560 "name": "pause", | |
561 "description": "Stops on the next JavaScript statement." | |
562 }, | |
563 { | |
564 "name": "resume", | |
565 "description": "Resumes JavaScript execution." | |
566 }, | |
567 { | |
568 "name": "searchInContent", | |
569 "parameters": [ | |
570 { "name": "scriptId", "$ref": "Runtime.ScriptId", "descripti
on": "Id of the script to search in." }, | |
571 { "name": "query", "type": "string", "description": "String
to search for." }, | |
572 { "name": "caseSensitive", "type": "boolean", "optional": tr
ue, "description": "If true, search is case sensitive." }, | |
573 { "name": "isRegex", "type": "boolean", "optional": true, "d
escription": "If true, treats string parameter as regex." } | |
574 ], | |
575 "returns": [ | |
576 { "name": "result", "type": "array", "items": { "$ref": "Sea
rchMatch" }, "description": "List of search matches." } | |
577 ], | |
578 "experimental": true, | |
579 "description": "Searches for given string in script content." | |
580 }, | |
581 { | |
582 "name": "setScriptSource", | |
583 "parameters": [ | |
584 { "name": "scriptId", "$ref": "Runtime.ScriptId", "descripti
on": "Id of the script to edit." }, | |
585 { "name": "scriptSource", "type": "string", "description": "
New content of the script." }, | |
586 { "name": "dryRun", "type": "boolean", "optional": true, "de
scription": " If true the change will not actually be applied. Dry run may be us
ed to get result description without actually modifying the code." } | |
587 ], | |
588 "returns": [ | |
589 { "name": "callFrames", "type": "array", "optional": true, "
items": { "$ref": "CallFrame" }, "description": "New stack trace in case editing
has happened while VM was stopped." }, | |
590 { "name": "stackChanged", "type": "boolean", "optional": tru
e, "description": "Whether current call stack was modified after applying the c
hanges." }, | |
591 { "name": "asyncStackTrace", "$ref": "Runtime.StackTrace", "
optional": true, "description": "Async stack trace, if any." }, | |
592 { "name": "exceptionDetails", "optional": true, "$ref": "Run
time.ExceptionDetails", "description": "Exception details if any." } | |
593 ], | |
594 "description": "Edits JavaScript source live." | |
595 }, | |
596 { | |
597 "name": "restartFrame", | |
598 "parameters": [ | |
599 { "name": "callFrameId", "$ref": "CallFrameId", "description
": "Call frame identifier to evaluate on." } | |
600 ], | |
601 "returns": [ | |
602 { "name": "callFrames", "type": "array", "items": { "$ref":
"CallFrame" }, "description": "New stack trace." }, | |
603 { "name": "asyncStackTrace", "$ref": "Runtime.StackTrace", "
optional": true, "description": "Async stack trace, if any." } | |
604 ], | |
605 "description": "Restarts particular call frame from the beginnin
g." | |
606 }, | |
607 { | |
608 "name": "getScriptSource", | |
609 "parameters": [ | |
610 { "name": "scriptId", "$ref": "Runtime.ScriptId", "descripti
on": "Id of the script to get source for." } | |
611 ], | |
612 "returns": [ | |
613 { "name": "scriptSource", "type": "string", "description": "
Script source." } | |
614 ], | |
615 "description": "Returns source for the script with given id." | |
616 }, | |
617 { | |
618 "name": "setPauseOnExceptions", | |
619 "parameters": [ | |
620 { "name": "state", "type": "string", "enum": ["none", "uncau
ght", "all"], "description": "Pause on exceptions mode." } | |
621 ], | |
622 "description": "Defines pause on exceptions state. Can be set to
stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on
exceptions state is <code>none</code>." | |
623 }, | |
624 { | |
625 "name": "evaluateOnCallFrame", | |
626 "parameters": [ | |
627 { "name": "callFrameId", "$ref": "CallFrameId", "description
": "Call frame identifier to evaluate on." }, | |
628 { "name": "expression", "type": "string", "description": "Ex
pression to evaluate." }, | |
629 { "name": "objectGroup", "type": "string", "optional": true,
"description": "String object group name to put result into (allows rapid relea
sing resulting object handles using <code>releaseObjectGroup</code>)." }, | |
630 { "name": "includeCommandLineAPI", "type": "boolean", "optio
nal": true, "description": "Specifies whether command line API should be availab
le to the evaluated expression, defaults to false." }, | |
631 { "name": "silent", "type": "boolean", "optional": true, "de
scription": "In silent mode exceptions thrown during evaluation are not reported
and do not pause execution. Overrides <code>setPauseOnException</code> state."
}, | |
632 { "name": "returnByValue", "type": "boolean", "optional": tr
ue, "description": "Whether the result is expected to be a JSON object that shou
ld be sent by value." }, | |
633 { "name": "generatePreview", "type": "boolean", "optional":
true, "experimental": true, "description": "Whether preview should be generated
for the result." } | |
634 ], | |
635 "returns": [ | |
636 { "name": "result", "$ref": "Runtime.RemoteObject", "descrip
tion": "Object wrapper for the evaluation result." }, | |
637 { "name": "exceptionDetails", "$ref": "Runtime.ExceptionDeta
ils", "optional": true, "description": "Exception details."} | |
638 ], | |
639 "description": "Evaluates expression on a given call frame." | |
640 }, | |
641 { | |
642 "name": "setVariableValue", | |
643 "parameters": [ | |
644 { "name": "scopeNumber", "type": "integer", "description": "
0-based number of scope as was listed in scope chain. Only 'local', 'closure' an
d 'catch' scope types are allowed. Other scopes could be manipulated manually."
}, | |
645 { "name": "variableName", "type": "string", "description": "
Variable name." }, | |
646 { "name": "newValue", "$ref": "Runtime.CallArgument", "descr
iption": "New variable value." }, | |
647 { "name": "callFrameId", "$ref": "CallFrameId", "description
": "Id of callframe that holds variable." } | |
648 ], | |
649 "description": "Changes value of variable in a callframe. Object
-based scopes are not supported and must be mutated manually." | |
650 }, | |
651 { | |
652 "name": "setAsyncCallStackDepth", | |
653 "parameters": [ | |
654 { "name": "maxDepth", "type": "integer", "description": "Max
imum depth of async call stacks. Setting to <code>0</code> will effectively disa
ble collecting async call stacks (default)." } | |
655 ], | |
656 "description": "Enables or disables async call stacks tracking." | |
657 }, | |
658 { | |
659 "name": "setBlackboxPatterns", | |
660 "parameters": [ | |
661 { "name": "patterns", "type": "array", "items": { "type": "s
tring" }, "description": "Array of regexps that will be used to check script url
for blackbox state." } | |
662 ], | |
663 "experimental": true, | |
664 "description": "Replace previous blackbox patterns with passed o
nes. Forces backend to skip stepping/pausing in scripts with url matching one of
the patterns. VM will try to leave blackboxed script by performing 'step in' se
veral times, finally resorting to 'step out' if unsuccessful." | |
665 }, | |
666 { | |
667 "name": "setBlackboxedRanges", | |
668 "parameters": [ | |
669 { "name": "scriptId", "$ref": "Runtime.ScriptId", "descripti
on": "Id of the script." }, | |
670 { "name": "positions", "type": "array", "items": { "$ref": "
ScriptPosition" } } | |
671 ], | |
672 "experimental": true, | |
673 "description": "Makes backend skip steps in the script in blackb
oxed ranges. VM will try leave blacklisted scripts by performing 'step in' sever
al times, finally resorting to 'step out' if unsuccessful. Positions array conta
ins positions where blackbox state is changed. First interval isn't blackboxed.
Array should be sorted." | |
674 } | |
675 ], | |
676 "events": [ | |
677 { | |
678 "name": "scriptParsed", | |
679 "parameters": [ | |
680 { "name": "scriptId", "$ref": "Runtime.ScriptId", "descripti
on": "Identifier of the script parsed." }, | |
681 { "name": "url", "type": "string", "description": "URL or na
me of the script parsed (if any)." }, | |
682 { "name": "startLine", "type": "integer", "description": "Li
ne offset of the script within the resource with given URL (for script tags)." }
, | |
683 { "name": "startColumn", "type": "integer", "description": "
Column offset of the script within the resource with given URL." }, | |
684 { "name": "endLine", "type": "integer", "description": "Last
line of the script." }, | |
685 { "name": "endColumn", "type": "integer", "description": "Le
ngth of the last line of the script." }, | |
686 { "name": "executionContextId", "$ref": "Runtime.ExecutionCo
ntextId", "description": "Specifies script creation context." }, | |
687 { "name": "hash", "type": "string", "description": "Content
hash of the script."}, | |
688 { "name": "executionContextAuxData", "type": "object", "opti
onal": true, "description": "Embedder-specific auxiliary data." }, | |
689 { "name": "isLiveEdit", "type": "boolean", "optional": true,
"description": "True, if this script is generated as a result of the live edit
operation.", "experimental": true }, | |
690 { "name": "sourceMapURL", "type": "string", "optional": true
, "description": "URL of source map associated with script (if any)." }, | |
691 { "name": "hasSourceURL", "type": "boolean", "optional": tru
e, "description": "True, if this script has sourceURL.", "experimental": true } | |
692 ], | |
693 "description": "Fired when virtual machine parses script. This e
vent is also fired for all known and uncollected scripts upon enabling debugger.
" | |
694 }, | |
695 { | |
696 "name": "scriptFailedToParse", | |
697 "parameters": [ | |
698 { "name": "scriptId", "$ref": "Runtime.ScriptId", "descripti
on": "Identifier of the script parsed." }, | |
699 { "name": "url", "type": "string", "description": "URL or na
me of the script parsed (if any)." }, | |
700 { "name": "startLine", "type": "integer", "description": "Li
ne offset of the script within the resource with given URL (for script tags)." }
, | |
701 { "name": "startColumn", "type": "integer", "description": "
Column offset of the script within the resource with given URL." }, | |
702 { "name": "endLine", "type": "integer", "description": "Last
line of the script." }, | |
703 { "name": "endColumn", "type": "integer", "description": "Le
ngth of the last line of the script." }, | |
704 { "name": "executionContextId", "$ref": "Runtime.ExecutionCo
ntextId", "description": "Specifies script creation context." }, | |
705 { "name": "hash", "type": "string", "description": "Content
hash of the script."}, | |
706 { "name": "executionContextAuxData", "type": "object", "opti
onal": true, "description": "Embedder-specific auxiliary data." }, | |
707 { "name": "sourceMapURL", "type": "string", "optional": true
, "description": "URL of source map associated with script (if any)." }, | |
708 { "name": "hasSourceURL", "type": "boolean", "optional": tru
e, "description": "True, if this script has sourceURL.", "experimental": true } | |
709 ], | |
710 "description": "Fired when virtual machine fails to parse the sc
ript." | |
711 }, | |
712 { | |
713 "name": "breakpointResolved", | |
714 "parameters": [ | |
715 { "name": "breakpointId", "$ref": "BreakpointId", "descripti
on": "Breakpoint unique identifier." }, | |
716 { "name": "location", "$ref": "Location", "description": "Ac
tual breakpoint location." } | |
717 ], | |
718 "description": "Fired when breakpoint is resolved to an actual s
cript and location." | |
719 }, | |
720 { | |
721 "name": "paused", | |
722 "parameters": [ | |
723 { "name": "callFrames", "type": "array", "items": { "$ref":
"CallFrame" }, "description": "Call stack the virtual machine stopped on." }, | |
724 { "name": "reason", "type": "string", "enum": [ "XHR", "DOM"
, "EventListener", "exception", "assert", "debugCommand", "promiseRejection", "o
ther" ], "description": "Pause reason.", "exported": true }, | |
725 { "name": "data", "type": "object", "optional": true, "descr
iption": "Object containing break-specific auxiliary properties." }, | |
726 { "name": "hitBreakpoints", "type": "array", "optional": tru
e, "items": { "type": "string" }, "description": "Hit breakpoints IDs" }, | |
727 { "name": "asyncStackTrace", "$ref": "Runtime.StackTrace", "
optional": true, "description": "Async stack trace, if any." } | |
728 ], | |
729 "description": "Fired when the virtual machine stopped on breakp
oint or exception or any other stop criteria." | |
730 }, | |
731 { | |
732 "name": "resumed", | |
733 "description": "Fired when the virtual machine resumed execution
." | |
734 } | |
735 ] | |
736 }, | |
737 { | |
738 "domain": "Console", | |
739 "description": "This domain is deprecated - use Runtime or Log instead."
, | |
740 "dependencies": ["Runtime"], | |
741 "deprecated": true, | |
742 "types": [ | |
743 { | |
744 "id": "ConsoleMessage", | |
745 "type": "object", | |
746 "description": "Console message.", | |
747 "properties": [ | |
748 { "name": "source", "type": "string", "enum": ["xml", "javas
cript", "network", "console-api", "storage", "appcache", "rendering", "security"
, "other", "deprecation", "worker"], "description": "Message source." }, | |
749 { "name": "level", "type": "string", "enum": ["log", "warnin
g", "error", "debug", "info"], "description": "Message severity." }, | |
750 { "name": "text", "type": "string", "description": "Message
text." }, | |
751 { "name": "url", "type": "string", "optional": true, "descri
ption": "URL of the message origin." }, | |
752 { "name": "line", "type": "integer", "optional": true, "desc
ription": "Line number in the resource that generated this message (1-based)." }
, | |
753 { "name": "column", "type": "integer", "optional": true, "de
scription": "Column number in the resource that generated this message (1-based)
." } | |
754 ] | |
755 } | |
756 ], | |
757 "commands": [ | |
758 { | |
759 "name": "enable", | |
760 "description": "Enables console domain, sends the messages colle
cted so far to the client by means of the <code>messageAdded</code> notification
." | |
761 }, | |
762 { | |
763 "name": "disable", | |
764 "description": "Disables console domain, prevents further consol
e messages from being reported to the client." | |
765 }, | |
766 { | |
767 "name": "clearMessages", | |
768 "description": "Does nothing." | |
769 } | |
770 ], | |
771 "events": [ | |
772 { | |
773 "name": "messageAdded", | |
774 "parameters": [ | |
775 { "name": "message", "$ref": "ConsoleMessage", "description"
: "Console message that has been added." } | |
776 ], | |
777 "description": "Issued when new console message is added." | |
778 } | |
779 ] | |
780 }, | |
781 { | |
782 "domain": "Profiler", | |
783 "dependencies": ["Runtime", "Debugger"], | |
784 "types": [ | |
785 { | |
786 "id": "ProfileNode", | |
787 "type": "object", | |
788 "description": "Profile node. Holds callsite information, execut
ion statistics and child nodes.", | |
789 "properties": [ | |
790 { "name": "id", "type": "integer", "description": "Unique id
of the node." }, | |
791 { "name": "callFrame", "$ref": "Runtime.CallFrame", "descrip
tion": "Function location." }, | |
792 { "name": "hitCount", "type": "integer", "optional": true, "
experimental": true, "description": "Number of samples where this node was on to
p of the call stack." }, | |
793 { "name": "children", "type": "array", "items": { "type": "i
nteger" }, "optional": true, "description": "Child node ids." }, | |
794 { "name": "deoptReason", "type": "string", "optional": true,
"description": "The reason of being not optimized. The function may be deoptimi
zed or marked as don't optimize."}, | |
795 { "name": "positionTicks", "type": "array", "items": { "$ref
": "PositionTickInfo" }, "optional": true, "experimental": true, "description":
"An array of source position ticks." } | |
796 ] | |
797 }, | |
798 { | |
799 "id": "Profile", | |
800 "type": "object", | |
801 "description": "Profile.", | |
802 "properties": [ | |
803 { "name": "nodes", "type": "array", "items": { "$ref": "Prof
ileNode" }, "description": "The list of profile nodes. First item is the root no
de." }, | |
804 { "name": "startTime", "type": "number", "description": "Pro
filing start timestamp in microseconds." }, | |
805 { "name": "endTime", "type": "number", "description": "Profi
ling end timestamp in microseconds." }, | |
806 { "name": "samples", "optional": true, "type": "array", "ite
ms": { "type": "integer" }, "description": "Ids of samples top nodes." }, | |
807 { "name": "timeDeltas", "optional": true, "type": "array", "
items": { "type": "integer" }, "description": "Time intervals between adjacent s
amples in microseconds. The first delta is relative to the profile startTime." } | |
808 ] | |
809 }, | |
810 { | |
811 "id": "PositionTickInfo", | |
812 "type": "object", | |
813 "experimental": true, | |
814 "description": "Specifies a number of samples attributed to a ce
rtain source position.", | |
815 "properties": [ | |
816 { "name": "line", "type": "integer", "description": "Source
line number (1-based)." }, | |
817 { "name": "ticks", "type": "integer", "description": "Number
of samples attributed to the source line." } | |
818 ] | |
819 } | |
820 ], | |
821 "commands": [ | |
822 { | |
823 "name": "enable" | |
824 }, | |
825 { | |
826 "name": "disable" | |
827 }, | |
828 { | |
829 "name": "setSamplingInterval", | |
830 "parameters": [ | |
831 { "name": "interval", "type": "integer", "description": "New
sampling interval in microseconds." } | |
832 ], | |
833 "description": "Changes CPU profiler sampling interval. Must be
called before CPU profiles recording started." | |
834 }, | |
835 { | |
836 "name": "start" | |
837 }, | |
838 { | |
839 "name": "stop", | |
840 "returns": [ | |
841 { "name": "profile", "$ref": "Profile", "description": "Reco
rded profile." } | |
842 ] | |
843 } | |
844 ], | |
845 "events": [ | |
846 { | |
847 "name": "consoleProfileStarted", | |
848 "parameters": [ | |
849 { "name": "id", "type": "string" }, | |
850 { "name": "location", "$ref": "Debugger.Location", "descript
ion": "Location of console.profile()." }, | |
851 { "name": "title", "type": "string", "optional": true, "desc
ription": "Profile title passed as an argument to console.profile()." } | |
852 ], | |
853 "description": "Sent when new profile recodring is started using
console.profile() call." | |
854 }, | |
855 { | |
856 "name": "consoleProfileFinished", | |
857 "parameters": [ | |
858 { "name": "id", "type": "string" }, | |
859 { "name": "location", "$ref": "Debugger.Location", "descript
ion": "Location of console.profileEnd()." }, | |
860 { "name": "profile", "$ref": "Profile" }, | |
861 { "name": "title", "type": "string", "optional": true, "desc
ription": "Profile title passed as an argument to console.profile()." } | |
862 ] | |
863 } | |
864 ] | |
865 }, | |
866 { | |
867 "domain": "HeapProfiler", | |
868 "dependencies": ["Runtime"], | |
869 "experimental": true, | |
870 "types": [ | |
871 { | |
872 "id": "HeapSnapshotObjectId", | |
873 "type": "string", | |
874 "description": "Heap snapshot object id." | |
875 }, | |
876 { | |
877 "id": "SamplingHeapProfileNode", | |
878 "type": "object", | |
879 "description": "Sampling Heap Profile node. Holds callsite infor
mation, allocation statistics and child nodes.", | |
880 "properties": [ | |
881 { "name": "callFrame", "$ref": "Runtime.CallFrame", "descrip
tion": "Function location." }, | |
882 { "name": "selfSize", "type": "number", "description": "Allo
cations size in bytes for the node excluding children." }, | |
883 { "name": "children", "type": "array", "items": { "$ref": "S
amplingHeapProfileNode" }, "description": "Child nodes." } | |
884 ] | |
885 }, | |
886 { | |
887 "id": "SamplingHeapProfile", | |
888 "type": "object", | |
889 "description": "Profile.", | |
890 "properties": [ | |
891 { "name": "head", "$ref": "SamplingHeapProfileNode" } | |
892 ] | |
893 } | |
894 ], | |
895 "commands": [ | |
896 { | |
897 "name": "enable" | |
898 }, | |
899 { | |
900 "name": "disable" | |
901 }, | |
902 { | |
903 "name": "startTrackingHeapObjects", | |
904 "parameters": [ | |
905 { "name": "trackAllocations", "type": "boolean", "optional":
true } | |
906 ] | |
907 }, | |
908 { | |
909 "name": "stopTrackingHeapObjects", | |
910 "parameters": [ | |
911 { "name": "reportProgress", "type": "boolean", "optional": t
rue, "description": "If true 'reportHeapSnapshotProgress' events will be generat
ed while snapshot is being taken when the tracking is stopped." } | |
912 ] | |
913 }, | |
914 { | |
915 "name": "takeHeapSnapshot", | |
916 "parameters": [ | |
917 { "name": "reportProgress", "type": "boolean", "optional": t
rue, "description": "If true 'reportHeapSnapshotProgress' events will be generat
ed while snapshot is being taken." } | |
918 ] | |
919 }, | |
920 { | |
921 "name": "collectGarbage" | |
922 }, | |
923 { | |
924 "name": "getObjectByHeapObjectId", | |
925 "parameters": [ | |
926 { "name": "objectId", "$ref": "HeapSnapshotObjectId" }, | |
927 { "name": "objectGroup", "type": "string", "optional": true,
"description": "Symbolic group name that can be used to release multiple object
s." } | |
928 ], | |
929 "returns": [ | |
930 { "name": "result", "$ref": "Runtime.RemoteObject", "descrip
tion": "Evaluation result." } | |
931 ] | |
932 }, | |
933 { | |
934 "name": "addInspectedHeapObject", | |
935 "parameters": [ | |
936 { "name": "heapObjectId", "$ref": "HeapSnapshotObjectId", "d
escription": "Heap snapshot object id to be accessible by means of $x command li
ne API." } | |
937 ], | |
938 "description": "Enables console to refer to the node with given
id via $x (see Command Line API for more details $x functions)." | |
939 }, | |
940 { | |
941 "name": "getHeapObjectId", | |
942 "parameters": [ | |
943 { "name": "objectId", "$ref": "Runtime.RemoteObjectId", "des
cription": "Identifier of the object to get heap object id for." } | |
944 ], | |
945 "returns": [ | |
946 { "name": "heapSnapshotObjectId", "$ref": "HeapSnapshotObjec
tId", "description": "Id of the heap snapshot object corresponding to the passed
remote object id." } | |
947 ] | |
948 }, | |
949 { | |
950 "name": "startSampling", | |
951 "parameters": [ | |
952 { "name": "samplingInterval", "type": "number", "optional":
true, "description": "Average sample interval in bytes. Poisson distribution is
used for the intervals. The default value is 32768 bytes." } | |
953 ] | |
954 }, | |
955 { | |
956 "name": "stopSampling", | |
957 "returns": [ | |
958 { "name": "profile", "$ref": "SamplingHeapProfile", "descrip
tion": "Recorded sampling heap profile." } | |
959 ] | |
960 } | |
961 ], | |
962 "events": [ | |
963 { | |
964 "name": "addHeapSnapshotChunk", | |
965 "parameters": [ | |
966 { "name": "chunk", "type": "string" } | |
967 ] | |
968 }, | |
969 { | |
970 "name": "resetProfiles" | |
971 }, | |
972 { | |
973 "name": "reportHeapSnapshotProgress", | |
974 "parameters": [ | |
975 { "name": "done", "type": "integer" }, | |
976 { "name": "total", "type": "integer" }, | |
977 { "name": "finished", "type": "boolean", "optional": true } | |
978 ] | |
979 }, | |
980 { | |
981 "name": "lastSeenObjectId", | |
982 "description": "If heap objects tracking has been started then b
ackend regulary sends a current value for last seen object id and corresponding
timestamp. If the were changes in the heap since last event then one or more hea
pStatsUpdate events will be sent before a new lastSeenObjectId event.", | |
983 "parameters": [ | |
984 { "name": "lastSeenObjectId", "type": "integer" }, | |
985 { "name": "timestamp", "type": "number" } | |
986 ] | |
987 }, | |
988 { | |
989 "name": "heapStatsUpdate", | |
990 "description": "If heap objects tracking has been started then b
ackend may send update for one or more fragments", | |
991 "parameters": [ | |
992 { "name": "statsUpdate", "type": "array", "items": { "type":
"integer" }, "description": "An array of triplets. Each triplet describes a fra
gment. The first integer is the fragment index, the second integer is a total co
unt of objects for the fragment, the third integer is a total size of the object
s for the fragment."} | |
993 ] | |
994 } | |
995 ] | |
996 }] | |
997 } | |
OLD | NEW |