· 10 years ago · Aug 29, 2016, 08:14 PM
1{ remote: false,
2 descriptor:
3 { version: { major: '1', minor: '1' },
4 domains:
5 [ { domain: 'Inspector',
6 hidden: true,
7 types: [],
8 commands:
9 [ { name: 'enable',
10 description: 'Enables inspector domain notifications.',
11 handlers: [ 'browser' ] },
12 { name: 'disable',
13 description: 'Disables inspector domain notifications.',
14 handlers: [ 'browser' ] } ],
15 events:
16 [ { name: 'detached',
17 description: 'Fired when remote debugging connection is about to be terminated. Contains detach reason.',
18 parameters:
19 [ { name: 'reason',
20 type: 'string',
21 description: 'The reason why connection has been terminated.' } ],
22 handlers: [ 'browser' ] },
23 { name: 'targetCrashed',
24 description: 'Fired when debugging target has crashed',
25 handlers: [ 'browser' ] } ] },
26 { domain: 'Memory',
27 hidden: true,
28 types:
29 [ { id: 'PressureLevel',
30 type: 'string',
31 enum: [ 'moderate', 'critical' ],
32 description: 'Memory pressure level.' } ],
33 commands:
34 [ { name: 'getDOMCounters',
35 returns:
36 [ { name: 'documents', type: 'integer' },
37 { name: 'nodes', type: 'integer' },
38 { name: 'jsEventListeners', type: 'integer' } ] },
39 { name: 'setPressureNotificationsSuppressed',
40 description: 'Enable/disable suppressing memory pressure notifications in all processes.',
41 parameters:
42 [ { name: 'suppressed',
43 type: 'boolean',
44 description: 'If true, memory pressure notifications will be suppressed.' } ],
45 handlers: [ 'browser' ] },
46 { name: 'simulatePressureNotification',
47 description: 'Simulate a memory pressure notification in all processes.',
48 parameters:
49 [ { name: 'level',
50 '$ref': 'PressureLevel',
51 description: 'Memory pressure level of the notification.' } ],
52 handlers: [ 'browser' ] } ] },
53 { domain: 'Page',
54 description: 'Actions and events related to the inspected page belong to the page domain.',
55 dependencies: [ 'Debugger', 'DOM' ],
56 types:
57 [ { id: 'ResourceType',
58 type: 'string',
59 enum:
60 [ 'Document',
61 'Stylesheet',
62 'Image',
63 'Media',
64 'Font',
65 'Script',
66 'TextTrack',
67 'XHR',
68 'Fetch',
69 'EventSource',
70 'WebSocket',
71 'Manifest',
72 'Other' ],
73 description: 'Resource type as it was perceived by the rendering engine.' },
74 { id: 'FrameId',
75 type: 'string',
76 description: 'Unique frame identifier.' },
77 { id: 'Frame',
78 type: 'object',
79 description: 'Information about the Frame on the page.',
80 properties:
81 [ { name: 'id',
82 type: 'string',
83 description: 'Frame unique identifier.' },
84 { name: 'parentId',
85 type: 'string',
86 optional: true,
87 description: 'Parent frame identifier.' },
88 { name: 'loaderId',
89 '$ref': 'Network.LoaderId',
90 description: 'Identifier of the loader associated with this frame.' },
91 { name: 'name',
92 type: 'string',
93 optional: true,
94 description: 'Frame\'s name as specified in the tag.' },
95 { name: 'url',
96 type: 'string',
97 description: 'Frame document\'s URL.' },
98 { name: 'securityOrigin',
99 type: 'string',
100 description: 'Frame document\'s security origin.' },
101 { name: 'mimeType',
102 type: 'string',
103 description: 'Frame document\'s mimeType as determined by the browser.' } ] },
104 { id: 'FrameResource',
105 type: 'object',
106 description: 'Information about the Resource on the page.',
107 properties:
108 [ { name: 'url', type: 'string', description: 'Resource URL.' },
109 { name: 'type',
110 '$ref': 'ResourceType',
111 description: 'Type of this resource.' },
112 { name: 'mimeType',
113 type: 'string',
114 description: 'Resource mimeType as determined by the browser.' },
115 { name: 'failed',
116 type: 'boolean',
117 optional: true,
118 description: 'True if the resource failed to load.' },
119 { name: 'canceled',
120 type: 'boolean',
121 optional: true,
122 description: 'True if the resource was canceled during loading.' } ],
123 hidden: true },
124 { id: 'FrameResourceTree',
125 type: 'object',
126 description: 'Information about the Frame hierarchy along with their cached resources.',
127 properties:
128 [ { name: 'frame',
129 '$ref': 'Frame',
130 description: 'Frame information for this tree item.' },
131 { name: 'childFrames',
132 type: 'array',
133 optional: true,
134 items: { '$ref': 'FrameResourceTree' },
135 description: 'Child frames.' },
136 { name: 'resources',
137 type: 'array',
138 items: { '$ref': 'FrameResource' },
139 description: 'Information about frame resources.' } ],
140 hidden: true },
141 { id: 'ScriptIdentifier',
142 type: 'string',
143 description: 'Unique script identifier.',
144 hidden: true },
145 { id: 'NavigationEntry',
146 type: 'object',
147 description: 'Navigation history entry.',
148 properties:
149 [ { name: 'id',
150 type: 'integer',
151 description: 'Unique id of the navigation history entry.' },
152 { name: 'url',
153 type: 'string',
154 description: 'URL of the navigation history entry.' },
155 { name: 'title',
156 type: 'string',
157 description: 'Title of the navigation history entry.' } ],
158 hidden: true },
159 { id: 'ScreencastFrameMetadata',
160 type: 'object',
161 description: 'Screencast frame metadata.',
162 properties:
163 [ { name: 'offsetTop',
164 type: 'number',
165 hidden: true,
166 description: 'Top offset in DIP.' },
167 { name: 'pageScaleFactor',
168 type: 'number',
169 hidden: true,
170 description: 'Page scale factor.' },
171 { name: 'deviceWidth',
172 type: 'number',
173 hidden: true,
174 description: 'Device screen width in DIP.' },
175 { name: 'deviceHeight',
176 type: 'number',
177 hidden: true,
178 description: 'Device screen height in DIP.' },
179 { name: 'scrollOffsetX',
180 type: 'number',
181 hidden: true,
182 description: 'Position of horizontal scroll in CSS pixels.' },
183 { name: 'scrollOffsetY',
184 type: 'number',
185 hidden: true,
186 description: 'Position of vertical scroll in CSS pixels.' },
187 { name: 'timestamp',
188 type: 'number',
189 optional: true,
190 hidden: true,
191 description: 'Frame swap timestamp.' } ],
192 hidden: true },
193 { id: 'DialogType',
194 description: 'Javascript dialog type.',
195 type: 'string',
196 enum: [ 'alert', 'confirm', 'prompt', 'beforeunload' ],
197 hidden: true },
198 { id: 'AppManifestError',
199 description: 'Error while paring app manifest.',
200 type: 'object',
201 properties:
202 [ { name: 'message',
203 type: 'string',
204 description: 'Error message.' },
205 { name: 'critical',
206 type: 'integer',
207 description: 'If criticial, this is a non-recoverable parse error.' },
208 { name: 'line', type: 'integer', description: 'Error line.' },
209 { name: 'column', type: 'integer', description: 'Error column.' } ],
210 hidden: true },
211 { id: 'NavigationResponse',
212 description: 'Proceed: allow the navigation; Cancel: cancel the navigation; CancelAndIgnore: cancels the navigation and makes the requester of the navigation acts like the request was never made.',
213 type: 'string',
214 enum: [ 'Proceed', 'Cancel', 'CancelAndIgnore' ],
215 hidden: true } ],
216 commands:
217 [ { name: 'enable',
218 description: 'Enables page domain notifications.',
219 handlers: [ 'browser', 'renderer' ] },
220 { name: 'disable',
221 description: 'Disables page domain notifications.',
222 handlers: [ 'browser', 'renderer' ] },
223 { name: 'addScriptToEvaluateOnLoad',
224 parameters: [ { name: 'scriptSource', type: 'string' } ],
225 returns:
226 [ { name: 'identifier',
227 '$ref': 'ScriptIdentifier',
228 description: 'Identifier of the added script.' } ],
229 hidden: true },
230 { name: 'removeScriptToEvaluateOnLoad',
231 parameters: [ { name: 'identifier', '$ref': 'ScriptIdentifier' } ],
232 hidden: true },
233 { name: 'setAutoAttachToCreatedPages',
234 parameters:
235 [ { name: 'autoAttach',
236 type: 'boolean',
237 description: 'If true, browser will open a new inspector window for every page created from this one.' } ],
238 description: 'Controls whether browser will open a new inspector window for connected pages.',
239 hidden: true },
240 { name: 'reload',
241 parameters:
242 [ { name: 'ignoreCache',
243 type: 'boolean',
244 optional: true,
245 description: 'If true, browser cache is ignored (as if the user pressed Shift+refresh).' },
246 { name: 'scriptToEvaluateOnLoad',
247 type: 'string',
248 optional: true,
249 description: 'If set, the script will be injected into all frames of the inspected page after reload.' } ],
250 description: 'Reloads given page optionally ignoring the cache.',
251 handlers: [ 'browser', 'renderer' ] },
252 { name: 'navigate',
253 parameters:
254 [ { name: 'url',
255 type: 'string',
256 description: 'URL to navigate the page to.' } ],
257 returns:
258 [ { name: 'frameId',
259 '$ref': 'FrameId',
260 hidden: true,
261 description: 'Frame id that will be navigated.' } ],
262 description: 'Navigates current page to the given URL.',
263 handlers: [ 'browser', 'renderer' ] },
264 { name: 'getNavigationHistory',
265 returns:
266 [ { name: 'currentIndex',
267 type: 'integer',
268 description: 'Index of the current navigation history entry.' },
269 { name: 'entries',
270 type: 'array',
271 items: { '$ref': 'NavigationEntry' },
272 description: 'Array of navigation history entries.' } ],
273 description: 'Returns navigation history for the current page.',
274 hidden: true,
275 handlers: [ 'browser' ] },
276 { name: 'navigateToHistoryEntry',
277 parameters:
278 [ { name: 'entryId',
279 type: 'integer',
280 description: 'Unique id of the entry to navigate to.' } ],
281 description: 'Navigates current page to the given history entry.',
282 hidden: true,
283 handlers: [ 'browser' ] },
284 { name: 'getCookies',
285 returns:
286 [ { name: 'cookies',
287 type: 'array',
288 items: { '$ref': 'Network.Cookie' },
289 description: 'Array of cookie objects.' } ],
290 description: 'Returns all browser cookies. Depending on the backend support, will return detailed cookie information in the <code>cookies</code> field.',
291 handlers: [ 'browser' ],
292 async: true,
293 hidden: true,
294 redirect: 'Network' },
295 { name: 'deleteCookie',
296 parameters:
297 [ { name: 'cookieName',
298 type: 'string',
299 description: 'Name of the cookie to remove.' },
300 { name: 'url',
301 type: 'string',
302 description: 'URL to match cooke domain and path.' } ],
303 description: 'Deletes browser cookie with given name, domain and path.',
304 handlers: [ 'browser' ],
305 async: true,
306 hidden: true,
307 redirect: 'Network' },
308 { name: 'getResourceTree',
309 description: 'Returns present frame / resource tree structure.',
310 returns:
311 [ { name: 'frameTree',
312 '$ref': 'FrameResourceTree',
313 description: 'Present frame / resource tree structure.' } ],
314 hidden: true },
315 { name: 'getResourceContent',
316 async: true,
317 description: 'Returns content of the given resource.',
318 parameters:
319 [ { name: 'frameId',
320 '$ref': 'FrameId',
321 description: 'Frame id to get resource for.' },
322 { name: 'url',
323 type: 'string',
324 description: 'URL of the resource to get content for.' } ],
325 returns:
326 [ { name: 'content',
327 type: 'string',
328 description: 'Resource content.' },
329 { name: 'base64Encoded',
330 type: 'boolean',
331 description: 'True, if content was served as base64.' } ],
332 hidden: true },
333 { name: 'searchInResource',
334 async: true,
335 description: 'Searches for given string in resource content.',
336 parameters:
337 [ { name: 'frameId',
338 '$ref': 'FrameId',
339 description: 'Frame id for resource to search in.' },
340 { name: 'url',
341 type: 'string',
342 description: 'URL of the resource to search in.' },
343 { name: 'query',
344 type: 'string',
345 description: 'String to search for.' },
346 { name: 'caseSensitive',
347 type: 'boolean',
348 optional: true,
349 description: 'If true, search is case sensitive.' },
350 { name: 'isRegex',
351 type: 'boolean',
352 optional: true,
353 description: 'If true, treats string parameter as regex.' } ],
354 returns:
355 [ { name: 'result',
356 type: 'array',
357 items: { '$ref': 'Debugger.SearchMatch' },
358 description: 'List of search matches.' } ],
359 hidden: true },
360 { name: 'setDocumentContent',
361 description: 'Sets given markup as the document\'s HTML.',
362 parameters:
363 [ { name: 'frameId',
364 '$ref': 'FrameId',
365 description: 'Frame id to set HTML for.' },
366 { name: 'html',
367 type: 'string',
368 description: 'HTML content to set.' } ],
369 hidden: true },
370 { name: 'setDeviceMetricsOverride',
371 description: 'Overrides the values of device screen dimensions (window.screen.width, window.screen.height, window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media query results).',
372 parameters:
373 [ { name: 'width',
374 type: 'integer',
375 description: 'Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.' },
376 { name: 'height',
377 type: 'integer',
378 description: 'Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.' },
379 { name: 'deviceScaleFactor',
380 type: 'number',
381 description: 'Overriding device scale factor value. 0 disables the override.' },
382 { name: 'mobile',
383 type: 'boolean',
384 description: 'Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text autosizing and more.' },
385 { name: 'fitWindow',
386 type: 'boolean',
387 description: 'Whether a view that exceeds the available browser window area should be scaled down to fit.' },
388 { name: 'scale',
389 type: 'number',
390 optional: true,
391 description: 'Scale to apply to resulting view image. Ignored in |fitWindow| mode.' },
392 { name: 'offsetX',
393 type: 'number',
394 optional: true,
395 description: 'X offset to shift resulting view image by. Ignored in |fitWindow| mode.' },
396 { name: 'offsetY',
397 type: 'number',
398 optional: true,
399 description: 'Y offset to shift resulting view image by. Ignored in |fitWindow| mode.' },
400 { name: 'screenWidth',
401 type: 'integer',
402 optional: true,
403 description: 'Overriding screen width value in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.' },
404 { name: 'screenHeight',
405 type: 'integer',
406 optional: true,
407 description: 'Overriding screen height value in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.' },
408 { name: 'positionX',
409 type: 'integer',
410 optional: true,
411 description: 'Overriding view X position on screen in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.' },
412 { name: 'positionY',
413 type: 'integer',
414 optional: true,
415 description: 'Overriding view Y position on screen in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.' },
416 { name: 'screenOrientation',
417 '$ref': 'Emulation.ScreenOrientation',
418 optional: true,
419 description: 'Screen orientation override.' } ],
420 handlers: [ 'browser' ],
421 redirect: 'Emulation',
422 hidden: true },
423 { name: 'clearDeviceMetricsOverride',
424 description: 'Clears the overriden device metrics.',
425 handlers: [ 'browser' ],
426 redirect: 'Emulation',
427 hidden: true },
428 { name: 'setGeolocationOverride',
429 description: 'Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position unavailable.',
430 parameters:
431 [ { name: 'latitude',
432 type: 'number',
433 optional: true,
434 description: 'Mock latitude' },
435 { name: 'longitude',
436 type: 'number',
437 optional: true,
438 description: 'Mock longitude' },
439 { name: 'accuracy',
440 type: 'number',
441 optional: true,
442 description: 'Mock accuracy' } ],
443 redirect: 'Emulation',
444 handlers: [ 'browser' ] },
445 { name: 'clearGeolocationOverride',
446 description: 'Clears the overriden Geolocation Position and Error.',
447 redirect: 'Emulation',
448 handlers: [ 'browser' ] },
449 { name: 'setDeviceOrientationOverride',
450 description: 'Overrides the Device Orientation.',
451 parameters:
452 [ { name: 'alpha', type: 'number', description: 'Mock alpha' },
453 { name: 'beta', type: 'number', description: 'Mock beta' },
454 { name: 'gamma', type: 'number', description: 'Mock gamma' } ],
455 redirect: 'DeviceOrientation',
456 hidden: true },
457 { name: 'clearDeviceOrientationOverride',
458 description: 'Clears the overridden Device Orientation.',
459 redirect: 'DeviceOrientation',
460 hidden: true },
461 { name: 'setTouchEmulationEnabled',
462 parameters:
463 [ { name: 'enabled',
464 type: 'boolean',
465 description: 'Whether the touch event emulation should be enabled.' },
466 { name: 'configuration',
467 type: 'string',
468 enum: [ 'mobile', 'desktop' ],
469 optional: true,
470 description: 'Touch/gesture events configuration. Default: current platform.' } ],
471 description: 'Toggles mouse event-based touch event emulation.',
472 hidden: true,
473 redirect: 'Emulation',
474 handlers: [ 'browser', 'renderer' ] },
475 { name: 'captureScreenshot',
476 async: true,
477 description: 'Capture page screenshot.',
478 returns:
479 [ { name: 'data',
480 type: 'string',
481 description: 'Base64-encoded image data (PNG).' } ],
482 hidden: true,
483 handlers: [ 'browser' ] },
484 { name: 'startScreencast',
485 description: 'Starts sending each frame using the <code>screencastFrame</code> event.',
486 parameters:
487 [ { name: 'format',
488 type: 'string',
489 optional: true,
490 enum: [ 'jpeg', 'png' ],
491 description: 'Image compression format.' },
492 { name: 'quality',
493 type: 'integer',
494 optional: true,
495 description: 'Compression quality from range [0..100].' },
496 { name: 'maxWidth',
497 type: 'integer',
498 optional: true,
499 description: 'Maximum screenshot width.' },
500 { name: 'maxHeight',
501 type: 'integer',
502 optional: true,
503 description: 'Maximum screenshot height.' },
504 { name: 'everyNthFrame',
505 type: 'integer',
506 optional: true,
507 description: 'Send every n-th frame.' } ],
508 hidden: true,
509 handlers: [ 'browser', 'renderer' ] },
510 { name: 'stopScreencast',
511 description: 'Stops sending each frame in the <code>screencastFrame</code>.',
512 hidden: true,
513 handlers: [ 'browser', 'renderer' ] },
514 { name: 'screencastFrameAck',
515 description: 'Acknowledges that a screencast frame has been received by the frontend.',
516 parameters:
517 [ { name: 'sessionId',
518 type: 'integer',
519 description: 'Frame number.' } ],
520 hidden: true,
521 handlers: [ 'browser' ] },
522 { name: 'handleJavaScriptDialog',
523 description: 'Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).',
524 parameters:
525 [ { name: 'accept',
526 type: 'boolean',
527 description: 'Whether to accept or dismiss the dialog.' },
528 { name: 'promptText',
529 type: 'string',
530 optional: true,
531 description: 'The text to enter into the dialog prompt before accepting. Used only if this is a prompt dialog.' } ],
532 hidden: true,
533 handlers: [ 'browser' ] },
534 { name: 'setColorPickerEnabled',
535 parameters:
536 [ { name: 'enabled',
537 type: 'boolean',
538 description: 'Shows / hides color picker' } ],
539 description: 'Shows / hides color picker',
540 hidden: true,
541 handlers: [ 'browser' ] },
542 { name: 'configureOverlay',
543 parameters:
544 [ { name: 'suspended',
545 type: 'boolean',
546 optional: true,
547 description: 'Whether overlay should be suspended and not consume any resources.' },
548 { name: 'message',
549 type: 'string',
550 optional: true,
551 description: 'Overlay message to display.' } ],
552 hidden: true,
553 description: 'Configures overlay.' },
554 { name: 'getAppManifest',
555 hidden: true,
556 returns:
557 [ { name: 'url',
558 type: 'string',
559 description: 'Manifest location.' },
560 { name: 'errors',
561 type: 'array',
562 items: { '$ref': 'AppManifestError' } },
563 { name: 'data',
564 type: 'string',
565 optional: true,
566 description: 'Manifest content.' } ],
567 handlers: [ 'none' ] },
568 { name: 'requestAppBanner',
569 hidden: true,
570 handlers: [ 'browser' ] },
571 { name: 'setBlockedEventsWarningThreshold',
572 hidden: true,
573 parameters:
574 [ { name: 'threshold',
575 type: 'number',
576 description: 'If set to a positive number, specifies threshold in seconds for input event latency that will cause a console warning about blocked event to be issued. If zero or less, the warning is disabled.' } ] },
577 { name: 'setControlNavigations',
578 parameters: [ { name: 'enabled', type: 'boolean' } ],
579 description: 'Toggles navigation throttling which allows programatic control over navigation and redirect response.',
580 hidden: true,
581 handlers: [ 'browser' ] },
582 { name: 'processNavigation',
583 parameters:
584 [ { name: 'response', '$ref': 'NavigationResponse' },
585 { name: 'navigationId', type: 'integer' } ],
586 description: 'Should be sent in response to a navigationRequested or a redirectRequested event, telling the browser how to handle the navigation.',
587 hidden: true,
588 handlers: [ 'browser' ] } ],
589 events:
590 [ { name: 'domContentEventFired',
591 parameters: [ { name: 'timestamp', type: 'number' } ] },
592 { name: 'loadEventFired',
593 parameters: [ { name: 'timestamp', type: 'number' } ] },
594 { name: 'frameAttached',
595 description: 'Fired when frame has been attached to its parent.',
596 parameters:
597 [ { name: 'frameId',
598 '$ref': 'FrameId',
599 description: 'Id of the frame that has been attached.' },
600 { name: 'parentFrameId',
601 '$ref': 'FrameId',
602 description: 'Parent frame identifier.' } ] },
603 { name: 'frameNavigated',
604 description: 'Fired once navigation of the frame has completed. Frame is now associated with the new loader.',
605 parameters: [ { name: 'frame', '$ref': 'Frame', description: 'Frame object.' } ] },
606 { name: 'frameDetached',
607 description: 'Fired when frame has been detached from its parent.',
608 parameters:
609 [ { name: 'frameId',
610 '$ref': 'FrameId',
611 description: 'Id of the frame that has been detached.' } ] },
612 { name: 'frameStartedLoading',
613 description: 'Fired when frame has started loading.',
614 parameters:
615 [ { name: 'frameId',
616 '$ref': 'FrameId',
617 description: 'Id of the frame that has started loading.' } ],
618 hidden: true },
619 { name: 'frameStoppedLoading',
620 description: 'Fired when frame has stopped loading.',
621 parameters:
622 [ { name: 'frameId',
623 '$ref': 'FrameId',
624 description: 'Id of the frame that has stopped loading.' } ],
625 hidden: true },
626 { name: 'frameScheduledNavigation',
627 description: 'Fired when frame schedules a potential navigation.',
628 parameters:
629 [ { name: 'frameId',
630 '$ref': 'FrameId',
631 description: 'Id of the frame that has scheduled a navigation.' },
632 { name: 'delay',
633 type: 'number',
634 description: 'Delay (in seconds) until the navigation is scheduled to begin. The navigation is not guaranteed to start.' } ],
635 hidden: true },
636 { name: 'frameClearedScheduledNavigation',
637 description: 'Fired when frame no longer has a scheduled navigation.',
638 parameters:
639 [ { name: 'frameId',
640 '$ref': 'FrameId',
641 description: 'Id of the frame that has cleared its scheduled navigation.' } ],
642 hidden: true },
643 { name: 'frameResized', hidden: true },
644 { name: 'javascriptDialogOpening',
645 description: 'Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to open.',
646 parameters:
647 [ { name: 'message',
648 type: 'string',
649 description: 'Message that will be displayed by the dialog.' },
650 { name: 'type',
651 '$ref': 'DialogType',
652 description: 'Dialog type.' } ],
653 hidden: true },
654 { name: 'javascriptDialogClosed',
655 description: 'Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been closed.',
656 parameters:
657 [ { name: 'result',
658 type: 'boolean',
659 description: 'Whether dialog was confirmed.' } ],
660 hidden: true },
661 { name: 'screencastFrame',
662 description: 'Compressed image data requested by the <code>startScreencast</code>.',
663 parameters:
664 [ { name: 'data',
665 type: 'string',
666 description: 'Base64-encoded compressed image.' },
667 { name: 'metadata',
668 '$ref': 'ScreencastFrameMetadata',
669 description: 'Screencast frame metadata.' },
670 { name: 'sessionId',
671 type: 'integer',
672 description: 'Frame number.' } ],
673 hidden: true,
674 handlers: [ 'browser' ] },
675 { name: 'screencastVisibilityChanged',
676 description: 'Fired when the page with currently enabled screencast was shown or hidden </code>.',
677 parameters:
678 [ { name: 'visible',
679 type: 'boolean',
680 description: 'True if the page is visible.' } ],
681 hidden: true,
682 handlers: [ 'browser' ] },
683 { name: 'colorPicked',
684 description: 'Fired when a color has been picked.',
685 parameters:
686 [ { name: 'color',
687 '$ref': 'DOM.RGBA',
688 description: 'RGBA of the picked color.' } ],
689 hidden: true,
690 handlers: [ 'browser' ] },
691 { name: 'interstitialShown',
692 description: 'Fired when interstitial page was shown',
693 hidden: true,
694 handlers: [ 'browser' ] },
695 { name: 'interstitialHidden',
696 description: 'Fired when interstitial page was hidden',
697 hidden: true,
698 handlers: [ 'browser' ] },
699 { name: 'navigationRequested',
700 description: 'Fired when a navigation is started if navigation throttles are enabled. The navigation will be deferred until processNavigation is called.',
701 parameters:
702 [ { name: 'isInMainFrame',
703 type: 'boolean',
704 description: 'Whether the navigation is taking place in the main frame or in a subframe.' },
705 { name: 'isRedirect',
706 type: 'boolean',
707 description: 'Whether the navigation has encountered a server redirect or not.' },
708 { name: 'navigationId', type: 'integer' },
709 { name: 'url',
710 type: 'string',
711 description: 'URL of requested navigation.' } ],
712 handlers: [ 'browser' ] } ] },
713 { domain: 'Rendering',
714 description: 'This domain allows to control rendering of the page.',
715 hidden: true,
716 commands:
717 [ { name: 'setShowPaintRects',
718 description: 'Requests that backend shows paint rectangles',
719 parameters:
720 [ { name: 'result',
721 type: 'boolean',
722 description: 'True for showing paint rectangles' } ] },
723 { name: 'setShowDebugBorders',
724 description: 'Requests that backend shows debug borders on layers',
725 parameters:
726 [ { name: 'show',
727 type: 'boolean',
728 description: 'True for showing debug borders' } ] },
729 { name: 'setShowFPSCounter',
730 description: 'Requests that backend shows the FPS counter',
731 parameters:
732 [ { name: 'show',
733 type: 'boolean',
734 description: 'True for showing the FPS counter' } ] },
735 { name: 'setShowScrollBottleneckRects',
736 description: 'Requests that backend shows scroll bottleneck rects',
737 parameters:
738 [ { name: 'show',
739 type: 'boolean',
740 description: 'True for showing scroll bottleneck rects' } ] },
741 { name: 'setShowViewportSizeOnResize',
742 description: 'Paints viewport size upon main frame resize.',
743 parameters:
744 [ { name: 'show',
745 type: 'boolean',
746 description: 'Whether to paint size or not.' } ] } ] },
747 { domain: 'Emulation',
748 description: 'This domain emulates different environments for the page.',
749 hidden: true,
750 types:
751 [ { id: 'ScreenOrientation',
752 type: 'object',
753 description: 'Screen orientation.',
754 properties:
755 [ { name: 'type',
756 type: 'string',
757 enum:
758 [ 'portraitPrimary',
759 'portraitSecondary',
760 'landscapePrimary',
761 'landscapeSecondary' ],
762 description: 'Orientation type.' },
763 { name: 'angle',
764 type: 'integer',
765 description: 'Orientation angle.' } ] },
766 { id: 'VirtualTimePolicy',
767 type: 'string',
768 enum: [ 'advance', 'pause', 'pauseIfNetworkFetchesPending' ],
769 description: 'advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to allow the next delayed task (if any) to run; pause: The virtual time base may not advance; pauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending resource fetches.' } ],
770 commands:
771 [ { name: 'setDeviceMetricsOverride',
772 description: 'Overrides the values of device screen dimensions (window.screen.width, window.screen.height, window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media query results).',
773 parameters:
774 [ { name: 'width',
775 type: 'integer',
776 description: 'Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.' },
777 { name: 'height',
778 type: 'integer',
779 description: 'Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.' },
780 { name: 'deviceScaleFactor',
781 type: 'number',
782 description: 'Overriding device scale factor value. 0 disables the override.' },
783 { name: 'mobile',
784 type: 'boolean',
785 description: 'Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text autosizing and more.' },
786 { name: 'fitWindow',
787 type: 'boolean',
788 description: 'Whether a view that exceeds the available browser window area should be scaled down to fit.' },
789 { name: 'scale',
790 type: 'number',
791 optional: true,
792 description: 'Scale to apply to resulting view image. Ignored in |fitWindow| mode.' },
793 { name: 'offsetX',
794 type: 'number',
795 optional: true,
796 description: 'X offset to shift resulting view image by. Ignored in |fitWindow| mode.' },
797 { name: 'offsetY',
798 type: 'number',
799 optional: true,
800 description: 'Y offset to shift resulting view image by. Ignored in |fitWindow| mode.' },
801 { name: 'screenWidth',
802 type: 'integer',
803 optional: true,
804 description: 'Overriding screen width value in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.' },
805 { name: 'screenHeight',
806 type: 'integer',
807 optional: true,
808 description: 'Overriding screen height value in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.' },
809 { name: 'positionX',
810 type: 'integer',
811 optional: true,
812 description: 'Overriding view X position on screen in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.' },
813 { name: 'positionY',
814 type: 'integer',
815 optional: true,
816 description: 'Overriding view Y position on screen in pixels (minimum 0, maximum 10000000). Only used for |mobile==true|.' },
817 { name: 'screenOrientation',
818 '$ref': 'ScreenOrientation',
819 optional: true,
820 description: 'Screen orientation override.' } ],
821 handlers: [ 'browser' ] },
822 { name: 'clearDeviceMetricsOverride',
823 description: 'Clears the overriden device metrics.',
824 handlers: [ 'browser' ] },
825 { name: 'resetPageScaleFactor',
826 description: 'Requests that page scale factor is reset to initial values.' },
827 { name: 'setPageScaleFactor',
828 description: 'Sets a specified page scale factor.',
829 parameters:
830 [ { name: 'pageScaleFactor',
831 type: 'number',
832 description: 'Page scale factor.' } ] },
833 { name: 'setScriptExecutionDisabled',
834 description: 'Switches script execution in the page.',
835 parameters:
836 [ { name: 'value',
837 type: 'boolean',
838 description: 'Whether script execution should be disabled in the page.' } ] },
839 { name: 'setGeolocationOverride',
840 description: 'Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position unavailable.',
841 parameters:
842 [ { name: 'latitude',
843 type: 'number',
844 optional: true,
845 description: 'Mock latitude' },
846 { name: 'longitude',
847 type: 'number',
848 optional: true,
849 description: 'Mock longitude' },
850 { name: 'accuracy',
851 type: 'number',
852 optional: true,
853 description: 'Mock accuracy' } ],
854 handlers: [ 'browser' ] },
855 { name: 'clearGeolocationOverride',
856 description: 'Clears the overriden Geolocation Position and Error.',
857 handlers: [ 'browser' ] },
858 { name: 'setTouchEmulationEnabled',
859 parameters:
860 [ { name: 'enabled',
861 type: 'boolean',
862 description: 'Whether the touch event emulation should be enabled.' },
863 { name: 'configuration',
864 type: 'string',
865 enum: [ 'mobile', 'desktop' ],
866 optional: true,
867 description: 'Touch/gesture events configuration. Default: current platform.' } ],
868 description: 'Toggles mouse event-based touch event emulation.',
869 handlers: [ 'browser', 'renderer' ] },
870 { name: 'setEmulatedMedia',
871 parameters:
872 [ { name: 'media',
873 type: 'string',
874 description: 'Media type to emulate. Empty string disables the override.' } ],
875 description: 'Emulates the given media for CSS media queries.' },
876 { name: 'setCPUThrottlingRate',
877 parameters:
878 [ { name: 'rate',
879 type: 'number',
880 description: 'Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).' } ],
881 description: 'Enables CPU throttling to emulate slow CPUs.' },
882 { name: 'canEmulate',
883 description: 'Tells whether emulation is supported.',
884 returns:
885 [ { name: 'result',
886 type: 'boolean',
887 description: 'True if emulation is supported.' } ],
888 handlers: [ 'browser' ] },
889 { name: 'setVirtualTimePolicy',
890 description: 'Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets the current virtual time policy. Note this supersedes any previous time budget.',
891 parameters:
892 [ { name: 'policy', '$ref': 'VirtualTimePolicy' },
893 { name: 'budget',
894 type: 'integer',
895 optional: true,
896 description: 'If set, after this many virtual milliseconds have elapsed virtual time will be paused and a virtualTimeBudgetExpired event is sent.' } ],
897 hidden: true } ],
898 events:
899 [ { name: 'virtualTimeBudgetExpired',
900 description: 'Notification sent after the virual time budget for the current VirtualTimePolicy has run out.' } ] },
901 { domain: 'Security',
902 description: 'Security',
903 hidden: true,
904 types:
905 [ { id: 'CertificateId',
906 type: 'integer',
907 description: 'An internal certificate ID value.' },
908 { id: 'SecurityState',
909 type: 'string',
910 enum: [ 'unknown', 'neutral', 'insecure', 'warning', 'secure', 'info' ],
911 description: 'The security level of a page or resource.' },
912 { id: 'SecurityStateExplanation',
913 type: 'object',
914 properties:
915 [ { name: 'securityState',
916 '$ref': 'SecurityState',
917 description: 'Security state representing the severity of the factor being explained.' },
918 { name: 'summary',
919 type: 'string',
920 description: 'Short phrase describing the type of factor.' },
921 { name: 'description',
922 type: 'string',
923 description: 'Full text explanation of the factor.' },
924 { name: 'certificateId',
925 '$ref': 'CertificateId',
926 optional: true,
927 description: 'Associated certificate id.' } ],
928 description: 'An explanation of an factor contributing to the security state.' },
929 { id: 'MixedContentStatus',
930 type: 'object',
931 properties:
932 [ { name: 'ranInsecureContent',
933 type: 'boolean',
934 description: 'True if the page ran insecure content such as scripts.' },
935 { name: 'displayedInsecureContent',
936 type: 'boolean',
937 description: 'True if the page displayed insecure content such as images.' },
938 { name: 'ranInsecureContentStyle',
939 '$ref': 'SecurityState',
940 description: 'Security state representing a page that ran insecure content.' },
941 { name: 'displayedInsecureContentStyle',
942 '$ref': 'SecurityState',
943 description: 'Security state representing a page that displayed insecure content.' } ],
944 description: 'Information about mixed content on the page.' } ],
945 commands:
946 [ { name: 'enable',
947 description: 'Enables tracking security state changes.',
948 handlers: [ 'browser' ] },
949 { name: 'disable',
950 description: 'Disables tracking security state changes.',
951 handlers: [ 'browser' ] } ],
952 events:
953 [ { name: 'securityStateChanged',
954 description: 'The security state of the page changed.',
955 parameters:
956 [ { name: 'securityState',
957 '$ref': 'SecurityState',
958 description: 'Security state.' },
959 { name: 'explanations',
960 type: 'array',
961 items: { '$ref': 'SecurityStateExplanation' },
962 description: 'List of explanations for the security state. If the overall security state is `insecure` or `warning`, at least one corresponding explanation should be included.',
963 optional: true },
964 { name: 'mixedContentStatus',
965 '$ref': 'MixedContentStatus',
966 description: 'Information about mixed content on the page.',
967 optional: true },
968 { name: 'schemeIsCryptographic',
969 type: 'boolean',
970 description: 'True if the page was loaded over cryptographic transport such as HTTPS.',
971 optional: true } ],
972 handlers: [ 'browser' ] } ] },
973 { domain: 'Network',
974 description: 'Network domain allows tracking network activities of the page. It exposes information about http, file, data and other requests and responses, their headers, bodies, timing, etc.',
975 dependencies: [ 'Runtime', 'Security' ],
976 types:
977 [ { id: 'LoaderId',
978 type: 'string',
979 description: 'Unique loader identifier.' },
980 { id: 'RequestId',
981 type: 'string',
982 description: 'Unique request identifier.' },
983 { id: 'Timestamp',
984 type: 'number',
985 description: 'Number of seconds since epoch.' },
986 { id: 'Headers',
987 type: 'object',
988 description: 'Request / response headers as keys / values of JSON object.' },
989 { id: 'ConnectionType',
990 type: 'string',
991 enum:
992 [ 'none',
993 'cellular2g',
994 'cellular3g',
995 'cellular4g',
996 'bluetooth',
997 'ethernet',
998 'wifi',
999 'wimax',
1000 'other' ],
1001 description: 'Loading priority of a resource request.' },
1002 { id: 'ResourceTiming',
1003 type: 'object',
1004 description: 'Timing information for the request.',
1005 properties:
1006 [ { name: 'requestTime',
1007 type: 'number',
1008 description: 'Timing\'s requestTime is a baseline in seconds, while the other numbers are ticks in milliseconds relatively to this requestTime.' },
1009 { name: 'proxyStart',
1010 type: 'number',
1011 description: 'Started resolving proxy.' },
1012 { name: 'proxyEnd',
1013 type: 'number',
1014 description: 'Finished resolving proxy.' },
1015 { name: 'dnsStart',
1016 type: 'number',
1017 description: 'Started DNS address resolve.' },
1018 { name: 'dnsEnd',
1019 type: 'number',
1020 description: 'Finished DNS address resolve.' },
1021 { name: 'connectStart',
1022 type: 'number',
1023 description: 'Started connecting to the remote host.' },
1024 { name: 'connectEnd',
1025 type: 'number',
1026 description: 'Connected to the remote host.' },
1027 { name: 'sslStart',
1028 type: 'number',
1029 description: 'Started SSL handshake.' },
1030 { name: 'sslEnd',
1031 type: 'number',
1032 description: 'Finished SSL handshake.' },
1033 { name: 'workerStart',
1034 type: 'number',
1035 description: 'Started running ServiceWorker.',
1036 hidden: true },
1037 { name: 'workerReady',
1038 type: 'number',
1039 description: 'Finished Starting ServiceWorker.',
1040 hidden: true },
1041 { name: 'sendStart',
1042 type: 'number',
1043 description: 'Started sending request.' },
1044 { name: 'sendEnd',
1045 type: 'number',
1046 description: 'Finished sending request.' },
1047 { name: 'pushStart',
1048 type: 'number',
1049 description: 'Time the server started pushing request.',
1050 hidden: true },
1051 { name: 'pushEnd',
1052 type: 'number',
1053 description: 'Time the server finished pushing request.',
1054 hidden: true },
1055 { name: 'receiveHeadersEnd',
1056 type: 'number',
1057 description: 'Finished receiving response headers.' } ] },
1058 { id: 'ResourcePriority',
1059 type: 'string',
1060 enum: [ 'VeryLow', 'Low', 'Medium', 'High', 'VeryHigh' ],
1061 description: 'Loading priority of a resource request.' },
1062 { id: 'Request',
1063 type: 'object',
1064 description: 'HTTP request data.',
1065 properties:
1066 [ { name: 'url', type: 'string', description: 'Request URL.' },
1067 { name: 'method',
1068 type: 'string',
1069 description: 'HTTP request method.' },
1070 { name: 'headers',
1071 '$ref': 'Headers',
1072 description: 'HTTP request headers.' },
1073 { name: 'postData',
1074 type: 'string',
1075 optional: true,
1076 description: 'HTTP POST request data.' },
1077 { name: 'mixedContentType',
1078 optional: true,
1079 type: 'string',
1080 enum: [ 'blockable', 'optionally-blockable', 'none' ],
1081 description: 'The mixed content status of the request, as defined in http://www.w3.org/TR/mixed-content/' },
1082 { name: 'initialPriority',
1083 '$ref': 'ResourcePriority',
1084 description: 'Priority of the resource request at the time request is sent.' } ] },
1085 { id: 'CertificateSubject',
1086 type: 'object',
1087 description: 'Subject of a certificate.',
1088 properties:
1089 [ { name: 'name',
1090 type: 'string',
1091 description: 'Certificate subject name.' },
1092 { name: 'sanDnsNames',
1093 type: 'array',
1094 items: { type: 'string' },
1095 description: 'Subject Alternative Name (SAN) DNS names.' },
1096 { name: 'sanIpAddresses',
1097 type: 'array',
1098 items: { type: 'string' },
1099 description: 'Subject Alternative Name (SAN) IP addresses.' } ] },
1100 { id: 'CertificateDetails',
1101 type: 'object',
1102 description: 'Details about a request\'s certificate.',
1103 properties:
1104 [ { name: 'subject',
1105 '$ref': 'CertificateSubject',
1106 description: 'Certificate subject.' },
1107 { name: 'issuer',
1108 type: 'string',
1109 description: 'Name of the issuing CA.' },
1110 { name: 'validFrom',
1111 '$ref': 'Timestamp',
1112 description: 'Certificate valid from date.' },
1113 { name: 'validTo',
1114 '$ref': 'Timestamp',
1115 description: 'Certificate valid to (expiration) date' } ] },
1116 { id: 'SignedCertificateTimestamp',
1117 type: 'object',
1118 description: 'Details of a signed certificate timestamp (SCT).',
1119 properties:
1120 [ { name: 'status',
1121 type: 'string',
1122 description: 'Validation status.' },
1123 { name: 'origin', type: 'string', description: 'Origin.' },
1124 { name: 'logDescription',
1125 type: 'string',
1126 description: 'Log name / description.' },
1127 { name: 'logId', type: 'string', description: 'Log ID.' },
1128 { name: 'timestamp',
1129 '$ref': 'Timestamp',
1130 description: 'Issuance date.' },
1131 { name: 'hashAlgorithm',
1132 type: 'string',
1133 description: 'Hash algorithm.' },
1134 { name: 'signatureAlgorithm',
1135 type: 'string',
1136 description: 'Signature algorithm.' },
1137 { name: 'signatureData',
1138 type: 'string',
1139 description: 'Signature data.' } ] },
1140 { id: 'SecurityDetails',
1141 type: 'object',
1142 description: 'Security details about a request.',
1143 properties:
1144 [ { name: 'protocol',
1145 type: 'string',
1146 description: 'Protocol name (e.g. "TLS 1.2" or "QUIC").' },
1147 { name: 'keyExchange',
1148 type: 'string',
1149 description: 'Key Exchange used by the connection.' },
1150 { name: 'cipher', type: 'string', description: 'Cipher name.' },
1151 { name: 'mac',
1152 type: 'string',
1153 optional: true,
1154 description: 'TLS MAC. Note that AEAD ciphers do not have separate MACs.' },
1155 { name: 'certificateId',
1156 '$ref': 'Security.CertificateId',
1157 description: 'Certificate ID value.' },
1158 { name: 'signedCertificateTimestampList',
1159 type: 'array',
1160 items: { '$ref': 'SignedCertificateTimestamp' },
1161 description: 'List of signed certificate timestamps (SCTs).' } ] },
1162 { id: 'BlockedReason',
1163 type: 'string',
1164 description: 'The reason why request was blocked.',
1165 enum:
1166 [ 'csp',
1167 'mixed-content',
1168 'origin',
1169 'inspector',
1170 'subresource-filter',
1171 'other' ],
1172 hidden: true },
1173 { id: 'Response',
1174 type: 'object',
1175 description: 'HTTP response data.',
1176 properties:
1177 [ { name: 'url',
1178 type: 'string',
1179 description: 'Response URL. This URL can be different from CachedResource.url in case of redirect.' },
1180 { name: 'status',
1181 type: 'number',
1182 description: 'HTTP response status code.' },
1183 { name: 'statusText',
1184 type: 'string',
1185 description: 'HTTP response status text.' },
1186 { name: 'headers',
1187 '$ref': 'Headers',
1188 description: 'HTTP response headers.' },
1189 { name: 'headersText',
1190 type: 'string',
1191 optional: true,
1192 description: 'HTTP response headers text.' },
1193 { name: 'mimeType',
1194 type: 'string',
1195 description: 'Resource mimeType as determined by the browser.' },
1196 { name: 'requestHeaders',
1197 '$ref': 'Headers',
1198 optional: true,
1199 description: 'Refined HTTP request headers that were actually transmitted over the network.' },
1200 { name: 'requestHeadersText',
1201 type: 'string',
1202 optional: true,
1203 description: 'HTTP request headers text.' },
1204 { name: 'connectionReused',
1205 type: 'boolean',
1206 description: 'Specifies whether physical connection was actually reused for this request.' },
1207 { name: 'connectionId',
1208 type: 'number',
1209 description: 'Physical connection id that was actually used for this request.' },
1210 { name: 'remoteIPAddress',
1211 type: 'string',
1212 optional: true,
1213 hidden: true,
1214 description: 'Remote IP address.' },
1215 { name: 'remotePort',
1216 type: 'integer',
1217 optional: true,
1218 hidden: true,
1219 description: 'Remote port.' },
1220 { name: 'fromDiskCache',
1221 type: 'boolean',
1222 optional: true,
1223 description: 'Specifies that the request was served from the disk cache.' },
1224 { name: 'fromServiceWorker',
1225 type: 'boolean',
1226 optional: true,
1227 description: 'Specifies that the request was served from the ServiceWorker.' },
1228 { name: 'encodedDataLength',
1229 type: 'number',
1230 optional: false,
1231 description: 'Total number of bytes received for this request so far.' },
1232 { name: 'timing',
1233 '$ref': 'ResourceTiming',
1234 optional: true,
1235 description: 'Timing information for the given request.' },
1236 { name: 'protocol',
1237 type: 'string',
1238 optional: true,
1239 description: 'Protocol used to fetch this request.' },
1240 { name: 'securityState',
1241 '$ref': 'Security.SecurityState',
1242 description: 'Security state of the request resource.' },
1243 { name: 'securityDetails',
1244 '$ref': 'SecurityDetails',
1245 optional: true,
1246 description: 'Security details for the request.' } ] },
1247 { id: 'WebSocketRequest',
1248 type: 'object',
1249 description: 'WebSocket request data.',
1250 hidden: true,
1251 properties:
1252 [ { name: 'headers',
1253 '$ref': 'Headers',
1254 description: 'HTTP request headers.' } ] },
1255 { id: 'WebSocketResponse',
1256 type: 'object',
1257 description: 'WebSocket response data.',
1258 hidden: true,
1259 properties:
1260 [ { name: 'status',
1261 type: 'number',
1262 description: 'HTTP response status code.' },
1263 { name: 'statusText',
1264 type: 'string',
1265 description: 'HTTP response status text.' },
1266 { name: 'headers',
1267 '$ref': 'Headers',
1268 description: 'HTTP response headers.' },
1269 { name: 'headersText',
1270 type: 'string',
1271 optional: true,
1272 description: 'HTTP response headers text.' },
1273 { name: 'requestHeaders',
1274 '$ref': 'Headers',
1275 optional: true,
1276 description: 'HTTP request headers.' },
1277 { name: 'requestHeadersText',
1278 type: 'string',
1279 optional: true,
1280 description: 'HTTP request headers text.' } ] },
1281 { id: 'WebSocketFrame',
1282 type: 'object',
1283 description: 'WebSocket frame data.',
1284 hidden: true,
1285 properties:
1286 [ { name: 'opcode',
1287 type: 'number',
1288 description: 'WebSocket frame opcode.' },
1289 { name: 'mask',
1290 type: 'boolean',
1291 description: 'WebSocke frame mask.' },
1292 { name: 'payloadData',
1293 type: 'string',
1294 description: 'WebSocke frame payload data.' } ] },
1295 { id: 'CachedResource',
1296 type: 'object',
1297 description: 'Information about the cached resource.',
1298 properties:
1299 [ { name: 'url',
1300 type: 'string',
1301 description: 'Resource URL. This is the url of the original network request.' },
1302 { name: 'type',
1303 '$ref': 'Page.ResourceType',
1304 description: 'Type of this resource.' },
1305 { name: 'response',
1306 '$ref': 'Response',
1307 optional: true,
1308 description: 'Cached response data.' },
1309 { name: 'bodySize',
1310 type: 'number',
1311 description: 'Cached response body size.' } ] },
1312 { id: 'Initiator',
1313 type: 'object',
1314 description: 'Information about the request initiator.',
1315 properties:
1316 [ { name: 'type',
1317 type: 'string',
1318 enum: [ 'parser', 'script', 'other' ],
1319 description: 'Type of this initiator.' },
1320 { name: 'stack',
1321 '$ref': 'Runtime.StackTrace',
1322 optional: true,
1323 description: 'Initiator JavaScript stack trace, set for Script only.' },
1324 { name: 'url',
1325 type: 'string',
1326 optional: true,
1327 description: 'Initiator URL, set for Parser type only.' },
1328 { name: 'lineNumber',
1329 type: 'number',
1330 optional: true,
1331 description: 'Initiator line number, set for Parser type only (0-based).' } ] },
1332 { id: 'Cookie',
1333 type: 'object',
1334 description: 'Cookie object',
1335 properties:
1336 [ { name: 'name', type: 'string', description: 'Cookie name.' },
1337 { name: 'value', type: 'string', description: 'Cookie value.' },
1338 { name: 'domain', type: 'string', description: 'Cookie domain.' },
1339 { name: 'path', type: 'string', description: 'Cookie path.' },
1340 { name: 'expires',
1341 type: 'number',
1342 description: 'Cookie expires.' },
1343 { name: 'size', type: 'integer', description: 'Cookie size.' },
1344 { name: 'httpOnly',
1345 type: 'boolean',
1346 description: 'True if cookie is http-only.' },
1347 { name: 'secure',
1348 type: 'boolean',
1349 description: 'True if cookie is secure.' },
1350 { name: 'session',
1351 type: 'boolean',
1352 description: 'True in case of session cookie.' },
1353 { name: 'sameSite',
1354 type: 'string',
1355 optional: true,
1356 enum: [ 'Strict', 'Lax' ],
1357 description: 'Represents the cookies\' \'SameSite\' status: https://tools.ietf.org/html/draft-west-first-party-cookies' } ],
1358 hidden: true } ],
1359 commands:
1360 [ { name: 'enable',
1361 description: 'Enables network tracking, network events will now be delivered to the client.',
1362 parameters:
1363 [ { name: 'maxTotalBufferSize',
1364 type: 'integer',
1365 optional: true,
1366 hidden: true,
1367 description: 'Buffer size in bytes to use when preserving network payloads (XHRs, etc).' },
1368 { name: 'maxResourceBufferSize',
1369 type: 'integer',
1370 optional: true,
1371 hidden: true,
1372 description: 'Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).' } ] },
1373 { name: 'disable',
1374 description: 'Disables network tracking, prevents network events from being sent to the client.' },
1375 { name: 'setUserAgentOverride',
1376 description: 'Allows overriding user agent with the given string.',
1377 parameters:
1378 [ { name: 'userAgent',
1379 type: 'string',
1380 description: 'User agent to use.' } ] },
1381 { name: 'setExtraHTTPHeaders',
1382 description: 'Specifies whether to always send extra HTTP headers with the requests from this page.',
1383 parameters:
1384 [ { name: 'headers',
1385 '$ref': 'Headers',
1386 description: 'Map with extra HTTP headers.' } ] },
1387 { name: 'getResponseBody',
1388 async: true,
1389 description: 'Returns content served for the given request.',
1390 parameters:
1391 [ { name: 'requestId',
1392 '$ref': 'RequestId',
1393 description: 'Identifier of the network request to get content for.' } ],
1394 returns:
1395 [ { name: 'body', type: 'string', description: 'Response body.' },
1396 { name: 'base64Encoded',
1397 type: 'boolean',
1398 description: 'True, if content was sent as base64.' } ] },
1399 { name: 'addBlockedURL',
1400 description: 'Blocks specific URL from loading.',
1401 parameters: [ { name: 'url', type: 'string', description: 'URL to block.' } ],
1402 hidden: true },
1403 { name: 'removeBlockedURL',
1404 description: 'Cancels blocking of a specific URL from loading.',
1405 parameters:
1406 [ { name: 'url',
1407 type: 'string',
1408 description: 'URL to stop blocking.' } ],
1409 hidden: true },
1410 { name: 'replayXHR',
1411 description: 'This method sends a new XMLHttpRequest which is identical to the original one. The following parameters should be identical: method, url, async, request body, extra headers, withCredentials attribute, user, password.',
1412 parameters:
1413 [ { name: 'requestId',
1414 '$ref': 'RequestId',
1415 description: 'Identifier of XHR to replay.' } ],
1416 hidden: true },
1417 { name: 'setMonitoringXHREnabled',
1418 parameters:
1419 [ { name: 'enabled',
1420 type: 'boolean',
1421 description: 'Monitoring enabled state.' } ],
1422 description: 'Toggles monitoring of XMLHttpRequest. If <code>true</code>, console will receive messages upon each XHR issued.',
1423 hidden: true },
1424 { name: 'canClearBrowserCache',
1425 description: 'Tells whether clearing browser cache is supported.',
1426 returns:
1427 [ { name: 'result',
1428 type: 'boolean',
1429 description: 'True if browser cache can be cleared.' } ] },
1430 { name: 'clearBrowserCache',
1431 description: 'Clears browser cache.',
1432 handlers: [ 'browser' ] },
1433 { name: 'canClearBrowserCookies',
1434 description: 'Tells whether clearing browser cookies is supported.',
1435 returns:
1436 [ { name: 'result',
1437 type: 'boolean',
1438 description: 'True if browser cookies can be cleared.' } ] },
1439 { name: 'clearBrowserCookies',
1440 description: 'Clears browser cookies.',
1441 handlers: [ 'browser' ] },
1442 { name: 'getCookies',
1443 returns:
1444 [ { name: 'cookies',
1445 type: 'array',
1446 items: { '$ref': 'Cookie' },
1447 description: 'Array of cookie objects.' } ],
1448 description: 'Returns all browser cookies. Depending on the backend support, will return detailed cookie information in the <code>cookies</code> field.',
1449 handlers: [ 'browser' ],
1450 async: true,
1451 hidden: true },
1452 { name: 'deleteCookie',
1453 parameters:
1454 [ { name: 'cookieName',
1455 type: 'string',
1456 description: 'Name of the cookie to remove.' },
1457 { name: 'url',
1458 type: 'string',
1459 description: 'URL to match cooke domain and path.' } ],
1460 description: 'Deletes browser cookie with given name, domain and path.',
1461 handlers: [ 'browser' ],
1462 async: true,
1463 hidden: true },
1464 { name: 'canEmulateNetworkConditions',
1465 description: 'Tells whether emulation of network conditions is supported.',
1466 returns:
1467 [ { name: 'result',
1468 type: 'boolean',
1469 description: 'True if emulation of network conditions is supported.' } ],
1470 hidden: true,
1471 handlers: [ 'browser' ] },
1472 { name: 'emulateNetworkConditions',
1473 description: 'Activates emulation of network conditions.',
1474 parameters:
1475 [ { name: 'offline',
1476 type: 'boolean',
1477 description: 'True to emulate internet disconnection.' },
1478 { name: 'latency',
1479 type: 'number',
1480 description: 'Additional latency (ms).' },
1481 { name: 'downloadThroughput',
1482 type: 'number',
1483 description: 'Maximal aggregated download throughput.' },
1484 { name: 'uploadThroughput',
1485 type: 'number',
1486 description: 'Maximal aggregated upload throughput.' },
1487 { name: 'connectionType',
1488 '$ref': 'ConnectionType',
1489 optional: true,
1490 description: 'Connection type if known.' } ],
1491 hidden: true,
1492 handlers: [ 'browser', 'renderer' ] },
1493 { name: 'setCacheDisabled',
1494 parameters:
1495 [ { name: 'cacheDisabled',
1496 type: 'boolean',
1497 description: 'Cache disabled state.' } ],
1498 description: 'Toggles ignoring cache for each request. If <code>true</code>, cache will not be used.' },
1499 { name: 'setBypassServiceWorker',
1500 parameters:
1501 [ { name: 'bypass',
1502 type: 'boolean',
1503 description: 'Bypass service worker and load from network.' } ],
1504 hidden: true,
1505 description: 'Toggles ignoring of service worker for each request.' },
1506 { name: 'setDataSizeLimitsForTest',
1507 parameters:
1508 [ { name: 'maxTotalSize',
1509 type: 'integer',
1510 description: 'Maximum total buffer size.' },
1511 { name: 'maxResourceSize',
1512 type: 'integer',
1513 description: 'Maximum per-resource size.' } ],
1514 description: 'For testing.',
1515 hidden: true },
1516 { name: 'getCertificateDetails',
1517 description: 'Returns details for the given certificate.',
1518 parameters:
1519 [ { name: 'certificateId',
1520 '$ref': 'Security.CertificateId',
1521 description: 'ID of the certificate to get details for.' } ],
1522 returns:
1523 [ { name: 'result',
1524 '$ref': 'CertificateDetails',
1525 description: 'Certificate details.' } ],
1526 handlers: [ 'browser' ] },
1527 { name: 'showCertificateViewer',
1528 description: 'Displays native dialog with the certificate details.',
1529 parameters:
1530 [ { name: 'certificateId',
1531 '$ref': 'Security.CertificateId',
1532 description: 'Certificate id.' } ],
1533 handlers: [ 'browser' ] } ],
1534 events:
1535 [ { name: 'resourceChangedPriority',
1536 description: 'Fired when resource loading priority is changed',
1537 parameters:
1538 [ { name: 'requestId',
1539 '$ref': 'RequestId',
1540 description: 'Request identifier.' },
1541 { name: 'newPriority',
1542 '$ref': 'ResourcePriority',
1543 description: 'New priority' },
1544 { name: 'timestamp',
1545 '$ref': 'Timestamp',
1546 description: 'Timestamp.' } ],
1547 hidden: true },
1548 { name: 'requestWillBeSent',
1549 description: 'Fired when page is about to send HTTP request.',
1550 parameters:
1551 [ { name: 'requestId',
1552 '$ref': 'RequestId',
1553 description: 'Request identifier.' },
1554 { name: 'frameId',
1555 '$ref': 'Page.FrameId',
1556 description: 'Frame identifier.',
1557 hidden: true },
1558 { name: 'loaderId',
1559 '$ref': 'LoaderId',
1560 description: 'Loader identifier.' },
1561 { name: 'documentURL',
1562 type: 'string',
1563 description: 'URL of the document this request is loaded for.' },
1564 { name: 'request',
1565 '$ref': 'Request',
1566 description: 'Request data.' },
1567 { name: 'timestamp',
1568 '$ref': 'Timestamp',
1569 description: 'Timestamp.' },
1570 { name: 'wallTime',
1571 '$ref': 'Timestamp',
1572 hidden: true,
1573 description: 'UTC Timestamp.' },
1574 { name: 'initiator',
1575 '$ref': 'Initiator',
1576 description: 'Request initiator.' },
1577 { name: 'redirectResponse',
1578 optional: true,
1579 '$ref': 'Response',
1580 description: 'Redirect response data.' },
1581 { name: 'type',
1582 '$ref': 'Page.ResourceType',
1583 optional: true,
1584 hidden: true,
1585 description: 'Type of this resource.' } ] },
1586 { name: 'requestServedFromCache',
1587 description: 'Fired if request ended up loading from cache.',
1588 parameters:
1589 [ { name: 'requestId',
1590 '$ref': 'RequestId',
1591 description: 'Request identifier.' } ] },
1592 { name: 'responseReceived',
1593 description: 'Fired when HTTP response is available.',
1594 parameters:
1595 [ { name: 'requestId',
1596 '$ref': 'RequestId',
1597 description: 'Request identifier.' },
1598 { name: 'frameId',
1599 '$ref': 'Page.FrameId',
1600 description: 'Frame identifier.',
1601 hidden: true },
1602 { name: 'loaderId',
1603 '$ref': 'LoaderId',
1604 description: 'Loader identifier.' },
1605 { name: 'timestamp',
1606 '$ref': 'Timestamp',
1607 description: 'Timestamp.' },
1608 { name: 'type',
1609 '$ref': 'Page.ResourceType',
1610 description: 'Resource type.' },
1611 { name: 'response',
1612 '$ref': 'Response',
1613 description: 'Response data.' } ] },
1614 { name: 'dataReceived',
1615 description: 'Fired when data chunk was received over the network.',
1616 parameters:
1617 [ { name: 'requestId',
1618 '$ref': 'RequestId',
1619 description: 'Request identifier.' },
1620 { name: 'timestamp',
1621 '$ref': 'Timestamp',
1622 description: 'Timestamp.' },
1623 { name: 'dataLength',
1624 type: 'integer',
1625 description: 'Data chunk length.' },
1626 { name: 'encodedDataLength',
1627 type: 'integer',
1628 description: 'Actual bytes received (might be less than dataLength for compressed encodings).' } ] },
1629 { name: 'loadingFinished',
1630 description: 'Fired when HTTP request has finished loading.',
1631 parameters:
1632 [ { name: 'requestId',
1633 '$ref': 'RequestId',
1634 description: 'Request identifier.' },
1635 { name: 'timestamp',
1636 '$ref': 'Timestamp',
1637 description: 'Timestamp.' },
1638 { name: 'encodedDataLength',
1639 type: 'number',
1640 description: 'Total number of bytes received for this request.' } ] },
1641 { name: 'loadingFailed',
1642 description: 'Fired when HTTP request has failed to load.',
1643 parameters:
1644 [ { name: 'requestId',
1645 '$ref': 'RequestId',
1646 description: 'Request identifier.' },
1647 { name: 'timestamp',
1648 '$ref': 'Timestamp',
1649 description: 'Timestamp.' },
1650 { name: 'type',
1651 '$ref': 'Page.ResourceType',
1652 description: 'Resource type.' },
1653 { name: 'errorText',
1654 type: 'string',
1655 description: 'User friendly error message.' },
1656 { name: 'canceled',
1657 type: 'boolean',
1658 optional: true,
1659 description: 'True if loading was canceled.' },
1660 { name: 'blockedReason',
1661 '$ref': 'BlockedReason',
1662 optional: true,
1663 description: 'The reason why loading was blocked, if any.',
1664 hidden: true } ] },
1665 { name: 'webSocketWillSendHandshakeRequest',
1666 description: 'Fired when WebSocket is about to initiate handshake.',
1667 parameters:
1668 [ { name: 'requestId',
1669 '$ref': 'RequestId',
1670 description: 'Request identifier.' },
1671 { name: 'timestamp',
1672 '$ref': 'Timestamp',
1673 description: 'Timestamp.' },
1674 { name: 'wallTime',
1675 '$ref': 'Timestamp',
1676 hidden: true,
1677 description: 'UTC Timestamp.' },
1678 { name: 'request',
1679 '$ref': 'WebSocketRequest',
1680 description: 'WebSocket request data.' } ],
1681 hidden: true },
1682 { name: 'webSocketHandshakeResponseReceived',
1683 description: 'Fired when WebSocket handshake response becomes available.',
1684 parameters:
1685 [ { name: 'requestId',
1686 '$ref': 'RequestId',
1687 description: 'Request identifier.' },
1688 { name: 'timestamp',
1689 '$ref': 'Timestamp',
1690 description: 'Timestamp.' },
1691 { name: 'response',
1692 '$ref': 'WebSocketResponse',
1693 description: 'WebSocket response data.' } ],
1694 hidden: true },
1695 { name: 'webSocketCreated',
1696 description: 'Fired upon WebSocket creation.',
1697 parameters:
1698 [ { name: 'requestId',
1699 '$ref': 'RequestId',
1700 description: 'Request identifier.' },
1701 { name: 'url',
1702 type: 'string',
1703 description: 'WebSocket request URL.' },
1704 { name: 'initiator',
1705 '$ref': 'Initiator',
1706 optional: true,
1707 description: 'Request initiator.' } ],
1708 hidden: true },
1709 { name: 'webSocketClosed',
1710 description: 'Fired when WebSocket is closed.',
1711 parameters:
1712 [ { name: 'requestId',
1713 '$ref': 'RequestId',
1714 description: 'Request identifier.' },
1715 { name: 'timestamp',
1716 '$ref': 'Timestamp',
1717 description: 'Timestamp.' } ],
1718 hidden: true },
1719 { name: 'webSocketFrameReceived',
1720 description: 'Fired when WebSocket frame is received.',
1721 parameters:
1722 [ { name: 'requestId',
1723 '$ref': 'RequestId',
1724 description: 'Request identifier.' },
1725 { name: 'timestamp',
1726 '$ref': 'Timestamp',
1727 description: 'Timestamp.' },
1728 { name: 'response',
1729 '$ref': 'WebSocketFrame',
1730 description: 'WebSocket response data.' } ],
1731 hidden: true },
1732 { name: 'webSocketFrameError',
1733 description: 'Fired when WebSocket frame error occurs.',
1734 parameters:
1735 [ { name: 'requestId',
1736 '$ref': 'RequestId',
1737 description: 'Request identifier.' },
1738 { name: 'timestamp',
1739 '$ref': 'Timestamp',
1740 description: 'Timestamp.' },
1741 { name: 'errorMessage',
1742 type: 'string',
1743 description: 'WebSocket frame error message.' } ],
1744 hidden: true },
1745 { name: 'webSocketFrameSent',
1746 description: 'Fired when WebSocket frame is sent.',
1747 parameters:
1748 [ { name: 'requestId',
1749 '$ref': 'RequestId',
1750 description: 'Request identifier.' },
1751 { name: 'timestamp',
1752 '$ref': 'Timestamp',
1753 description: 'Timestamp.' },
1754 { name: 'response',
1755 '$ref': 'WebSocketFrame',
1756 description: 'WebSocket response data.' } ],
1757 hidden: true },
1758 { name: 'eventSourceMessageReceived',
1759 description: 'Fired when EventSource message is received.',
1760 parameters:
1761 [ { name: 'requestId',
1762 '$ref': 'RequestId',
1763 description: 'Request identifier.' },
1764 { name: 'timestamp',
1765 '$ref': 'Timestamp',
1766 description: 'Timestamp.' },
1767 { name: 'eventName',
1768 type: 'string',
1769 description: 'Message type.' },
1770 { name: 'eventId',
1771 type: 'string',
1772 description: 'Message identifier.' },
1773 { name: 'data', type: 'string', description: 'Message content.' } ],
1774 hidden: true } ] },
1775 { domain: 'Database',
1776 hidden: true,
1777 types:
1778 [ { id: 'DatabaseId',
1779 type: 'string',
1780 description: 'Unique identifier of Database object.',
1781 hidden: true },
1782 { id: 'Database',
1783 type: 'object',
1784 description: 'Database object.',
1785 hidden: true,
1786 properties:
1787 [ { name: 'id', '$ref': 'DatabaseId', description: 'Database ID.' },
1788 { name: 'domain',
1789 type: 'string',
1790 description: 'Database domain.' },
1791 { name: 'name', type: 'string', description: 'Database name.' },
1792 { name: 'version',
1793 type: 'string',
1794 description: 'Database version.' } ] },
1795 { id: 'Error',
1796 type: 'object',
1797 description: 'Database error.',
1798 properties:
1799 [ { name: 'message',
1800 type: 'string',
1801 description: 'Error message.' },
1802 { name: 'code', type: 'integer', description: 'Error code.' } ] } ],
1803 commands:
1804 [ { name: 'enable',
1805 description: 'Enables database tracking, database events will now be delivered to the client.' },
1806 { name: 'disable',
1807 description: 'Disables database tracking, prevents database events from being sent to the client.' },
1808 { name: 'getDatabaseTableNames',
1809 parameters: [ { name: 'databaseId', '$ref': 'DatabaseId' } ],
1810 returns: [ { name: 'tableNames', type: 'array', items: { type: 'string' } } ] },
1811 { name: 'executeSQL',
1812 async: true,
1813 parameters:
1814 [ { name: 'databaseId', '$ref': 'DatabaseId' },
1815 { name: 'query', type: 'string' } ],
1816 returns:
1817 [ { name: 'columnNames',
1818 type: 'array',
1819 optional: true,
1820 items: { type: 'string' } },
1821 { name: 'values',
1822 type: 'array',
1823 optional: true,
1824 items: { type: 'any' } },
1825 { name: 'sqlError', '$ref': 'Error', optional: true } ] } ],
1826 events:
1827 [ { name: 'addDatabase',
1828 parameters: [ { name: 'database', '$ref': 'Database' } ] } ] },
1829 { domain: 'IndexedDB',
1830 dependencies: [ 'Runtime' ],
1831 hidden: true,
1832 types:
1833 [ { id: 'DatabaseWithObjectStores',
1834 type: 'object',
1835 description: 'Database with an array of object stores.',
1836 properties:
1837 [ { name: 'name', type: 'string', description: 'Database name.' },
1838 { name: 'version',
1839 type: 'integer',
1840 description: 'Database version.' },
1841 { name: 'objectStores',
1842 type: 'array',
1843 items: { '$ref': 'ObjectStore' },
1844 description: 'Object stores in this database.' } ] },
1845 { id: 'ObjectStore',
1846 type: 'object',
1847 description: 'Object store.',
1848 properties:
1849 [ { name: 'name',
1850 type: 'string',
1851 description: 'Object store name.' },
1852 { name: 'keyPath',
1853 '$ref': 'KeyPath',
1854 description: 'Object store key path.' },
1855 { name: 'autoIncrement',
1856 type: 'boolean',
1857 description: 'If true, object store has auto increment flag set.' },
1858 { name: 'indexes',
1859 type: 'array',
1860 items: { '$ref': 'ObjectStoreIndex' },
1861 description: 'Indexes in this object store.' } ] },
1862 { id: 'ObjectStoreIndex',
1863 type: 'object',
1864 description: 'Object store index.',
1865 properties:
1866 [ { name: 'name', type: 'string', description: 'Index name.' },
1867 { name: 'keyPath',
1868 '$ref': 'KeyPath',
1869 description: 'Index key path.' },
1870 { name: 'unique',
1871 type: 'boolean',
1872 description: 'If true, index is unique.' },
1873 { name: 'multiEntry',
1874 type: 'boolean',
1875 description: 'If true, index allows multiple entries for a key.' } ] },
1876 { id: 'Key',
1877 type: 'object',
1878 description: 'Key.',
1879 properties:
1880 [ { name: 'type',
1881 type: 'string',
1882 enum: [ 'number', 'string', 'date', 'array' ],
1883 description: 'Key type.' },
1884 { name: 'number',
1885 type: 'number',
1886 optional: true,
1887 description: 'Number value.' },
1888 { name: 'string',
1889 type: 'string',
1890 optional: true,
1891 description: 'String value.' },
1892 { name: 'date',
1893 type: 'number',
1894 optional: true,
1895 description: 'Date value.' },
1896 { name: 'array',
1897 type: 'array',
1898 optional: true,
1899 items: { '$ref': 'Key' },
1900 description: 'Array value.' } ] },
1901 { id: 'KeyRange',
1902 type: 'object',
1903 description: 'Key range.',
1904 properties:
1905 [ { name: 'lower',
1906 '$ref': 'Key',
1907 optional: true,
1908 description: 'Lower bound.' },
1909 { name: 'upper',
1910 '$ref': 'Key',
1911 optional: true,
1912 description: 'Upper bound.' },
1913 { name: 'lowerOpen',
1914 type: 'boolean',
1915 description: 'If true lower bound is open.' },
1916 { name: 'upperOpen',
1917 type: 'boolean',
1918 description: 'If true upper bound is open.' } ] },
1919 { id: 'DataEntry',
1920 type: 'object',
1921 description: 'Data entry.',
1922 properties:
1923 [ { name: 'key',
1924 '$ref': 'Runtime.RemoteObject',
1925 description: 'Key object.' },
1926 { name: 'primaryKey',
1927 '$ref': 'Runtime.RemoteObject',
1928 description: 'Primary key object.' },
1929 { name: 'value',
1930 '$ref': 'Runtime.RemoteObject',
1931 description: 'Value object.' } ] },
1932 { id: 'KeyPath',
1933 type: 'object',
1934 description: 'Key path.',
1935 properties:
1936 [ { name: 'type',
1937 type: 'string',
1938 enum: [ 'null', 'string', 'array' ],
1939 description: 'Key path type.' },
1940 { name: 'string',
1941 type: 'string',
1942 optional: true,
1943 description: 'String value.' },
1944 { name: 'array',
1945 type: 'array',
1946 optional: true,
1947 items: { type: 'string' },
1948 description: 'Array value.' } ] } ],
1949 commands:
1950 [ { name: 'enable', description: 'Enables events from backend.' },
1951 { name: 'disable',
1952 description: 'Disables events from backend.' },
1953 { name: 'requestDatabaseNames',
1954 async: true,
1955 parameters:
1956 [ { name: 'securityOrigin',
1957 type: 'string',
1958 description: 'Security origin.' } ],
1959 returns:
1960 [ { name: 'databaseNames',
1961 type: 'array',
1962 items: { type: 'string' },
1963 description: 'Database names for origin.' } ],
1964 description: 'Requests database names for given security origin.' },
1965 { name: 'requestDatabase',
1966 async: true,
1967 parameters:
1968 [ { name: 'securityOrigin',
1969 type: 'string',
1970 description: 'Security origin.' },
1971 { name: 'databaseName',
1972 type: 'string',
1973 description: 'Database name.' } ],
1974 returns:
1975 [ { name: 'databaseWithObjectStores',
1976 '$ref': 'DatabaseWithObjectStores',
1977 description: 'Database with an array of object stores.' } ],
1978 description: 'Requests database with given name in given frame.' },
1979 { name: 'requestData',
1980 async: true,
1981 parameters:
1982 [ { name: 'securityOrigin',
1983 type: 'string',
1984 description: 'Security origin.' },
1985 { name: 'databaseName',
1986 type: 'string',
1987 description: 'Database name.' },
1988 { name: 'objectStoreName',
1989 type: 'string',
1990 description: 'Object store name.' },
1991 { name: 'indexName',
1992 type: 'string',
1993 description: 'Index name, empty string for object store data requests.' },
1994 { name: 'skipCount',
1995 type: 'integer',
1996 description: 'Number of records to skip.' },
1997 { name: 'pageSize',
1998 type: 'integer',
1999 description: 'Number of records to fetch.' },
2000 { name: 'keyRange',
2001 '$ref': 'KeyRange',
2002 optional: true,
2003 description: 'Key range.' } ],
2004 returns:
2005 [ { name: 'objectStoreDataEntries',
2006 type: 'array',
2007 items: { '$ref': 'DataEntry' },
2008 description: 'Array of object store data entries.' },
2009 { name: 'hasMore',
2010 type: 'boolean',
2011 description: 'If true, there are more entries to fetch in the given range.' } ],
2012 description: 'Requests data from object store or index.' },
2013 { name: 'clearObjectStore',
2014 async: true,
2015 parameters:
2016 [ { name: 'securityOrigin',
2017 type: 'string',
2018 description: 'Security origin.' },
2019 { name: 'databaseName',
2020 type: 'string',
2021 description: 'Database name.' },
2022 { name: 'objectStoreName',
2023 type: 'string',
2024 description: 'Object store name.' } ],
2025 returns: [],
2026 description: 'Clears all entries from an object store.' } ] },
2027 { domain: 'CacheStorage',
2028 hidden: true,
2029 types:
2030 [ { id: 'CacheId',
2031 type: 'string',
2032 description: 'Unique identifier of the Cache object.' },
2033 { id: 'DataEntry',
2034 type: 'object',
2035 description: 'Data entry.',
2036 properties:
2037 [ { name: 'request',
2038 type: 'string',
2039 description: 'Request url spec.' },
2040 { name: 'response',
2041 type: 'string',
2042 description: 'Response stataus text.' } ] },
2043 { id: 'Cache',
2044 type: 'object',
2045 description: 'Cache identifier.',
2046 properties:
2047 [ { name: 'cacheId',
2048 '$ref': 'CacheId',
2049 description: 'An opaque unique id of the cache.' },
2050 { name: 'securityOrigin',
2051 type: 'string',
2052 description: 'Security origin of the cache.' },
2053 { name: 'cacheName',
2054 type: 'string',
2055 description: 'The name of the cache.' } ] } ],
2056 commands:
2057 [ { name: 'requestCacheNames',
2058 async: true,
2059 parameters:
2060 [ { name: 'securityOrigin',
2061 type: 'string',
2062 description: 'Security origin.' } ],
2063 returns:
2064 [ { name: 'caches',
2065 type: 'array',
2066 items: { '$ref': 'Cache' },
2067 description: 'Caches for the security origin.' } ],
2068 description: 'Requests cache names.' },
2069 { name: 'requestEntries',
2070 async: true,
2071 parameters:
2072 [ { name: 'cacheId',
2073 '$ref': 'CacheId',
2074 description: 'ID of cache to get entries from.' },
2075 { name: 'skipCount',
2076 type: 'integer',
2077 description: 'Number of records to skip.' },
2078 { name: 'pageSize',
2079 type: 'integer',
2080 description: 'Number of records to fetch.' } ],
2081 returns:
2082 [ { name: 'cacheDataEntries',
2083 type: 'array',
2084 items: { '$ref': 'DataEntry' },
2085 description: 'Array of object store data entries.' },
2086 { name: 'hasMore',
2087 type: 'boolean',
2088 description: 'If true, there are more entries to fetch in the given range.' } ],
2089 description: 'Requests data from cache.' },
2090 { name: 'deleteCache',
2091 async: true,
2092 parameters:
2093 [ { name: 'cacheId',
2094 '$ref': 'CacheId',
2095 description: 'Id of cache for deletion.' } ],
2096 description: 'Deletes a cache.' },
2097 { name: 'deleteEntry',
2098 async: true,
2099 parameters:
2100 [ { name: 'cacheId',
2101 '$ref': 'CacheId',
2102 description: 'Id of cache where the entry will be deleted.' },
2103 { name: 'request',
2104 type: 'string',
2105 description: 'URL spec of the request.' } ],
2106 description: 'Deletes a cache entry.' } ] },
2107 { domain: 'DOMStorage',
2108 hidden: true,
2109 description: 'Query and modify DOM storage.',
2110 types:
2111 [ { id: 'StorageId',
2112 type: 'object',
2113 description: 'DOM Storage identifier.',
2114 hidden: true,
2115 properties:
2116 [ { name: 'securityOrigin',
2117 type: 'string',
2118 description: 'Security origin for the storage.' },
2119 { name: 'isLocalStorage',
2120 type: 'boolean',
2121 description: 'Whether the storage is local storage (not session storage).' } ] },
2122 { id: 'Item',
2123 type: 'array',
2124 description: 'DOM Storage item.',
2125 hidden: true,
2126 items: { type: 'string' } } ],
2127 commands:
2128 [ { name: 'enable',
2129 description: 'Enables storage tracking, storage events will now be delivered to the client.' },
2130 { name: 'disable',
2131 description: 'Disables storage tracking, prevents storage events from being sent to the client.' },
2132 { name: 'getDOMStorageItems',
2133 parameters: [ { name: 'storageId', '$ref': 'StorageId' } ],
2134 returns: [ { name: 'entries', type: 'array', items: { '$ref': 'Item' } } ] },
2135 { name: 'setDOMStorageItem',
2136 parameters:
2137 [ { name: 'storageId', '$ref': 'StorageId' },
2138 { name: 'key', type: 'string' },
2139 { name: 'value', type: 'string' } ] },
2140 { name: 'removeDOMStorageItem',
2141 parameters:
2142 [ { name: 'storageId', '$ref': 'StorageId' },
2143 { name: 'key', type: 'string' } ] } ],
2144 events:
2145 [ { name: 'domStorageItemsCleared',
2146 parameters: [ { name: 'storageId', '$ref': 'StorageId' } ] },
2147 { name: 'domStorageItemRemoved',
2148 parameters:
2149 [ { name: 'storageId', '$ref': 'StorageId' },
2150 { name: 'key', type: 'string' } ] },
2151 { name: 'domStorageItemAdded',
2152 parameters:
2153 [ { name: 'storageId', '$ref': 'StorageId' },
2154 { name: 'key', type: 'string' },
2155 { name: 'newValue', type: 'string' } ] },
2156 { name: 'domStorageItemUpdated',
2157 parameters:
2158 [ { name: 'storageId', '$ref': 'StorageId' },
2159 { name: 'key', type: 'string' },
2160 { name: 'oldValue', type: 'string' },
2161 { name: 'newValue', type: 'string' } ] } ] },
2162 { domain: 'ApplicationCache',
2163 hidden: true,
2164 types:
2165 [ { id: 'ApplicationCacheResource',
2166 type: 'object',
2167 description: 'Detailed application cache resource information.',
2168 properties:
2169 [ { name: 'url', type: 'string', description: 'Resource url.' },
2170 { name: 'size', type: 'integer', description: 'Resource size.' },
2171 { name: 'type', type: 'string', description: 'Resource type.' } ] },
2172 { id: 'ApplicationCache',
2173 type: 'object',
2174 description: 'Detailed application cache information.',
2175 properties:
2176 [ { name: 'manifestURL',
2177 type: 'string',
2178 description: 'Manifest URL.' },
2179 { name: 'size',
2180 type: 'number',
2181 description: 'Application cache size.' },
2182 { name: 'creationTime',
2183 type: 'number',
2184 description: 'Application cache creation time.' },
2185 { name: 'updateTime',
2186 type: 'number',
2187 description: 'Application cache update time.' },
2188 { name: 'resources',
2189 type: 'array',
2190 items: { '$ref': 'ApplicationCacheResource' },
2191 description: 'Application cache resources.' } ] },
2192 { id: 'FrameWithManifest',
2193 type: 'object',
2194 description: 'Frame identifier - manifest URL pair.',
2195 properties:
2196 [ { name: 'frameId',
2197 '$ref': 'Page.FrameId',
2198 description: 'Frame identifier.' },
2199 { name: 'manifestURL',
2200 type: 'string',
2201 description: 'Manifest URL.' },
2202 { name: 'status',
2203 type: 'integer',
2204 description: 'Application cache status.' } ] } ],
2205 commands:
2206 [ { name: 'getFramesWithManifests',
2207 returns:
2208 [ { name: 'frameIds',
2209 type: 'array',
2210 items: { '$ref': 'FrameWithManifest' },
2211 description: 'Array of frame identifiers with manifest urls for each frame containing a document associated with some application cache.' } ],
2212 description: 'Returns array of frame identifiers with manifest urls for each frame containing a document associated with some application cache.' },
2213 { name: 'enable',
2214 description: 'Enables application cache domain notifications.' },
2215 { name: 'getManifestForFrame',
2216 parameters:
2217 [ { name: 'frameId',
2218 '$ref': 'Page.FrameId',
2219 description: 'Identifier of the frame containing document whose manifest is retrieved.' } ],
2220 returns:
2221 [ { name: 'manifestURL',
2222 type: 'string',
2223 description: 'Manifest URL for document in the given frame.' } ],
2224 description: 'Returns manifest URL for document in the given frame.' },
2225 { name: 'getApplicationCacheForFrame',
2226 parameters:
2227 [ { name: 'frameId',
2228 '$ref': 'Page.FrameId',
2229 description: 'Identifier of the frame containing document whose application cache is retrieved.' } ],
2230 returns:
2231 [ { name: 'applicationCache',
2232 '$ref': 'ApplicationCache',
2233 description: 'Relevant application cache data for the document in given frame.' } ],
2234 description: 'Returns relevant application cache data for the document in given frame.' } ],
2235 events:
2236 [ { name: 'applicationCacheStatusUpdated',
2237 parameters:
2238 [ { name: 'frameId',
2239 '$ref': 'Page.FrameId',
2240 description: 'Identifier of the frame containing document whose application cache updated status.' },
2241 { name: 'manifestURL',
2242 type: 'string',
2243 description: 'Manifest URL.' },
2244 { name: 'status',
2245 type: 'integer',
2246 description: 'Updated application cache status.' } ] },
2247 { name: 'networkStateUpdated',
2248 parameters: [ { name: 'isNowOnline', type: 'boolean' } ] } ] },
2249 { domain: 'DOM',
2250 description: 'This domain exposes DOM read/write operations. Each DOM Node is represented with its mirror object that has an <code>id</code>. This <code>id</code> can be used to get additional information on the Node, resolve it into the JavaScript object wrapper, etc. It is important that client receives DOM events only for the nodes that are known to the client. Backend keeps track of the nodes that were sent to the client and never sends the same node twice. It is client\'s responsibility to collect information about the nodes that were sent to the client.<p>Note that <code>iframe</code> owner elements will return corresponding document elements as their child nodes.</p>',
2251 dependencies: [ 'Runtime' ],
2252 types:
2253 [ { id: 'NodeId',
2254 type: 'integer',
2255 description: 'Unique DOM node identifier.' },
2256 { id: 'BackendNodeId',
2257 type: 'integer',
2258 description: 'Unique DOM node identifier used to reference a node that may not have been pushed to the front-end.',
2259 hidden: true },
2260 { id: 'BackendNode',
2261 type: 'object',
2262 properties:
2263 [ { name: 'nodeType',
2264 type: 'integer',
2265 description: '<code>Node</code>\'s nodeType.' },
2266 { name: 'nodeName',
2267 type: 'string',
2268 description: '<code>Node</code>\'s nodeName.' },
2269 { name: 'backendNodeId', '$ref': 'BackendNodeId' } ],
2270 hidden: true,
2271 description: 'Backend node with a friendly name.' },
2272 { id: 'PseudoType',
2273 type: 'string',
2274 enum:
2275 [ 'first-line',
2276 'first-letter',
2277 'before',
2278 'after',
2279 'backdrop',
2280 'selection',
2281 'first-line-inherited',
2282 'scrollbar',
2283 'scrollbar-thumb',
2284 'scrollbar-button',
2285 'scrollbar-track',
2286 'scrollbar-track-piece',
2287 'scrollbar-corner',
2288 'resizer',
2289 'input-list-button' ],
2290 description: 'Pseudo element type.' },
2291 { id: 'ShadowRootType',
2292 type: 'string',
2293 enum: [ 'user-agent', 'open', 'closed' ],
2294 description: 'Shadow root type.' },
2295 { id: 'Node',
2296 type: 'object',
2297 properties:
2298 [ { name: 'nodeId',
2299 '$ref': 'NodeId',
2300 description: 'Node identifier that is passed into the rest of the DOM messages as the <code>nodeId</code>. Backend will only push node with given <code>id</code> once. It is aware of all requested nodes and will only fire DOM events for nodes known to the client.' },
2301 { name: 'nodeType',
2302 type: 'integer',
2303 description: '<code>Node</code>\'s nodeType.' },
2304 { name: 'nodeName',
2305 type: 'string',
2306 description: '<code>Node</code>\'s nodeName.' },
2307 { name: 'localName',
2308 type: 'string',
2309 description: '<code>Node</code>\'s localName.' },
2310 { name: 'nodeValue',
2311 type: 'string',
2312 description: '<code>Node</code>\'s nodeValue.' },
2313 { name: 'childNodeCount',
2314 type: 'integer',
2315 optional: true,
2316 description: 'Child count for <code>Container</code> nodes.' },
2317 { name: 'children',
2318 type: 'array',
2319 optional: true,
2320 items: { '$ref': 'Node' },
2321 description: 'Child nodes of this node when requested with children.' },
2322 { name: 'attributes',
2323 type: 'array',
2324 optional: true,
2325 items: { type: 'string' },
2326 description: 'Attributes of the <code>Element</code> node in the form of flat array <code>[name1, value1, name2, value2]</code>.' },
2327 { name: 'documentURL',
2328 type: 'string',
2329 optional: true,
2330 description: 'Document URL that <code>Document</code> or <code>FrameOwner</code> node points to.' },
2331 { name: 'baseURL',
2332 type: 'string',
2333 optional: true,
2334 description: 'Base URL that <code>Document</code> or <code>FrameOwner</code> node uses for URL completion.',
2335 hidden: true },
2336 { name: 'publicId',
2337 type: 'string',
2338 optional: true,
2339 description: '<code>DocumentType</code>\'s publicId.' },
2340 { name: 'systemId',
2341 type: 'string',
2342 optional: true,
2343 description: '<code>DocumentType</code>\'s systemId.' },
2344 { name: 'internalSubset',
2345 type: 'string',
2346 optional: true,
2347 description: '<code>DocumentType</code>\'s internalSubset.' },
2348 { name: 'xmlVersion',
2349 type: 'string',
2350 optional: true,
2351 description: '<code>Document</code>\'s XML version in case of XML documents.' },
2352 { name: 'name',
2353 type: 'string',
2354 optional: true,
2355 description: '<code>Attr</code>\'s name.' },
2356 { name: 'value',
2357 type: 'string',
2358 optional: true,
2359 description: '<code>Attr</code>\'s value.' },
2360 { name: 'pseudoType',
2361 '$ref': 'PseudoType',
2362 optional: true,
2363 description: 'Pseudo element type for this node.' },
2364 { name: 'shadowRootType',
2365 '$ref': 'ShadowRootType',
2366 optional: true,
2367 description: 'Shadow root type.' },
2368 { name: 'frameId',
2369 '$ref': 'Page.FrameId',
2370 optional: true,
2371 description: 'Frame ID for frame owner elements.',
2372 hidden: true },
2373 { name: 'contentDocument',
2374 '$ref': 'Node',
2375 optional: true,
2376 description: 'Content document for frame owner elements.' },
2377 { name: 'shadowRoots',
2378 type: 'array',
2379 optional: true,
2380 items: { '$ref': 'Node' },
2381 description: 'Shadow root list for given element host.',
2382 hidden: true },
2383 { name: 'templateContent',
2384 '$ref': 'Node',
2385 optional: true,
2386 description: 'Content document fragment for template elements.',
2387 hidden: true },
2388 { name: 'pseudoElements',
2389 type: 'array',
2390 items: { '$ref': 'Node' },
2391 optional: true,
2392 description: 'Pseudo elements associated with this node.',
2393 hidden: true },
2394 { name: 'importedDocument',
2395 '$ref': 'Node',
2396 optional: true,
2397 description: 'Import document for the HTMLImport links.' },
2398 { name: 'distributedNodes',
2399 type: 'array',
2400 items: { '$ref': 'BackendNode' },
2401 optional: true,
2402 description: 'Distributed nodes for given insertion point.',
2403 hidden: true } ],
2404 description: 'DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes. DOMNode is a base node mirror type.' },
2405 { id: 'RGBA',
2406 type: 'object',
2407 properties:
2408 [ { name: 'r',
2409 type: 'integer',
2410 description: 'The red component, in the [0-255] range.' },
2411 { name: 'g',
2412 type: 'integer',
2413 description: 'The green component, in the [0-255] range.' },
2414 { name: 'b',
2415 type: 'integer',
2416 description: 'The blue component, in the [0-255] range.' },
2417 { name: 'a',
2418 type: 'number',
2419 optional: true,
2420 description: 'The alpha component, in the [0-1] range (default: 1).' } ],
2421 description: 'A structure holding an RGBA color.' },
2422 { id: 'Quad',
2423 type: 'array',
2424 items: { type: 'number' },
2425 minItems: 8,
2426 maxItems: 8,
2427 description: 'An array of quad vertices, x immediately followed by y for each point, points clock-wise.',
2428 hidden: true },
2429 { id: 'BoxModel',
2430 type: 'object',
2431 hidden: true,
2432 properties:
2433 [ { name: 'content', '$ref': 'Quad', description: 'Content box' },
2434 { name: 'padding', '$ref': 'Quad', description: 'Padding box' },
2435 { name: 'border', '$ref': 'Quad', description: 'Border box' },
2436 { name: 'margin', '$ref': 'Quad', description: 'Margin box' },
2437 { name: 'width', type: 'integer', description: 'Node width' },
2438 { name: 'height', type: 'integer', description: 'Node height' },
2439 { name: 'shapeOutside',
2440 '$ref': 'ShapeOutsideInfo',
2441 optional: true,
2442 description: 'Shape outside coordinates' } ],
2443 description: 'Box model.' },
2444 { id: 'ShapeOutsideInfo',
2445 type: 'object',
2446 hidden: true,
2447 properties:
2448 [ { name: 'bounds', '$ref': 'Quad', description: 'Shape bounds' },
2449 { name: 'shape',
2450 type: 'array',
2451 items: { type: 'any' },
2452 description: 'Shape coordinate details' },
2453 { name: 'marginShape',
2454 type: 'array',
2455 items: { type: 'any' },
2456 description: 'Margin shape bounds' } ],
2457 description: 'CSS Shape Outside details.' },
2458 { id: 'Rect',
2459 type: 'object',
2460 hidden: true,
2461 properties:
2462 [ { name: 'x', type: 'number', description: 'X coordinate' },
2463 { name: 'y', type: 'number', description: 'Y coordinate' },
2464 { name: 'width', type: 'number', description: 'Rectangle width' },
2465 { name: 'height',
2466 type: 'number',
2467 description: 'Rectangle height' } ],
2468 description: 'Rectangle.' },
2469 { id: 'HighlightConfig',
2470 type: 'object',
2471 properties:
2472 [ { name: 'showInfo',
2473 type: 'boolean',
2474 optional: true,
2475 description: 'Whether the node info tooltip should be shown (default: false).' },
2476 { name: 'showRulers',
2477 type: 'boolean',
2478 optional: true,
2479 description: 'Whether the rulers should be shown (default: false).' },
2480 { name: 'showExtensionLines',
2481 type: 'boolean',
2482 optional: true,
2483 description: 'Whether the extension lines from node to the rulers should be shown (default: false).' },
2484 { name: 'displayAsMaterial',
2485 type: 'boolean',
2486 optional: true,
2487 hidden: true },
2488 { name: 'contentColor',
2489 '$ref': 'RGBA',
2490 optional: true,
2491 description: 'The content box highlight fill color (default: transparent).' },
2492 { name: 'paddingColor',
2493 '$ref': 'RGBA',
2494 optional: true,
2495 description: 'The padding highlight fill color (default: transparent).' },
2496 { name: 'borderColor',
2497 '$ref': 'RGBA',
2498 optional: true,
2499 description: 'The border highlight fill color (default: transparent).' },
2500 { name: 'marginColor',
2501 '$ref': 'RGBA',
2502 optional: true,
2503 description: 'The margin highlight fill color (default: transparent).' },
2504 { name: 'eventTargetColor',
2505 '$ref': 'RGBA',
2506 optional: true,
2507 hidden: true,
2508 description: 'The event target element highlight fill color (default: transparent).' },
2509 { name: 'shapeColor',
2510 '$ref': 'RGBA',
2511 optional: true,
2512 hidden: true,
2513 description: 'The shape outside fill color (default: transparent).' },
2514 { name: 'shapeMarginColor',
2515 '$ref': 'RGBA',
2516 optional: true,
2517 hidden: true,
2518 description: 'The shape margin fill color (default: transparent).' },
2519 { name: 'selectorList',
2520 type: 'string',
2521 optional: true,
2522 description: 'Selectors to highlight relevant nodes.' } ],
2523 description: 'Configuration data for the highlighting of page elements.' },
2524 { id: 'InspectMode',
2525 type: 'string',
2526 hidden: true,
2527 enum:
2528 [ 'searchForNode',
2529 'searchForUAShadowDOM',
2530 'showLayoutEditor',
2531 'none' ] } ],
2532 commands:
2533 [ { name: 'enable',
2534 description: 'Enables DOM agent for the given page.' },
2535 { name: 'disable',
2536 description: 'Disables DOM agent for the given page.' },
2537 { name: 'getDocument',
2538 returns: [ { name: 'root', '$ref': 'Node', description: 'Resulting node.' } ],
2539 description: 'Returns the root DOM node to the caller.' },
2540 { name: 'requestChildNodes',
2541 parameters:
2542 [ { name: 'nodeId',
2543 '$ref': 'NodeId',
2544 description: 'Id of the node to get children for.' },
2545 { name: 'depth',
2546 type: 'integer',
2547 optional: true,
2548 description: 'The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the entire subtree or provide an integer larger than 0.',
2549 hidden: true } ],
2550 description: 'Requests that children of the node with given id are returned to the caller in form of <code>setChildNodes</code> events where not only immediate children are retrieved, but all children down to the specified depth.' },
2551 { name: 'querySelector',
2552 parameters:
2553 [ { name: 'nodeId',
2554 '$ref': 'NodeId',
2555 description: 'Id of the node to query upon.' },
2556 { name: 'selector',
2557 type: 'string',
2558 description: 'Selector string.' } ],
2559 returns:
2560 [ { name: 'nodeId',
2561 '$ref': 'NodeId',
2562 description: 'Query selector result.' } ],
2563 description: 'Executes <code>querySelector</code> on a given node.' },
2564 { name: 'querySelectorAll',
2565 parameters:
2566 [ { name: 'nodeId',
2567 '$ref': 'NodeId',
2568 description: 'Id of the node to query upon.' },
2569 { name: 'selector',
2570 type: 'string',
2571 description: 'Selector string.' } ],
2572 returns:
2573 [ { name: 'nodeIds',
2574 type: 'array',
2575 items: { '$ref': 'NodeId' },
2576 description: 'Query selector result.' } ],
2577 description: 'Executes <code>querySelectorAll</code> on a given node.' },
2578 { name: 'setNodeName',
2579 parameters:
2580 [ { name: 'nodeId',
2581 '$ref': 'NodeId',
2582 description: 'Id of the node to set name for.' },
2583 { name: 'name',
2584 type: 'string',
2585 description: 'New node\'s name.' } ],
2586 returns:
2587 [ { name: 'nodeId',
2588 '$ref': 'NodeId',
2589 description: 'New node\'s id.' } ],
2590 description: 'Sets node name for a node with given id.' },
2591 { name: 'setNodeValue',
2592 parameters:
2593 [ { name: 'nodeId',
2594 '$ref': 'NodeId',
2595 description: 'Id of the node to set value for.' },
2596 { name: 'value',
2597 type: 'string',
2598 description: 'New node\'s value.' } ],
2599 description: 'Sets node value for a node with given id.' },
2600 { name: 'removeNode',
2601 parameters:
2602 [ { name: 'nodeId',
2603 '$ref': 'NodeId',
2604 description: 'Id of the node to remove.' } ],
2605 description: 'Removes node with given id.' },
2606 { name: 'setAttributeValue',
2607 parameters:
2608 [ { name: 'nodeId',
2609 '$ref': 'NodeId',
2610 description: 'Id of the element to set attribute for.' },
2611 { name: 'name', type: 'string', description: 'Attribute name.' },
2612 { name: 'value',
2613 type: 'string',
2614 description: 'Attribute value.' } ],
2615 description: 'Sets attribute for an element with given id.' },
2616 { name: 'setAttributesAsText',
2617 parameters:
2618 [ { name: 'nodeId',
2619 '$ref': 'NodeId',
2620 description: 'Id of the element to set attributes for.' },
2621 { name: 'text',
2622 type: 'string',
2623 description: 'Text with a number of attributes. Will parse this text using HTML parser.' },
2624 { name: 'name',
2625 type: 'string',
2626 optional: true,
2627 description: 'Attribute name to replace with new attributes derived from text in case text parsed successfully.' } ],
2628 description: 'Sets attributes on element with given id. This method is useful when user edits some existing attribute value and types in several attribute name/value pairs.' },
2629 { name: 'removeAttribute',
2630 parameters:
2631 [ { name: 'nodeId',
2632 '$ref': 'NodeId',
2633 description: 'Id of the element to remove attribute from.' },
2634 { name: 'name',
2635 type: 'string',
2636 description: 'Name of the attribute to remove.' } ],
2637 description: 'Removes attribute with given name from an element with given id.' },
2638 { name: 'getOuterHTML',
2639 parameters:
2640 [ { name: 'nodeId',
2641 '$ref': 'NodeId',
2642 description: 'Id of the node to get markup for.' } ],
2643 returns:
2644 [ { name: 'outerHTML',
2645 type: 'string',
2646 description: 'Outer HTML markup.' } ],
2647 description: 'Returns node\'s HTML markup.' },
2648 { name: 'setOuterHTML',
2649 parameters:
2650 [ { name: 'nodeId',
2651 '$ref': 'NodeId',
2652 description: 'Id of the node to set markup for.' },
2653 { name: 'outerHTML',
2654 type: 'string',
2655 description: 'Outer HTML markup to set.' } ],
2656 description: 'Sets node HTML markup, returns new node id.' },
2657 { name: 'performSearch',
2658 parameters:
2659 [ { name: 'query',
2660 type: 'string',
2661 description: 'Plain text or query selector or XPath search query.' },
2662 { name: 'includeUserAgentShadowDOM',
2663 type: 'boolean',
2664 optional: true,
2665 description: 'True to search in user agent shadow DOM.',
2666 hidden: true } ],
2667 returns:
2668 [ { name: 'searchId',
2669 type: 'string',
2670 description: 'Unique search session identifier.' },
2671 { name: 'resultCount',
2672 type: 'integer',
2673 description: 'Number of search results.' } ],
2674 description: 'Searches for a given string in the DOM tree. Use <code>getSearchResults</code> to access search results or <code>cancelSearch</code> to end this search session.',
2675 hidden: true },
2676 { name: 'getSearchResults',
2677 parameters:
2678 [ { name: 'searchId',
2679 type: 'string',
2680 description: 'Unique search session identifier.' },
2681 { name: 'fromIndex',
2682 type: 'integer',
2683 description: 'Start index of the search result to be returned.' },
2684 { name: 'toIndex',
2685 type: 'integer',
2686 description: 'End index of the search result to be returned.' } ],
2687 returns:
2688 [ { name: 'nodeIds',
2689 type: 'array',
2690 items: { '$ref': 'NodeId' },
2691 description: 'Ids of the search result nodes.' } ],
2692 description: 'Returns search results from given <code>fromIndex</code> to given <code>toIndex</code> from the sarch with the given identifier.',
2693 hidden: true },
2694 { name: 'discardSearchResults',
2695 parameters:
2696 [ { name: 'searchId',
2697 type: 'string',
2698 description: 'Unique search session identifier.' } ],
2699 description: 'Discards search results from the session with the given id. <code>getSearchResults</code> should no longer be called for that search.',
2700 hidden: true },
2701 { name: 'requestNode',
2702 parameters:
2703 [ { name: 'objectId',
2704 '$ref': 'Runtime.RemoteObjectId',
2705 description: 'JavaScript object id to convert into node.' } ],
2706 returns:
2707 [ { name: 'nodeId',
2708 '$ref': 'NodeId',
2709 description: 'Node id for given object.' } ],
2710 description: 'Requests that the node is sent to the caller given the JavaScript node object reference. All nodes that form the path from the node to the root are also sent to the client as a series of <code>setChildNodes</code> notifications.' },
2711 { name: 'setInspectMode',
2712 hidden: true,
2713 parameters:
2714 [ { name: 'mode',
2715 '$ref': 'InspectMode',
2716 description: 'Set an inspection mode.' },
2717 { name: 'highlightConfig',
2718 '$ref': 'HighlightConfig',
2719 optional: true,
2720 description: 'A descriptor for the highlight appearance of hovered-over nodes. May be omitted if <code>enabled == false</code>.' } ],
2721 description: 'Enters the \'inspect\' mode. In this mode, elements that user is hovering over are highlighted. Backend then generates \'inspectNodeRequested\' event upon element selection.' },
2722 { name: 'highlightRect',
2723 parameters:
2724 [ { name: 'x', type: 'integer', description: 'X coordinate' },
2725 { name: 'y', type: 'integer', description: 'Y coordinate' },
2726 { name: 'width',
2727 type: 'integer',
2728 description: 'Rectangle width' },
2729 { name: 'height',
2730 type: 'integer',
2731 description: 'Rectangle height' },
2732 { name: 'color',
2733 '$ref': 'RGBA',
2734 optional: true,
2735 description: 'The highlight fill color (default: transparent).' },
2736 { name: 'outlineColor',
2737 '$ref': 'RGBA',
2738 optional: true,
2739 description: 'The highlight outline color (default: transparent).' } ],
2740 description: 'Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.' },
2741 { name: 'highlightQuad',
2742 parameters:
2743 [ { name: 'quad',
2744 '$ref': 'Quad',
2745 description: 'Quad to highlight' },
2746 { name: 'color',
2747 '$ref': 'RGBA',
2748 optional: true,
2749 description: 'The highlight fill color (default: transparent).' },
2750 { name: 'outlineColor',
2751 '$ref': 'RGBA',
2752 optional: true,
2753 description: 'The highlight outline color (default: transparent).' } ],
2754 description: 'Highlights given quad. Coordinates are absolute with respect to the main frame viewport.',
2755 hidden: true },
2756 { name: 'highlightNode',
2757 parameters:
2758 [ { name: 'highlightConfig',
2759 '$ref': 'HighlightConfig',
2760 description: 'A descriptor for the highlight appearance.' },
2761 { name: 'nodeId',
2762 '$ref': 'NodeId',
2763 optional: true,
2764 description: 'Identifier of the node to highlight.' },
2765 { name: 'backendNodeId',
2766 '$ref': 'BackendNodeId',
2767 optional: true,
2768 description: 'Identifier of the backend node to highlight.' },
2769 { name: 'objectId',
2770 '$ref': 'Runtime.RemoteObjectId',
2771 optional: true,
2772 description: 'JavaScript object id of the node to be highlighted.',
2773 hidden: true } ],
2774 description: 'Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or objectId must be specified.' },
2775 { name: 'hideHighlight',
2776 description: 'Hides DOM node highlight.' },
2777 { name: 'highlightFrame',
2778 parameters:
2779 [ { name: 'frameId',
2780 '$ref': 'Page.FrameId',
2781 description: 'Identifier of the frame to highlight.' },
2782 { name: 'contentColor',
2783 '$ref': 'RGBA',
2784 optional: true,
2785 description: 'The content box highlight fill color (default: transparent).' },
2786 { name: 'contentOutlineColor',
2787 '$ref': 'RGBA',
2788 optional: true,
2789 description: 'The content box highlight outline color (default: transparent).' } ],
2790 description: 'Highlights owner element of the frame with given id.',
2791 hidden: true },
2792 { name: 'pushNodeByPathToFrontend',
2793 parameters:
2794 [ { name: 'path',
2795 type: 'string',
2796 description: 'Path to node in the proprietary format.' } ],
2797 returns:
2798 [ { name: 'nodeId',
2799 '$ref': 'NodeId',
2800 description: 'Id of the node for given path.' } ],
2801 description: 'Requests that the node is sent to the caller given its path. // FIXME, use XPath',
2802 hidden: true },
2803 { name: 'pushNodesByBackendIdsToFrontend',
2804 parameters:
2805 [ { name: 'backendNodeIds',
2806 type: 'array',
2807 items: { '$ref': 'BackendNodeId' },
2808 description: 'The array of backend node ids.' } ],
2809 returns:
2810 [ { name: 'nodeIds',
2811 type: 'array',
2812 items: { '$ref': 'NodeId' },
2813 description: 'The array of ids of pushed nodes that correspond to the backend ids specified in backendNodeIds.' } ],
2814 description: 'Requests that a batch of nodes is sent to the caller given their backend node ids.',
2815 hidden: true },
2816 { name: 'setInspectedNode',
2817 parameters:
2818 [ { name: 'nodeId',
2819 '$ref': 'NodeId',
2820 description: 'DOM node id to be accessible by means of $x command line API.' } ],
2821 description: 'Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions).',
2822 hidden: true },
2823 { name: 'resolveNode',
2824 parameters:
2825 [ { name: 'nodeId',
2826 '$ref': 'NodeId',
2827 description: 'Id of the node to resolve.' },
2828 { name: 'objectGroup',
2829 type: 'string',
2830 optional: true,
2831 description: 'Symbolic group name that can be used to release multiple objects.' } ],
2832 returns:
2833 [ { name: 'object',
2834 '$ref': 'Runtime.RemoteObject',
2835 description: 'JavaScript object wrapper for given node.' } ],
2836 description: 'Resolves JavaScript node object for given node id.' },
2837 { name: 'getAttributes',
2838 parameters:
2839 [ { name: 'nodeId',
2840 '$ref': 'NodeId',
2841 description: 'Id of the node to retrieve attibutes for.' } ],
2842 returns:
2843 [ { name: 'attributes',
2844 type: 'array',
2845 items: { type: 'string' },
2846 description: 'An interleaved array of node attribute names and values.' } ],
2847 description: 'Returns attributes for the specified node.' },
2848 { name: 'copyTo',
2849 parameters:
2850 [ { name: 'nodeId',
2851 '$ref': 'NodeId',
2852 description: 'Id of the node to copy.' },
2853 { name: 'targetNodeId',
2854 '$ref': 'NodeId',
2855 description: 'Id of the element to drop the copy into.' },
2856 { name: 'insertBeforeNodeId',
2857 '$ref': 'NodeId',
2858 optional: true,
2859 description: 'Drop the copy before this node (if absent, the copy becomes the last child of <code>targetNodeId</code>).' } ],
2860 returns:
2861 [ { name: 'nodeId',
2862 '$ref': 'NodeId',
2863 description: 'Id of the node clone.' } ],
2864 description: 'Creates a deep copy of the specified node and places it into the target container before the given anchor.',
2865 hidden: true },
2866 { name: 'moveTo',
2867 parameters:
2868 [ { name: 'nodeId',
2869 '$ref': 'NodeId',
2870 description: 'Id of the node to move.' },
2871 { name: 'targetNodeId',
2872 '$ref': 'NodeId',
2873 description: 'Id of the element to drop the moved node into.' },
2874 { name: 'insertBeforeNodeId',
2875 '$ref': 'NodeId',
2876 optional: true,
2877 description: 'Drop node before this one (if absent, the moved node becomes the last child of <code>targetNodeId</code>).' } ],
2878 returns:
2879 [ { name: 'nodeId',
2880 '$ref': 'NodeId',
2881 description: 'New id of the moved node.' } ],
2882 description: 'Moves node into the new container, places it before the given anchor.' },
2883 { name: 'undo',
2884 description: 'Undoes the last performed action.',
2885 hidden: true },
2886 { name: 'redo',
2887 description: 'Re-does the last undone action.',
2888 hidden: true },
2889 { name: 'markUndoableState',
2890 description: 'Marks last undoable state.',
2891 hidden: true },
2892 { name: 'focus',
2893 parameters:
2894 [ { name: 'nodeId',
2895 '$ref': 'NodeId',
2896 description: 'Id of the node to focus.' } ],
2897 description: 'Focuses the given element.',
2898 hidden: true },
2899 { name: 'setFileInputFiles',
2900 parameters:
2901 [ { name: 'nodeId',
2902 '$ref': 'NodeId',
2903 description: 'Id of the file input node to set files for.' },
2904 { name: 'files',
2905 type: 'array',
2906 items: { type: 'string' },
2907 description: 'Array of file paths to set.' } ],
2908 description: 'Sets files for the given file input element.',
2909 hidden: true,
2910 handlers: [ 'browser', 'renderer' ] },
2911 { name: 'getBoxModel',
2912 parameters:
2913 [ { name: 'nodeId',
2914 '$ref': 'NodeId',
2915 description: 'Id of the node to get box model for.' } ],
2916 returns:
2917 [ { name: 'model',
2918 '$ref': 'BoxModel',
2919 description: 'Box model for the node.' } ],
2920 description: 'Returns boxes for the currently selected nodes.',
2921 hidden: true },
2922 { name: 'getNodeForLocation',
2923 parameters:
2924 [ { name: 'x', type: 'integer', description: 'X coordinate.' },
2925 { name: 'y', type: 'integer', description: 'Y coordinate.' } ],
2926 returns:
2927 [ { name: 'nodeId',
2928 '$ref': 'NodeId',
2929 description: 'Id of the node at given coordinates.' } ],
2930 description: 'Returns node id at given location.',
2931 hidden: true },
2932 { name: 'getRelayoutBoundary',
2933 parameters:
2934 [ { name: 'nodeId',
2935 '$ref': 'NodeId',
2936 description: 'Id of the node.' } ],
2937 returns:
2938 [ { name: 'nodeId',
2939 '$ref': 'NodeId',
2940 description: 'Relayout boundary node id for the given node.' } ],
2941 description: 'Returns the id of the nearest ancestor that is a relayout boundary.',
2942 hidden: true },
2943 { name: 'getHighlightObjectForTest',
2944 parameters:
2945 [ { name: 'nodeId',
2946 '$ref': 'NodeId',
2947 description: 'Id of the node to get highlight object for.' } ],
2948 returns:
2949 [ { name: 'highlight',
2950 type: 'object',
2951 description: 'Highlight data for the node.' } ],
2952 description: 'For testing.',
2953 hidden: true } ],
2954 events:
2955 [ { name: 'documentUpdated',
2956 description: 'Fired when <code>Document</code> has been totally updated. Node ids are no longer valid.' },
2957 { name: 'inspectNodeRequested',
2958 parameters:
2959 [ { name: 'backendNodeId',
2960 '$ref': 'BackendNodeId',
2961 description: 'Id of the node to inspect.' } ],
2962 description: 'Fired when the node should be inspected. This happens after call to <code>setInspectMode</code>.',
2963 hidden: true },
2964 { name: 'setChildNodes',
2965 parameters:
2966 [ { name: 'parentId',
2967 '$ref': 'NodeId',
2968 description: 'Parent node id to populate with children.' },
2969 { name: 'nodes',
2970 type: 'array',
2971 items: { '$ref': 'Node' },
2972 description: 'Child nodes array.' } ],
2973 description: 'Fired when backend wants to provide client with the missing DOM structure. This happens upon most of the calls requesting node ids.' },
2974 { name: 'attributeModified',
2975 parameters:
2976 [ { name: 'nodeId',
2977 '$ref': 'NodeId',
2978 description: 'Id of the node that has changed.' },
2979 { name: 'name', type: 'string', description: 'Attribute name.' },
2980 { name: 'value',
2981 type: 'string',
2982 description: 'Attribute value.' } ],
2983 description: 'Fired when <code>Element</code>\'s attribute is modified.' },
2984 { name: 'attributeRemoved',
2985 parameters:
2986 [ { name: 'nodeId',
2987 '$ref': 'NodeId',
2988 description: 'Id of the node that has changed.' },
2989 { name: 'name', type: 'string', description: 'A ttribute name.' } ],
2990 description: 'Fired when <code>Element</code>\'s attribute is removed.' },
2991 { name: 'inlineStyleInvalidated',
2992 parameters:
2993 [ { name: 'nodeIds',
2994 type: 'array',
2995 items: { '$ref': 'NodeId' },
2996 description: 'Ids of the nodes for which the inline styles have been invalidated.' } ],
2997 description: 'Fired when <code>Element</code>\'s inline style is modified via a CSS property modification.',
2998 hidden: true },
2999 { name: 'characterDataModified',
3000 parameters:
3001 [ { name: 'nodeId',
3002 '$ref': 'NodeId',
3003 description: 'Id of the node that has changed.' },
3004 { name: 'characterData',
3005 type: 'string',
3006 description: 'New text value.' } ],
3007 description: 'Mirrors <code>DOMCharacterDataModified</code> event.' },
3008 { name: 'childNodeCountUpdated',
3009 parameters:
3010 [ { name: 'nodeId',
3011 '$ref': 'NodeId',
3012 description: 'Id of the node that has changed.' },
3013 { name: 'childNodeCount',
3014 type: 'integer',
3015 description: 'New node count.' } ],
3016 description: 'Fired when <code>Container</code>\'s child node count has changed.' },
3017 { name: 'childNodeInserted',
3018 parameters:
3019 [ { name: 'parentNodeId',
3020 '$ref': 'NodeId',
3021 description: 'Id of the node that has changed.' },
3022 { name: 'previousNodeId',
3023 '$ref': 'NodeId',
3024 description: 'If of the previous siblint.' },
3025 { name: 'node',
3026 '$ref': 'Node',
3027 description: 'Inserted node data.' } ],
3028 description: 'Mirrors <code>DOMNodeInserted</code> event.' },
3029 { name: 'childNodeRemoved',
3030 parameters:
3031 [ { name: 'parentNodeId',
3032 '$ref': 'NodeId',
3033 description: 'Parent id.' },
3034 { name: 'nodeId',
3035 '$ref': 'NodeId',
3036 description: 'Id of the node that has been removed.' } ],
3037 description: 'Mirrors <code>DOMNodeRemoved</code> event.' },
3038 { name: 'shadowRootPushed',
3039 parameters:
3040 [ { name: 'hostId',
3041 '$ref': 'NodeId',
3042 description: 'Host element id.' },
3043 { name: 'root', '$ref': 'Node', description: 'Shadow root.' } ],
3044 description: 'Called when shadow root is pushed into the element.',
3045 hidden: true },
3046 { name: 'shadowRootPopped',
3047 parameters:
3048 [ { name: 'hostId',
3049 '$ref': 'NodeId',
3050 description: 'Host element id.' },
3051 { name: 'rootId',
3052 '$ref': 'NodeId',
3053 description: 'Shadow root id.' } ],
3054 description: 'Called when shadow root is popped from the element.',
3055 hidden: true },
3056 { name: 'pseudoElementAdded',
3057 parameters:
3058 [ { name: 'parentId',
3059 '$ref': 'NodeId',
3060 description: 'Pseudo element\'s parent element id.' },
3061 { name: 'pseudoElement',
3062 '$ref': 'Node',
3063 description: 'The added pseudo element.' } ],
3064 description: 'Called when a pseudo element is added to an element.',
3065 hidden: true },
3066 { name: 'pseudoElementRemoved',
3067 parameters:
3068 [ { name: 'parentId',
3069 '$ref': 'NodeId',
3070 description: 'Pseudo element\'s parent element id.' },
3071 { name: 'pseudoElementId',
3072 '$ref': 'NodeId',
3073 description: 'The removed pseudo element id.' } ],
3074 description: 'Called when a pseudo element is removed from an element.',
3075 hidden: true },
3076 { name: 'distributedNodesUpdated',
3077 parameters:
3078 [ { name: 'insertionPointId',
3079 '$ref': 'NodeId',
3080 description: 'Insertion point where distrubuted nodes were updated.' },
3081 { name: 'distributedNodes',
3082 type: 'array',
3083 items: { '$ref': 'BackendNode' },
3084 description: 'Distributed nodes for given insertion point.' } ],
3085 description: 'Called when distrubution is changed.',
3086 hidden: true },
3087 { name: 'nodeHighlightRequested',
3088 parameters: [ { name: 'nodeId', '$ref': 'NodeId' } ],
3089 hidden: true } ] },
3090 { domain: 'CSS',
3091 hidden: true,
3092 description: 'This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles) have an associated <code>id</code> used in subsequent operations on the related object. Each object type has a specific <code>id</code> structure, and those are not interchangeable between objects of different kinds. CSS objects can be loaded using the <code>get*ForNode()</code> calls (which accept a DOM node id). A client can also discover all the existing stylesheets with the <code>getAllStyleSheets()</code> method (or keeping track of the <code>styleSheetAdded</code>/<code>styleSheetRemoved</code> events) and subsequently load the required stylesheet contents using the <code>getStyleSheet[Text]()</code> methods.',
3093 dependencies: [ 'DOM' ],
3094 types:
3095 [ { id: 'StyleSheetId', type: 'string' },
3096 { id: 'StyleSheetOrigin',
3097 type: 'string',
3098 enum: [ 'injected', 'user-agent', 'inspector', 'regular' ],
3099 description: 'Stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via inspector" rules), "regular" for regular stylesheets.' },
3100 { id: 'PseudoElementMatches',
3101 type: 'object',
3102 properties:
3103 [ { name: 'pseudoType',
3104 '$ref': 'DOM.PseudoType',
3105 description: 'Pseudo element type.' },
3106 { name: 'matches',
3107 type: 'array',
3108 items: { '$ref': 'RuleMatch' },
3109 description: 'Matches of CSS rules applicable to the pseudo style.' } ],
3110 description: 'CSS rule collection for a single pseudo style.' },
3111 { id: 'InheritedStyleEntry',
3112 type: 'object',
3113 properties:
3114 [ { name: 'inlineStyle',
3115 '$ref': 'CSSStyle',
3116 optional: true,
3117 description: 'The ancestor node\'s inline style, if any, in the style inheritance chain.' },
3118 { name: 'matchedCSSRules',
3119 type: 'array',
3120 items: { '$ref': 'RuleMatch' },
3121 description: 'Matches of CSS rules matching the ancestor node in the style inheritance chain.' } ],
3122 description: 'Inherited CSS rule collection from ancestor node.' },
3123 { id: 'RuleMatch',
3124 type: 'object',
3125 properties:
3126 [ { name: 'rule',
3127 '$ref': 'CSSRule',
3128 description: 'CSS rule in the match.' },
3129 { name: 'matchingSelectors',
3130 type: 'array',
3131 items: { type: 'integer' },
3132 description: 'Matching selector indices in the rule\'s selectorList selectors (0-based).' } ],
3133 description: 'Match data for a CSS rule.' },
3134 { id: 'Value',
3135 type: 'object',
3136 properties:
3137 [ { name: 'text', type: 'string', description: 'Value text.' },
3138 { name: 'range',
3139 '$ref': 'SourceRange',
3140 optional: true,
3141 description: 'Value range in the underlying resource (if available).' } ],
3142 description: 'Data for a simple selector (these are delimited by commas in a selector list).' },
3143 { id: 'SelectorList',
3144 type: 'object',
3145 properties:
3146 [ { name: 'selectors',
3147 type: 'array',
3148 items: { '$ref': 'Value' },
3149 description: 'Selectors in the list.' },
3150 { name: 'text',
3151 type: 'string',
3152 description: 'Rule selector text.' } ],
3153 description: 'Selector list data.' },
3154 { id: 'CSSStyleSheetHeader',
3155 type: 'object',
3156 properties:
3157 [ { name: 'styleSheetId',
3158 '$ref': 'StyleSheetId',
3159 description: 'The stylesheet identifier.' },
3160 { name: 'frameId',
3161 '$ref': 'Page.FrameId',
3162 description: 'Owner frame identifier.' },
3163 { name: 'sourceURL',
3164 type: 'string',
3165 description: 'Stylesheet resource URL.' },
3166 { name: 'sourceMapURL',
3167 type: 'string',
3168 optional: true,
3169 description: 'URL of source map associated with the stylesheet (if any).' },
3170 { name: 'origin',
3171 '$ref': 'StyleSheetOrigin',
3172 description: 'Stylesheet origin.' },
3173 { name: 'title',
3174 type: 'string',
3175 description: 'Stylesheet title.' },
3176 { name: 'ownerNode',
3177 '$ref': 'DOM.BackendNodeId',
3178 optional: true,
3179 description: 'The backend id for the owner node of the stylesheet.' },
3180 { name: 'disabled',
3181 type: 'boolean',
3182 description: 'Denotes whether the stylesheet is disabled.' },
3183 { name: 'hasSourceURL',
3184 type: 'boolean',
3185 optional: true,
3186 description: 'Whether the sourceURL field value comes from the sourceURL comment.' },
3187 { name: 'isInline',
3188 type: 'boolean',
3189 description: 'Whether this stylesheet is created for STYLE tag by parser. This flag is not set for document.written STYLE tags.' },
3190 { name: 'startLine',
3191 type: 'number',
3192 description: 'Line offset of the stylesheet within the resource (zero based).' },
3193 { name: 'startColumn',
3194 type: 'number',
3195 description: 'Column offset of the stylesheet within the resource (zero based).' } ],
3196 description: 'CSS stylesheet metainformation.' },
3197 { id: 'CSSRule',
3198 type: 'object',
3199 properties:
3200 [ { name: 'styleSheetId',
3201 '$ref': 'StyleSheetId',
3202 optional: true,
3203 description: 'The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.' },
3204 { name: 'selectorList',
3205 '$ref': 'SelectorList',
3206 description: 'Rule selector data.' },
3207 { name: 'origin',
3208 '$ref': 'StyleSheetOrigin',
3209 description: 'Parent stylesheet\'s origin.' },
3210 { name: 'style',
3211 '$ref': 'CSSStyle',
3212 description: 'Associated style declaration.' },
3213 { name: 'media',
3214 type: 'array',
3215 items: { '$ref': 'CSSMedia' },
3216 optional: true,
3217 description: 'Media list array (for rules involving media queries). The array enumerates media queries starting with the innermost one, going outwards.' } ],
3218 description: 'CSS rule representation.' },
3219 { id: 'SourceRange',
3220 type: 'object',
3221 properties:
3222 [ { name: 'startLine',
3223 type: 'integer',
3224 description: 'Start line of range.' },
3225 { name: 'startColumn',
3226 type: 'integer',
3227 description: 'Start column of range (inclusive).' },
3228 { name: 'endLine',
3229 type: 'integer',
3230 description: 'End line of range' },
3231 { name: 'endColumn',
3232 type: 'integer',
3233 description: 'End column of range (exclusive).' } ],
3234 description: 'Text range within a resource. All numbers are zero-based.' },
3235 { id: 'ShorthandEntry',
3236 type: 'object',
3237 properties:
3238 [ { name: 'name', type: 'string', description: 'Shorthand name.' },
3239 { name: 'value',
3240 type: 'string',
3241 description: 'Shorthand value.' },
3242 { name: 'important',
3243 type: 'boolean',
3244 optional: true,
3245 description: 'Whether the property has "!important" annotation (implies <code>false</code> if absent).' } ] },
3246 { id: 'CSSComputedStyleProperty',
3247 type: 'object',
3248 properties:
3249 [ { name: 'name',
3250 type: 'string',
3251 description: 'Computed style property name.' },
3252 { name: 'value',
3253 type: 'string',
3254 description: 'Computed style property value.' } ] },
3255 { id: 'CSSStyle',
3256 type: 'object',
3257 properties:
3258 [ { name: 'styleSheetId',
3259 '$ref': 'StyleSheetId',
3260 optional: true,
3261 description: 'The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.' },
3262 { name: 'cssProperties',
3263 type: 'array',
3264 items: { '$ref': 'CSSProperty' },
3265 description: 'CSS properties in the style.' },
3266 { name: 'shorthandEntries',
3267 type: 'array',
3268 items: { '$ref': 'ShorthandEntry' },
3269 description: 'Computed values for all shorthands found in the style.' },
3270 { name: 'cssText',
3271 type: 'string',
3272 optional: true,
3273 description: 'Style declaration text (if available).' },
3274 { name: 'range',
3275 '$ref': 'SourceRange',
3276 optional: true,
3277 description: 'Style declaration range in the enclosing stylesheet (if available).' } ],
3278 description: 'CSS style representation.' },
3279 { id: 'CSSProperty',
3280 type: 'object',
3281 properties:
3282 [ { name: 'name',
3283 type: 'string',
3284 description: 'The property name.' },
3285 { name: 'value',
3286 type: 'string',
3287 description: 'The property value.' },
3288 { name: 'important',
3289 type: 'boolean',
3290 optional: true,
3291 description: 'Whether the property has "!important" annotation (implies <code>false</code> if absent).' },
3292 { name: 'implicit',
3293 type: 'boolean',
3294 optional: true,
3295 description: 'Whether the property is implicit (implies <code>false</code> if absent).' },
3296 { name: 'text',
3297 type: 'string',
3298 optional: true,
3299 description: 'The full property text as specified in the style.' },
3300 { name: 'parsedOk',
3301 type: 'boolean',
3302 optional: true,
3303 description: 'Whether the property is understood by the browser (implies <code>true</code> if absent).' },
3304 { name: 'disabled',
3305 type: 'boolean',
3306 optional: true,
3307 description: 'Whether the property is disabled by the user (present for source-based properties only).' },
3308 { name: 'range',
3309 '$ref': 'SourceRange',
3310 optional: true,
3311 description: 'The entire property range in the enclosing style declaration (if available).' } ],
3312 description: 'CSS property declaration data.' },
3313 { id: 'CSSMedia',
3314 type: 'object',
3315 properties:
3316 [ { name: 'text',
3317 type: 'string',
3318 description: 'Media query text.' },
3319 { name: 'source',
3320 type: 'string',
3321 enum: [ 'mediaRule', 'importRule', 'linkedSheet', 'inlineSheet' ],
3322 description: 'Source of the media query: "mediaRule" if specified by a @media rule, "importRule" if specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked stylesheet\'s LINK tag, "inlineSheet" if specified by a "media" attribute in an inline stylesheet\'s STYLE tag.' },
3323 { name: 'sourceURL',
3324 type: 'string',
3325 optional: true,
3326 description: 'URL of the document containing the media query description.' },
3327 { name: 'range',
3328 '$ref': 'SourceRange',
3329 optional: true,
3330 description: 'The associated rule (@media or @import) header range in the enclosing stylesheet (if available).' },
3331 { name: 'styleSheetId',
3332 '$ref': 'StyleSheetId',
3333 optional: true,
3334 description: 'Identifier of the stylesheet containing this object (if exists).' },
3335 { name: 'mediaList',
3336 type: 'array',
3337 items: { '$ref': 'MediaQuery' },
3338 optional: true,
3339 hidden: true,
3340 description: 'Array of media queries.' } ],
3341 description: 'CSS media rule descriptor.' },
3342 { id: 'MediaQuery',
3343 type: 'object',
3344 properties:
3345 [ { name: 'expressions',
3346 type: 'array',
3347 items: { '$ref': 'MediaQueryExpression' },
3348 description: 'Array of media query expressions.' },
3349 { name: 'active',
3350 type: 'boolean',
3351 description: 'Whether the media query condition is satisfied.' } ],
3352 description: 'Media query descriptor.',
3353 hidden: true },
3354 { id: 'MediaQueryExpression',
3355 type: 'object',
3356 properties:
3357 [ { name: 'value',
3358 type: 'number',
3359 description: 'Media query expression value.' },
3360 { name: 'unit',
3361 type: 'string',
3362 description: 'Media query expression units.' },
3363 { name: 'feature',
3364 type: 'string',
3365 description: 'Media query expression feature.' },
3366 { name: 'valueRange',
3367 '$ref': 'SourceRange',
3368 optional: true,
3369 description: 'The associated range of the value text in the enclosing stylesheet (if available).' },
3370 { name: 'computedLength',
3371 type: 'number',
3372 optional: true,
3373 description: 'Computed length of media query expression (if applicable).' } ],
3374 description: 'Media query expression descriptor.',
3375 hidden: true },
3376 { id: 'PlatformFontUsage',
3377 type: 'object',
3378 properties:
3379 [ { name: 'familyName',
3380 type: 'string',
3381 description: 'Font\'s family name reported by platform.' },
3382 { name: 'isCustomFont',
3383 type: 'boolean',
3384 description: 'Indicates if the font was downloaded or resolved locally.' },
3385 { name: 'glyphCount',
3386 type: 'number',
3387 description: 'Amount of glyphs that were rendered with this font.' } ],
3388 description: 'Information about amount of glyphs that were rendered with given font.',
3389 hidden: true },
3390 { id: 'CSSKeyframesRule',
3391 type: 'object',
3392 properties:
3393 [ { name: 'animationName',
3394 '$ref': 'Value',
3395 description: 'Animation name.' },
3396 { name: 'keyframes',
3397 type: 'array',
3398 items: { '$ref': 'CSSKeyframeRule' },
3399 description: 'List of keyframes.' } ],
3400 description: 'CSS keyframes rule representation.' },
3401 { id: 'CSSKeyframeRule',
3402 type: 'object',
3403 properties:
3404 [ { name: 'styleSheetId',
3405 '$ref': 'StyleSheetId',
3406 optional: true,
3407 description: 'The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.' },
3408 { name: 'origin',
3409 '$ref': 'StyleSheetOrigin',
3410 description: 'Parent stylesheet\'s origin.' },
3411 { name: 'keyText',
3412 '$ref': 'Value',
3413 description: 'Associated key text.' },
3414 { name: 'style',
3415 '$ref': 'CSSStyle',
3416 description: 'Associated style declaration.' } ],
3417 description: 'CSS keyframe rule representation.' },
3418 { id: 'StyleDeclarationEdit',
3419 type: 'object',
3420 properties:
3421 [ { name: 'styleSheetId',
3422 '$ref': 'StyleSheetId',
3423 description: 'The css style sheet identifier.' },
3424 { name: 'range',
3425 '$ref': 'SourceRange',
3426 description: 'The range of the style text in the enclosing stylesheet.' },
3427 { name: 'text', type: 'string', description: 'New style text.' } ],
3428 description: 'A descriptor of operation to mutate style declaration text.' } ],
3429 commands:
3430 [ { name: 'enable',
3431 async: true,
3432 description: 'Enables the CSS agent for the given page. Clients should not assume that the CSS agent has been enabled until the result of this command is received.' },
3433 { name: 'disable',
3434 description: 'Disables the CSS agent for the given page.' },
3435 { name: 'getMatchedStylesForNode',
3436 parameters: [ { name: 'nodeId', '$ref': 'DOM.NodeId' } ],
3437 returns:
3438 [ { name: 'inlineStyle',
3439 '$ref': 'CSSStyle',
3440 optional: true,
3441 description: 'Inline style for the specified DOM node.' },
3442 { name: 'attributesStyle',
3443 '$ref': 'CSSStyle',
3444 optional: true,
3445 description: 'Attribute-defined element style (e.g. resulting from "width=20 height=100%").' },
3446 { name: 'matchedCSSRules',
3447 type: 'array',
3448 items: { '$ref': 'RuleMatch' },
3449 optional: true,
3450 description: 'CSS rules matching this node, from all applicable stylesheets.' },
3451 { name: 'pseudoElements',
3452 type: 'array',
3453 items: { '$ref': 'PseudoElementMatches' },
3454 optional: true,
3455 description: 'Pseudo style matches for this node.' },
3456 { name: 'inherited',
3457 type: 'array',
3458 items: { '$ref': 'InheritedStyleEntry' },
3459 optional: true,
3460 description: 'A chain of inherited styles (from the immediate node parent up to the DOM tree root).' },
3461 { name: 'cssKeyframesRules',
3462 type: 'array',
3463 items: { '$ref': 'CSSKeyframesRule' },
3464 optional: true,
3465 description: 'A list of CSS keyframed animations matching this node.' } ],
3466 description: 'Returns requested styles for a DOM node identified by <code>nodeId</code>.' },
3467 { name: 'getInlineStylesForNode',
3468 parameters: [ { name: 'nodeId', '$ref': 'DOM.NodeId' } ],
3469 returns:
3470 [ { name: 'inlineStyle',
3471 '$ref': 'CSSStyle',
3472 optional: true,
3473 description: 'Inline style for the specified DOM node.' },
3474 { name: 'attributesStyle',
3475 '$ref': 'CSSStyle',
3476 optional: true,
3477 description: 'Attribute-defined element style (e.g. resulting from "width=20 height=100%").' } ],
3478 description: 'Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM attributes) for a DOM node identified by <code>nodeId</code>.' },
3479 { name: 'getComputedStyleForNode',
3480 parameters: [ { name: 'nodeId', '$ref': 'DOM.NodeId' } ],
3481 returns:
3482 [ { name: 'computedStyle',
3483 type: 'array',
3484 items: { '$ref': 'CSSComputedStyleProperty' },
3485 description: 'Computed style for the specified DOM node.' } ],
3486 description: 'Returns the computed style for a DOM node identified by <code>nodeId</code>.' },
3487 { name: 'getPlatformFontsForNode',
3488 parameters: [ { name: 'nodeId', '$ref': 'DOM.NodeId' } ],
3489 returns:
3490 [ { name: 'fonts',
3491 type: 'array',
3492 items: { '$ref': 'PlatformFontUsage' },
3493 description: 'Usage statistics for every employed platform font.' } ],
3494 description: 'Requests information about platform fonts which we used to render child TextNodes in the given node.',
3495 hidden: true },
3496 { name: 'getStyleSheetText',
3497 parameters: [ { name: 'styleSheetId', '$ref': 'StyleSheetId' } ],
3498 returns:
3499 [ { name: 'text',
3500 type: 'string',
3501 description: 'The stylesheet text.' } ],
3502 description: 'Returns the current textual content and the URL for a stylesheet.' },
3503 { name: 'setStyleSheetText',
3504 parameters:
3505 [ { name: 'styleSheetId', '$ref': 'StyleSheetId' },
3506 { name: 'text', type: 'string' } ],
3507 returns:
3508 [ { name: 'sourceMapURL',
3509 type: 'string',
3510 optional: true,
3511 description: 'URL of source map associated with script (if any).' } ],
3512 description: 'Sets the new stylesheet text.' },
3513 { name: 'setRuleSelector',
3514 parameters:
3515 [ { name: 'styleSheetId', '$ref': 'StyleSheetId' },
3516 { name: 'range', '$ref': 'SourceRange' },
3517 { name: 'selector', type: 'string' } ],
3518 returns:
3519 [ { name: 'selectorList',
3520 '$ref': 'SelectorList',
3521 description: 'The resulting selector list after modification.' } ],
3522 description: 'Modifies the rule selector.' },
3523 { name: 'setKeyframeKey',
3524 parameters:
3525 [ { name: 'styleSheetId', '$ref': 'StyleSheetId' },
3526 { name: 'range', '$ref': 'SourceRange' },
3527 { name: 'keyText', type: 'string' } ],
3528 returns:
3529 [ { name: 'keyText',
3530 '$ref': 'Value',
3531 description: 'The resulting key text after modification.' } ],
3532 description: 'Modifies the keyframe rule key text.' },
3533 { name: 'setStyleTexts',
3534 parameters:
3535 [ { name: 'edits',
3536 type: 'array',
3537 items: { '$ref': 'StyleDeclarationEdit' } } ],
3538 returns:
3539 [ { name: 'styles',
3540 type: 'array',
3541 items: { '$ref': 'CSSStyle' },
3542 description: 'The resulting styles after modification.' } ],
3543 description: 'Applies specified style edits one after another in the given order.' },
3544 { name: 'setMediaText',
3545 parameters:
3546 [ { name: 'styleSheetId', '$ref': 'StyleSheetId' },
3547 { name: 'range', '$ref': 'SourceRange' },
3548 { name: 'text', type: 'string' } ],
3549 returns:
3550 [ { name: 'media',
3551 '$ref': 'CSSMedia',
3552 description: 'The resulting CSS media rule after modification.' } ],
3553 description: 'Modifies the rule selector.' },
3554 { name: 'createStyleSheet',
3555 parameters:
3556 [ { name: 'frameId',
3557 '$ref': 'Page.FrameId',
3558 description: 'Identifier of the frame where "via-inspector" stylesheet should be created.' } ],
3559 returns:
3560 [ { name: 'styleSheetId',
3561 '$ref': 'StyleSheetId',
3562 description: 'Identifier of the created "via-inspector" stylesheet.' } ],
3563 description: 'Creates a new special "via-inspector" stylesheet in the frame with given <code>frameId</code>.' },
3564 { name: 'addRule',
3565 parameters:
3566 [ { name: 'styleSheetId',
3567 '$ref': 'StyleSheetId',
3568 description: 'The css style sheet identifier where a new rule should be inserted.' },
3569 { name: 'ruleText',
3570 type: 'string',
3571 description: 'The text of a new rule.' },
3572 { name: 'location',
3573 '$ref': 'SourceRange',
3574 description: 'Text position of a new rule in the target style sheet.' } ],
3575 returns:
3576 [ { name: 'rule',
3577 '$ref': 'CSSRule',
3578 description: 'The newly created rule.' } ],
3579 description: 'Inserts a new rule with the given <code>ruleText</code> in a stylesheet with given <code>styleSheetId</code>, at the position specified by <code>location</code>.' },
3580 { name: 'forcePseudoState',
3581 parameters:
3582 [ { name: 'nodeId',
3583 '$ref': 'DOM.NodeId',
3584 description: 'The element id for which to force the pseudo state.' },
3585 { name: 'forcedPseudoClasses',
3586 type: 'array',
3587 items:
3588 { type: 'string',
3589 enum: [ 'active', 'focus', 'hover', 'visited' ] },
3590 description: 'Element pseudo classes to force when computing the element\'s style.' } ],
3591 description: 'Ensures that the given node will have specified pseudo-classes whenever its style is computed by the browser.' },
3592 { name: 'getMediaQueries',
3593 returns: [ { name: 'medias', type: 'array', items: { '$ref': 'CSSMedia' } } ],
3594 description: 'Returns all media queries parsed by the rendering engine.',
3595 hidden: true },
3596 { name: 'setEffectivePropertyValueForNode',
3597 parameters:
3598 [ { name: 'nodeId',
3599 '$ref': 'DOM.NodeId',
3600 description: 'The element id for which to set property.' },
3601 { name: 'propertyName', type: 'string' },
3602 { name: 'value', type: 'string' } ],
3603 description: 'Find a rule with the given active property for the given node and set the new value for this property',
3604 hidden: true },
3605 { name: 'getBackgroundColors',
3606 parameters:
3607 [ { name: 'nodeId',
3608 '$ref': 'DOM.NodeId',
3609 description: 'Id of the node to get background colors for.' } ],
3610 returns:
3611 [ { name: 'backgroundColors',
3612 type: 'array',
3613 items: { type: 'string' },
3614 description: 'The range of background colors behind this element, if it contains any visible text. If no visible text is present, this will be undefined. In the case of a flat background color, this will consist of simply that color. In the case of a gradient, this will consist of each of the color stops. For anything more complicated, this will be an empty array. Images will be ignored (as if the image had failed to load).',
3615 optional: true } ],
3616 hidden: true } ],
3617 events:
3618 [ { name: 'mediaQueryResultChanged',
3619 description: 'Fires whenever a MediaQuery result changes (for example, after a browser window has been resized.) The current implementation considers only viewport-dependent media features.' },
3620 { name: 'fontsUpdated',
3621 description: 'Fires whenever a web font gets loaded.' },
3622 { name: 'styleSheetChanged',
3623 parameters: [ { name: 'styleSheetId', '$ref': 'StyleSheetId' } ],
3624 description: 'Fired whenever a stylesheet is changed as a result of the client operation.' },
3625 { name: 'styleSheetAdded',
3626 parameters:
3627 [ { name: 'header',
3628 '$ref': 'CSSStyleSheetHeader',
3629 description: 'Added stylesheet metainfo.' } ],
3630 description: 'Fired whenever an active document stylesheet is added.' },
3631 { name: 'styleSheetRemoved',
3632 parameters:
3633 [ { name: 'styleSheetId',
3634 '$ref': 'StyleSheetId',
3635 description: 'Identifier of the removed stylesheet.' } ],
3636 description: 'Fired whenever an active document stylesheet is removed.' },
3637 { name: 'layoutEditorChange',
3638 parameters:
3639 [ { name: 'styleSheetId',
3640 '$ref': 'StyleSheetId',
3641 description: 'Identifier of the stylesheet where the modification occurred.' },
3642 { name: 'changeRange',
3643 '$ref': 'SourceRange',
3644 description: 'Range where the modification occurred.' } ] } ] },
3645 { domain: 'IO',
3646 description: 'Input/Output operations for streams produced by DevTools.',
3647 hidden: true,
3648 types: [ { id: 'StreamHandle', type: 'string' } ],
3649 commands:
3650 [ { name: 'read',
3651 description: 'Read a chunk of the stream',
3652 async: true,
3653 parameters:
3654 [ { name: 'handle',
3655 '$ref': 'StreamHandle',
3656 description: 'Handle of the stream to read.' },
3657 { name: 'offset',
3658 type: 'integer',
3659 optional: true,
3660 description: 'Seek to the specified offset before reading (if not specificed, proceed with offset following the last read).' },
3661 { name: 'size',
3662 type: 'integer',
3663 optional: true,
3664 description: 'Maximum number of bytes to read (left upon the agent discretion if not specified).' } ],
3665 returns:
3666 [ { name: 'data',
3667 type: 'string',
3668 description: 'Data that were read.' },
3669 { name: 'eof',
3670 type: 'boolean',
3671 description: 'Set if the end-of-file condition occured while reading.' } ],
3672 handlers: [ 'browser' ] },
3673 { name: 'close',
3674 description: 'Close the stream, discard any temporary backing storage.',
3675 parameters:
3676 [ { name: 'handle',
3677 '$ref': 'StreamHandle',
3678 description: 'Handle of the stream to close.' } ],
3679 handlers: [ 'browser' ] } ] },
3680 { domain: 'DOMDebugger',
3681 description: 'DOM debugging allows setting breakpoints on particular DOM operations and events. JavaScript execution will stop on these operations as if there was a regular breakpoint set.',
3682 dependencies: [ 'DOM', 'Debugger' ],
3683 types:
3684 [ { id: 'DOMBreakpointType',
3685 type: 'string',
3686 enum: [ 'subtree-modified', 'attribute-modified', 'node-removed' ],
3687 description: 'DOM breakpoint type.' },
3688 { id: 'EventListener',
3689 type: 'object',
3690 description: 'Object event listener.',
3691 properties:
3692 [ { name: 'type',
3693 type: 'string',
3694 description: '<code>EventListener</code>\'s type.' },
3695 { name: 'useCapture',
3696 type: 'boolean',
3697 description: '<code>EventListener</code>\'s useCapture.' },
3698 { name: 'passive',
3699 type: 'boolean',
3700 description: '<code>EventListener</code>\'s passive flag.' },
3701 { name: 'scriptId',
3702 '$ref': 'Runtime.ScriptId',
3703 description: 'Script id of the handler code.' },
3704 { name: 'lineNumber',
3705 type: 'integer',
3706 description: 'Line number in the script (0-based).' },
3707 { name: 'columnNumber',
3708 type: 'integer',
3709 description: 'Column number in the script (0-based).' },
3710 { name: 'handler',
3711 '$ref': 'Runtime.RemoteObject',
3712 optional: true,
3713 description: 'Event handler function value.' },
3714 { name: 'originalHandler',
3715 '$ref': 'Runtime.RemoteObject',
3716 optional: true,
3717 description: 'Event original handler function value.' },
3718 { name: 'removeFunction',
3719 '$ref': 'Runtime.RemoteObject',
3720 optional: true,
3721 description: 'Event listener remove function.' } ],
3722 hidden: true } ],
3723 commands:
3724 [ { name: 'setDOMBreakpoint',
3725 parameters:
3726 [ { name: 'nodeId',
3727 '$ref': 'DOM.NodeId',
3728 description: 'Identifier of the node to set breakpoint on.' },
3729 { name: 'type',
3730 '$ref': 'DOMBreakpointType',
3731 description: 'Type of the operation to stop upon.' } ],
3732 description: 'Sets breakpoint on particular operation with DOM.' },
3733 { name: 'removeDOMBreakpoint',
3734 parameters:
3735 [ { name: 'nodeId',
3736 '$ref': 'DOM.NodeId',
3737 description: 'Identifier of the node to remove breakpoint from.' },
3738 { name: 'type',
3739 '$ref': 'DOMBreakpointType',
3740 description: 'Type of the breakpoint to remove.' } ],
3741 description: 'Removes DOM breakpoint that was set using <code>setDOMBreakpoint</code>.' },
3742 { name: 'setEventListenerBreakpoint',
3743 parameters:
3744 [ { name: 'eventName',
3745 type: 'string',
3746 description: 'DOM Event name to stop on (any DOM event will do).' },
3747 { name: 'targetName',
3748 type: 'string',
3749 optional: true,
3750 description: 'EventTarget interface name to stop on. If equal to <code>"*"</code> or not provided, will stop on any EventTarget.',
3751 hidden: true } ],
3752 description: 'Sets breakpoint on particular DOM event.' },
3753 { name: 'removeEventListenerBreakpoint',
3754 parameters:
3755 [ { name: 'eventName', type: 'string', description: 'Event name.' },
3756 { name: 'targetName',
3757 type: 'string',
3758 optional: true,
3759 description: 'EventTarget interface name.',
3760 hidden: true } ],
3761 description: 'Removes breakpoint on particular DOM event.' },
3762 { name: 'setInstrumentationBreakpoint',
3763 parameters:
3764 [ { name: 'eventName',
3765 type: 'string',
3766 description: 'Instrumentation name to stop on.' } ],
3767 description: 'Sets breakpoint on particular native event.',
3768 hidden: true },
3769 { name: 'removeInstrumentationBreakpoint',
3770 parameters:
3771 [ { name: 'eventName',
3772 type: 'string',
3773 description: 'Instrumentation name to stop on.' } ],
3774 description: 'Removes breakpoint on particular native event.',
3775 hidden: true },
3776 { name: 'setXHRBreakpoint',
3777 parameters:
3778 [ { name: 'url',
3779 type: 'string',
3780 description: 'Resource URL substring. All XHRs having this substring in the URL will get stopped upon.' } ],
3781 description: 'Sets breakpoint on XMLHttpRequest.' },
3782 { name: 'removeXHRBreakpoint',
3783 parameters:
3784 [ { name: 'url',
3785 type: 'string',
3786 description: 'Resource URL substring.' } ],
3787 description: 'Removes breakpoint from XMLHttpRequest.' },
3788 { name: 'getEventListeners',
3789 hidden: true,
3790 parameters:
3791 [ { name: 'objectId',
3792 '$ref': 'Runtime.RemoteObjectId',
3793 description: 'Identifier of the object to return listeners for.' } ],
3794 returns:
3795 [ { name: 'listeners',
3796 type: 'array',
3797 items: { '$ref': 'EventListener' },
3798 description: 'Array of relevant listeners.' } ],
3799 description: 'Returns event listeners of the given object.' } ] },
3800 { domain: 'Worker',
3801 hidden: true,
3802 types: [],
3803 commands:
3804 [ { name: 'enable' },
3805 { name: 'disable' },
3806 { name: 'sendMessageToWorker',
3807 parameters:
3808 [ { name: 'workerId', type: 'string' },
3809 { name: 'message', type: 'string' } ] },
3810 { name: 'setWaitForDebuggerOnStart',
3811 parameters: [ { name: 'value', type: 'boolean' } ] } ],
3812 events:
3813 [ { name: 'workerCreated',
3814 parameters:
3815 [ { name: 'workerId', type: 'string' },
3816 { name: 'url', type: 'string' },
3817 { name: 'waitingForDebugger', type: 'boolean' } ] },
3818 { name: 'workerTerminated',
3819 parameters: [ { name: 'workerId', type: 'string' } ] },
3820 { name: 'dispatchMessageFromWorker',
3821 parameters:
3822 [ { name: 'workerId', type: 'string' },
3823 { name: 'message', type: 'string' } ] } ] },
3824 { domain: 'ServiceWorker',
3825 hidden: true,
3826 types:
3827 [ { id: 'ServiceWorkerRegistration',
3828 type: 'object',
3829 description: 'ServiceWorker registration.',
3830 properties:
3831 [ { name: 'registrationId', type: 'string' },
3832 { name: 'scopeURL', type: 'string' },
3833 { name: 'isDeleted', type: 'boolean' } ] },
3834 { id: 'ServiceWorkerVersionRunningStatus',
3835 type: 'string',
3836 enum: [ 'stopped', 'starting', 'running', 'stopping' ] },
3837 { id: 'ServiceWorkerVersionStatus',
3838 type: 'string',
3839 enum:
3840 [ 'new',
3841 'installing',
3842 'installed',
3843 'activating',
3844 'activated',
3845 'redundant' ] },
3846 { id: 'TargetID', type: 'string' },
3847 { id: 'ServiceWorkerVersion',
3848 type: 'object',
3849 description: 'ServiceWorker version.',
3850 properties:
3851 [ { name: 'versionId', type: 'string' },
3852 { name: 'registrationId', type: 'string' },
3853 { name: 'scriptURL', type: 'string' },
3854 { name: 'runningStatus',
3855 '$ref': 'ServiceWorkerVersionRunningStatus' },
3856 { name: 'status', '$ref': 'ServiceWorkerVersionStatus' },
3857 { name: 'scriptLastModified',
3858 type: 'number',
3859 optional: true,
3860 description: 'The Last-Modified header value of the main script.' },
3861 { name: 'scriptResponseTime',
3862 type: 'number',
3863 optional: true,
3864 description: 'The time at which the response headers of the main script were received from the server. For cached script it is the last time the cache entry was validated.' },
3865 { name: 'controlledClients',
3866 type: 'array',
3867 optional: true,
3868 items: { '$ref': 'TargetID' } } ] },
3869 { id: 'ServiceWorkerErrorMessage',
3870 type: 'object',
3871 description: 'ServiceWorker error message.',
3872 properties:
3873 [ { name: 'errorMessage', type: 'string' },
3874 { name: 'registrationId', type: 'string' },
3875 { name: 'versionId', type: 'string' },
3876 { name: 'sourceURL', type: 'string' },
3877 { name: 'lineNumber', type: 'integer' },
3878 { name: 'columnNumber', type: 'integer' } ] },
3879 { id: 'TargetInfo',
3880 type: 'object',
3881 properties:
3882 [ { name: 'id', '$ref': 'TargetID' },
3883 { name: 'type', type: 'string' },
3884 { name: 'title', type: 'string' },
3885 { name: 'url', type: 'string' } ] } ],
3886 commands:
3887 [ { name: 'enable', handlers: [ 'browser' ] },
3888 { name: 'disable', handlers: [ 'browser' ] },
3889 { name: 'sendMessage',
3890 parameters:
3891 [ { name: 'workerId', type: 'string' },
3892 { name: 'message', type: 'string' } ],
3893 handlers: [ 'browser' ] },
3894 { name: 'stop',
3895 parameters: [ { name: 'workerId', type: 'string' } ],
3896 handlers: [ 'browser' ] },
3897 { name: 'unregister',
3898 parameters: [ { name: 'scopeURL', type: 'string' } ],
3899 handlers: [ 'browser' ] },
3900 { name: 'updateRegistration',
3901 parameters: [ { name: 'scopeURL', type: 'string' } ],
3902 handlers: [ 'browser' ] },
3903 { name: 'startWorker',
3904 parameters: [ { name: 'scopeURL', type: 'string' } ],
3905 handlers: [ 'browser' ] },
3906 { name: 'skipWaiting',
3907 parameters: [ { name: 'scopeURL', type: 'string' } ],
3908 handlers: [ 'browser' ] },
3909 { name: 'stopWorker',
3910 parameters: [ { name: 'versionId', type: 'string' } ],
3911 handlers: [ 'browser' ] },
3912 { name: 'inspectWorker',
3913 parameters: [ { name: 'versionId', type: 'string' } ],
3914 handlers: [ 'browser' ] },
3915 { name: 'setForceUpdateOnPageLoad',
3916 parameters: [ { name: 'forceUpdateOnPageLoad', type: 'boolean' } ],
3917 handlers: [ 'browser' ] },
3918 { name: 'deliverPushMessage',
3919 parameters:
3920 [ { name: 'origin', type: 'string' },
3921 { name: 'registrationId', type: 'string' },
3922 { name: 'data', type: 'string' } ],
3923 handlers: [ 'browser' ] },
3924 { name: 'dispatchSyncEvent',
3925 parameters:
3926 [ { name: 'origin', type: 'string' },
3927 { name: 'registrationId', type: 'string' },
3928 { name: 'tag', type: 'string' },
3929 { name: 'lastChance', type: 'boolean' } ],
3930 handlers: [ 'browser' ] },
3931 { name: 'getTargetInfo',
3932 parameters: [ { name: 'targetId', '$ref': 'TargetID' } ],
3933 returns: [ { name: 'targetInfo', '$ref': 'TargetInfo' } ],
3934 handlers: [ 'browser' ] },
3935 { name: 'activateTarget',
3936 parameters: [ { name: 'targetId', '$ref': 'TargetID' } ],
3937 handlers: [ 'browser' ] } ],
3938 events:
3939 [ { name: 'workerCreated',
3940 parameters:
3941 [ { name: 'workerId', type: 'string' },
3942 { name: 'url', type: 'string' },
3943 { name: 'versionId', type: 'string' } ],
3944 handlers: [ 'browser' ] },
3945 { name: 'workerTerminated',
3946 parameters: [ { name: 'workerId', type: 'string' } ],
3947 handlers: [ 'browser' ] },
3948 { name: 'dispatchMessage',
3949 parameters:
3950 [ { name: 'workerId', type: 'string' },
3951 { name: 'message', type: 'string' } ],
3952 handlers: [ 'browser' ] },
3953 { name: 'workerRegistrationUpdated',
3954 parameters:
3955 [ { name: 'registrations',
3956 type: 'array',
3957 items: { '$ref': 'ServiceWorkerRegistration' } } ],
3958 handlers: [ 'browser' ] },
3959 { name: 'workerVersionUpdated',
3960 parameters:
3961 [ { name: 'versions',
3962 type: 'array',
3963 items: { '$ref': 'ServiceWorkerVersion' } } ],
3964 handlers: [ 'browser' ] },
3965 { name: 'workerErrorReported',
3966 parameters: [ { name: 'errorMessage', '$ref': 'ServiceWorkerErrorMessage' } ],
3967 handlers: [ 'browser' ] } ] },
3968 { domain: 'Input',
3969 types:
3970 [ { id: 'TouchPoint',
3971 type: 'object',
3972 hidden: true,
3973 properties:
3974 [ { name: 'state',
3975 type: 'string',
3976 enum:
3977 [ 'touchPressed',
3978 'touchReleased',
3979 'touchMoved',
3980 'touchStationary',
3981 'touchCancelled' ],
3982 description: 'State of the touch point.' },
3983 { name: 'x',
3984 type: 'integer',
3985 description: 'X coordinate of the event relative to the main frame\'s viewport.' },
3986 { name: 'y',
3987 type: 'integer',
3988 description: 'Y coordinate of the event relative to the main frame\'s viewport. 0 refers to the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.' },
3989 { name: 'radiusX',
3990 type: 'integer',
3991 optional: true,
3992 description: 'X radius of the touch area (default: 1).' },
3993 { name: 'radiusY',
3994 type: 'integer',
3995 optional: true,
3996 description: 'Y radius of the touch area (default: 1).' },
3997 { name: 'rotationAngle',
3998 type: 'number',
3999 optional: true,
4000 description: 'Rotation angle (default: 0.0).' },
4001 { name: 'force',
4002 type: 'number',
4003 optional: true,
4004 description: 'Force (default: 1.0).' },
4005 { name: 'id',
4006 type: 'number',
4007 optional: true,
4008 description: 'Identifier used to track touch sources between events, must be unique within an event.' } ] },
4009 { id: 'GestureSourceType',
4010 type: 'string',
4011 hidden: true,
4012 enum: [ 'default', 'touch', 'mouse' ] } ],
4013 commands:
4014 [ { name: 'dispatchKeyEvent',
4015 parameters:
4016 [ { name: 'type',
4017 type: 'string',
4018 enum: [ 'keyDown', 'keyUp', 'rawKeyDown', 'char' ],
4019 description: 'Type of the key event.' },
4020 { name: 'modifiers',
4021 type: 'integer',
4022 optional: true,
4023 description: 'Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).' },
4024 { name: 'timestamp',
4025 type: 'number',
4026 optional: true,
4027 description: 'Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time).' },
4028 { name: 'text',
4029 type: 'string',
4030 optional: true,
4031 description: 'Text as generated by processing a virtual key code with a keyboard layout. Not needed for for <code>keyUp</code> and <code>rawKeyDown</code> events (default: "")' },
4032 { name: 'unmodifiedText',
4033 type: 'string',
4034 optional: true,
4035 description: 'Text that would have been generated by the keyboard if no modifiers were pressed (except for shift). Useful for shortcut (accelerator) key handling (default: "").' },
4036 { name: 'keyIdentifier',
4037 type: 'string',
4038 optional: true,
4039 description: 'Unique key identifier (e.g., \'U+0041\') (default: "").' },
4040 { name: 'code',
4041 type: 'string',
4042 optional: true,
4043 description: 'Unique DOM defined string value for each physical key (e.g., \'KeyA\') (default: "").' },
4044 { name: 'key',
4045 type: 'string',
4046 optional: true,
4047 description: 'Unique DOM defined string value describing the meaning of the key in the context of active modifiers, keyboard layout, etc (e.g., \'AltGr\') (default: "").' },
4048 { name: 'windowsVirtualKeyCode',
4049 type: 'integer',
4050 optional: true,
4051 description: 'Windows virtual key code (default: 0).' },
4052 { name: 'nativeVirtualKeyCode',
4053 type: 'integer',
4054 optional: true,
4055 description: 'Native virtual key code (default: 0).' },
4056 { name: 'autoRepeat',
4057 type: 'boolean',
4058 optional: true,
4059 description: 'Whether the event was generated from auto repeat (default: false).' },
4060 { name: 'isKeypad',
4061 type: 'boolean',
4062 optional: true,
4063 description: 'Whether the event was generated from the keypad (default: false).' },
4064 { name: 'isSystemKey',
4065 type: 'boolean',
4066 optional: true,
4067 description: 'Whether the event was a system key event (default: false).' } ],
4068 description: 'Dispatches a key event to the page.',
4069 handlers: [ 'browser' ] },
4070 { name: 'dispatchMouseEvent',
4071 parameters:
4072 [ { name: 'type',
4073 type: 'string',
4074 enum: [ 'mousePressed', 'mouseReleased', 'mouseMoved' ],
4075 description: 'Type of the mouse event.' },
4076 { name: 'x',
4077 type: 'integer',
4078 description: 'X coordinate of the event relative to the main frame\'s viewport.' },
4079 { name: 'y',
4080 type: 'integer',
4081 description: 'Y coordinate of the event relative to the main frame\'s viewport. 0 refers to the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.' },
4082 { name: 'modifiers',
4083 type: 'integer',
4084 optional: true,
4085 description: 'Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).' },
4086 { name: 'timestamp',
4087 type: 'number',
4088 optional: true,
4089 description: 'Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time).' },
4090 { name: 'button',
4091 type: 'string',
4092 enum: [ 'none', 'left', 'middle', 'right' ],
4093 optional: true,
4094 description: 'Mouse button (default: "none").' },
4095 { name: 'clickCount',
4096 type: 'integer',
4097 optional: true,
4098 description: 'Number of times the mouse button was clicked (default: 0).' } ],
4099 description: 'Dispatches a mouse event to the page.',
4100 handlers: [ 'browser' ] },
4101 { name: 'dispatchTouchEvent',
4102 hidden: true,
4103 parameters:
4104 [ { name: 'type',
4105 type: 'string',
4106 enum: [ 'touchStart', 'touchEnd', 'touchMove' ],
4107 description: 'Type of the touch event.' },
4108 { name: 'touchPoints',
4109 type: 'array',
4110 items: { '$ref': 'TouchPoint' },
4111 description: 'Touch points.' },
4112 { name: 'modifiers',
4113 type: 'integer',
4114 optional: true,
4115 description: 'Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).' },
4116 { name: 'timestamp',
4117 type: 'number',
4118 optional: true,
4119 description: 'Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970 (default: current time).' } ],
4120 description: 'Dispatches a touch event to the page.' },
4121 { name: 'emulateTouchFromMouseEvent',
4122 hidden: true,
4123 parameters:
4124 [ { name: 'type',
4125 type: 'string',
4126 enum: [ 'mousePressed', 'mouseReleased', 'mouseMoved', 'mouseWheel' ],
4127 description: 'Type of the mouse event.' },
4128 { name: 'x',
4129 type: 'integer',
4130 description: 'X coordinate of the mouse pointer in DIP.' },
4131 { name: 'y',
4132 type: 'integer',
4133 description: 'Y coordinate of the mouse pointer in DIP.' },
4134 { name: 'timestamp',
4135 type: 'number',
4136 description: 'Time at which the event occurred. Measured in UTC time in seconds since January 1, 1970.' },
4137 { name: 'button',
4138 type: 'string',
4139 enum: [ 'none', 'left', 'middle', 'right' ],
4140 description: 'Mouse button.' },
4141 { name: 'deltaX',
4142 type: 'number',
4143 optional: true,
4144 description: 'X delta in DIP for mouse wheel event (default: 0).' },
4145 { name: 'deltaY',
4146 type: 'number',
4147 optional: true,
4148 description: 'Y delta in DIP for mouse wheel event (default: 0).' },
4149 { name: 'modifiers',
4150 type: 'integer',
4151 optional: true,
4152 description: 'Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).' },
4153 { name: 'clickCount',
4154 type: 'integer',
4155 optional: true,
4156 description: 'Number of times the mouse button was clicked (default: 0).' } ],
4157 description: 'Emulates touch event from the mouse event parameters.',
4158 handlers: [ 'browser' ] },
4159 { name: 'synthesizePinchGesture',
4160 async: true,
4161 parameters:
4162 [ { name: 'x',
4163 type: 'integer',
4164 description: 'X coordinate of the start of the gesture in CSS pixels.' },
4165 { name: 'y',
4166 type: 'integer',
4167 description: 'Y coordinate of the start of the gesture in CSS pixels.' },
4168 { name: 'scaleFactor',
4169 type: 'number',
4170 description: 'Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out).' },
4171 { name: 'relativeSpeed',
4172 type: 'integer',
4173 optional: true,
4174 description: 'Relative pointer speed in pixels per second (default: 800).' },
4175 { name: 'gestureSourceType',
4176 '$ref': 'GestureSourceType',
4177 optional: true,
4178 description: 'Which type of input events to be generated (default: \'default\', which queries the platform for the preferred input type).' } ],
4179 description: 'Synthesizes a pinch gesture over a time period by issuing appropriate touch events.',
4180 hidden: true,
4181 handlers: [ 'browser' ] },
4182 { name: 'synthesizeScrollGesture',
4183 async: true,
4184 parameters:
4185 [ { name: 'x',
4186 type: 'integer',
4187 description: 'X coordinate of the start of the gesture in CSS pixels.' },
4188 { name: 'y',
4189 type: 'integer',
4190 description: 'Y coordinate of the start of the gesture in CSS pixels.' },
4191 { name: 'xDistance',
4192 type: 'integer',
4193 optional: true,
4194 description: 'The distance to scroll along the X axis (positive to scroll left).' },
4195 { name: 'yDistance',
4196 type: 'integer',
4197 optional: true,
4198 description: 'The distance to scroll along the Y axis (positive to scroll up).' },
4199 { name: 'xOverscroll',
4200 type: 'integer',
4201 optional: true,
4202 description: 'The number of additional pixels to scroll back along the X axis, in addition to the given distance.' },
4203 { name: 'yOverscroll',
4204 type: 'integer',
4205 optional: true,
4206 description: 'The number of additional pixels to scroll back along the Y axis, in addition to the given distance.' },
4207 { name: 'preventFling',
4208 type: 'boolean',
4209 optional: true,
4210 description: 'Prevent fling (default: true).' },
4211 { name: 'speed',
4212 type: 'integer',
4213 optional: true,
4214 description: 'Swipe speed in pixels per second (default: 800).' },
4215 { name: 'gestureSourceType',
4216 '$ref': 'GestureSourceType',
4217 optional: true,
4218 description: 'Which type of input events to be generated (default: \'default\', which queries the platform for the preferred input type).' },
4219 { name: 'repeatCount',
4220 type: 'integer',
4221 optional: true,
4222 description: 'The number of times to repeat the gesture (default: 0).' },
4223 { name: 'repeatDelayMs',
4224 type: 'integer',
4225 optional: true,
4226 description: 'The number of milliseconds delay between each repeat. (default: 250).' },
4227 { name: 'interactionMarkerName',
4228 type: 'string',
4229 optional: true,
4230 description: 'The name of the interaction markers to generate, if not empty (default: "").' } ],
4231 description: 'Synthesizes a scroll gesture over a time period by issuing appropriate touch events.',
4232 hidden: true,
4233 handlers: [ 'browser' ] },
4234 { name: 'synthesizeTapGesture',
4235 async: true,
4236 parameters:
4237 [ { name: 'x',
4238 type: 'integer',
4239 description: 'X coordinate of the start of the gesture in CSS pixels.' },
4240 { name: 'y',
4241 type: 'integer',
4242 description: 'Y coordinate of the start of the gesture in CSS pixels.' },
4243 { name: 'duration',
4244 type: 'integer',
4245 optional: true,
4246 description: 'Duration between touchdown and touchup events in ms (default: 50).' },
4247 { name: 'tapCount',
4248 type: 'integer',
4249 optional: true,
4250 description: 'Number of times to perform the tap (e.g. 2 for double tap, default: 1).' },
4251 { name: 'gestureSourceType',
4252 '$ref': 'GestureSourceType',
4253 optional: true,
4254 description: 'Which type of input events to be generated (default: \'default\', which queries the platform for the preferred input type).' } ],
4255 description: 'Synthesizes a tap gesture over a time period by issuing appropriate touch events.',
4256 hidden: true,
4257 handlers: [ 'browser' ] } ],
4258 events: [] },
4259 { domain: 'LayerTree',
4260 hidden: true,
4261 dependencies: [ 'DOM' ],
4262 types:
4263 [ { id: 'LayerId',
4264 type: 'string',
4265 description: 'Unique Layer identifier.' },
4266 { id: 'SnapshotId',
4267 type: 'string',
4268 description: 'Unique snapshot identifier.' },
4269 { id: 'ScrollRect',
4270 type: 'object',
4271 description: 'Rectangle where scrolling happens on the main thread.',
4272 properties:
4273 [ { name: 'rect',
4274 '$ref': 'DOM.Rect',
4275 description: 'Rectangle itself.' },
4276 { name: 'type',
4277 type: 'string',
4278 enum: [ 'RepaintsOnScroll', 'TouchEventHandler', 'WheelEventHandler' ],
4279 description: 'Reason for rectangle to force scrolling on the main thread' } ] },
4280 { id: 'PictureTile',
4281 type: 'object',
4282 description: 'Serialized fragment of layer picture along with its offset within the layer.',
4283 properties:
4284 [ { name: 'x',
4285 type: 'number',
4286 description: 'Offset from owning layer left boundary' },
4287 { name: 'y',
4288 type: 'number',
4289 description: 'Offset from owning layer top boundary' },
4290 { name: 'picture',
4291 type: 'string',
4292 description: 'Base64-encoded snapshot data.' } ] },
4293 { id: 'Layer',
4294 type: 'object',
4295 description: 'Information about a compositing layer.',
4296 properties:
4297 [ { name: 'layerId',
4298 '$ref': 'LayerId',
4299 description: 'The unique id for this layer.' },
4300 { name: 'parentLayerId',
4301 '$ref': 'LayerId',
4302 optional: true,
4303 description: 'The id of parent (not present for root).' },
4304 { name: 'backendNodeId',
4305 '$ref': 'DOM.BackendNodeId',
4306 optional: true,
4307 description: 'The backend id for the node associated with this layer.' },
4308 { name: 'offsetX',
4309 type: 'number',
4310 description: 'Offset from parent layer, X coordinate.' },
4311 { name: 'offsetY',
4312 type: 'number',
4313 description: 'Offset from parent layer, Y coordinate.' },
4314 { name: 'width', type: 'number', description: 'Layer width.' },
4315 { name: 'height', type: 'number', description: 'Layer height.' },
4316 { name: 'transform',
4317 type: 'array',
4318 items: { type: 'number' },
4319 minItems: 16,
4320 maxItems: 16,
4321 optional: true,
4322 description: 'Transformation matrix for layer, default is identity matrix' },
4323 { name: 'anchorX',
4324 type: 'number',
4325 optional: true,
4326 description: 'Transform anchor point X, absent if no transform specified' },
4327 { name: 'anchorY',
4328 type: 'number',
4329 optional: true,
4330 description: 'Transform anchor point Y, absent if no transform specified' },
4331 { name: 'anchorZ',
4332 type: 'number',
4333 optional: true,
4334 description: 'Transform anchor point Z, absent if no transform specified' },
4335 { name: 'paintCount',
4336 type: 'integer',
4337 description: 'Indicates how many time this layer has painted.' },
4338 { name: 'drawsContent',
4339 type: 'boolean',
4340 description: 'Indicates whether this layer hosts any content, rather than being used for transform/scrolling purposes only.' },
4341 { name: 'invisible',
4342 type: 'boolean',
4343 optional: true,
4344 description: 'Set if layer is not visible.' },
4345 { name: 'scrollRects',
4346 type: 'array',
4347 items: { '$ref': 'ScrollRect' },
4348 optional: true,
4349 description: 'Rectangles scrolling on main thread only.' } ] },
4350 { id: 'PaintProfile',
4351 type: 'array',
4352 description: 'Array of timings, one per paint step.',
4353 items:
4354 { type: 'number',
4355 description: 'A time in seconds since the end of previous step (for the first step, time since painting started)' } } ],
4356 commands:
4357 [ { name: 'enable',
4358 description: 'Enables compositing tree inspection.' },
4359 { name: 'disable',
4360 description: 'Disables compositing tree inspection.' },
4361 { name: 'compositingReasons',
4362 parameters:
4363 [ { name: 'layerId',
4364 '$ref': 'LayerId',
4365 description: 'The id of the layer for which we want to get the reasons it was composited.' } ],
4366 description: 'Provides the reasons why the given layer was composited.',
4367 returns:
4368 [ { name: 'compositingReasons',
4369 type: 'array',
4370 items: { type: 'string' },
4371 description: 'A list of strings specifying reasons for the given layer to become composited.' } ] },
4372 { name: 'makeSnapshot',
4373 parameters:
4374 [ { name: 'layerId',
4375 '$ref': 'LayerId',
4376 description: 'The id of the layer.' } ],
4377 description: 'Returns the layer snapshot identifier.',
4378 returns:
4379 [ { name: 'snapshotId',
4380 '$ref': 'SnapshotId',
4381 description: 'The id of the layer snapshot.' } ] },
4382 { name: 'loadSnapshot',
4383 parameters:
4384 [ { name: 'tiles',
4385 type: 'array',
4386 items: { '$ref': 'PictureTile' },
4387 minItems: 1,
4388 description: 'An array of tiles composing the snapshot.' } ],
4389 description: 'Returns the snapshot identifier.',
4390 returns:
4391 [ { name: 'snapshotId',
4392 '$ref': 'SnapshotId',
4393 description: 'The id of the snapshot.' } ] },
4394 { name: 'releaseSnapshot',
4395 parameters:
4396 [ { name: 'snapshotId',
4397 '$ref': 'SnapshotId',
4398 description: 'The id of the layer snapshot.' } ],
4399 description: 'Releases layer snapshot captured by the back-end.' },
4400 { name: 'profileSnapshot',
4401 parameters:
4402 [ { name: 'snapshotId',
4403 '$ref': 'SnapshotId',
4404 description: 'The id of the layer snapshot.' },
4405 { name: 'minRepeatCount',
4406 type: 'integer',
4407 optional: true,
4408 description: 'The maximum number of times to replay the snapshot (1, if not specified).' },
4409 { name: 'minDuration',
4410 type: 'number',
4411 optional: true,
4412 description: 'The minimum duration (in seconds) to replay the snapshot.' },
4413 { name: 'clipRect',
4414 '$ref': 'DOM.Rect',
4415 optional: true,
4416 description: 'The clip rectangle to apply when replaying the snapshot.' } ],
4417 returns:
4418 [ { name: 'timings',
4419 type: 'array',
4420 items: { '$ref': 'PaintProfile' },
4421 description: 'The array of paint profiles, one per run.' } ] },
4422 { name: 'replaySnapshot',
4423 parameters:
4424 [ { name: 'snapshotId',
4425 '$ref': 'SnapshotId',
4426 description: 'The id of the layer snapshot.' },
4427 { name: 'fromStep',
4428 type: 'integer',
4429 optional: true,
4430 description: 'The first step to replay from (replay from the very start if not specified).' },
4431 { name: 'toStep',
4432 type: 'integer',
4433 optional: true,
4434 description: 'The last step to replay to (replay till the end if not specified).' },
4435 { name: 'scale',
4436 type: 'number',
4437 optional: true,
4438 description: 'The scale to apply while replaying (defaults to 1).' } ],
4439 description: 'Replays the layer snapshot and returns the resulting bitmap.',
4440 returns:
4441 [ { name: 'dataURL',
4442 type: 'string',
4443 description: 'A data: URL for resulting image.' } ] },
4444 { name: 'snapshotCommandLog',
4445 parameters:
4446 [ { name: 'snapshotId',
4447 '$ref': 'SnapshotId',
4448 description: 'The id of the layer snapshot.' } ],
4449 description: 'Replays the layer snapshot and returns canvas log.',
4450 returns:
4451 [ { name: 'commandLog',
4452 type: 'array',
4453 items: { type: 'object' },
4454 description: 'The array of canvas function calls.' } ] } ],
4455 events:
4456 [ { name: 'layerTreeDidChange',
4457 parameters:
4458 [ { name: 'layers',
4459 type: 'array',
4460 items: { '$ref': 'Layer' },
4461 optional: true,
4462 description: 'Layer tree, absent if not in the comspositing mode.' } ] },
4463 { name: 'layerPainted',
4464 parameters:
4465 [ { name: 'layerId',
4466 '$ref': 'LayerId',
4467 description: 'The id of the painted layer.' },
4468 { name: 'clip',
4469 '$ref': 'DOM.Rect',
4470 description: 'Clip rectangle.' } ] } ] },
4471 { domain: 'DeviceOrientation',
4472 hidden: true,
4473 commands:
4474 [ { name: 'setDeviceOrientationOverride',
4475 description: 'Overrides the Device Orientation.',
4476 parameters:
4477 [ { name: 'alpha', type: 'number', description: 'Mock alpha' },
4478 { name: 'beta', type: 'number', description: 'Mock beta' },
4479 { name: 'gamma', type: 'number', description: 'Mock gamma' } ] },
4480 { name: 'clearDeviceOrientationOverride',
4481 description: 'Clears the overridden Device Orientation.' } ] },
4482 { domain: 'Tracing',
4483 types:
4484 [ { id: 'MemoryDumpConfig',
4485 type: 'object',
4486 description: 'Configuration for memory dump. Used only when "memory-infra" category is enabled.' },
4487 { id: 'TraceConfig',
4488 type: 'object',
4489 properties:
4490 [ { name: 'recordMode',
4491 type: 'string',
4492 optional: true,
4493 enum:
4494 [ 'recordUntilFull',
4495 'recordContinuously',
4496 'recordAsMuchAsPossible',
4497 'echoToConsole' ],
4498 description: 'Controls how the trace buffer stores data.' },
4499 { name: 'enableSampling',
4500 type: 'boolean',
4501 optional: true,
4502 description: 'Turns on JavaScript stack sampling.' },
4503 { name: 'enableSystrace',
4504 type: 'boolean',
4505 optional: true,
4506 description: 'Turns on system tracing.' },
4507 { name: 'enableArgumentFilter',
4508 type: 'boolean',
4509 optional: true,
4510 description: 'Turns on argument filter.' },
4511 { name: 'includedCategories',
4512 type: 'array',
4513 items: { type: 'string' },
4514 optional: true,
4515 description: 'Included category filters.' },
4516 { name: 'excludedCategories',
4517 type: 'array',
4518 items: { type: 'string' },
4519 optional: true,
4520 description: 'Excluded category filters.' },
4521 { name: 'syntheticDelays',
4522 type: 'array',
4523 items: { type: 'string' },
4524 optional: true,
4525 description: 'Configuration to synthesize the delays in tracing.' },
4526 { name: 'memoryDumpConfig',
4527 '$ref': 'MemoryDumpConfig',
4528 optional: true,
4529 description: 'Configuration for memory dump triggers. Used only when "memory-infra" category is enabled.' } ] } ],
4530 commands:
4531 [ { name: 'start',
4532 async: true,
4533 description: 'Start trace events collection.',
4534 parameters:
4535 [ { name: 'categories',
4536 type: 'string',
4537 optional: true,
4538 deprecated: true,
4539 description: 'Category/tag filter' },
4540 { name: 'options',
4541 type: 'string',
4542 optional: true,
4543 deprecated: true,
4544 description: 'Tracing options' },
4545 { name: 'bufferUsageReportingInterval',
4546 type: 'number',
4547 optional: true,
4548 description: 'If set, the agent will issue bufferUsage events at this interval, specified in milliseconds' },
4549 { name: 'transferMode',
4550 type: 'string',
4551 enum: [ 'ReportEvents', 'ReturnAsStream' ],
4552 optional: true,
4553 description: 'Whether to report trace events as series of dataCollected events or to save trace to a stream (defaults to <code>ReportEvents</code>).' },
4554 { name: 'traceConfig',
4555 '$ref': 'TraceConfig',
4556 optional: true,
4557 description: '' } ],
4558 handlers: [ 'browser', 'renderer' ] },
4559 { name: 'end',
4560 async: true,
4561 description: 'Stop trace events collection.',
4562 handlers: [ 'browser', 'renderer' ] },
4563 { name: 'getCategories',
4564 async: true,
4565 description: 'Gets supported tracing categories.',
4566 returns:
4567 [ { name: 'categories',
4568 type: 'array',
4569 items: { type: 'string' },
4570 description: 'A list of supported tracing categories.' } ],
4571 handlers: [ 'browser' ] },
4572 { name: 'requestMemoryDump',
4573 async: true,
4574 description: 'Request a global memory dump.',
4575 returns:
4576 [ { name: 'dumpGuid',
4577 type: 'string',
4578 description: 'GUID of the resulting global memory dump.' },
4579 { name: 'success',
4580 type: 'boolean',
4581 description: 'True iff the global memory dump succeeded.' } ],
4582 handlers: [ 'browser' ] },
4583 { name: 'recordClockSyncMarker',
4584 description: 'Record a clock sync marker in the trace.',
4585 parameters:
4586 [ { name: 'syncId',
4587 type: 'string',
4588 description: 'The ID of this clock sync marker' } ],
4589 handlers: [ 'browser' ] } ],
4590 events:
4591 [ { name: 'dataCollected',
4592 parameters: [ { name: 'value', type: 'array', items: { type: 'object' } } ],
4593 description: 'Contains an bucket of collected trace events. When tracing is stopped collected events will be send as a sequence of dataCollected events followed by tracingComplete event.',
4594 handlers: [ 'browser' ] },
4595 { name: 'tracingComplete',
4596 description: 'Signals that tracing is stopped and there is no trace buffers pending flush, all data were delivered via dataCollected events.',
4597 parameters:
4598 [ { name: 'stream',
4599 '$ref': 'IO.StreamHandle',
4600 optional: true,
4601 description: 'A handle of the stream that holds resulting trace data.' } ],
4602 handlers: [ 'browser' ] },
4603 { name: 'bufferUsage',
4604 parameters:
4605 [ { name: 'percentFull',
4606 type: 'number',
4607 optional: true,
4608 description: 'A number in range [0..1] that indicates the used size of event buffer as a fraction of its total size.' },
4609 { name: 'eventCount',
4610 type: 'number',
4611 optional: true,
4612 description: 'An approximate number of events in the trace log.' },
4613 { name: 'value',
4614 type: 'number',
4615 optional: true,
4616 description: 'A number in range [0..1] that indicates the used size of event buffer as a fraction of its total size.' } ],
4617 handlers: [ 'browser' ] } ] },
4618 { domain: 'Animation',
4619 hidden: true,
4620 dependencies: [ 'Runtime', 'DOM' ],
4621 types:
4622 [ { id: 'Animation',
4623 type: 'object',
4624 hidden: true,
4625 properties:
4626 [ { name: 'id',
4627 type: 'string',
4628 description: '<code>Animation</code>\'s id.' },
4629 { name: 'name',
4630 type: 'string',
4631 description: '<code>Animation</code>\'s name.' },
4632 { name: 'pausedState',
4633 type: 'boolean',
4634 hidden: true,
4635 description: '<code>Animation</code>\'s internal paused state.' },
4636 { name: 'playState',
4637 type: 'string',
4638 description: '<code>Animation</code>\'s play state.' },
4639 { name: 'playbackRate',
4640 type: 'number',
4641 description: '<code>Animation</code>\'s playback rate.' },
4642 { name: 'startTime',
4643 type: 'number',
4644 description: '<code>Animation</code>\'s start time.' },
4645 { name: 'currentTime',
4646 type: 'number',
4647 description: '<code>Animation</code>\'s current time.' },
4648 { name: 'source',
4649 '$ref': 'AnimationEffect',
4650 description: '<code>Animation</code>\'s source animation node.' },
4651 { name: 'type',
4652 type: 'string',
4653 enum: [ 'CSSTransition', 'CSSAnimation', 'WebAnimation' ],
4654 description: 'Animation type of <code>Animation</code>.' },
4655 { name: 'cssId',
4656 type: 'string',
4657 optional: true,
4658 description: 'A unique ID for <code>Animation</code> representing the sources that triggered this CSS animation/transition.' } ],
4659 description: 'Animation instance.' },
4660 { id: 'AnimationEffect',
4661 type: 'object',
4662 hidden: true,
4663 properties:
4664 [ { name: 'delay',
4665 type: 'number',
4666 description: '<code>AnimationEffect</code>\'s delay.' },
4667 { name: 'endDelay',
4668 type: 'number',
4669 description: '<code>AnimationEffect</code>\'s end delay.' },
4670 { name: 'playbackRate',
4671 type: 'number',
4672 description: '<code>AnimationEffect</code>\'s playbackRate.' },
4673 { name: 'iterationStart',
4674 type: 'number',
4675 description: '<code>AnimationEffect</code>\'s iteration start.' },
4676 { name: 'iterations',
4677 type: 'number',
4678 description: '<code>AnimationEffect</code>\'s iterations.' },
4679 { name: 'duration',
4680 type: 'number',
4681 description: '<code>AnimationEffect</code>\'s iteration duration.' },
4682 { name: 'direction',
4683 type: 'string',
4684 description: '<code>AnimationEffect</code>\'s playback direction.' },
4685 { name: 'fill',
4686 type: 'string',
4687 description: '<code>AnimationEffect</code>\'s fill mode.' },
4688 { name: 'backendNodeId',
4689 '$ref': 'DOM.BackendNodeId',
4690 description: '<code>AnimationEffect</code>\'s target node.' },
4691 { name: 'keyframesRule',
4692 '$ref': 'KeyframesRule',
4693 optional: true,
4694 description: '<code>AnimationEffect</code>\'s keyframes.' },
4695 { name: 'easing',
4696 type: 'string',
4697 description: '<code>AnimationEffect</code>\'s timing function.' } ],
4698 description: 'AnimationEffect instance' },
4699 { id: 'KeyframesRule',
4700 type: 'object',
4701 properties:
4702 [ { name: 'name',
4703 type: 'string',
4704 optional: true,
4705 description: 'CSS keyframed animation\'s name.' },
4706 { name: 'keyframes',
4707 type: 'array',
4708 items: { '$ref': 'KeyframeStyle' },
4709 description: 'List of animation keyframes.' } ],
4710 description: 'Keyframes Rule' },
4711 { id: 'KeyframeStyle',
4712 type: 'object',
4713 properties:
4714 [ { name: 'offset',
4715 type: 'string',
4716 description: 'Keyframe\'s time offset.' },
4717 { name: 'easing',
4718 type: 'string',
4719 description: '<code>AnimationEffect</code>\'s timing function.' } ],
4720 description: 'Keyframe Style' } ],
4721 commands:
4722 [ { name: 'enable',
4723 description: 'Enables animation domain notifications.' },
4724 { name: 'disable',
4725 description: 'Disables animation domain notifications.' },
4726 { name: 'getPlaybackRate',
4727 returns:
4728 [ { name: 'playbackRate',
4729 type: 'number',
4730 description: 'Playback rate for animations on page.' } ],
4731 description: 'Gets the playback rate of the document timeline.' },
4732 { name: 'setPlaybackRate',
4733 parameters:
4734 [ { name: 'playbackRate',
4735 type: 'number',
4736 description: 'Playback rate for animations on page' } ],
4737 description: 'Sets the playback rate of the document timeline.' },
4738 { name: 'getCurrentTime',
4739 parameters: [ { name: 'id', type: 'string', description: 'Id of animation.' } ],
4740 returns:
4741 [ { name: 'currentTime',
4742 type: 'number',
4743 description: 'Current time of the page.' } ],
4744 description: 'Returns the current time of the an animation.' },
4745 { name: 'setPaused',
4746 parameters:
4747 [ { name: 'animations',
4748 type: 'array',
4749 items: { type: 'string' },
4750 description: 'Animations to set the pause state of.' },
4751 { name: 'paused',
4752 type: 'boolean',
4753 description: 'Paused state to set to.' } ],
4754 description: 'Sets the paused state of a set of animations.' },
4755 { name: 'setTiming',
4756 parameters:
4757 [ { name: 'animationId',
4758 type: 'string',
4759 description: 'Animation id.' },
4760 { name: 'duration',
4761 type: 'number',
4762 description: 'Duration of the animation.' },
4763 { name: 'delay',
4764 type: 'number',
4765 description: 'Delay of the animation.' } ],
4766 description: 'Sets the timing of an animation node.' },
4767 { name: 'seekAnimations',
4768 parameters:
4769 [ { name: 'animations',
4770 type: 'array',
4771 items: { type: 'string' },
4772 description: 'List of animation ids to seek.' },
4773 { name: 'currentTime',
4774 type: 'number',
4775 description: 'Set the current time of each animation.' } ],
4776 description: 'Seek a set of animations to a particular time within each animation.' },
4777 { name: 'releaseAnimations',
4778 parameters:
4779 [ { name: 'animations',
4780 type: 'array',
4781 items: { type: 'string' },
4782 description: 'List of animation ids to seek.' } ],
4783 description: 'Releases a set of animations to no longer be manipulated.' },
4784 { name: 'resolveAnimation',
4785 parameters:
4786 [ { name: 'animationId',
4787 type: 'string',
4788 description: 'Animation id.' } ],
4789 returns:
4790 [ { name: 'remoteObject',
4791 '$ref': 'Runtime.RemoteObject',
4792 description: 'Corresponding remote object.' } ],
4793 description: 'Gets the remote object of the Animation.' } ],
4794 events:
4795 [ { name: 'animationCreated',
4796 parameters:
4797 [ { name: 'id',
4798 type: 'string',
4799 description: 'Id of the animation that was created.' } ],
4800 description: 'Event for each animation that has been created.' },
4801 { name: 'animationStarted',
4802 parameters:
4803 [ { name: 'animation',
4804 '$ref': 'Animation',
4805 description: 'Animation that was started.' } ],
4806 description: 'Event for animation that has been started.' },
4807 { name: 'animationCanceled',
4808 parameters:
4809 [ { name: 'id',
4810 type: 'string',
4811 description: 'Id of the animation that was cancelled.' } ],
4812 description: 'Event for when an animation has been cancelled.' } ] },
4813 { domain: 'Accessibility',
4814 hidden: true,
4815 dependencies: [ 'DOM' ],
4816 types:
4817 [ { id: 'AXNodeId',
4818 type: 'string',
4819 description: 'Unique accessibility node identifier.' },
4820 { id: 'AXValueType',
4821 type: 'string',
4822 enum:
4823 [ 'boolean',
4824 'tristate',
4825 'booleanOrUndefined',
4826 'idref',
4827 'idrefList',
4828 'integer',
4829 'node',
4830 'nodeList',
4831 'number',
4832 'string',
4833 'computedString',
4834 'token',
4835 'tokenList',
4836 'domRelation',
4837 'role',
4838 'internalRole',
4839 'valueUndefined' ],
4840 description: 'Enum of possible property types.' },
4841 { id: 'AXValueSourceType',
4842 type: 'string',
4843 enum:
4844 [ 'attribute',
4845 'implicit',
4846 'style',
4847 'contents',
4848 'placeholder',
4849 'relatedElement' ],
4850 description: 'Enum of possible property sources.' },
4851 { id: 'AXValueNativeSourceType',
4852 type: 'string',
4853 enum:
4854 [ 'figcaption',
4855 'label',
4856 'labelfor',
4857 'labelwrapped',
4858 'legend',
4859 'tablecaption',
4860 'title',
4861 'other' ],
4862 description: 'Enum of possible native property sources (as a subtype of a particular AXValueSourceType).' },
4863 { id: 'AXValueSource',
4864 type: 'object',
4865 properties:
4866 [ { name: 'type',
4867 '$ref': 'AXValueSourceType',
4868 description: 'What type of source this is.' },
4869 { name: 'value',
4870 '$ref': 'AXValue',
4871 description: 'The value of this property source.',
4872 optional: true },
4873 { name: 'attribute',
4874 type: 'string',
4875 description: 'The name of the relevant attribute, if any.',
4876 optional: true },
4877 { name: 'attributeValue',
4878 '$ref': 'AXValue',
4879 description: 'The value of the relevant attribute, if any.',
4880 optional: true },
4881 { name: 'superseded',
4882 type: 'boolean',
4883 description: 'Whether this source is superseded by a higher priority source.',
4884 optional: true },
4885 { name: 'nativeSource',
4886 '$ref': 'AXValueNativeSourceType',
4887 description: 'The native markup source for this value, e.g. a <label> element.',
4888 optional: true },
4889 { name: 'nativeSourceValue',
4890 '$ref': 'AXValue',
4891 description: 'The value, such as a node or node list, of the native source.',
4892 optional: true },
4893 { name: 'invalid',
4894 type: 'boolean',
4895 description: 'Whether the value for this property is invalid.',
4896 optional: true },
4897 { name: 'invalidReason',
4898 type: 'string',
4899 description: 'Reason for the value being invalid, if it is.',
4900 optional: true } ],
4901 description: 'A single source for a computed AX property.' },
4902 { id: 'AXRelatedNode',
4903 type: 'object',
4904 properties:
4905 [ { name: 'backendNodeId',
4906 '$ref': 'DOM.BackendNodeId',
4907 description: 'The BackendNodeId of the related node.' },
4908 { name: 'idref',
4909 type: 'string',
4910 description: 'The IDRef value provided, if any.',
4911 optional: true },
4912 { name: 'text',
4913 type: 'string',
4914 description: 'The text alternative of this node in the current context.',
4915 optional: true } ] },
4916 { id: 'AXProperty',
4917 type: 'object',
4918 properties:
4919 [ { name: 'name',
4920 type: 'string',
4921 description: 'The name of this property.' },
4922 { name: 'value',
4923 '$ref': 'AXValue',
4924 description: 'The value of this property.' } ] },
4925 { id: 'AXValue',
4926 type: 'object',
4927 properties:
4928 [ { name: 'type',
4929 '$ref': 'AXValueType',
4930 description: 'The type of this value.' },
4931 { name: 'value',
4932 type: 'any',
4933 description: 'The computed value of this property.',
4934 optional: true },
4935 { name: 'relatedNodes',
4936 type: 'array',
4937 items: { '$ref': 'AXRelatedNode' },
4938 description: 'One or more related nodes, if applicable.',
4939 optional: true },
4940 { name: 'sources',
4941 type: 'array',
4942 items: { '$ref': 'AXValueSource' },
4943 description: 'The sources which contributed to the computation of this property.',
4944 optional: true } ],
4945 description: 'A single computed AX property.' },
4946 { id: 'AXGlobalStates',
4947 type: 'string',
4948 enum: [ 'disabled', 'hidden', 'hiddenRoot', 'invalid' ],
4949 description: 'States which apply to every AX node.' },
4950 { id: 'AXLiveRegionAttributes',
4951 type: 'string',
4952 enum: [ 'live', 'atomic', 'relevant', 'busy', 'root' ],
4953 description: 'Attributes which apply to nodes in live regions.' },
4954 { id: 'AXWidgetAttributes',
4955 type: 'string',
4956 enum:
4957 [ 'autocomplete',
4958 'haspopup',
4959 'level',
4960 'multiselectable',
4961 'orientation',
4962 'multiline',
4963 'readonly',
4964 'required',
4965 'valuemin',
4966 'valuemax',
4967 'valuetext' ],
4968 description: 'Attributes which apply to widgets.' },
4969 { id: 'AXWidgetStates',
4970 type: 'string',
4971 enum: [ 'checked', 'expanded', 'pressed', 'selected' ],
4972 description: 'States which apply to widgets.' },
4973 { id: 'AXRelationshipAttributes',
4974 type: 'string',
4975 enum:
4976 [ 'activedescendant',
4977 'flowto',
4978 'controls',
4979 'describedby',
4980 'labelledby',
4981 'owns' ],
4982 description: 'Relationships between elements other than parent/child/sibling.' },
4983 { id: 'AXNode',
4984 type: 'object',
4985 properties:
4986 [ { name: 'nodeId',
4987 '$ref': 'AXNodeId',
4988 description: 'Unique identifier for this node.' },
4989 { name: 'ignored',
4990 type: 'boolean',
4991 description: 'Whether this node is ignored for accessibility' },
4992 { name: 'ignoredReasons',
4993 type: 'array',
4994 items: { '$ref': 'AXProperty' },
4995 description: 'Collection of reasons why this node is hidden.',
4996 optional: true },
4997 { name: 'role',
4998 '$ref': 'AXValue',
4999 description: 'This <code>Node</code>\'s role, whether explicit or implicit.',
5000 optional: true },
5001 { name: 'name',
5002 '$ref': 'AXValue',
5003 description: 'The accessible name for this <code>Node</code>.',
5004 optional: true },
5005 { name: 'description',
5006 '$ref': 'AXValue',
5007 description: 'The accessible description for this <code>Node</code>.',
5008 optional: true },
5009 { name: 'value',
5010 '$ref': 'AXValue',
5011 description: 'The value for this <code>Node</code>.',
5012 optional: true },
5013 { name: 'properties',
5014 type: 'array',
5015 items: { '$ref': 'AXProperty' },
5016 description: 'All other properties',
5017 optional: true } ],
5018 description: 'A node in the accessibility tree.' } ],
5019 commands:
5020 [ { name: 'getAXNode',
5021 parameters:
5022 [ { name: 'nodeId',
5023 '$ref': 'DOM.NodeId',
5024 description: 'ID of node to get accessibility node for.' } ],
5025 returns:
5026 [ { name: 'accessibilityNode',
5027 '$ref': 'AXNode',
5028 description: 'The <code>Accessibility.AXNode</code> for this DOM node, if it exists.',
5029 optional: true } ],
5030 description: 'Fetches the accessibility node for this DOM node, if it exists.',
5031 hidden: true } ] },
5032 { domain: 'Storage',
5033 hidden: true,
5034 types:
5035 [ { id: 'StorageType',
5036 type: 'string',
5037 enum:
5038 [ 'appcache',
5039 'cookies',
5040 'file_systems',
5041 'indexeddb',
5042 'local_storage',
5043 'shader_cache',
5044 'websql',
5045 'service_workers',
5046 'cache_storage',
5047 'all' ],
5048 description: 'Enum of possible storage types.' } ],
5049 commands:
5050 [ { name: 'clearDataForOrigin',
5051 parameters:
5052 [ { name: 'origin',
5053 type: 'string',
5054 description: 'Security origin.' },
5055 { name: 'storageTypes',
5056 type: 'string',
5057 description: 'Comma separated origin names.' } ],
5058 description: 'Clears storage for origin.',
5059 handlers: [ 'browser' ] } ] },
5060 { domain: 'Log',
5061 description: 'Provides access to log entries.',
5062 dependencies: [ 'Runtime', 'Network', 'Worker' ],
5063 hidden: true,
5064 types:
5065 [ { id: 'LogEntry',
5066 type: 'object',
5067 description: 'Log entry.',
5068 properties:
5069 [ { name: 'source',
5070 type: 'string',
5071 enum:
5072 [ 'xml',
5073 'javascript',
5074 'network',
5075 'storage',
5076 'appcache',
5077 'rendering',
5078 'security',
5079 'deprecation',
5080 'worker',
5081 'other' ],
5082 description: 'Log entry source.' },
5083 { name: 'level',
5084 type: 'string',
5085 enum: [ 'log', 'warning', 'error', 'debug', 'info' ],
5086 description: 'Log entry severity.' },
5087 { name: 'text', type: 'string', description: 'Logged text.' },
5088 { name: 'timestamp',
5089 '$ref': 'Runtime.Timestamp',
5090 description: 'Timestamp when this entry was added.' },
5091 { name: 'url',
5092 type: 'string',
5093 optional: true,
5094 description: 'URL of the resource if known.' },
5095 { name: 'lineNumber',
5096 type: 'integer',
5097 optional: true,
5098 description: 'Line number in the resource.' },
5099 { name: 'stackTrace',
5100 '$ref': 'Runtime.StackTrace',
5101 optional: true,
5102 description: 'JavaScript stack trace.' },
5103 { name: 'networkRequestId',
5104 '$ref': 'Network.RequestId',
5105 optional: true,
5106 description: 'Identifier of the network request associated with this entry.' },
5107 { name: 'workerId',
5108 type: 'string',
5109 optional: true,
5110 description: 'Identifier of the worker associated with this entry.' } ] } ],
5111 commands:
5112 [ { name: 'enable',
5113 description: 'Enables log domain, sends the entries collected so far to the client by means of the <code>entryAdded</code> notification.' },
5114 { name: 'disable',
5115 description: 'Disables log domain, prevents further log entries from being reported to the client.' },
5116 { name: 'clear', description: 'Clears the log.' } ],
5117 events:
5118 [ { name: 'entryAdded',
5119 parameters: [ { name: 'entry', '$ref': 'LogEntry', description: 'The entry.' } ],
5120 description: 'Issued when new message was logged.' } ] },
5121 { domain: 'Browser',
5122 description: 'The Browser domain allows listing, creating, activating and attaching to the targets.',
5123 hidden: true,
5124 types:
5125 [ { id: 'BrowserContextID', type: 'string' },
5126 { id: 'TargetID', type: 'string' },
5127 { id: 'TargetInfo',
5128 type: 'object',
5129 properties:
5130 [ { name: 'targetId', '$ref': 'TargetID' },
5131 { name: 'type', type: 'string' },
5132 { name: 'title', type: 'string' },
5133 { name: 'url', type: 'string' } ] } ],
5134 commands:
5135 [ { name: 'createBrowserContext',
5136 description: 'Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than one.',
5137 returns:
5138 [ { name: 'browserContextId',
5139 '$ref': 'BrowserContextID',
5140 description: 'The id of the context created.' } ],
5141 handlers: [ 'browser' ] },
5142 { name: 'disposeBrowserContext',
5143 description: 'Deletes a BrowserContext, will fail of any open page uses it.',
5144 parameters: [ { name: 'browserContextId', '$ref': 'BrowserContextID' } ],
5145 returns: [ { name: 'success', type: 'boolean' } ],
5146 handlers: [ 'browser' ] },
5147 { name: 'createTarget',
5148 description: 'Creates a new page.',
5149 parameters:
5150 [ { name: 'url',
5151 type: 'string',
5152 description: 'The initial URL the page will be navigated to.' },
5153 { name: 'width',
5154 type: 'integer',
5155 description: 'Window width (headless chrome only).',
5156 optional: true },
5157 { name: 'height',
5158 type: 'integer',
5159 description: 'Window height (headless chrome only).',
5160 optional: true },
5161 { name: 'browserContextId',
5162 '$ref': 'BrowserContextID',
5163 description: 'The browser context to create the page in (headless chrome only).',
5164 optional: true } ],
5165 returns:
5166 [ { name: 'targetId',
5167 '$ref': 'TargetID',
5168 description: 'The id of the page opened.' } ],
5169 handlers: [ 'browser' ] },
5170 { name: 'closeTarget',
5171 description: 'Closes the target. If the target is a page that gets closed too.',
5172 parameters: [ { name: 'targetId', '$ref': 'TargetID' } ],
5173 returns: [ { name: 'success', type: 'boolean' } ],
5174 handlers: [ 'browser' ] },
5175 { name: 'getTargets',
5176 returns:
5177 [ { name: 'targetInfo',
5178 type: 'array',
5179 items: { '$ref': 'TargetInfo' } } ],
5180 description: 'Returns target information for all potential targets.',
5181 handlers: [ 'browser' ] },
5182 { name: 'attach',
5183 description: 'Attaches to the target with given id.',
5184 parameters:
5185 [ { name: 'targetId',
5186 '$ref': 'TargetID',
5187 description: 'Target id.' } ],
5188 handlers: [ 'browser' ] },
5189 { name: 'detach',
5190 description: 'Detaches from the target with given id.',
5191 parameters: [ { name: 'targetId', '$ref': 'TargetID' } ],
5192 handlers: [ 'browser' ] },
5193 { name: 'sendMessage',
5194 description: 'Sends protocol message to the target with given id.',
5195 parameters:
5196 [ { name: 'targetId', '$ref': 'TargetID' },
5197 { name: 'message', type: 'string' } ],
5198 handlers: [ 'browser' ] } ],
5199 events:
5200 [ { name: 'dispatchMessage',
5201 description: 'Dispatches protocol message from the target with given id.',
5202 parameters:
5203 [ { name: 'targetId', '$ref': 'TargetID' },
5204 { name: 'message', type: 'string' } ],
5205 handlers: [ 'browser' ] } ] },
5206 { domain: 'SystemInfo',
5207 description: 'The SystemInfo domain defines methods and events for querying low-level system information.',
5208 hidden: true,
5209 types:
5210 [ { id: 'GPUDevice',
5211 type: 'object',
5212 properties:
5213 [ { name: 'vendorId',
5214 type: 'number',
5215 description: 'PCI ID of the GPU vendor, if available; 0 otherwise.' },
5216 { name: 'deviceId',
5217 type: 'number',
5218 description: 'PCI ID of the GPU device, if available; 0 otherwise.' },
5219 { name: 'vendorString',
5220 type: 'string',
5221 description: 'String description of the GPU vendor, if the PCI ID is not available.' },
5222 { name: 'deviceString',
5223 type: 'string',
5224 description: 'String description of the GPU device, if the PCI ID is not available.' } ],
5225 description: 'Describes a single graphics processor (GPU).' },
5226 { id: 'GPUInfo',
5227 type: 'object',
5228 properties:
5229 [ { name: 'devices',
5230 type: 'array',
5231 items: { '$ref': 'GPUDevice' },
5232 description: 'The graphics devices on the system. Element 0 is the primary GPU.' },
5233 { name: 'auxAttributes',
5234 type: 'object',
5235 optional: true,
5236 description: 'An optional dictionary of additional GPU related attributes.' },
5237 { name: 'featureStatus',
5238 type: 'object',
5239 optional: true,
5240 description: 'An optional dictionary of graphics features and their status.' },
5241 { name: 'driverBugWorkarounds',
5242 type: 'array',
5243 items: { type: 'string' },
5244 description: 'An optional array of GPU driver bug workarounds.' } ],
5245 description: 'Provides information about the GPU(s) on the system.' } ],
5246 commands:
5247 [ { name: 'getInfo',
5248 async: true,
5249 description: 'Returns information about the system.',
5250 returns:
5251 [ { name: 'gpu',
5252 '$ref': 'GPUInfo',
5253 description: 'Information about the GPUs on the system.' },
5254 { name: 'modelName',
5255 type: 'string',
5256 description: 'A platform-dependent description of the model of the machine. On Mac OS, this is, for example, \'MacBookPro\'. Will be the empty string if not supported.' },
5257 { name: 'modelVersion',
5258 type: 'string',
5259 description: 'A platform-dependent description of the version of the machine. On Mac OS, this is, for example, \'10.1\'. Will be the empty string if not supported.' } ],
5260 handlers: [ 'browser' ] } ] },
5261 { domain: 'Tethering',
5262 description: 'The Tethering domain defines methods and events for browser port binding.',
5263 hidden: true,
5264 commands:
5265 [ { name: 'bind',
5266 async: true,
5267 description: 'Request browser port binding.',
5268 parameters:
5269 [ { name: 'port',
5270 type: 'integer',
5271 description: 'Port number to bind.' } ],
5272 handlers: [ 'browser' ] },
5273 { name: 'unbind',
5274 async: true,
5275 description: 'Request browser port unbinding.',
5276 parameters:
5277 [ { name: 'port',
5278 type: 'integer',
5279 description: 'Port number to unbind.' } ],
5280 handlers: [ 'browser' ] } ],
5281 events:
5282 [ { name: 'accepted',
5283 description: 'Informs that port was successfully bound and got a specified connection id.',
5284 parameters:
5285 [ { name: 'port',
5286 type: 'integer',
5287 description: 'Port number that was successfully bound.' },
5288 { name: 'connectionId',
5289 type: 'string',
5290 description: 'Connection id to be used.' } ],
5291 handlers: [ 'browser' ] } ] },
5292 { domain: 'Runtime',
5293 description: 'Runtime domain exposes JavaScript runtime by means of remote evaluation and mirror objects. Evaluation results are returned as mirror object that expose object type, string representation and unique identifier that can be used for further object reference. Original objects are maintained in memory unless they are either explicitly released or are released along with the other objects in their object group.',
5294 types:
5295 [ { id: 'ScriptId',
5296 type: 'string',
5297 description: 'Unique script identifier.' },
5298 { id: 'RemoteObjectId',
5299 type: 'string',
5300 description: 'Unique object identifier.' },
5301 { id: 'RemoteObject',
5302 type: 'object',
5303 description: 'Mirror object referencing original JavaScript object.',
5304 exported: true,
5305 properties:
5306 [ { name: 'type',
5307 type: 'string',
5308 enum:
5309 [ 'object',
5310 'function',
5311 'undefined',
5312 'string',
5313 'number',
5314 'boolean',
5315 'symbol' ],
5316 description: 'Object type.' },
5317 { name: 'subtype',
5318 type: 'string',
5319 optional: true,
5320 enum:
5321 [ 'array',
5322 'null',
5323 'node',
5324 'regexp',
5325 'date',
5326 'map',
5327 'set',
5328 'iterator',
5329 'generator',
5330 'error',
5331 'proxy',
5332 'promise',
5333 'typedarray' ],
5334 description: 'Object subtype hint. Specified for <code>object</code> type values only.' },
5335 { name: 'className',
5336 type: 'string',
5337 optional: true,
5338 description: 'Object class (constructor) name. Specified for <code>object</code> type values only.' },
5339 { name: 'value',
5340 type: 'any',
5341 optional: true,
5342 description: 'Remote object value in case of primitive values or JSON values (if it was requested), or description string if the value can not be JSON-stringified (like NaN, Infinity, -Infinity, -0).' },
5343 { name: 'description',
5344 type: 'string',
5345 optional: true,
5346 description: 'String representation of the object.' },
5347 { name: 'objectId',
5348 '$ref': 'RemoteObjectId',
5349 optional: true,
5350 description: 'Unique object identifier (for non-primitive values).' },
5351 { name: 'preview',
5352 '$ref': 'ObjectPreview',
5353 optional: true,
5354 description: 'Preview containing abbreviated property values. Specified for <code>object</code> type values only.',
5355 hidden: true },
5356 { name: 'customPreview',
5357 '$ref': 'CustomPreview',
5358 optional: true,
5359 hidden: true } ] },
5360 { id: 'CustomPreview',
5361 type: 'object',
5362 hidden: true,
5363 properties:
5364 [ { name: 'header', type: 'string' },
5365 { name: 'hasBody', type: 'boolean' },
5366 { name: 'formatterObjectId', '$ref': 'RemoteObjectId' },
5367 { name: 'bindRemoteObjectFunctionId', '$ref': 'RemoteObjectId' },
5368 { name: 'configObjectId',
5369 '$ref': 'RemoteObjectId',
5370 optional: true } ] },
5371 { id: 'ObjectPreview',
5372 type: 'object',
5373 hidden: true,
5374 description: 'Object containing abbreviated remote object value.',
5375 properties:
5376 [ { name: 'type',
5377 type: 'string',
5378 enum:
5379 [ 'object',
5380 'function',
5381 'undefined',
5382 'string',
5383 'number',
5384 'boolean',
5385 'symbol' ],
5386 description: 'Object type.' },
5387 { name: 'subtype',
5388 type: 'string',
5389 optional: true,
5390 enum:
5391 [ 'array',
5392 'null',
5393 'node',
5394 'regexp',
5395 'date',
5396 'map',
5397 'set',
5398 'iterator',
5399 'generator',
5400 'error' ],
5401 description: 'Object subtype hint. Specified for <code>object</code> type values only.' },
5402 { name: 'description',
5403 type: 'string',
5404 optional: true,
5405 description: 'String representation of the object.' },
5406 { name: 'overflow',
5407 type: 'boolean',
5408 description: 'True iff some of the properties or entries of the original object did not fit.' },
5409 { name: 'properties',
5410 type: 'array',
5411 items: { '$ref': 'PropertyPreview' },
5412 description: 'List of the properties.' },
5413 { name: 'entries',
5414 type: 'array',
5415 items: { '$ref': 'EntryPreview' },
5416 optional: true,
5417 description: 'List of the entries. Specified for <code>map</code> and <code>set</code> subtype values only.' } ] },
5418 { id: 'PropertyPreview',
5419 type: 'object',
5420 hidden: true,
5421 properties:
5422 [ { name: 'name', type: 'string', description: 'Property name.' },
5423 { name: 'type',
5424 type: 'string',
5425 enum:
5426 [ 'object',
5427 'function',
5428 'undefined',
5429 'string',
5430 'number',
5431 'boolean',
5432 'symbol',
5433 'accessor' ],
5434 description: 'Object type. Accessor means that the property itself is an accessor property.' },
5435 { name: 'value',
5436 type: 'string',
5437 optional: true,
5438 description: 'User-friendly property value string.' },
5439 { name: 'valuePreview',
5440 '$ref': 'ObjectPreview',
5441 optional: true,
5442 description: 'Nested value preview.' },
5443 { name: 'subtype',
5444 type: 'string',
5445 optional: true,
5446 enum:
5447 [ 'array',
5448 'null',
5449 'node',
5450 'regexp',
5451 'date',
5452 'map',
5453 'set',
5454 'iterator',
5455 'generator',
5456 'error' ],
5457 description: 'Object subtype hint. Specified for <code>object</code> type values only.' } ] },
5458 { id: 'EntryPreview',
5459 type: 'object',
5460 hidden: true,
5461 properties:
5462 [ { name: 'key',
5463 '$ref': 'ObjectPreview',
5464 optional: true,
5465 description: 'Preview of the key. Specified for map-like collection entries.' },
5466 { name: 'value',
5467 '$ref': 'ObjectPreview',
5468 description: 'Preview of the value.' } ] },
5469 { id: 'PropertyDescriptor',
5470 type: 'object',
5471 description: 'Object property descriptor.',
5472 properties:
5473 [ { name: 'name',
5474 type: 'string',
5475 description: 'Property name or symbol description.' },
5476 { name: 'value',
5477 '$ref': 'RemoteObject',
5478 optional: true,
5479 description: 'The value associated with the property.' },
5480 { name: 'writable',
5481 type: 'boolean',
5482 optional: true,
5483 description: 'True if the value associated with the property may be changed (data descriptors only).' },
5484 { name: 'get',
5485 '$ref': 'RemoteObject',
5486 optional: true,
5487 description: 'A function which serves as a getter for the property, or <code>undefined</code> if there is no getter (accessor descriptors only).' },
5488 { name: 'set',
5489 '$ref': 'RemoteObject',
5490 optional: true,
5491 description: 'A function which serves as a setter for the property, or <code>undefined</code> if there is no setter (accessor descriptors only).' },
5492 { name: 'configurable',
5493 type: 'boolean',
5494 description: 'True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object.' },
5495 { name: 'enumerable',
5496 type: 'boolean',
5497 description: 'True if this property shows up during enumeration of the properties on the corresponding object.' },
5498 { name: 'wasThrown',
5499 type: 'boolean',
5500 optional: true,
5501 description: 'True if the result was thrown during the evaluation.' },
5502 { name: 'isOwn',
5503 optional: true,
5504 type: 'boolean',
5505 description: 'True if the property is owned for the object.',
5506 hidden: true },
5507 { name: 'symbol',
5508 '$ref': 'RemoteObject',
5509 optional: true,
5510 description: 'Property symbol object, if the property is of the <code>symbol</code> type.',
5511 hidden: true } ] },
5512 { id: 'InternalPropertyDescriptor',
5513 type: 'object',
5514 description: 'Object internal property descriptor. This property isn\'t normally visible in JavaScript code.',
5515 properties:
5516 [ { name: 'name',
5517 type: 'string',
5518 description: 'Conventional property name.' },
5519 { name: 'value',
5520 '$ref': 'RemoteObject',
5521 optional: true,
5522 description: 'The value associated with the property.' } ],
5523 hidden: true },
5524 { id: 'CallArgument',
5525 type: 'object',
5526 description: 'Represents function call argument. Either remote object id <code>objectId</code> or primitive <code>value</code> or neither of (for undefined) them should be specified.',
5527 properties:
5528 [ { name: 'value',
5529 type: 'any',
5530 optional: true,
5531 description: 'Primitive value, or description string if the value can not be JSON-stringified (like NaN, Infinity, -Infinity, -0).' },
5532 { name: 'objectId',
5533 '$ref': 'RemoteObjectId',
5534 optional: true,
5535 description: 'Remote object handle.' },
5536 { name: 'type',
5537 optional: true,
5538 hidden: true,
5539 type: 'string',
5540 enum:
5541 [ 'object',
5542 'function',
5543 'undefined',
5544 'string',
5545 'number',
5546 'boolean',
5547 'symbol' ],
5548 description: 'Object type.' } ] },
5549 { id: 'ExecutionContextId',
5550 type: 'integer',
5551 description: 'Id of an execution context.' },
5552 { id: 'ExecutionContextDescription',
5553 type: 'object',
5554 description: 'Description of an isolated world.',
5555 properties:
5556 [ { name: 'id',
5557 '$ref': 'ExecutionContextId',
5558 description: 'Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed.' },
5559 { name: 'isDefault',
5560 type: 'boolean',
5561 description: 'Whether context is the default page context (as opposite to e.g. context of content script).',
5562 hidden: true },
5563 { name: 'origin',
5564 type: 'string',
5565 description: 'Execution context origin.',
5566 hidden: true },
5567 { name: 'name',
5568 type: 'string',
5569 description: 'Human readable name describing given context.',
5570 hidden: true },
5571 { name: 'frameId',
5572 type: 'string',
5573 description: 'Id of the owning frame. May be an empty string if the context is not associated with a frame.' } ] },
5574 { id: 'ExceptionDetails',
5575 type: 'object',
5576 hidden: true,
5577 description: 'Detailed information about exception (or error) that was thrown during script compilation or execution.',
5578 properties:
5579 [ { name: 'text', type: 'string', description: 'Exception text.' },
5580 { name: 'scriptId',
5581 '$ref': 'ScriptId',
5582 description: 'Script ID of the exception location.' },
5583 { name: 'lineNumber',
5584 type: 'integer',
5585 description: 'Line number of the exception location (0-based).' },
5586 { name: 'columnNumber',
5587 type: 'integer',
5588 description: 'Column number of the exception location (0-based).' },
5589 { name: 'url',
5590 type: 'string',
5591 optional: true,
5592 description: 'URL of the exception location, to be used when the script was not reported.' },
5593 { name: 'stackTrace',
5594 '$ref': 'StackTrace',
5595 optional: true,
5596 description: 'JavaScript stack trace if available.' } ] },
5597 { id: 'Timestamp',
5598 type: 'number',
5599 description: 'Number of milliseconds since epoch.',
5600 hidden: true },
5601 { id: 'CallFrame',
5602 type: 'object',
5603 description: 'Stack entry for runtime errors and assertions.',
5604 properties:
5605 [ { name: 'functionName',
5606 type: 'string',
5607 description: 'JavaScript function name.' },
5608 { name: 'scriptId',
5609 '$ref': 'ScriptId',
5610 description: 'JavaScript script id.' },
5611 { name: 'url',
5612 type: 'string',
5613 description: 'JavaScript script name or url.' },
5614 { name: 'lineNumber',
5615 type: 'integer',
5616 description: 'JavaScript script line number (0-based).' },
5617 { name: 'columnNumber',
5618 type: 'integer',
5619 description: 'JavaScript script column number (0-based).' } ] },
5620 { id: 'StackTrace',
5621 type: 'object',
5622 description: 'Call frames for assertions or error messages.',
5623 exported: true,
5624 properties:
5625 [ { name: 'description',
5626 type: 'string',
5627 optional: true,
5628 description: 'String label of this stack trace. For async traces this may be a name of the function that initiated the async call.' },
5629 { name: 'callFrames',
5630 type: 'array',
5631 items: { '$ref': 'CallFrame' },
5632 description: 'JavaScript function name.' },
5633 { name: 'parent',
5634 '$ref': 'StackTrace',
5635 optional: true,
5636 hidden: true,
5637 description: 'Asynchronous JavaScript stack trace that preceded this stack, if available.' } ] } ],
5638 commands:
5639 [ { name: 'evaluate',
5640 async: true,
5641 parameters:
5642 [ { name: 'expression',
5643 type: 'string',
5644 description: 'Expression to evaluate.' },
5645 { name: 'objectGroup',
5646 type: 'string',
5647 optional: true,
5648 description: 'Symbolic group name that can be used to release multiple objects.' },
5649 { name: 'includeCommandLineAPI',
5650 type: 'boolean',
5651 optional: true,
5652 description: 'Determines whether Command Line API should be available during the evaluation.',
5653 hidden: true },
5654 { name: 'doNotPauseOnExceptionsAndMuteConsole',
5655 type: 'boolean',
5656 optional: true,
5657 description: 'Specifies whether evaluation should stop on exceptions and mute console. Overrides setPauseOnException state.',
5658 hidden: true },
5659 { name: 'contextId',
5660 '$ref': 'ExecutionContextId',
5661 optional: true,
5662 description: 'Specifies in which isolated context to perform evaluation. Each content script lives in an isolated context and this parameter may be used to specify one of those contexts. If the parameter is omitted the evaluation will be performed in the context of the inspected page.' },
5663 { name: 'returnByValue',
5664 type: 'boolean',
5665 optional: true,
5666 description: 'Whether the result is expected to be a JSON object that should be sent by value.' },
5667 { name: 'generatePreview',
5668 type: 'boolean',
5669 optional: true,
5670 hidden: true,
5671 description: 'Whether preview should be generated for the result.' },
5672 { name: 'userGesture',
5673 type: 'boolean',
5674 optional: true,
5675 hidden: true,
5676 description: 'Whether execution should be treated as initiated by user in the UI.' },
5677 { name: 'awaitPromise',
5678 type: 'boolean',
5679 optional: true,
5680 hidden: true,
5681 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.' } ],
5682 returns:
5683 [ { name: 'result',
5684 '$ref': 'RemoteObject',
5685 description: 'Evaluation result.' },
5686 { name: 'wasThrown',
5687 type: 'boolean',
5688 optional: true,
5689 description: 'True if the result was thrown during the evaluation.' },
5690 { name: 'exceptionDetails',
5691 '$ref': 'ExceptionDetails',
5692 optional: true,
5693 hidden: true,
5694 description: 'Exception details.' } ],
5695 description: 'Evaluates expression on global object.' },
5696 { name: 'awaitPromise',
5697 hidden: true,
5698 async: true,
5699 parameters:
5700 [ { name: 'promiseObjectId',
5701 '$ref': 'RemoteObjectId',
5702 description: 'Identifier of the promise.' },
5703 { name: 'returnByValue',
5704 type: 'boolean',
5705 optional: true,
5706 description: 'Whether the result is expected to be a JSON object that should be sent by value.' },
5707 { name: 'generatePreview',
5708 type: 'boolean',
5709 optional: true,
5710 description: 'Whether preview should be generated for the result.' } ],
5711 returns:
5712 [ { name: 'result',
5713 '$ref': 'RemoteObject',
5714 description: 'Promise result. Will contain rejected value if promise was rejected.' },
5715 { name: 'wasThrown',
5716 type: 'boolean',
5717 optional: true,
5718 description: 'True if the promise was rejected.' },
5719 { name: 'exceptionDetails',
5720 '$ref': 'ExceptionDetails',
5721 optional: true,
5722 description: 'Exception details if stack strace is available.' } ],
5723 description: 'Add handler to promise with given promise object id.' },
5724 { name: 'callFunctionOn',
5725 async: true,
5726 parameters:
5727 [ { name: 'objectId',
5728 '$ref': 'RemoteObjectId',
5729 description: 'Identifier of the object to call function on.' },
5730 { name: 'functionDeclaration',
5731 type: 'string',
5732 description: 'Declaration of the function to call.' },
5733 { name: 'arguments',
5734 type: 'array',
5735 items: { '$ref': 'CallArgument', description: 'Call argument.' },
5736 optional: true,
5737 description: 'Call arguments. All call arguments must belong to the same JavaScript world as the target object.' },
5738 { name: 'doNotPauseOnExceptionsAndMuteConsole',
5739 type: 'boolean',
5740 optional: true,
5741 description: 'Specifies whether function call should stop on exceptions and mute console. Overrides setPauseOnException state.',
5742 hidden: true },
5743 { name: 'returnByValue',
5744 type: 'boolean',
5745 optional: true,
5746 description: 'Whether the result is expected to be a JSON object which should be sent by value.' },
5747 { name: 'generatePreview',
5748 type: 'boolean',
5749 optional: true,
5750 hidden: true,
5751 description: 'Whether preview should be generated for the result.' },
5752 { name: 'userGesture',
5753 type: 'boolean',
5754 optional: true,
5755 hidden: true,
5756 description: 'Whether execution should be treated as initiated by user in the UI.' },
5757 { name: 'awaitPromise',
5758 type: 'boolean',
5759 optional: true,
5760 hidden: true,
5761 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.' } ],
5762 returns:
5763 [ { name: 'result',
5764 '$ref': 'RemoteObject',
5765 description: 'Call result.' },
5766 { name: 'wasThrown',
5767 type: 'boolean',
5768 optional: true,
5769 description: 'True if the result was thrown during the evaluation.' },
5770 { name: 'exceptionDetails',
5771 '$ref': 'ExceptionDetails',
5772 optional: true,
5773 hidden: true,
5774 description: 'Exception details.' } ],
5775 description: 'Calls function with given declaration on the given object. Object group of the result is inherited from the target object.' },
5776 { name: 'getProperties',
5777 parameters:
5778 [ { name: 'objectId',
5779 '$ref': 'RemoteObjectId',
5780 description: 'Identifier of the object to return properties for.' },
5781 { name: 'ownProperties',
5782 optional: true,
5783 type: 'boolean',
5784 description: 'If true, returns properties belonging only to the element itself, not to its prototype chain.' },
5785 { name: 'accessorPropertiesOnly',
5786 optional: true,
5787 type: 'boolean',
5788 description: 'If true, returns accessor properties (with getter/setter) only; internal properties are not returned either.',
5789 hidden: true },
5790 { name: 'generatePreview',
5791 type: 'boolean',
5792 optional: true,
5793 hidden: true,
5794 description: 'Whether preview should be generated for the results.' } ],
5795 returns:
5796 [ { name: 'result',
5797 type: 'array',
5798 items: { '$ref': 'PropertyDescriptor' },
5799 description: 'Object properties.' },
5800 { name: 'internalProperties',
5801 optional: true,
5802 type: 'array',
5803 items: { '$ref': 'InternalPropertyDescriptor' },
5804 description: 'Internal object properties (only of the element itself).',
5805 hidden: true },
5806 { name: 'exceptionDetails',
5807 '$ref': 'ExceptionDetails',
5808 optional: true,
5809 hidden: true,
5810 description: 'Exception details.' } ],
5811 description: 'Returns properties of a given object. Object group of the result is inherited from the target object.' },
5812 { name: 'releaseObject',
5813 parameters:
5814 [ { name: 'objectId',
5815 '$ref': 'RemoteObjectId',
5816 description: 'Identifier of the object to release.' } ],
5817 description: 'Releases remote object with given id.' },
5818 { name: 'releaseObjectGroup',
5819 parameters:
5820 [ { name: 'objectGroup',
5821 type: 'string',
5822 description: 'Symbolic object group name.' } ],
5823 description: 'Releases all remote objects that belong to a given group.' },
5824 { name: 'run',
5825 hidden: true,
5826 description: 'Tells inspected instance(worker or page) that it can run in case it was started paused.' },
5827 { name: 'enable',
5828 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.' },
5829 { name: 'disable',
5830 hidden: true,
5831 description: 'Disables reporting of execution contexts creation.' },
5832 { name: 'discardConsoleEntries',
5833 hidden: true,
5834 description: 'Discards collected exceptions and console API calls.' },
5835 { name: 'setCustomObjectFormatterEnabled',
5836 parameters: [ { name: 'enabled', type: 'boolean' } ],
5837 hidden: true },
5838 { name: 'compileScript',
5839 hidden: true,
5840 parameters:
5841 [ { name: 'expression',
5842 type: 'string',
5843 description: 'Expression to compile.' },
5844 { name: 'sourceURL',
5845 type: 'string',
5846 description: 'Source url to be set for the script.' },
5847 { name: 'persistScript',
5848 type: 'boolean',
5849 description: 'Specifies whether the compiled script should be persisted.' },
5850 { name: 'executionContextId',
5851 '$ref': 'ExecutionContextId',
5852 optional: true,
5853 description: 'Specifies in which isolated context to perform script run. Each content script lives in an isolated context and this parameter is used to specify one of those contexts. If the parameter is omitted the evaluation will be performed in the context of the inspected page.' } ],
5854 returns:
5855 [ { name: 'scriptId',
5856 '$ref': 'ScriptId',
5857 optional: true,
5858 description: 'Id of the script.' },
5859 { name: 'exceptionDetails',
5860 '$ref': 'ExceptionDetails',
5861 optional: true,
5862 description: 'Exception details.' } ],
5863 description: 'Compiles expression.' },
5864 { name: 'runScript',
5865 hidden: true,
5866 async: true,
5867 parameters:
5868 [ { name: 'scriptId',
5869 '$ref': 'ScriptId',
5870 description: 'Id of the script to run.' },
5871 { name: 'executionContextId',
5872 '$ref': 'ExecutionContextId',
5873 optional: true,
5874 description: 'Specifies in which isolated context to perform script run. Each content script lives in an isolated context and this parameter is used to specify one of those contexts. If the parameter is omitted the evaluation will be performed in the context of the inspected page.' },
5875 { name: 'objectGroup',
5876 type: 'string',
5877 optional: true,
5878 description: 'Symbolic group name that can be used to release multiple objects.' },
5879 { name: 'doNotPauseOnExceptionsAndMuteConsole',
5880 type: 'boolean',
5881 optional: true,
5882 description: 'Specifies whether script run should stop on exceptions and mute console. Overrides setPauseOnException state.' },
5883 { name: 'includeCommandLineAPI',
5884 type: 'boolean',
5885 optional: true,
5886 description: 'Determines whether Command Line API should be available during the evaluation.' },
5887 { name: 'returnByValue',
5888 type: 'boolean',
5889 optional: true,
5890 description: 'Whether the result is expected to be a JSON object which should be sent by value.' },
5891 { name: 'generatePreview',
5892 type: 'boolean',
5893 optional: true,
5894 description: 'Whether preview should be generated for the result.' },
5895 { name: 'awaitPromise',
5896 type: 'boolean',
5897 optional: true,
5898 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.' } ],
5899 returns:
5900 [ { name: 'result',
5901 '$ref': 'RemoteObject',
5902 description: 'Run result.' },
5903 { name: 'wasThrown',
5904 type: 'boolean',
5905 optional: true,
5906 description: 'True if the result was thrown during the execution.' },
5907 { name: 'exceptionDetails',
5908 '$ref': 'ExceptionDetails',
5909 optional: true,
5910 description: 'Exception details.' } ],
5911 description: 'Runs script with given id in a given context.' } ],
5912 events:
5913 [ { name: 'executionContextCreated',
5914 parameters:
5915 [ { name: 'context',
5916 '$ref': 'ExecutionContextDescription',
5917 description: 'A newly created execution contex.' } ],
5918 description: 'Issued when new execution context is created.' },
5919 { name: 'executionContextDestroyed',
5920 parameters:
5921 [ { name: 'executionContextId',
5922 '$ref': 'ExecutionContextId',
5923 description: 'Id of the destroyed context' } ],
5924 description: 'Issued when execution context is destroyed.' },
5925 { name: 'executionContextsCleared',
5926 description: 'Issued when all executionContexts were cleared in browser' },
5927 { name: 'exceptionThrown',
5928 description: 'Issued when exception was thrown and unhandled.',
5929 parameters:
5930 [ { name: 'exceptionId',
5931 type: 'integer',
5932 description: 'Exception id.' },
5933 { name: 'timestamp',
5934 '$ref': 'Timestamp',
5935 description: 'Timestamp of the exception.' },
5936 { name: 'details', '$ref': 'ExceptionDetails' },
5937 { name: 'exception',
5938 '$ref': 'RemoteObject',
5939 optional: true,
5940 description: 'Exception object.' },
5941 { name: 'executionContextId',
5942 '$ref': 'ExecutionContextId',
5943 optional: true,
5944 description: 'Identifier of the context where exception happened.' } ],
5945 hidden: true },
5946 { name: 'exceptionRevoked',
5947 description: 'Issued when unhandled exception was revoked.',
5948 parameters:
5949 [ { name: 'message',
5950 type: 'string',
5951 description: 'Message describing why exception was revoked.' },
5952 { name: 'exceptionId',
5953 type: 'integer',
5954 description: 'The id of revoked exception, as reported in <code>exceptionUnhandled</code>.' } ],
5955 hidden: true },
5956 { name: 'consoleAPICalled',
5957 description: 'Issued when console API was called.',
5958 parameters:
5959 [ { name: 'type',
5960 type: 'string',
5961 enum:
5962 [ 'log',
5963 'debug',
5964 'info',
5965 'error',
5966 'warning',
5967 'dir',
5968 'dirxml',
5969 'table',
5970 'trace',
5971 'clear',
5972 'startGroup',
5973 'startGroupCollapsed',
5974 'endGroup',
5975 'assert',
5976 'profile',
5977 'profileEnd' ],
5978 description: 'Type of the call.' },
5979 { name: 'args',
5980 type: 'array',
5981 items: { '$ref': 'RemoteObject' },
5982 description: 'Call arguments.' },
5983 { name: 'executionContextId',
5984 '$ref': 'ExecutionContextId',
5985 description: 'Identifier of the context where the call was made.' },
5986 { name: 'timestamp',
5987 '$ref': 'Timestamp',
5988 description: 'Call timestamp.' },
5989 { name: 'stackTrace',
5990 '$ref': 'StackTrace',
5991 optional: true,
5992 description: 'Stack trace captured when the call was made.' } ],
5993 hidden: true },
5994 { name: 'inspectRequested',
5995 parameters:
5996 [ { name: 'object', '$ref': 'RemoteObject' },
5997 { name: 'hints', type: 'object' } ],
5998 hidden: true } ] },
5999 { domain: 'Debugger',
6000 description: 'Debugger domain exposes JavaScript debugging capabilities. It allows setting and removing breakpoints, stepping through execution, exploring stack traces, etc.',
6001 dependencies: [ 'Runtime' ],
6002 types:
6003 [ { id: 'BreakpointId',
6004 type: 'string',
6005 description: 'Breakpoint identifier.' },
6006 { id: 'CallFrameId',
6007 type: 'string',
6008 description: 'Call frame identifier.' },
6009 { id: 'Location',
6010 type: 'object',
6011 properties:
6012 [ { name: 'scriptId',
6013 '$ref': 'Runtime.ScriptId',
6014 description: 'Script identifier as reported in the <code>Debugger.scriptParsed</code>.' },
6015 { name: 'lineNumber',
6016 type: 'integer',
6017 description: 'Line number in the script (0-based).' },
6018 { name: 'columnNumber',
6019 type: 'integer',
6020 optional: true,
6021 description: 'Column number in the script (0-based).' } ],
6022 description: 'Location in the source code.' },
6023 { id: 'ScriptPosition',
6024 hidden: true,
6025 type: 'object',
6026 properties:
6027 [ { name: 'lineNumber', type: 'integer' },
6028 { name: 'columnNumber', type: 'integer' } ],
6029 description: 'Location in the source code.' },
6030 { id: 'CallFrame',
6031 type: 'object',
6032 properties:
6033 [ { name: 'callFrameId',
6034 '$ref': 'CallFrameId',
6035 description: 'Call frame identifier. This identifier is only valid while the virtual machine is paused.' },
6036 { name: 'functionName',
6037 type: 'string',
6038 description: 'Name of the JavaScript function called on this call frame.' },
6039 { name: 'functionLocation',
6040 '$ref': 'Location',
6041 optional: true,
6042 hidden: true,
6043 description: 'Location in the source code.' },
6044 { name: 'location',
6045 '$ref': 'Location',
6046 description: 'Location in the source code.' },
6047 { name: 'scopeChain',
6048 type: 'array',
6049 items: { '$ref': 'Scope' },
6050 description: 'Scope chain for this call frame.' },
6051 { name: 'this',
6052 '$ref': 'Runtime.RemoteObject',
6053 description: '<code>this</code> object for this call frame.' },
6054 { name: 'returnValue',
6055 '$ref': 'Runtime.RemoteObject',
6056 optional: true,
6057 hidden: true,
6058 description: 'The value being returned, if the function is at return point.' } ],
6059 description: 'JavaScript call frame. Array of call frames form the call stack.' },
6060 { id: 'Scope',
6061 type: 'object',
6062 properties:
6063 [ { name: 'type',
6064 type: 'string',
6065 enum: [ 'global', 'local', 'with', 'closure', 'catch', 'block', 'script' ],
6066 description: 'Scope type.' },
6067 { name: 'object',
6068 '$ref': 'Runtime.RemoteObject',
6069 description: 'Object representing the scope. For <code>global</code> and <code>with</code> scopes it represents the actual object; for the rest of the scopes, it is artificial transient object enumerating scope variables as its properties.' },
6070 { name: 'name', type: 'string', optional: true, hidden: true },
6071 { name: 'startLocation',
6072 '$ref': 'Location',
6073 optional: true,
6074 hidden: true,
6075 description: 'Location in the source code where scope starts' },
6076 { name: 'endLocation',
6077 '$ref': 'Location',
6078 optional: true,
6079 hidden: true,
6080 description: 'Location in the source code where scope ends' } ],
6081 description: 'Scope description.' },
6082 { id: 'SearchMatch',
6083 type: 'object',
6084 description: 'Search match for resource.',
6085 exported: true,
6086 properties:
6087 [ { name: 'lineNumber',
6088 type: 'number',
6089 description: 'Line number in resource content.' },
6090 { name: 'lineContent',
6091 type: 'string',
6092 description: 'Line with match content.' } ],
6093 hidden: true } ],
6094 commands:
6095 [ { name: 'enable',
6096 description: 'Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received.' },
6097 { name: 'disable',
6098 description: 'Disables debugger for given page.' },
6099 { name: 'setBreakpointsActive',
6100 parameters:
6101 [ { name: 'active',
6102 type: 'boolean',
6103 description: 'New value for breakpoints active state.' } ],
6104 description: 'Activates / deactivates all breakpoints on the page.' },
6105 { name: 'setSkipAllPauses',
6106 hidden: true,
6107 parameters:
6108 [ { name: 'skipped',
6109 type: 'boolean',
6110 description: 'New value for skip pauses state.' } ],
6111 description: 'Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc).' },
6112 { name: 'setBreakpointByUrl',
6113 parameters:
6114 [ { name: 'lineNumber',
6115 type: 'integer',
6116 description: 'Line number to set breakpoint at.' },
6117 { name: 'url',
6118 type: 'string',
6119 optional: true,
6120 description: 'URL of the resources to set breakpoint on.' },
6121 { name: 'urlRegex',
6122 type: 'string',
6123 optional: true,
6124 description: 'Regex pattern for the URLs of the resources to set breakpoints on. Either <code>url</code> or <code>urlRegex</code> must be specified.' },
6125 { name: 'columnNumber',
6126 type: 'integer',
6127 optional: true,
6128 description: 'Offset in the line to set breakpoint at.' },
6129 { name: 'condition',
6130 type: 'string',
6131 optional: true,
6132 description: 'Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true.' } ],
6133 returns:
6134 [ { name: 'breakpointId',
6135 '$ref': 'BreakpointId',
6136 description: 'Id of the created breakpoint for further reference.' },
6137 { name: 'locations',
6138 type: 'array',
6139 items: { '$ref': 'Location' },
6140 description: 'List of the locations this breakpoint resolved into upon addition.' } ],
6141 description: 'Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in <code>locations</code> property. Further matching script parsing will result in subsequent <code>breakpointResolved</code> events issued. This logical breakpoint will survive page reloads.' },
6142 { name: 'setBreakpoint',
6143 parameters:
6144 [ { name: 'location',
6145 '$ref': 'Location',
6146 description: 'Location to set breakpoint in.' },
6147 { name: 'condition',
6148 type: 'string',
6149 optional: true,
6150 description: 'Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true.' } ],
6151 returns:
6152 [ { name: 'breakpointId',
6153 '$ref': 'BreakpointId',
6154 description: 'Id of the created breakpoint for further reference.' },
6155 { name: 'actualLocation',
6156 '$ref': 'Location',
6157 description: 'Location this breakpoint resolved into.' } ],
6158 description: 'Sets JavaScript breakpoint at a given location.' },
6159 { name: 'removeBreakpoint',
6160 parameters: [ { name: 'breakpointId', '$ref': 'BreakpointId' } ],
6161 description: 'Removes JavaScript breakpoint.' },
6162 { name: 'continueToLocation',
6163 parameters:
6164 [ { name: 'location',
6165 '$ref': 'Location',
6166 description: 'Location to continue to.' },
6167 { name: 'interstatementLocation',
6168 type: 'boolean',
6169 optional: true,
6170 hidden: true,
6171 description: 'Allows breakpoints at the intemediate positions inside statements.' } ],
6172 description: 'Continues execution until specific location is reached.' },
6173 { name: 'stepOver', description: 'Steps over the statement.' },
6174 { name: 'stepInto',
6175 description: 'Steps into the function call.' },
6176 { name: 'stepOut',
6177 description: 'Steps out of the function call.' },
6178 { name: 'pause',
6179 description: 'Stops on the next JavaScript statement.' },
6180 { name: 'resume', description: 'Resumes JavaScript execution.' },
6181 { name: 'searchInContent',
6182 parameters:
6183 [ { name: 'scriptId',
6184 '$ref': 'Runtime.ScriptId',
6185 description: 'Id of the script to search in.' },
6186 { name: 'query',
6187 type: 'string',
6188 description: 'String to search for.' },
6189 { name: 'caseSensitive',
6190 type: 'boolean',
6191 optional: true,
6192 description: 'If true, search is case sensitive.' },
6193 { name: 'isRegex',
6194 type: 'boolean',
6195 optional: true,
6196 description: 'If true, treats string parameter as regex.' } ],
6197 returns:
6198 [ { name: 'result',
6199 type: 'array',
6200 items: { '$ref': 'SearchMatch' },
6201 description: 'List of search matches.' } ],
6202 description: 'Searches for given string in script content.' },
6203 { name: 'canSetScriptSource',
6204 returns:
6205 [ { name: 'result',
6206 type: 'boolean',
6207 description: 'True if <code>setScriptSource</code> is supported.' } ],
6208 description: 'Always returns true.' },
6209 { name: 'setScriptSource',
6210 parameters:
6211 [ { name: 'scriptId',
6212 '$ref': 'Runtime.ScriptId',
6213 description: 'Id of the script to edit.' },
6214 { name: 'scriptSource',
6215 type: 'string',
6216 description: 'New content of the script.' },
6217 { name: 'preview',
6218 type: 'boolean',
6219 optional: true,
6220 description: ' If true the change will not actually be applied. Preview mode may be used to get result description without actually modifying the code.',
6221 hidden: true } ],
6222 returns:
6223 [ { name: 'callFrames',
6224 type: 'array',
6225 optional: true,
6226 items: { '$ref': 'CallFrame' },
6227 description: 'New stack trace in case editing has happened while VM was stopped.' },
6228 { name: 'stackChanged',
6229 type: 'boolean',
6230 optional: true,
6231 description: 'Whether current call stack was modified after applying the changes.',
6232 hidden: true },
6233 { name: 'asyncStackTrace',
6234 '$ref': 'Runtime.StackTrace',
6235 optional: true,
6236 description: 'Async stack trace, if any.',
6237 hidden: true },
6238 { name: 'compileError',
6239 optional: true,
6240 '$ref': 'Runtime.ExceptionDetails',
6241 description: 'Error data if any.' } ],
6242 description: 'Edits JavaScript source live.' },
6243 { name: 'restartFrame',
6244 parameters:
6245 [ { name: 'callFrameId',
6246 '$ref': 'CallFrameId',
6247 description: 'Call frame identifier to evaluate on.' } ],
6248 returns:
6249 [ { name: 'callFrames',
6250 type: 'array',
6251 items: { '$ref': 'CallFrame' },
6252 description: 'New stack trace.' },
6253 { name: 'asyncStackTrace',
6254 '$ref': 'Runtime.StackTrace',
6255 optional: true,
6256 description: 'Async stack trace, if any.' } ],
6257 hidden: true,
6258 description: 'Restarts particular call frame from the beginning.' },
6259 { name: 'getScriptSource',
6260 parameters:
6261 [ { name: 'scriptId',
6262 '$ref': 'Runtime.ScriptId',
6263 description: 'Id of the script to get source for.' } ],
6264 returns:
6265 [ { name: 'scriptSource',
6266 type: 'string',
6267 description: 'Script source.' } ],
6268 description: 'Returns source for the script with given id.' },
6269 { name: 'setPauseOnExceptions',
6270 parameters:
6271 [ { name: 'state',
6272 type: 'string',
6273 enum: [ 'none', 'uncaught', 'all' ],
6274 description: 'Pause on exceptions mode.' } ],
6275 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>.' },
6276 { name: 'evaluateOnCallFrame',
6277 parameters:
6278 [ { name: 'callFrameId',
6279 '$ref': 'CallFrameId',
6280 description: 'Call frame identifier to evaluate on.' },
6281 { name: 'expression',
6282 type: 'string',
6283 description: 'Expression to evaluate.' },
6284 { name: 'objectGroup',
6285 type: 'string',
6286 optional: true,
6287 description: 'String object group name to put result into (allows rapid releasing resulting object handles using <code>releaseObjectGroup</code>).' },
6288 { name: 'includeCommandLineAPI',
6289 type: 'boolean',
6290 optional: true,
6291 description: 'Specifies whether command line API should be available to the evaluated expression, defaults to false.',
6292 hidden: true },
6293 { name: 'doNotPauseOnExceptionsAndMuteConsole',
6294 type: 'boolean',
6295 optional: true,
6296 description: 'Specifies whether evaluation should stop on exceptions and mute console. Overrides setPauseOnException state.',
6297 hidden: true },
6298 { name: 'returnByValue',
6299 type: 'boolean',
6300 optional: true,
6301 description: 'Whether the result is expected to be a JSON object that should be sent by value.' },
6302 { name: 'generatePreview',
6303 type: 'boolean',
6304 optional: true,
6305 hidden: true,
6306 description: 'Whether preview should be generated for the result.' } ],
6307 returns:
6308 [ { name: 'result',
6309 '$ref': 'Runtime.RemoteObject',
6310 description: 'Object wrapper for the evaluation result.' },
6311 { name: 'wasThrown',
6312 type: 'boolean',
6313 optional: true,
6314 description: 'True if the result was thrown during the evaluation.' },
6315 { name: 'exceptionDetails',
6316 '$ref': 'Runtime.ExceptionDetails',
6317 optional: true,
6318 hidden: true,
6319 description: 'Exception details.' } ],
6320 description: 'Evaluates expression on a given call frame.' },
6321 { name: 'setVariableValue',
6322 parameters:
6323 [ { name: 'scopeNumber',
6324 type: 'integer',
6325 description: '0-based number of scope as was listed in scope chain. Only \'local\', \'closure\' and \'catch\' scope types are allowed. Other scopes could be manipulated manually.' },
6326 { name: 'variableName',
6327 type: 'string',
6328 description: 'Variable name.' },
6329 { name: 'newValue',
6330 '$ref': 'Runtime.CallArgument',
6331 description: 'New variable value.' },
6332 { name: 'callFrameId',
6333 '$ref': 'CallFrameId',
6334 description: 'Id of callframe that holds variable.' } ],
6335 hidden: true,
6336 description: 'Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually.' },
6337 { name: 'getBacktrace',
6338 returns:
6339 [ { name: 'callFrames',
6340 type: 'array',
6341 items: { '$ref': 'CallFrame' },
6342 description: 'Call stack the virtual machine stopped on.' },
6343 { name: 'asyncStackTrace',
6344 '$ref': 'Runtime.StackTrace',
6345 optional: true,
6346 description: 'Async stack trace, if any.' } ],
6347 hidden: true,
6348 description: 'Returns call stack including variables changed since VM was paused. VM must be paused.' },
6349 { name: 'setAsyncCallStackDepth',
6350 parameters:
6351 [ { name: 'maxDepth',
6352 type: 'integer',
6353 description: 'Maximum depth of async call stacks. Setting to <code>0</code> will effectively disable collecting async call stacks (default).' } ],
6354 hidden: true,
6355 description: 'Enables or disables async call stacks tracking.' },
6356 { name: 'setBlackboxPatterns',
6357 parameters:
6358 [ { name: 'patterns',
6359 type: 'array',
6360 items: { type: 'string' },
6361 description: 'Array of regexps that will be used to check script url for blackbox state.' } ],
6362 hidden: true,
6363 description: 'Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in scripts with url matching one of the patterns. VM will try to leave blackboxed script by performing \'step in\' several times, finally resorting to \'step out\' if unsuccessful.' },
6364 { name: 'setBlackboxedRanges',
6365 parameters:
6366 [ { name: 'scriptId',
6367 '$ref': 'Runtime.ScriptId',
6368 description: 'Id of the script.' },
6369 { name: 'positions',
6370 type: 'array',
6371 items: { '$ref': 'ScriptPosition' } } ],
6372 hidden: true,
6373 description: 'Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted scripts by performing \'step in\' several times, finally resorting to \'step out\' if unsuccessful. Positions array contains positions where blackbox state is changed. First interval isn\'t blackboxed. Array should be sorted.' } ],
6374 events:
6375 [ { name: 'scriptParsed',
6376 parameters:
6377 [ { name: 'scriptId',
6378 '$ref': 'Runtime.ScriptId',
6379 description: 'Identifier of the script parsed.' },
6380 { name: 'url',
6381 type: 'string',
6382 description: 'URL or name of the script parsed (if any).' },
6383 { name: 'startLine',
6384 type: 'integer',
6385 description: 'Line offset of the script within the resource with given URL (for script tags).' },
6386 { name: 'startColumn',
6387 type: 'integer',
6388 description: 'Column offset of the script within the resource with given URL.' },
6389 { name: 'endLine',
6390 type: 'integer',
6391 description: 'Last line of the script.' },
6392 { name: 'endColumn',
6393 type: 'integer',
6394 description: 'Length of the last line of the script.' },
6395 { name: 'executionContextId',
6396 '$ref': 'Runtime.ExecutionContextId',
6397 description: 'Specifies script creation context.',
6398 hidden: true },
6399 { name: 'hash',
6400 type: 'string',
6401 hidden: true,
6402 description: 'Content hash of the script.' },
6403 { name: 'isContentScript',
6404 type: 'boolean',
6405 optional: true,
6406 description: 'Determines whether this script is a user extension script.' },
6407 { name: 'isInternalScript',
6408 type: 'boolean',
6409 optional: true,
6410 description: 'Determines whether this script is an internal script.',
6411 hidden: true },
6412 { name: 'isLiveEdit',
6413 type: 'boolean',
6414 optional: true,
6415 description: 'True, if this script is generated as a result of the live edit operation.',
6416 hidden: true },
6417 { name: 'sourceMapURL',
6418 type: 'string',
6419 optional: true,
6420 description: 'URL of source map associated with script (if any).' },
6421 { name: 'hasSourceURL',
6422 type: 'boolean',
6423 optional: true,
6424 description: 'True, if this script has sourceURL.',
6425 hidden: true },
6426 { name: 'deprecatedCommentWasUsed',
6427 type: 'boolean',
6428 optional: true,
6429 hidden: true,
6430 description: 'True, if \'//@ sourceURL\' or \'//@ sourceMappingURL\' was used.' } ],
6431 description: 'Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger.' },
6432 { name: 'scriptFailedToParse',
6433 parameters:
6434 [ { name: 'scriptId',
6435 '$ref': 'Runtime.ScriptId',
6436 description: 'Identifier of the script parsed.' },
6437 { name: 'url',
6438 type: 'string',
6439 description: 'URL or name of the script parsed (if any).' },
6440 { name: 'startLine',
6441 type: 'integer',
6442 description: 'Line offset of the script within the resource with given URL (for script tags).' },
6443 { name: 'startColumn',
6444 type: 'integer',
6445 description: 'Column offset of the script within the resource with given URL.' },
6446 { name: 'endLine',
6447 type: 'integer',
6448 description: 'Last line of the script.' },
6449 { name: 'endColumn',
6450 type: 'integer',
6451 description: 'Length of the last line of the script.' },
6452 { name: 'executionContextId',
6453 '$ref': 'Runtime.ExecutionContextId',
6454 description: 'Specifies script creation context.',
6455 hidden: true },
6456 { name: 'hash',
6457 type: 'string',
6458 hidden: true,
6459 description: 'Content hash of the script.' },
6460 { name: 'isContentScript',
6461 type: 'boolean',
6462 optional: true,
6463 description: 'Determines whether this script is a user extension script.' },
6464 { name: 'isInternalScript',
6465 type: 'boolean',
6466 optional: true,
6467 description: 'Determines whether this script is an internal script.',
6468 hidden: true },
6469 { name: 'sourceMapURL',
6470 type: 'string',
6471 optional: true,
6472 description: 'URL of source map associated with script (if any).' },
6473 { name: 'hasSourceURL',
6474 type: 'boolean',
6475 optional: true,
6476 description: 'True, if this script has sourceURL.',
6477 hidden: true },
6478 { name: 'deprecatedCommentWasUsed',
6479 type: 'boolean',
6480 optional: true,
6481 hidden: true,
6482 description: 'True, if \'//@ sourceURL\' or \'//@ sourceMappingURL\' was used.' } ],
6483 description: 'Fired when virtual machine fails to parse the script.' },
6484 { name: 'breakpointResolved',
6485 parameters:
6486 [ { name: 'breakpointId',
6487 '$ref': 'BreakpointId',
6488 description: 'Breakpoint unique identifier.' },
6489 { name: 'location',
6490 '$ref': 'Location',
6491 description: 'Actual breakpoint location.' } ],
6492 description: 'Fired when breakpoint is resolved to an actual script and location.' },
6493 { name: 'paused',
6494 parameters:
6495 [ { name: 'callFrames',
6496 type: 'array',
6497 items: { '$ref': 'CallFrame' },
6498 description: 'Call stack the virtual machine stopped on.' },
6499 { name: 'reason',
6500 type: 'string',
6501 enum:
6502 [ 'XHR',
6503 'DOM',
6504 'EventListener',
6505 'exception',
6506 'assert',
6507 'debugCommand',
6508 'promiseRejection',
6509 'other' ],
6510 description: 'Pause reason.',
6511 exported: true },
6512 { name: 'data',
6513 type: 'object',
6514 optional: true,
6515 description: 'Object containing break-specific auxiliary properties.' },
6516 { name: 'hitBreakpoints',
6517 type: 'array',
6518 optional: true,
6519 items: { type: 'string' },
6520 description: 'Hit breakpoints IDs',
6521 hidden: true },
6522 { name: 'asyncStackTrace',
6523 '$ref': 'Runtime.StackTrace',
6524 optional: true,
6525 description: 'Async stack trace, if any.',
6526 hidden: true } ],
6527 description: 'Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria.' },
6528 { name: 'resumed',
6529 description: 'Fired when the virtual machine resumed execution.' } ] },
6530 { domain: 'Console',
6531 description: 'This domain is deprecated - use Runtime or Log instead.',
6532 dependencies: [ 'Runtime' ],
6533 deprecated: true,
6534 types:
6535 [ { id: 'ConsoleMessage',
6536 type: 'object',
6537 description: 'Console message.',
6538 properties:
6539 [ { name: 'source',
6540 type: 'string',
6541 enum:
6542 [ 'xml',
6543 'javascript',
6544 'network',
6545 'console-api',
6546 'storage',
6547 'appcache',
6548 'rendering',
6549 'security',
6550 'other',
6551 'deprecation',
6552 'worker' ],
6553 description: 'Message source.' },
6554 { name: 'level',
6555 type: 'string',
6556 enum: [ 'log', 'warning', 'error', 'debug', 'info' ],
6557 description: 'Message severity.' },
6558 { name: 'text', type: 'string', description: 'Message text.' },
6559 { name: 'url',
6560 type: 'string',
6561 optional: true,
6562 description: 'URL of the message origin.' },
6563 { name: 'line',
6564 type: 'integer',
6565 optional: true,
6566 description: 'Line number in the resource that generated this message (1-based).' },
6567 { name: 'column',
6568 type: 'integer',
6569 optional: true,
6570 description: 'Column number in the resource that generated this message (1-based).' } ] } ],
6571 commands:
6572 [ { name: 'enable',
6573 description: 'Enables console domain, sends the messages collected so far to the client by means of the <code>messageAdded</code> notification.' },
6574 { name: 'disable',
6575 description: 'Disables console domain, prevents further console messages from being reported to the client.' },
6576 { name: 'clearMessages', description: 'Does nothing.' } ],
6577 events:
6578 [ { name: 'messageAdded',
6579 parameters:
6580 [ { name: 'message',
6581 '$ref': 'ConsoleMessage',
6582 description: 'Console message that has been added.' } ],
6583 description: 'Issued when new console message is added.' },
6584 { name: 'messageRepeatCountUpdated',
6585 parameters:
6586 [ { name: 'count',
6587 type: 'integer',
6588 description: 'New repeat count value.' },
6589 { name: 'timestamp',
6590 '$ref': 'Runtime.Timestamp',
6591 description: 'Timestamp of most recent message in batch.',
6592 hidden: true } ],
6593 description: 'Not issued.',
6594 deprecated: true },
6595 { name: 'messagesCleared',
6596 description: 'Not issued.',
6597 deprecated: true } ] },
6598 { domain: 'Profiler',
6599 dependencies: [ 'Runtime', 'Debugger' ],
6600 hidden: true,
6601 types:
6602 [ { id: 'CPUProfileNode',
6603 type: 'object',
6604 description: 'CPU Profile node. Holds callsite information, execution statistics and child nodes.',
6605 properties:
6606 [ { name: 'callFrame',
6607 '$ref': 'Runtime.CallFrame',
6608 description: 'Function location.' },
6609 { name: 'hitCount',
6610 type: 'integer',
6611 description: 'Number of samples where this node was on top of the call stack.' },
6612 { name: 'children',
6613 type: 'array',
6614 items: { '$ref': 'CPUProfileNode' },
6615 description: 'Child nodes.' },
6616 { name: 'deoptReason',
6617 type: 'string',
6618 description: 'The reason of being not optimized. The function may be deoptimized or marked as don\'t optimize.' },
6619 { name: 'id',
6620 type: 'integer',
6621 description: 'Unique id of the node.' },
6622 { name: 'positionTicks',
6623 type: 'array',
6624 items: { '$ref': 'PositionTickInfo' },
6625 description: 'An array of source position ticks.' } ] },
6626 { id: 'CPUProfile',
6627 type: 'object',
6628 description: 'Profile.',
6629 properties:
6630 [ { name: 'head', '$ref': 'CPUProfileNode' },
6631 { name: 'startTime',
6632 type: 'number',
6633 description: 'Profiling start time in seconds.' },
6634 { name: 'endTime',
6635 type: 'number',
6636 description: 'Profiling end time in seconds.' },
6637 { name: 'samples',
6638 optional: true,
6639 type: 'array',
6640 items: { type: 'integer' },
6641 description: 'Ids of samples top nodes.' },
6642 { name: 'timestamps',
6643 optional: true,
6644 type: 'array',
6645 items: { type: 'number' },
6646 description: 'Timestamps of the samples in microseconds.' } ] },
6647 { id: 'PositionTickInfo',
6648 type: 'object',
6649 description: 'Specifies a number of samples attributed to a certain source position.',
6650 properties:
6651 [ { name: 'line',
6652 type: 'integer',
6653 description: 'Source line number (1-based).' },
6654 { name: 'ticks',
6655 type: 'integer',
6656 description: 'Number of samples attributed to the source line.' } ] } ],
6657 commands:
6658 [ { name: 'enable' },
6659 { name: 'disable' },
6660 { name: 'setSamplingInterval',
6661 parameters:
6662 [ { name: 'interval',
6663 type: 'integer',
6664 description: 'New sampling interval in microseconds.' } ],
6665 description: 'Changes CPU profiler sampling interval. Must be called before CPU profiles recording started.' },
6666 { name: 'start' },
6667 { name: 'stop',
6668 returns:
6669 [ { name: 'profile',
6670 '$ref': 'CPUProfile',
6671 description: 'Recorded profile.' } ] } ],
6672 events:
6673 [ { name: 'consoleProfileStarted',
6674 parameters:
6675 [ { name: 'id', type: 'string' },
6676 { name: 'location',
6677 '$ref': 'Debugger.Location',
6678 description: 'Location of console.profile().' },
6679 { name: 'title',
6680 type: 'string',
6681 optional: true,
6682 description: 'Profile title passed as argument to console.profile().' } ],
6683 description: 'Sent when new profile recodring is started using console.profile() call.' },
6684 { name: 'consoleProfileFinished',
6685 parameters:
6686 [ { name: 'id', type: 'string' },
6687 { name: 'location',
6688 '$ref': 'Debugger.Location',
6689 description: 'Location of console.profileEnd().' },
6690 { name: 'profile', '$ref': 'CPUProfile' },
6691 { name: 'title',
6692 type: 'string',
6693 optional: true,
6694 description: 'Profile title passed as argunet to console.profile().' } ] } ] },
6695 { domain: 'HeapProfiler',
6696 dependencies: [ 'Runtime' ],
6697 hidden: true,
6698 types:
6699 [ { id: 'HeapSnapshotObjectId',
6700 type: 'string',
6701 description: 'Heap snapshot object id.' },
6702 { id: 'SamplingHeapProfileNode',
6703 type: 'object',
6704 description: 'Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes.',
6705 properties:
6706 [ { name: 'callFrame',
6707 '$ref': 'Runtime.CallFrame',
6708 description: 'Function location.' },
6709 { name: 'selfSize',
6710 type: 'number',
6711 description: 'Allocations size in bytes for the node excluding children.' },
6712 { name: 'children',
6713 type: 'array',
6714 items: { '$ref': 'SamplingHeapProfileNode' },
6715 description: 'Child nodes.' } ] },
6716 { id: 'SamplingHeapProfile',
6717 type: 'object',
6718 description: 'Profile.',
6719 properties: [ { name: 'head', '$ref': 'SamplingHeapProfileNode' } ] } ],
6720 commands:
6721 [ { name: 'enable' },
6722 { name: 'disable' },
6723 { name: 'startTrackingHeapObjects',
6724 parameters: [ { name: 'trackAllocations', type: 'boolean', optional: true } ] },
6725 { name: 'stopTrackingHeapObjects',
6726 parameters:
6727 [ { name: 'reportProgress',
6728 type: 'boolean',
6729 optional: true,
6730 description: 'If true \'reportHeapSnapshotProgress\' events will be generated while snapshot is being taken when the tracking is stopped.' } ] },
6731 { name: 'takeHeapSnapshot',
6732 parameters:
6733 [ { name: 'reportProgress',
6734 type: 'boolean',
6735 optional: true,
6736 description: 'If true \'reportHeapSnapshotProgress\' events will be generated while snapshot is being taken.' } ] },
6737 { name: 'collectGarbage' },
6738 { name: 'getObjectByHeapObjectId',
6739 parameters:
6740 [ { name: 'objectId', '$ref': 'HeapSnapshotObjectId' },
6741 { name: 'objectGroup',
6742 type: 'string',
6743 optional: true,
6744 description: 'Symbolic group name that can be used to release multiple objects.' } ],
6745 returns:
6746 [ { name: 'result',
6747 '$ref': 'Runtime.RemoteObject',
6748 description: 'Evaluation result.' } ] },
6749 { name: 'addInspectedHeapObject',
6750 parameters:
6751 [ { name: 'heapObjectId',
6752 '$ref': 'HeapSnapshotObjectId',
6753 description: 'Heap snapshot object id to be accessible by means of $x command line API.' } ],
6754 description: 'Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions).' },
6755 { name: 'getHeapObjectId',
6756 parameters:
6757 [ { name: 'objectId',
6758 '$ref': 'Runtime.RemoteObjectId',
6759 description: 'Identifier of the object to get heap object id for.' } ],
6760 returns:
6761 [ { name: 'heapSnapshotObjectId',
6762 '$ref': 'HeapSnapshotObjectId',
6763 description: 'Id of the heap snapshot object corresponding to the passed remote object id.' } ] },
6764 { name: 'startSampling',
6765 parameters:
6766 [ { name: 'samplingInterval',
6767 type: 'number',
6768 optional: true,
6769 description: 'Average sample interval in bytes. Poisson distribution is used for the intervals. The default value is 32768 bytes.' } ] },
6770 { name: 'stopSampling',
6771 returns:
6772 [ { name: 'profile',
6773 '$ref': 'SamplingHeapProfile',
6774 description: 'Recorded sampling heap profile.' } ] } ],
6775 events:
6776 [ { name: 'addHeapSnapshotChunk',
6777 parameters: [ { name: 'chunk', type: 'string' } ] },
6778 { name: 'resetProfiles' },
6779 { name: 'reportHeapSnapshotProgress',
6780 parameters:
6781 [ { name: 'done', type: 'integer' },
6782 { name: 'total', type: 'integer' },
6783 { name: 'finished', type: 'boolean', optional: true } ] },
6784 { name: 'lastSeenObjectId',
6785 description: 'If heap objects tracking has been started then backend regulary sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.',
6786 parameters:
6787 [ { name: 'lastSeenObjectId', type: 'integer' },
6788 { name: 'timestamp', type: 'number' } ] },
6789 { name: 'heapStatsUpdate',
6790 description: 'If heap objects tracking has been started then backend may send update for one or more fragments',
6791 parameters:
6792 [ { name: 'statsUpdate',
6793 type: 'array',
6794 items: { type: 'integer' },
6795 description: 'An array of triplets. Each triplet describes a fragment. The first integer is the fragment index, the second integer is a total count of objects for the fragment, the third integer is a total size of the objects for the fragment.' } ] } ] } ] } }