1# Copyright 2017 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4#
5# Contributing to Chrome DevTools Protocol: https://docs.google.com/document/d/1c-COD2kaK__5iMM5SEx-PzNA7HFmgttcYfOHHX0HaOM/edit?usp=sharing
6
7version
8  major 1
9  minor 3
10
11experimental domain Accessibility
12  depends on DOM
13
14  # Unique accessibility node identifier.
15  type AXNodeId extends string
16
17  # Enum of possible property types.
18  type AXValueType extends string
19    enum
20      boolean
21      tristate
22      booleanOrUndefined
23      idref
24      idrefList
25      integer
26      node
27      nodeList
28      number
29      string
30      computedString
31      token
32      tokenList
33      domRelation
34      role
35      internalRole
36      valueUndefined
37
38  # Enum of possible property sources.
39  type AXValueSourceType extends string
40    enum
41      attribute
42      implicit
43      style
44      contents
45      placeholder
46      relatedElement
47
48  # Enum of possible native property sources (as a subtype of a particular AXValueSourceType).
49  type AXValueNativeSourceType extends string
50    enum
51      figcaption
52      label
53      labelfor
54      labelwrapped
55      legend
56      tablecaption
57      title
58      other
59
60  # A single source for a computed AX property.
61  type AXValueSource extends object
62    properties
63      # What type of source this is.
64      AXValueSourceType type
65      # The value of this property source.
66      optional AXValue value
67      # The name of the relevant attribute, if any.
68      optional string attribute
69      # The value of the relevant attribute, if any.
70      optional AXValue attributeValue
71      # Whether this source is superseded by a higher priority source.
72      optional boolean superseded
73      # The native markup source for this value, e.g. a <label> element.
74      optional AXValueNativeSourceType nativeSource
75      # The value, such as a node or node list, of the native source.
76      optional AXValue nativeSourceValue
77      # Whether the value for this property is invalid.
78      optional boolean invalid
79      # Reason for the value being invalid, if it is.
80      optional string invalidReason
81
82  type AXRelatedNode extends object
83    properties
84      # The BackendNodeId of the related DOM node.
85      DOM.BackendNodeId backendDOMNodeId
86      # The IDRef value provided, if any.
87      optional string idref
88      # The text alternative of this node in the current context.
89      optional string text
90
91  type AXProperty extends object
92    properties
93      # The name of this property.
94      AXPropertyName name
95      # The value of this property.
96      AXValue value
97
98  # A single computed AX property.
99  type AXValue extends object
100    properties
101      # The type of this value.
102      AXValueType type
103      # The computed value of this property.
104      optional any value
105      # One or more related nodes, if applicable.
106      optional array of AXRelatedNode relatedNodes
107      # The sources which contributed to the computation of this property.
108      optional array of AXValueSource sources
109
110  # Values of AXProperty name:
111  # - from 'busy' to 'roledescription': states which apply to every AX node
112  # - from 'live' to 'root': attributes which apply to nodes in live regions
113  # - from 'autocomplete' to 'valuetext': attributes which apply to widgets
114  # - from 'checked' to 'selected': states which apply to widgets
115  # - from 'activedescendant' to 'owns' - relationships between elements other than parent/child/sibling.
116  type AXPropertyName extends string
117    enum
118      busy
119      disabled
120      editable
121      focusable
122      focused
123      hidden
124      hiddenRoot
125      invalid
126      keyshortcuts
127      settable
128      roledescription
129      live
130      atomic
131      relevant
132      root
133      autocomplete
134      hasPopup
135      level
136      multiselectable
137      orientation
138      multiline
139      readonly
140      required
141      valuemin
142      valuemax
143      valuetext
144      checked
145      expanded
146      modal
147      pressed
148      selected
149      activedescendant
150      controls
151      describedby
152      details
153      errormessage
154      flowto
155      labelledby
156      owns
157
158  # A node in the accessibility tree.
159  type AXNode extends object
160    properties
161      # Unique identifier for this node.
162      AXNodeId nodeId
163      # Whether this node is ignored for accessibility
164      boolean ignored
165      # Collection of reasons why this node is hidden.
166      optional array of AXProperty ignoredReasons
167      # This `Node`'s role, whether explicit or implicit.
168      optional AXValue role
169      # The accessible name for this `Node`.
170      optional AXValue name
171      # The accessible description for this `Node`.
172      optional AXValue description
173      # The value for this `Node`.
174      optional AXValue value
175      # All other properties
176      optional array of AXProperty properties
177      # IDs for each of this node's child nodes.
178      optional array of AXNodeId childIds
179      # The backend ID for the associated DOM node, if any.
180      optional DOM.BackendNodeId backendDOMNodeId
181
182  # Disables the accessibility domain.
183  command disable
184
185  # Enables the accessibility domain which causes `AXNodeId`s to remain consistent between method calls.
186  # This turns on accessibility for the page, which can impact performance until accessibility is disabled.
187  command enable
188
189  # Fetches the accessibility node and partial accessibility tree for this DOM node, if it exists.
190  experimental command getPartialAXTree
191    parameters
192      # Identifier of the node to get the partial accessibility tree for.
193      optional DOM.NodeId nodeId
194      # Identifier of the backend node to get the partial accessibility tree for.
195      optional DOM.BackendNodeId backendNodeId
196      # JavaScript object id of the node wrapper to get the partial accessibility tree for.
197      optional Runtime.RemoteObjectId objectId
198      # Whether to fetch this nodes ancestors, siblings and children. Defaults to true.
199      optional boolean fetchRelatives
200    returns
201      # The `Accessibility.AXNode` for this DOM node, if it exists, plus its ancestors, siblings and
202      # children, if requested.
203      array of AXNode nodes
204
205  # Fetches the entire accessibility tree
206  experimental command getFullAXTree
207    returns
208      array of AXNode nodes
209
210  # Query a DOM node's accessibility subtree for accessible name and role.
211  # This command computes the name and role for all nodes in the subtree, including those that are
212  # ignored for accessibility, and returns those that mactch the specified name and role. If no DOM
213  # node is specified, or the DOM node does not exist, the command returns an error. If neither
214  # `accessibleName` or `role` is specified, it returns all the accessibility nodes in the subtree.
215  experimental command queryAXTree
216    parameters
217      # Identifier of the node for the root to query.
218      optional DOM.NodeId nodeId
219      # Identifier of the backend node for the root to query.
220      optional DOM.BackendNodeId backendNodeId
221      # JavaScript object id of the node wrapper for the root to query.
222      optional Runtime.RemoteObjectId objectId
223      # Find nodes with this computed name.
224      optional string accessibleName
225      # Find nodes with this computed role.
226      optional string role
227    returns
228      # A list of `Accessibility.AXNode` matching the specified attributes,
229      # including nodes that are ignored for accessibility.
230      array of AXNode nodes
231
232experimental domain Animation
233  depends on Runtime
234  depends on DOM
235
236  # Animation instance.
237  type Animation extends object
238    properties
239      # `Animation`'s id.
240      string id
241      # `Animation`'s name.
242      string name
243      # `Animation`'s internal paused state.
244      boolean pausedState
245      # `Animation`'s play state.
246      string playState
247      # `Animation`'s playback rate.
248      number playbackRate
249      # `Animation`'s start time.
250      number startTime
251      # `Animation`'s current time.
252      number currentTime
253      # Animation type of `Animation`.
254      enum type
255        CSSTransition
256        CSSAnimation
257        WebAnimation
258      # `Animation`'s source animation node.
259      optional AnimationEffect source
260      # A unique ID for `Animation` representing the sources that triggered this CSS
261      # animation/transition.
262      optional string cssId
263
264  # AnimationEffect instance
265  type AnimationEffect extends object
266    properties
267      # `AnimationEffect`'s delay.
268      number delay
269      # `AnimationEffect`'s end delay.
270      number endDelay
271      # `AnimationEffect`'s iteration start.
272      number iterationStart
273      # `AnimationEffect`'s iterations.
274      number iterations
275      # `AnimationEffect`'s iteration duration.
276      number duration
277      # `AnimationEffect`'s playback direction.
278      string direction
279      # `AnimationEffect`'s fill mode.
280      string fill
281      # `AnimationEffect`'s target node.
282      optional DOM.BackendNodeId backendNodeId
283      # `AnimationEffect`'s keyframes.
284      optional KeyframesRule keyframesRule
285      # `AnimationEffect`'s timing function.
286      string easing
287
288  # Keyframes Rule
289  type KeyframesRule extends object
290    properties
291      # CSS keyframed animation's name.
292      optional string name
293      # List of animation keyframes.
294      array of KeyframeStyle keyframes
295
296  # Keyframe Style
297  type KeyframeStyle extends object
298    properties
299      # Keyframe's time offset.
300      string offset
301      # `AnimationEffect`'s timing function.
302      string easing
303
304  # Disables animation domain notifications.
305  command disable
306
307  # Enables animation domain notifications.
308  command enable
309
310  # Returns the current time of the an animation.
311  command getCurrentTime
312    parameters
313      # Id of animation.
314      string id
315    returns
316      # Current time of the page.
317      number currentTime
318
319  # Gets the playback rate of the document timeline.
320  command getPlaybackRate
321    returns
322      # Playback rate for animations on page.
323      number playbackRate
324
325  # Releases a set of animations to no longer be manipulated.
326  command releaseAnimations
327    parameters
328      # List of animation ids to seek.
329      array of string animations
330
331  # Gets the remote object of the Animation.
332  command resolveAnimation
333    parameters
334      # Animation id.
335      string animationId
336    returns
337      # Corresponding remote object.
338      Runtime.RemoteObject remoteObject
339
340  # Seek a set of animations to a particular time within each animation.
341  command seekAnimations
342    parameters
343      # List of animation ids to seek.
344      array of string animations
345      # Set the current time of each animation.
346      number currentTime
347
348  # Sets the paused state of a set of animations.
349  command setPaused
350    parameters
351      # Animations to set the pause state of.
352      array of string animations
353      # Paused state to set to.
354      boolean paused
355
356  # Sets the playback rate of the document timeline.
357  command setPlaybackRate
358    parameters
359      # Playback rate for animations on page
360      number playbackRate
361
362  # Sets the timing of an animation node.
363  command setTiming
364    parameters
365      # Animation id.
366      string animationId
367      # Duration of the animation.
368      number duration
369      # Delay of the animation.
370      number delay
371
372  # Event for when an animation has been cancelled.
373  event animationCanceled
374    parameters
375      # Id of the animation that was cancelled.
376      string id
377
378  # Event for each animation that has been created.
379  event animationCreated
380    parameters
381      # Id of the animation that was created.
382      string id
383
384  # Event for animation that has been started.
385  event animationStarted
386    parameters
387      # Animation that was started.
388      Animation animation
389
390experimental domain ApplicationCache
391  depends on Page
392
393  # Detailed application cache resource information.
394  type ApplicationCacheResource extends object
395    properties
396      # Resource url.
397      string url
398      # Resource size.
399      integer size
400      # Resource type.
401      string type
402
403  # Detailed application cache information.
404  type ApplicationCache extends object
405    properties
406      # Manifest URL.
407      string manifestURL
408      # Application cache size.
409      number size
410      # Application cache creation time.
411      number creationTime
412      # Application cache update time.
413      number updateTime
414      # Application cache resources.
415      array of ApplicationCacheResource resources
416
417  # Frame identifier - manifest URL pair.
418  type FrameWithManifest extends object
419    properties
420      # Frame identifier.
421      Page.FrameId frameId
422      # Manifest URL.
423      string manifestURL
424      # Application cache status.
425      integer status
426
427  # Enables application cache domain notifications.
428  command enable
429
430  # Returns relevant application cache data for the document in given frame.
431  command getApplicationCacheForFrame
432    parameters
433      # Identifier of the frame containing document whose application cache is retrieved.
434      Page.FrameId frameId
435    returns
436      # Relevant application cache data for the document in given frame.
437      ApplicationCache applicationCache
438
439  # Returns array of frame identifiers with manifest urls for each frame containing a document
440  # associated with some application cache.
441  command getFramesWithManifests
442    returns
443      # Array of frame identifiers with manifest urls for each frame containing a document
444      # associated with some application cache.
445      array of FrameWithManifest frameIds
446
447  # Returns manifest URL for document in the given frame.
448  command getManifestForFrame
449    parameters
450      # Identifier of the frame containing document whose manifest is retrieved.
451      Page.FrameId frameId
452    returns
453      # Manifest URL for document in the given frame.
454      string manifestURL
455
456  event applicationCacheStatusUpdated
457    parameters
458      # Identifier of the frame containing document whose application cache updated status.
459      Page.FrameId frameId
460      # Manifest URL.
461      string manifestURL
462      # Updated application cache status.
463      integer status
464
465  event networkStateUpdated
466    parameters
467      boolean isNowOnline
468
469# Audits domain allows investigation of page violations and possible improvements.
470experimental domain Audits
471  depends on Network
472
473  # Information about a cookie that is affected by an inspector issue.
474  type AffectedCookie extends object
475    properties
476      # The following three properties uniquely identify a cookie
477      string name
478      string path
479      string domain
480
481  # Information about a request that is affected by an inspector issue.
482  type AffectedRequest extends object
483    properties
484      # The unique request id.
485      Network.RequestId requestId
486      optional string url
487
488  # Information about the frame affected by an inspector issue.
489  type AffectedFrame extends object
490    properties
491      Page.FrameId frameId
492
493  type SameSiteCookieExclusionReason extends string
494    enum
495      ExcludeSameSiteUnspecifiedTreatedAsLax
496      ExcludeSameSiteNoneInsecure
497      ExcludeSameSiteLax
498      ExcludeSameSiteStrict
499
500  type SameSiteCookieWarningReason extends string
501    enum
502      WarnSameSiteUnspecifiedCrossSiteContext
503      WarnSameSiteNoneInsecure
504      WarnSameSiteUnspecifiedLaxAllowUnsafe
505      WarnSameSiteStrictLaxDowngradeStrict
506      WarnSameSiteStrictCrossDowngradeStrict
507      WarnSameSiteStrictCrossDowngradeLax
508      WarnSameSiteLaxCrossDowngradeStrict
509      WarnSameSiteLaxCrossDowngradeLax
510
511  type SameSiteCookieOperation extends string
512    enum
513      SetCookie
514      ReadCookie
515
516  # This information is currently necessary, as the front-end has a difficult
517  # time finding a specific cookie. With this, we can convey specific error
518  # information without the cookie.
519  type SameSiteCookieIssueDetails extends object
520    properties
521      AffectedCookie cookie
522      array of SameSiteCookieWarningReason cookieWarningReasons
523      array of SameSiteCookieExclusionReason cookieExclusionReasons
524      # Optionally identifies the site-for-cookies and the cookie url, which
525      # may be used by the front-end as additional context.
526      SameSiteCookieOperation operation
527      optional string siteForCookies
528      optional string cookieUrl
529      optional AffectedRequest request
530
531  type MixedContentResolutionStatus extends string
532    enum
533      MixedContentBlocked
534      MixedContentAutomaticallyUpgraded
535      MixedContentWarning
536
537  type MixedContentResourceType extends string
538    enum
539      Audio
540      Beacon
541      CSPReport
542      Download
543      EventSource
544      Favicon
545      Font
546      Form
547      Frame
548      Image
549      Import
550      Manifest
551      Ping
552      PluginData
553      PluginResource
554      Prefetch
555      Resource
556      Script
557      ServiceWorker
558      SharedWorker
559      Stylesheet
560      Track
561      Video
562      Worker
563      XMLHttpRequest
564      XSLT
565
566  type MixedContentIssueDetails extends object
567    properties
568      # The type of resource causing the mixed content issue (css, js, iframe,
569      # form,...). Marked as optional because it is mapped to from
570      # blink::mojom::RequestContextType, which will be replaced
571      # by network::mojom::RequestDestination
572      optional MixedContentResourceType resourceType
573      # The way the mixed content issue is being resolved.
574      MixedContentResolutionStatus resolutionStatus
575      # The unsafe http url causing the mixed content issue.
576      string insecureURL
577      # The url responsible for the call to an unsafe url.
578      string mainResourceURL
579      # The mixed content request.
580      # Does not always exist (e.g. for unsafe form submission urls).
581      optional AffectedRequest request
582      # Optional because not every mixed content issue is necessarily linked to a frame.
583      optional AffectedFrame frame
584
585  # Enum indicating the reason a response has been blocked. These reasons are
586  # refinements of the net error BLOCKED_BY_RESPONSE.
587  type BlockedByResponseReason extends string
588    enum
589      CoepFrameResourceNeedsCoepHeader
590      CoopSandboxedIFrameCannotNavigateToCoopPage
591      CorpNotSameOrigin
592      CorpNotSameOriginAfterDefaultedToSameOriginByCoep
593      CorpNotSameSite
594
595  # Details for a request that has been blocked with the BLOCKED_BY_RESPONSE
596  # code. Currently only used for COEP/COOP, but may be extended to include
597  # some CSP errors in the future.
598  type BlockedByResponseIssueDetails extends object
599    properties
600      AffectedRequest request
601      optional AffectedFrame parentFrame
602      optional AffectedFrame blockedFrame
603      BlockedByResponseReason reason
604
605  type HeavyAdResolutionStatus extends string
606    enum
607      HeavyAdBlocked
608      HeavyAdWarning
609
610  type HeavyAdReason extends string
611    enum
612      NetworkTotalLimit
613      CpuTotalLimit
614      CpuPeakLimit
615
616  type HeavyAdIssueDetails extends object
617    properties
618      # The resolution status, either blocking the content or warning.
619      HeavyAdResolutionStatus resolution
620      # The reason the ad was blocked, total network or cpu or peak cpu.
621      HeavyAdReason reason
622      # The frame that was blocked.
623      AffectedFrame frame
624
625  type ContentSecurityPolicyViolationType extends string
626    enum
627      kInlineViolation
628      kEvalViolation
629      kURLViolation
630      kTrustedTypesSinkViolation
631      kTrustedTypesPolicyViolation
632
633  type SourceCodeLocation extends object
634    properties
635      string url
636      integer lineNumber
637      integer columnNumber
638
639  type ContentSecurityPolicyIssueDetails extends object
640    properties
641      # The url not included in allowed sources.
642      optional string blockedURL
643      # Specific directive that is violated, causing the CSP issue.
644      string violatedDirective
645      boolean isReportOnly
646      ContentSecurityPolicyViolationType contentSecurityPolicyViolationType
647      optional AffectedFrame frameAncestor
648      optional SourceCodeLocation sourceCodeLocation
649      optional DOM.BackendNodeId violatingNodeId
650
651  # A unique identifier for the type of issue. Each type may use one of the
652  # optional fields in InspectorIssueDetails to convey more specific
653  # information about the kind of issue.
654  type InspectorIssueCode extends string
655    enum
656      SameSiteCookieIssue
657      MixedContentIssue
658      BlockedByResponseIssue
659      HeavyAdIssue
660      ContentSecurityPolicyIssue
661
662  # This struct holds a list of optional fields with additional information
663  # specific to the kind of issue. When adding a new issue code, please also
664  # add a new optional field to this type.
665  type InspectorIssueDetails extends object
666    properties
667      optional SameSiteCookieIssueDetails sameSiteCookieIssueDetails
668      optional MixedContentIssueDetails mixedContentIssueDetails
669      optional BlockedByResponseIssueDetails blockedByResponseIssueDetails
670      optional HeavyAdIssueDetails heavyAdIssueDetails
671      optional ContentSecurityPolicyIssueDetails contentSecurityPolicyIssueDetails
672
673  # An inspector issue reported from the back-end.
674  type InspectorIssue extends object
675    properties
676      InspectorIssueCode code
677      InspectorIssueDetails details
678
679  # Returns the response body and size if it were re-encoded with the specified settings. Only
680  # applies to images.
681  command getEncodedResponse
682    parameters
683      # Identifier of the network request to get content for.
684      Network.RequestId requestId
685      # The encoding to use.
686      enum encoding
687        webp
688        jpeg
689        png
690      # The quality of the encoding (0-1). (defaults to 1)
691      optional number quality
692      # Whether to only return the size information (defaults to false).
693      optional boolean sizeOnly
694    returns
695      # The encoded body as a base64 string. Omitted if sizeOnly is true.
696      optional binary body
697      # Size before re-encoding.
698      integer originalSize
699      # Size after re-encoding.
700      integer encodedSize
701
702  # Disables issues domain, prevents further issues from being reported to the client.
703  command disable
704
705  # Enables issues domain, sends the issues collected so far to the client by means of the
706  # `issueAdded` event.
707  command enable
708
709  event issueAdded
710    parameters
711      InspectorIssue issue
712
713# Defines events for background web platform features.
714experimental domain BackgroundService
715  # The Background Service that will be associated with the commands/events.
716  # Every Background Service operates independently, but they share the same
717  # API.
718  type ServiceName extends string
719    enum
720      backgroundFetch
721      backgroundSync
722      pushMessaging
723      notifications
724      paymentHandler
725      periodicBackgroundSync
726
727  # Enables event updates for the service.
728  command startObserving
729    parameters
730      ServiceName service
731
732  # Disables event updates for the service.
733  command stopObserving
734    parameters
735      ServiceName service
736
737  # Set the recording state for the service.
738  command setRecording
739    parameters
740      boolean shouldRecord
741      ServiceName service
742
743  # Clears all stored data for the service.
744  command clearEvents
745    parameters
746      ServiceName service
747
748  # Called when the recording state for the service has been updated.
749  event recordingStateChanged
750    parameters
751      boolean isRecording
752      ServiceName service
753
754  # A key-value pair for additional event information to pass along.
755  type EventMetadata extends object
756    properties
757      string key
758      string value
759
760  type BackgroundServiceEvent extends object
761    properties
762      # Timestamp of the event (in seconds).
763      Network.TimeSinceEpoch timestamp
764      # The origin this event belongs to.
765      string origin
766      # The Service Worker ID that initiated the event.
767      ServiceWorker.RegistrationID serviceWorkerRegistrationId
768      # The Background Service this event belongs to.
769      ServiceName service
770      # A description of the event.
771      string eventName
772      # An identifier that groups related events together.
773      string instanceId
774      # A list of event-specific information.
775      array of EventMetadata eventMetadata
776
777  # Called with all existing backgroundServiceEvents when enabled, and all new
778  # events afterwards if enabled and recording.
779  event backgroundServiceEventReceived
780    parameters
781      BackgroundServiceEvent backgroundServiceEvent
782
783# The Browser domain defines methods and events for browser managing.
784domain Browser
785  experimental type BrowserContextID extends string
786  experimental type WindowID extends integer
787
788  # The state of the browser window.
789  experimental type WindowState extends string
790    enum
791      normal
792      minimized
793      maximized
794      fullscreen
795
796  # Browser window bounds information
797  experimental type Bounds extends object
798    properties
799      # The offset from the left edge of the screen to the window in pixels.
800      optional integer left
801      # The offset from the top edge of the screen to the window in pixels.
802      optional integer top
803      # The window width in pixels.
804      optional integer width
805      # The window height in pixels.
806      optional integer height
807      # The window state. Default to normal.
808      optional WindowState windowState
809
810  experimental type PermissionType extends string
811    enum
812      accessibilityEvents
813      audioCapture
814      backgroundSync
815      backgroundFetch
816      clipboardReadWrite
817      clipboardSanitizedWrite
818      durableStorage
819      flash
820      geolocation
821      midi
822      midiSysex
823      nfc
824      notifications
825      paymentHandler
826      periodicBackgroundSync
827      protectedMediaIdentifier
828      sensors
829      videoCapture
830      videoCapturePanTiltZoom
831      idleDetection
832      wakeLockScreen
833      wakeLockSystem
834
835  experimental type PermissionSetting extends string
836    enum
837      granted
838      denied
839      prompt
840
841  # Definition of PermissionDescriptor defined in the Permissions API:
842  # https://w3c.github.io/permissions/#dictdef-permissiondescriptor.
843  experimental type PermissionDescriptor extends object
844    properties
845      # Name of permission.
846      # See https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names.
847      string name
848      # For "midi" permission, may also specify sysex control.
849      optional boolean sysex
850      # For "push" permission, may specify userVisibleOnly.
851      # Note that userVisibleOnly = true is the only currently supported type.
852      optional boolean userVisibleOnly
853      # For "clipboard" permission, may specify allowWithoutSanitization.
854      optional boolean allowWithoutSanitization
855      # For "camera" permission, may specify panTiltZoom.
856      optional boolean panTiltZoom
857
858  # Browser command ids used by executeBrowserCommand.
859  experimental type BrowserCommandId extends string
860    enum
861      openTabSearch
862      closeTabSearch
863
864  # Set permission settings for given origin.
865  experimental command setPermission
866    parameters
867      # Descriptor of permission to override.
868      PermissionDescriptor permission
869      # Setting of the permission.
870      PermissionSetting setting
871      # Origin the permission applies to, all origins if not specified.
872      optional string origin
873      # Context to override. When omitted, default browser context is used.
874      optional BrowserContextID browserContextId
875
876  # Grant specific permissions to the given origin and reject all others.
877  experimental command grantPermissions
878    parameters
879      array of PermissionType permissions
880      # Origin the permission applies to, all origins if not specified.
881      optional string origin
882      # BrowserContext to override permissions. When omitted, default browser context is used.
883      optional BrowserContextID browserContextId
884
885  # Reset all permission management for all origins.
886  experimental command resetPermissions
887    parameters
888      # BrowserContext to reset permissions. When omitted, default browser context is used.
889      optional BrowserContextID browserContextId
890
891  # Set the behavior when downloading a file.
892  experimental command setDownloadBehavior
893    parameters
894      # Whether to allow all or deny all download requests, or use default Chrome behavior if
895      # available (otherwise deny). |allowAndName| allows download and names files according to
896      # their dowmload guids.
897      enum behavior
898        deny
899        allow
900        allowAndName
901        default
902      # BrowserContext to set download behavior. When omitted, default browser context is used.
903      optional BrowserContextID browserContextId
904      # The default path to save downloaded files to. This is requred if behavior is set to 'allow'
905      # or 'allowAndName'.
906      optional string downloadPath
907
908  # Close browser gracefully.
909  command close
910
911  # Crashes browser on the main thread.
912  experimental command crash
913
914  # Crashes GPU process.
915  experimental command crashGpuProcess
916
917  # Returns version information.
918  command getVersion
919    returns
920      # Protocol version.
921      string protocolVersion
922      # Product name.
923      string product
924      # Product revision.
925      string revision
926      # User-Agent.
927      string userAgent
928      # V8 version.
929      string jsVersion
930
931  # Returns the command line switches for the browser process if, and only if
932  # --enable-automation is on the commandline.
933  experimental command getBrowserCommandLine
934    returns
935      # Commandline parameters
936      array of string arguments
937
938  # Chrome histogram bucket.
939  experimental type Bucket extends object
940    properties
941      # Minimum value (inclusive).
942      integer low
943      # Maximum value (exclusive).
944      integer high
945      # Number of samples.
946      integer count
947
948  # Chrome histogram.
949  experimental type Histogram extends object
950    properties
951      # Name.
952      string name
953      # Sum of sample values.
954      integer sum
955      # Total number of samples.
956      integer count
957      # Buckets.
958      array of Bucket buckets
959
960  # Get Chrome histograms.
961  experimental command getHistograms
962    parameters
963      # Requested substring in name. Only histograms which have query as a
964      # substring in their name are extracted. An empty or absent query returns
965      # all histograms.
966      optional string query
967      # If true, retrieve delta since last call.
968      optional boolean delta
969
970    returns
971      # Histograms.
972      array of Histogram histograms
973
974  # Get a Chrome histogram by name.
975  experimental command getHistogram
976    parameters
977      # Requested histogram name.
978      string name
979      # If true, retrieve delta since last call.
980      optional boolean delta
981    returns
982      # Histogram.
983      Histogram histogram
984
985  # Get position and size of the browser window.
986  experimental command getWindowBounds
987    parameters
988      # Browser window id.
989      WindowID windowId
990    returns
991      # Bounds information of the window. When window state is 'minimized', the restored window
992      # position and size are returned.
993      Bounds bounds
994
995  # Get the browser window that contains the devtools target.
996  experimental command getWindowForTarget
997    parameters
998      # Devtools agent host id. If called as a part of the session, associated targetId is used.
999      optional Target.TargetID targetId
1000    returns
1001      # Browser window id.
1002      WindowID windowId
1003      # Bounds information of the window. When window state is 'minimized', the restored window
1004      # position and size are returned.
1005      Bounds bounds
1006
1007  # Set position and/or size of the browser window.
1008  experimental command setWindowBounds
1009    parameters
1010      # Browser window id.
1011      WindowID windowId
1012      # New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined
1013      # with 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged.
1014      Bounds bounds
1015
1016  # Set dock tile details, platform-specific.
1017  experimental command setDockTile
1018    parameters
1019      optional string badgeLabel
1020      # Png encoded image.
1021      optional binary image
1022
1023  # Invoke custom browser commands used by telemetry.
1024  experimental command executeBrowserCommand
1025    parameters
1026      BrowserCommandId commandId
1027
1028# This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles)
1029# have an associated `id` used in subsequent operations on the related object. Each object type has
1030# a specific `id` structure, and those are not interchangeable between objects of different kinds.
1031# CSS objects can be loaded using the `get*ForNode()` calls (which accept a DOM node id). A client
1032# can also keep track of stylesheets via the `styleSheetAdded`/`styleSheetRemoved` events and
1033# subsequently load the required stylesheet contents using the `getStyleSheet[Text]()` methods.
1034experimental domain CSS
1035  depends on DOM
1036  depends on Page
1037
1038  type StyleSheetId extends string
1039
1040  # Stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent
1041  # stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via
1042  # inspector" rules), "regular" for regular stylesheets.
1043  type StyleSheetOrigin extends string
1044    enum
1045      injected
1046      user-agent
1047      inspector
1048      regular
1049
1050  # CSS rule collection for a single pseudo style.
1051  type PseudoElementMatches extends object
1052    properties
1053      # Pseudo element type.
1054      DOM.PseudoType pseudoType
1055      # Matches of CSS rules applicable to the pseudo style.
1056      array of RuleMatch matches
1057
1058  # Inherited CSS rule collection from ancestor node.
1059  type InheritedStyleEntry extends object
1060    properties
1061      # The ancestor node's inline style, if any, in the style inheritance chain.
1062      optional CSSStyle inlineStyle
1063      # Matches of CSS rules matching the ancestor node in the style inheritance chain.
1064      array of RuleMatch matchedCSSRules
1065
1066  # Match data for a CSS rule.
1067  type RuleMatch extends object
1068    properties
1069      # CSS rule in the match.
1070      CSSRule rule
1071      # Matching selector indices in the rule's selectorList selectors (0-based).
1072      array of integer matchingSelectors
1073
1074  # Data for a simple selector (these are delimited by commas in a selector list).
1075  type Value extends object
1076    properties
1077      # Value text.
1078      string text
1079      # Value range in the underlying resource (if available).
1080      optional SourceRange range
1081
1082  # Selector list data.
1083  type SelectorList extends object
1084    properties
1085      # Selectors in the list.
1086      array of Value selectors
1087      # Rule selector text.
1088      string text
1089
1090  # CSS stylesheet metainformation.
1091  type CSSStyleSheetHeader extends object
1092    properties
1093      # The stylesheet identifier.
1094      StyleSheetId styleSheetId
1095      # Owner frame identifier.
1096      Page.FrameId frameId
1097      # Stylesheet resource URL.
1098      string sourceURL
1099      # URL of source map associated with the stylesheet (if any).
1100      optional string sourceMapURL
1101      # Stylesheet origin.
1102      StyleSheetOrigin origin
1103      # Stylesheet title.
1104      string title
1105      # The backend id for the owner node of the stylesheet.
1106      optional DOM.BackendNodeId ownerNode
1107      # Denotes whether the stylesheet is disabled.
1108      boolean disabled
1109      # Whether the sourceURL field value comes from the sourceURL comment.
1110      optional boolean hasSourceURL
1111      # Whether this stylesheet is created for STYLE tag by parser. This flag is not set for
1112      # document.written STYLE tags.
1113      boolean isInline
1114      # Whether this stylesheet is mutable. Inline stylesheets become mutable
1115      # after they have been modified via CSSOM API.
1116      # <link> element's stylesheets become mutable only if DevTools modifies them.
1117      # Constructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation.
1118      boolean isMutable
1119      # Whether this stylesheet is a constructed stylesheet (created using new CSSStyleSheet()).
1120      boolean isConstructed
1121      # Line offset of the stylesheet within the resource (zero based).
1122      number startLine
1123      # Column offset of the stylesheet within the resource (zero based).
1124      number startColumn
1125      # Size of the content (in characters).
1126      number length
1127      # Line offset of the end of the stylesheet within the resource (zero based).
1128      number endLine
1129      # Column offset of the end of the stylesheet within the resource (zero based).
1130      number endColumn
1131
1132  # CSS rule representation.
1133  type CSSRule extends object
1134    properties
1135      # The css style sheet identifier (absent for user agent stylesheet and user-specified
1136      # stylesheet rules) this rule came from.
1137      optional StyleSheetId styleSheetId
1138      # Rule selector data.
1139      SelectorList selectorList
1140      # Parent stylesheet's origin.
1141      StyleSheetOrigin origin
1142      # Associated style declaration.
1143      CSSStyle style
1144      # Media list array (for rules involving media queries). The array enumerates media queries
1145      # starting with the innermost one, going outwards.
1146      optional array of CSSMedia media
1147
1148  # CSS coverage information.
1149  type RuleUsage extends object
1150    properties
1151      # The css style sheet identifier (absent for user agent stylesheet and user-specified
1152      # stylesheet rules) this rule came from.
1153      StyleSheetId styleSheetId
1154      # Offset of the start of the rule (including selector) from the beginning of the stylesheet.
1155      number startOffset
1156      # Offset of the end of the rule body from the beginning of the stylesheet.
1157      number endOffset
1158      # Indicates whether the rule was actually used by some element in the page.
1159      boolean used
1160
1161  # Text range within a resource. All numbers are zero-based.
1162  type SourceRange extends object
1163    properties
1164      # Start line of range.
1165      integer startLine
1166      # Start column of range (inclusive).
1167      integer startColumn
1168      # End line of range
1169      integer endLine
1170      # End column of range (exclusive).
1171      integer endColumn
1172
1173  type ShorthandEntry extends object
1174    properties
1175      # Shorthand name.
1176      string name
1177      # Shorthand value.
1178      string value
1179      # Whether the property has "!important" annotation (implies `false` if absent).
1180      optional boolean important
1181
1182  type CSSComputedStyleProperty extends object
1183    properties
1184      # Computed style property name.
1185      string name
1186      # Computed style property value.
1187      string value
1188
1189  # CSS style representation.
1190  type CSSStyle extends object
1191    properties
1192      # The css style sheet identifier (absent for user agent stylesheet and user-specified
1193      # stylesheet rules) this rule came from.
1194      optional StyleSheetId styleSheetId
1195      # CSS properties in the style.
1196      array of CSSProperty cssProperties
1197      # Computed values for all shorthands found in the style.
1198      array of ShorthandEntry shorthandEntries
1199      # Style declaration text (if available).
1200      optional string cssText
1201      # Style declaration range in the enclosing stylesheet (if available).
1202      optional SourceRange range
1203
1204  # CSS property declaration data.
1205  type CSSProperty extends object
1206    properties
1207      # The property name.
1208      string name
1209      # The property value.
1210      string value
1211      # Whether the property has "!important" annotation (implies `false` if absent).
1212      optional boolean important
1213      # Whether the property is implicit (implies `false` if absent).
1214      optional boolean implicit
1215      # The full property text as specified in the style.
1216      optional string text
1217      # Whether the property is understood by the browser (implies `true` if absent).
1218      optional boolean parsedOk
1219      # Whether the property is disabled by the user (present for source-based properties only).
1220      optional boolean disabled
1221      # The entire property range in the enclosing style declaration (if available).
1222      optional SourceRange range
1223
1224  # CSS media rule descriptor.
1225  type CSSMedia extends object
1226    properties
1227      # Media query text.
1228      string text
1229      # Source of the media query: "mediaRule" if specified by a @media rule, "importRule" if
1230      # specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked
1231      # stylesheet's LINK tag, "inlineSheet" if specified by a "media" attribute in an inline
1232      # stylesheet's STYLE tag.
1233      enum source
1234        mediaRule
1235        importRule
1236        linkedSheet
1237        inlineSheet
1238      # URL of the document containing the media query description.
1239      optional string sourceURL
1240      # The associated rule (@media or @import) header range in the enclosing stylesheet (if
1241      # available).
1242      optional SourceRange range
1243      # Identifier of the stylesheet containing this object (if exists).
1244      optional StyleSheetId styleSheetId
1245      # Array of media queries.
1246      optional array of MediaQuery mediaList
1247
1248  # Media query descriptor.
1249  type MediaQuery extends object
1250    properties
1251      # Array of media query expressions.
1252      array of MediaQueryExpression expressions
1253      # Whether the media query condition is satisfied.
1254      boolean active
1255
1256  # Media query expression descriptor.
1257  type MediaQueryExpression extends object
1258    properties
1259      # Media query expression value.
1260      number value
1261      # Media query expression units.
1262      string unit
1263      # Media query expression feature.
1264      string feature
1265      # The associated range of the value text in the enclosing stylesheet (if available).
1266      optional SourceRange valueRange
1267      # Computed length of media query expression (if applicable).
1268      optional number computedLength
1269
1270  # Information about amount of glyphs that were rendered with given font.
1271  type PlatformFontUsage extends object
1272    properties
1273      # Font's family name reported by platform.
1274      string familyName
1275      # Indicates if the font was downloaded or resolved locally.
1276      boolean isCustomFont
1277      # Amount of glyphs that were rendered with this font.
1278      number glyphCount
1279
1280  # Information about font variation axes for variable fonts
1281  type FontVariationAxis extends object
1282    properties
1283      # The font-variation-setting tag (a.k.a. "axis tag").
1284      string tag
1285      # Human-readable variation name in the default language (normally, "en").
1286      string name
1287      # The minimum value (inclusive) the font supports for this tag.
1288      number minValue
1289      # The maximum value (inclusive) the font supports for this tag.
1290      number maxValue
1291      # The default value.
1292      number defaultValue
1293
1294  # Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions
1295  # and additional information such as platformFontFamily and fontVariationAxes.
1296  type FontFace extends object
1297    properties
1298      # The font-family.
1299      string fontFamily
1300      # The font-style.
1301      string fontStyle
1302      # The font-variant.
1303      string fontVariant
1304      # The font-weight.
1305      string fontWeight
1306      # The font-stretch.
1307      string fontStretch
1308      # The unicode-range.
1309      string unicodeRange
1310      # The src.
1311      string src
1312      # The resolved platform font family
1313      string platformFontFamily
1314      # Available variation settings (a.k.a. "axes").
1315      optional array of FontVariationAxis fontVariationAxes
1316
1317  # CSS keyframes rule representation.
1318  type CSSKeyframesRule extends object
1319    properties
1320      # Animation name.
1321      Value animationName
1322      # List of keyframes.
1323      array of CSSKeyframeRule keyframes
1324
1325  # CSS keyframe rule representation.
1326  type CSSKeyframeRule extends object
1327    properties
1328      # The css style sheet identifier (absent for user agent stylesheet and user-specified
1329      # stylesheet rules) this rule came from.
1330      optional StyleSheetId styleSheetId
1331      # Parent stylesheet's origin.
1332      StyleSheetOrigin origin
1333      # Associated key text.
1334      Value keyText
1335      # Associated style declaration.
1336      CSSStyle style
1337
1338  # A descriptor of operation to mutate style declaration text.
1339  type StyleDeclarationEdit extends object
1340    properties
1341      # The css style sheet identifier.
1342      StyleSheetId styleSheetId
1343      # The range of the style text in the enclosing stylesheet.
1344      SourceRange range
1345      # New style text.
1346      string text
1347
1348  # Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the
1349  # position specified by `location`.
1350  command addRule
1351    parameters
1352      # The css style sheet identifier where a new rule should be inserted.
1353      StyleSheetId styleSheetId
1354      # The text of a new rule.
1355      string ruleText
1356      # Text position of a new rule in the target style sheet.
1357      SourceRange location
1358    returns
1359      # The newly created rule.
1360      CSSRule rule
1361
1362  # Returns all class names from specified stylesheet.
1363  command collectClassNames
1364    parameters
1365      StyleSheetId styleSheetId
1366    returns
1367      # Class name list.
1368      array of string classNames
1369
1370  # Creates a new special "via-inspector" stylesheet in the frame with given `frameId`.
1371  command createStyleSheet
1372    parameters
1373      # Identifier of the frame where "via-inspector" stylesheet should be created.
1374      Page.FrameId frameId
1375    returns
1376      # Identifier of the created "via-inspector" stylesheet.
1377      StyleSheetId styleSheetId
1378
1379  # Disables the CSS agent for the given page.
1380  command disable
1381
1382  # Enables the CSS agent for the given page. Clients should not assume that the CSS agent has been
1383  # enabled until the result of this command is received.
1384  command enable
1385
1386  # Ensures that the given node will have specified pseudo-classes whenever its style is computed by
1387  # the browser.
1388  command forcePseudoState
1389    parameters
1390      # The element id for which to force the pseudo state.
1391      DOM.NodeId nodeId
1392      # Element pseudo classes to force when computing the element's style.
1393      array of string forcedPseudoClasses
1394
1395  command getBackgroundColors
1396    parameters
1397      # Id of the node to get background colors for.
1398      DOM.NodeId nodeId
1399    returns
1400      # The range of background colors behind this element, if it contains any visible text. If no
1401      # visible text is present, this will be undefined. In the case of a flat background color,
1402      # this will consist of simply that color. In the case of a gradient, this will consist of each
1403      # of the color stops. For anything more complicated, this will be an empty array. Images will
1404      # be ignored (as if the image had failed to load).
1405      optional array of string backgroundColors
1406      # The computed font size for this node, as a CSS computed value string (e.g. '12px').
1407      optional string computedFontSize
1408      # The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or
1409      # '100').
1410      optional string computedFontWeight
1411
1412  # Returns the computed style for a DOM node identified by `nodeId`.
1413  command getComputedStyleForNode
1414    parameters
1415      DOM.NodeId nodeId
1416    returns
1417      # Computed style for the specified DOM node.
1418      array of CSSComputedStyleProperty computedStyle
1419
1420  # Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM
1421  # attributes) for a DOM node identified by `nodeId`.
1422  command getInlineStylesForNode
1423    parameters
1424      DOM.NodeId nodeId
1425    returns
1426      # Inline style for the specified DOM node.
1427      optional CSSStyle inlineStyle
1428      # Attribute-defined element style (e.g. resulting from "width=20 height=100%").
1429      optional CSSStyle attributesStyle
1430
1431  # Returns requested styles for a DOM node identified by `nodeId`.
1432  command getMatchedStylesForNode
1433    parameters
1434      DOM.NodeId nodeId
1435    returns
1436      # Inline style for the specified DOM node.
1437      optional CSSStyle inlineStyle
1438      # Attribute-defined element style (e.g. resulting from "width=20 height=100%").
1439      optional CSSStyle attributesStyle
1440      # CSS rules matching this node, from all applicable stylesheets.
1441      optional array of RuleMatch matchedCSSRules
1442      # Pseudo style matches for this node.
1443      optional array of PseudoElementMatches pseudoElements
1444      # A chain of inherited styles (from the immediate node parent up to the DOM tree root).
1445      optional array of InheritedStyleEntry inherited
1446      # A list of CSS keyframed animations matching this node.
1447      optional array of CSSKeyframesRule cssKeyframesRules
1448
1449  # Returns all media queries parsed by the rendering engine.
1450  command getMediaQueries
1451    returns
1452      array of CSSMedia medias
1453
1454  # Requests information about platform fonts which we used to render child TextNodes in the given
1455  # node.
1456  command getPlatformFontsForNode
1457    parameters
1458      DOM.NodeId nodeId
1459    returns
1460      # Usage statistics for every employed platform font.
1461      array of PlatformFontUsage fonts
1462
1463  # Returns the current textual content for a stylesheet.
1464  command getStyleSheetText
1465    parameters
1466      StyleSheetId styleSheetId
1467    returns
1468      # The stylesheet text.
1469      string text
1470
1471  # Starts tracking the given computed styles for updates. The specified array of properties
1472  # replaces the one previously specified. Pass empty array to disable tracking.
1473  # Use takeComputedStyleUpdates to retrieve the list of nodes that had properties modified.
1474  # The changes to computed style properties are only tracked for nodes pushed to the front-end
1475  # by the DOM agent. If no changes to the tracked properties occur after the node has been pushed
1476  # to the front-end, no updates will be issued for the node.
1477  experimental command trackComputedStyleUpdates
1478    parameters
1479      array of CSSComputedStyleProperty propertiesToTrack
1480
1481  # Polls the next batch of computed style updates.
1482  experimental command takeComputedStyleUpdates
1483    returns
1484      # The list of node Ids that have their tracked computed styles updated
1485      array of DOM.NodeId nodeIds
1486
1487  # Find a rule with the given active property for the given node and set the new value for this
1488  # property
1489  command setEffectivePropertyValueForNode
1490    parameters
1491      # The element id for which to set property.
1492      DOM.NodeId nodeId
1493      string propertyName
1494      string value
1495
1496  # Modifies the keyframe rule key text.
1497  command setKeyframeKey
1498    parameters
1499      StyleSheetId styleSheetId
1500      SourceRange range
1501      string keyText
1502    returns
1503      # The resulting key text after modification.
1504      Value keyText
1505
1506  # Modifies the rule selector.
1507  command setMediaText
1508    parameters
1509      StyleSheetId styleSheetId
1510      SourceRange range
1511      string text
1512    returns
1513      # The resulting CSS media rule after modification.
1514      CSSMedia media
1515
1516  # Modifies the rule selector.
1517  command setRuleSelector
1518    parameters
1519      StyleSheetId styleSheetId
1520      SourceRange range
1521      string selector
1522    returns
1523      # The resulting selector list after modification.
1524      SelectorList selectorList
1525
1526  # Sets the new stylesheet text.
1527  command setStyleSheetText
1528    parameters
1529      StyleSheetId styleSheetId
1530      string text
1531    returns
1532      # URL of source map associated with script (if any).
1533      optional string sourceMapURL
1534
1535  # Applies specified style edits one after another in the given order.
1536  command setStyleTexts
1537    parameters
1538      array of StyleDeclarationEdit edits
1539    returns
1540      # The resulting styles after modification.
1541      array of CSSStyle styles
1542
1543  # Enables the selector recording.
1544  command startRuleUsageTracking
1545
1546  # Stop tracking rule usage and return the list of rules that were used since last call to
1547  # `takeCoverageDelta` (or since start of coverage instrumentation)
1548  command stopRuleUsageTracking
1549    returns
1550      array of RuleUsage ruleUsage
1551
1552  # Obtain list of rules that became used since last call to this method (or since start of coverage
1553  # instrumentation)
1554  command takeCoverageDelta
1555    returns
1556      array of RuleUsage coverage
1557      # Monotonically increasing time, in seconds.
1558      number timestamp
1559
1560  # Enables/disables rendering of local CSS fonts (enabled by default).
1561  experimental command setLocalFontsEnabled
1562    parameters
1563      # Whether rendering of local fonts is enabled.
1564      boolean enabled
1565
1566  # Fires whenever a web font is updated.  A non-empty font parameter indicates a successfully loaded
1567  # web font
1568  event fontsUpdated
1569    parameters
1570      # The web font that has loaded.
1571      optional FontFace font
1572
1573  # Fires whenever a MediaQuery result changes (for example, after a browser window has been
1574  # resized.) The current implementation considers only viewport-dependent media features.
1575  event mediaQueryResultChanged
1576
1577  # Fired whenever an active document stylesheet is added.
1578  event styleSheetAdded
1579    parameters
1580      # Added stylesheet metainfo.
1581      CSSStyleSheetHeader header
1582
1583  # Fired whenever a stylesheet is changed as a result of the client operation.
1584  event styleSheetChanged
1585    parameters
1586      StyleSheetId styleSheetId
1587
1588  # Fired whenever an active document stylesheet is removed.
1589  event styleSheetRemoved
1590    parameters
1591      # Identifier of the removed stylesheet.
1592      StyleSheetId styleSheetId
1593
1594experimental domain CacheStorage
1595
1596  # Unique identifier of the Cache object.
1597  type CacheId extends string
1598
1599  # type of HTTP response cached
1600  type CachedResponseType extends string
1601    enum
1602      basic
1603      cors
1604      default
1605      error
1606      opaqueResponse
1607      opaqueRedirect
1608
1609  # Data entry.
1610  type DataEntry extends object
1611    properties
1612      # Request URL.
1613      string requestURL
1614      # Request method.
1615      string requestMethod
1616      # Request headers
1617      array of Header requestHeaders
1618      # Number of seconds since epoch.
1619      number responseTime
1620      # HTTP response status code.
1621      integer responseStatus
1622      # HTTP response status text.
1623      string responseStatusText
1624      # HTTP response type
1625      CachedResponseType responseType
1626      # Response headers
1627      array of Header responseHeaders
1628
1629  # Cache identifier.
1630  type Cache extends object
1631    properties
1632      # An opaque unique id of the cache.
1633      CacheId cacheId
1634      # Security origin of the cache.
1635      string securityOrigin
1636      # The name of the cache.
1637      string cacheName
1638
1639  type Header extends object
1640    properties
1641      string name
1642      string value
1643
1644  # Cached response
1645  type CachedResponse extends object
1646    properties
1647      # Entry content, base64-encoded.
1648      binary body
1649
1650  # Deletes a cache.
1651  command deleteCache
1652    parameters
1653      # Id of cache for deletion.
1654      CacheId cacheId
1655
1656  # Deletes a cache entry.
1657  command deleteEntry
1658    parameters
1659      # Id of cache where the entry will be deleted.
1660      CacheId cacheId
1661      # URL spec of the request.
1662      string request
1663
1664  # Requests cache names.
1665  command requestCacheNames
1666    parameters
1667      # Security origin.
1668      string securityOrigin
1669    returns
1670      # Caches for the security origin.
1671      array of Cache caches
1672
1673  # Fetches cache entry.
1674  command requestCachedResponse
1675    parameters
1676      # Id of cache that contains the entry.
1677      CacheId cacheId
1678      # URL spec of the request.
1679      string requestURL
1680      # headers of the request.
1681      array of Header requestHeaders
1682    returns
1683      # Response read from the cache.
1684      CachedResponse response
1685
1686  # Requests data from cache.
1687  command requestEntries
1688    parameters
1689      # ID of cache to get entries from.
1690      CacheId cacheId
1691      # Number of records to skip.
1692      optional integer skipCount
1693      # Number of records to fetch.
1694      optional integer pageSize
1695      # If present, only return the entries containing this substring in the path
1696      optional string pathFilter
1697    returns
1698      # Array of object store data entries.
1699      array of DataEntry cacheDataEntries
1700      # Count of returned entries from this storage. If pathFilter is empty, it
1701      # is the count of all entries from this storage.
1702      number returnCount
1703
1704# A domain for interacting with Cast, Presentation API, and Remote Playback API
1705# functionalities.
1706experimental domain Cast
1707
1708  type Sink extends object
1709    properties
1710      string name
1711      string id
1712      # Text describing the current session. Present only if there is an active
1713      # session on the sink.
1714      optional string session
1715
1716  # Starts observing for sinks that can be used for tab mirroring, and if set,
1717  # sinks compatible with |presentationUrl| as well. When sinks are found, a
1718  # |sinksUpdated| event is fired.
1719  # Also starts observing for issue messages. When an issue is added or removed,
1720  # an |issueUpdated| event is fired.
1721  command enable
1722    parameters
1723      optional string presentationUrl
1724
1725  # Stops observing for sinks and issues.
1726  command disable
1727
1728  # Sets a sink to be used when the web page requests the browser to choose a
1729  # sink via Presentation API, Remote Playback API, or Cast SDK.
1730  command setSinkToUse
1731    parameters
1732      string sinkName
1733
1734  # Starts mirroring the tab to the sink.
1735  command startTabMirroring
1736    parameters
1737      string sinkName
1738
1739  # Stops the active Cast session on the sink.
1740  command stopCasting
1741    parameters
1742      string sinkName
1743
1744  # This is fired whenever the list of available sinks changes. A sink is a
1745  # device or a software surface that you can cast to.
1746  event sinksUpdated
1747    parameters
1748      array of Sink sinks
1749
1750  # This is fired whenever the outstanding issue/error message changes.
1751  # |issueMessage| is empty if there is no issue.
1752  event issueUpdated
1753    parameters
1754      string issueMessage
1755
1756
1757# This domain exposes DOM read/write operations. Each DOM Node is represented with its mirror object
1758# that has an `id`. This `id` can be used to get additional information on the Node, resolve it into
1759# the JavaScript object wrapper, etc. It is important that client receives DOM events only for the
1760# nodes that are known to the client. Backend keeps track of the nodes that were sent to the client
1761# and never sends the same node twice. It is client's responsibility to collect information about
1762# the nodes that were sent to the client.<p>Note that `iframe` owner elements will return
1763# corresponding document elements as their child nodes.</p>
1764domain DOM
1765  depends on Runtime
1766
1767  # Unique DOM node identifier.
1768  type NodeId extends integer
1769
1770  # Unique DOM node identifier used to reference a node that may not have been pushed to the
1771  # front-end.
1772  type BackendNodeId extends integer
1773
1774  # Backend node with a friendly name.
1775  type BackendNode extends object
1776    properties
1777      # `Node`'s nodeType.
1778      integer nodeType
1779      # `Node`'s nodeName.
1780      string nodeName
1781      BackendNodeId backendNodeId
1782
1783  # Pseudo element type.
1784  type PseudoType extends string
1785    enum
1786      first-line
1787      first-letter
1788      before
1789      after
1790      marker
1791      backdrop
1792      selection
1793      target-text
1794      first-line-inherited
1795      scrollbar
1796      scrollbar-thumb
1797      scrollbar-button
1798      scrollbar-track
1799      scrollbar-track-piece
1800      scrollbar-corner
1801      resizer
1802      input-list-button
1803
1804  # Shadow root type.
1805  type ShadowRootType extends string
1806    enum
1807      user-agent
1808      open
1809      closed
1810
1811  # DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes.
1812  # DOMNode is a base node mirror type.
1813  type Node extends object
1814    properties
1815      # Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend
1816      # will only push node with given `id` once. It is aware of all requested nodes and will only
1817      # fire DOM events for nodes known to the client.
1818      NodeId nodeId
1819      # The id of the parent node if any.
1820      optional NodeId parentId
1821      # The BackendNodeId for this node.
1822      BackendNodeId backendNodeId
1823      # `Node`'s nodeType.
1824      integer nodeType
1825      # `Node`'s nodeName.
1826      string nodeName
1827      # `Node`'s localName.
1828      string localName
1829      # `Node`'s nodeValue.
1830      string nodeValue
1831      # Child count for `Container` nodes.
1832      optional integer childNodeCount
1833      # Child nodes of this node when requested with children.
1834      optional array of Node children
1835      # Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.
1836      optional array of string attributes
1837      # Document URL that `Document` or `FrameOwner` node points to.
1838      optional string documentURL
1839      # Base URL that `Document` or `FrameOwner` node uses for URL completion.
1840      optional string baseURL
1841      # `DocumentType`'s publicId.
1842      optional string publicId
1843      # `DocumentType`'s systemId.
1844      optional string systemId
1845      # `DocumentType`'s internalSubset.
1846      optional string internalSubset
1847      # `Document`'s XML version in case of XML documents.
1848      optional string xmlVersion
1849      # `Attr`'s name.
1850      optional string name
1851      # `Attr`'s value.
1852      optional string value
1853      # Pseudo element type for this node.
1854      optional PseudoType pseudoType
1855      # Shadow root type.
1856      optional ShadowRootType shadowRootType
1857      # Frame ID for frame owner elements.
1858      optional Page.FrameId frameId
1859      # Content document for frame owner elements.
1860      optional Node contentDocument
1861      # Shadow root list for given element host.
1862      optional array of Node shadowRoots
1863      # Content document fragment for template elements.
1864      optional Node templateContent
1865      # Pseudo elements associated with this node.
1866      optional array of Node pseudoElements
1867      # Import document for the HTMLImport links.
1868      optional Node importedDocument
1869      # Distributed nodes for given insertion point.
1870      optional array of BackendNode distributedNodes
1871      # Whether the node is SVG.
1872      optional boolean isSVG
1873
1874  # A structure holding an RGBA color.
1875  type RGBA extends object
1876    properties
1877      # The red component, in the [0-255] range.
1878      integer r
1879      # The green component, in the [0-255] range.
1880      integer g
1881      # The blue component, in the [0-255] range.
1882      integer b
1883      # The alpha component, in the [0-1] range (default: 1).
1884      optional number a
1885
1886  # An array of quad vertices, x immediately followed by y for each point, points clock-wise.
1887  type Quad extends array of number
1888
1889  # Box model.
1890  type BoxModel extends object
1891    properties
1892      # Content box
1893      Quad content
1894      # Padding box
1895      Quad padding
1896      # Border box
1897      Quad border
1898      # Margin box
1899      Quad margin
1900      # Node width
1901      integer width
1902      # Node height
1903      integer height
1904      # Shape outside coordinates
1905      optional ShapeOutsideInfo shapeOutside
1906
1907  # CSS Shape Outside details.
1908  type ShapeOutsideInfo extends object
1909    properties
1910      # Shape bounds
1911      Quad bounds
1912      # Shape coordinate details
1913      array of any shape
1914      # Margin shape bounds
1915      array of any marginShape
1916
1917  # Rectangle.
1918  type Rect extends object
1919    properties
1920      # X coordinate
1921      number x
1922      # Y coordinate
1923      number y
1924      # Rectangle width
1925      number width
1926      # Rectangle height
1927      number height
1928
1929  type CSSComputedStyleProperty extends object
1930    properties
1931      # Computed style property name.
1932      string name
1933      # Computed style property value.
1934      string value
1935
1936  # Collects class names for the node with given id and all of it's child nodes.
1937  experimental command collectClassNamesFromSubtree
1938    parameters
1939      # Id of the node to collect class names.
1940      NodeId nodeId
1941    returns
1942      # Class name list.
1943      array of string classNames
1944
1945  # Creates a deep copy of the specified node and places it into the target container before the
1946  # given anchor.
1947  experimental command copyTo
1948    parameters
1949      # Id of the node to copy.
1950      NodeId nodeId
1951      # Id of the element to drop the copy into.
1952      NodeId targetNodeId
1953      # Drop the copy before this node (if absent, the copy becomes the last child of
1954      # `targetNodeId`).
1955      optional NodeId insertBeforeNodeId
1956    returns
1957      # Id of the node clone.
1958      NodeId nodeId
1959
1960  # Describes node given its id, does not require domain to be enabled. Does not start tracking any
1961  # objects, can be used for automation.
1962  command describeNode
1963    parameters
1964      # Identifier of the node.
1965      optional NodeId nodeId
1966      # Identifier of the backend node.
1967      optional BackendNodeId backendNodeId
1968      # JavaScript object id of the node wrapper.
1969      optional Runtime.RemoteObjectId objectId
1970      # The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the
1971      # entire subtree or provide an integer larger than 0.
1972      optional integer depth
1973      # Whether or not iframes and shadow roots should be traversed when returning the subtree
1974      # (default is false).
1975      optional boolean pierce
1976    returns
1977      # Node description.
1978      Node node
1979
1980  # Scrolls the specified rect of the given node into view if not already visible.
1981  # Note: exactly one between nodeId, backendNodeId and objectId should be passed
1982  # to identify the node.
1983  experimental command scrollIntoViewIfNeeded
1984    parameters
1985      # Identifier of the node.
1986      optional NodeId nodeId
1987      # Identifier of the backend node.
1988      optional BackendNodeId backendNodeId
1989      # JavaScript object id of the node wrapper.
1990      optional Runtime.RemoteObjectId objectId
1991      # The rect to be scrolled into view, relative to the node's border box, in CSS pixels.
1992      # When omitted, center of the node will be used, similar to Element.scrollIntoView.
1993      optional Rect rect
1994
1995  # Disables DOM agent for the given page.
1996  command disable
1997
1998  # Discards search results from the session with the given id. `getSearchResults` should no longer
1999  # be called for that search.
2000  experimental command discardSearchResults
2001    parameters
2002      # Unique search session identifier.
2003      string searchId
2004
2005  # Enables DOM agent for the given page.
2006  command enable
2007
2008  # Focuses the given element.
2009  command focus
2010    parameters
2011      # Identifier of the node.
2012      optional NodeId nodeId
2013      # Identifier of the backend node.
2014      optional BackendNodeId backendNodeId
2015      # JavaScript object id of the node wrapper.
2016      optional Runtime.RemoteObjectId objectId
2017
2018  # Returns attributes for the specified node.
2019  command getAttributes
2020    parameters
2021      # Id of the node to retrieve attibutes for.
2022      NodeId nodeId
2023    returns
2024      # An interleaved array of node attribute names and values.
2025      array of string attributes
2026
2027  # Returns boxes for the given node.
2028  command getBoxModel
2029    parameters
2030      # Identifier of the node.
2031      optional NodeId nodeId
2032      # Identifier of the backend node.
2033      optional BackendNodeId backendNodeId
2034      # JavaScript object id of the node wrapper.
2035      optional Runtime.RemoteObjectId objectId
2036    returns
2037      # Box model for the node.
2038      BoxModel model
2039
2040  # Returns quads that describe node position on the page. This method
2041  # might return multiple quads for inline nodes.
2042  experimental command getContentQuads
2043    parameters
2044      # Identifier of the node.
2045      optional NodeId nodeId
2046      # Identifier of the backend node.
2047      optional BackendNodeId backendNodeId
2048      # JavaScript object id of the node wrapper.
2049      optional Runtime.RemoteObjectId objectId
2050    returns
2051      # Quads that describe node layout relative to viewport.
2052      array of Quad quads
2053
2054  # Returns the root DOM node (and optionally the subtree) to the caller.
2055  command getDocument
2056    parameters
2057      # The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the
2058      # entire subtree or provide an integer larger than 0.
2059      optional integer depth
2060      # Whether or not iframes and shadow roots should be traversed when returning the subtree
2061      # (default is false).
2062      optional boolean pierce
2063    returns
2064      # Resulting node.
2065      Node root
2066
2067  # Returns the root DOM node (and optionally the subtree) to the caller.
2068  # Deprecated, as it is not designed to work well with the rest of the DOM agent.
2069  # Use DOMSnapshot.captureSnapshot instead.
2070  deprecated command getFlattenedDocument
2071    parameters
2072      # The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the
2073      # entire subtree or provide an integer larger than 0.
2074      optional integer depth
2075      # Whether or not iframes and shadow roots should be traversed when returning the subtree
2076      # (default is false).
2077      optional boolean pierce
2078    returns
2079      # Resulting node.
2080      array of Node nodes
2081
2082  # Finds nodes with a given computed style in a subtree.
2083  experimental command getNodesForSubtreeByStyle
2084    parameters
2085      # Node ID pointing to the root of a subtree.
2086      NodeId nodeId
2087      # The style to filter nodes by (includes nodes if any of properties matches).
2088      array of CSSComputedStyleProperty computedStyles
2089      # Whether or not iframes and shadow roots in the same target should be traversed when returning the
2090      # results (default is false).
2091      optional boolean pierce
2092    returns
2093      # Resulting nodes.
2094      array of NodeId nodeIds
2095
2096  # Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is
2097  # either returned or not.
2098  command getNodeForLocation
2099    parameters
2100      # X coordinate.
2101      integer x
2102      # Y coordinate.
2103      integer y
2104      # False to skip to the nearest non-UA shadow root ancestor (default: false).
2105      optional boolean includeUserAgentShadowDOM
2106      # Whether to ignore pointer-events: none on elements and hit test them.
2107      optional boolean ignorePointerEventsNone
2108    returns
2109      # Resulting node.
2110      BackendNodeId backendNodeId
2111      # Frame this node belongs to.
2112      Page.FrameId frameId
2113      # Id of the node at given coordinates, only when enabled and requested document.
2114      optional NodeId nodeId
2115
2116  # Returns node's HTML markup.
2117  command getOuterHTML
2118    parameters
2119      # Identifier of the node.
2120      optional NodeId nodeId
2121      # Identifier of the backend node.
2122      optional BackendNodeId backendNodeId
2123      # JavaScript object id of the node wrapper.
2124      optional Runtime.RemoteObjectId objectId
2125    returns
2126      # Outer HTML markup.
2127      string outerHTML
2128
2129  # Returns the id of the nearest ancestor that is a relayout boundary.
2130  experimental command getRelayoutBoundary
2131    parameters
2132      # Id of the node.
2133      NodeId nodeId
2134    returns
2135      # Relayout boundary node id for the given node.
2136      NodeId nodeId
2137
2138  # Returns search results from given `fromIndex` to given `toIndex` from the search with the given
2139  # identifier.
2140  experimental command getSearchResults
2141    parameters
2142      # Unique search session identifier.
2143      string searchId
2144      # Start index of the search result to be returned.
2145      integer fromIndex
2146      # End index of the search result to be returned.
2147      integer toIndex
2148    returns
2149      # Ids of the search result nodes.
2150      array of NodeId nodeIds
2151
2152  # Hides any highlight.
2153  command hideHighlight
2154    # Use 'Overlay.hideHighlight' instead
2155    redirect Overlay
2156
2157  # Highlights DOM node.
2158  command highlightNode
2159    # Use 'Overlay.highlightNode' instead
2160    redirect Overlay
2161
2162  # Highlights given rectangle.
2163  command highlightRect
2164    # Use 'Overlay.highlightRect' instead
2165    redirect Overlay
2166
2167  # Marks last undoable state.
2168  experimental command markUndoableState
2169
2170  # Moves node into the new container, places it before the given anchor.
2171  command moveTo
2172    parameters
2173      # Id of the node to move.
2174      NodeId nodeId
2175      # Id of the element to drop the moved node into.
2176      NodeId targetNodeId
2177      # Drop node before this one (if absent, the moved node becomes the last child of
2178      # `targetNodeId`).
2179      optional NodeId insertBeforeNodeId
2180    returns
2181      # New id of the moved node.
2182      NodeId nodeId
2183
2184  # Searches for a given string in the DOM tree. Use `getSearchResults` to access search results or
2185  # `cancelSearch` to end this search session.
2186  experimental command performSearch
2187    parameters
2188      # Plain text or query selector or XPath search query.
2189      string query
2190      # True to search in user agent shadow DOM.
2191      optional boolean includeUserAgentShadowDOM
2192    returns
2193      # Unique search session identifier.
2194      string searchId
2195      # Number of search results.
2196      integer resultCount
2197
2198  # Requests that the node is sent to the caller given its path. // FIXME, use XPath
2199  experimental command pushNodeByPathToFrontend
2200    parameters
2201      # Path to node in the proprietary format.
2202      string path
2203    returns
2204      # Id of the node for given path.
2205      NodeId nodeId
2206
2207  # Requests that a batch of nodes is sent to the caller given their backend node ids.
2208  experimental command pushNodesByBackendIdsToFrontend
2209    parameters
2210      # The array of backend node ids.
2211      array of BackendNodeId backendNodeIds
2212    returns
2213      # The array of ids of pushed nodes that correspond to the backend ids specified in
2214      # backendNodeIds.
2215      array of NodeId nodeIds
2216
2217  # Executes `querySelector` on a given node.
2218  command querySelector
2219    parameters
2220      # Id of the node to query upon.
2221      NodeId nodeId
2222      # Selector string.
2223      string selector
2224    returns
2225      # Query selector result.
2226      NodeId nodeId
2227
2228  # Executes `querySelectorAll` on a given node.
2229  command querySelectorAll
2230    parameters
2231      # Id of the node to query upon.
2232      NodeId nodeId
2233      # Selector string.
2234      string selector
2235    returns
2236      # Query selector result.
2237      array of NodeId nodeIds
2238
2239  # Re-does the last undone action.
2240  experimental command redo
2241
2242  # Removes attribute with given name from an element with given id.
2243  command removeAttribute
2244    parameters
2245      # Id of the element to remove attribute from.
2246      NodeId nodeId
2247      # Name of the attribute to remove.
2248      string name
2249
2250  # Removes node with given id.
2251  command removeNode
2252    parameters
2253      # Id of the node to remove.
2254      NodeId nodeId
2255
2256  # Requests that children of the node with given id are returned to the caller in form of
2257  # `setChildNodes` events where not only immediate children are retrieved, but all children down to
2258  # the specified depth.
2259  command requestChildNodes
2260    parameters
2261      # Id of the node to get children for.
2262      NodeId nodeId
2263      # The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the
2264      # entire subtree or provide an integer larger than 0.
2265      optional integer depth
2266      # Whether or not iframes and shadow roots should be traversed when returning the sub-tree
2267      # (default is false).
2268      optional boolean pierce
2269
2270  # Requests that the node is sent to the caller given the JavaScript node object reference. All
2271  # nodes that form the path from the node to the root are also sent to the client as a series of
2272  # `setChildNodes` notifications.
2273  command requestNode
2274    parameters
2275      # JavaScript object id to convert into node.
2276      Runtime.RemoteObjectId objectId
2277    returns
2278      # Node id for given object.
2279      NodeId nodeId
2280
2281  # Resolves the JavaScript node object for a given NodeId or BackendNodeId.
2282  command resolveNode
2283    parameters
2284      # Id of the node to resolve.
2285      optional NodeId nodeId
2286      # Backend identifier of the node to resolve.
2287      optional DOM.BackendNodeId backendNodeId
2288      # Symbolic group name that can be used to release multiple objects.
2289      optional string objectGroup
2290      # Execution context in which to resolve the node.
2291      optional Runtime.ExecutionContextId executionContextId
2292    returns
2293      # JavaScript object wrapper for given node.
2294      Runtime.RemoteObject object
2295
2296  # Sets attribute for an element with given id.
2297  command setAttributeValue
2298    parameters
2299      # Id of the element to set attribute for.
2300      NodeId nodeId
2301      # Attribute name.
2302      string name
2303      # Attribute value.
2304      string value
2305
2306  # Sets attributes on element with given id. This method is useful when user edits some existing
2307  # attribute value and types in several attribute name/value pairs.
2308  command setAttributesAsText
2309    parameters
2310      # Id of the element to set attributes for.
2311      NodeId nodeId
2312      # Text with a number of attributes. Will parse this text using HTML parser.
2313      string text
2314      # Attribute name to replace with new attributes derived from text in case text parsed
2315      # successfully.
2316      optional string name
2317
2318  # Sets files for the given file input element.
2319  command setFileInputFiles
2320    parameters
2321      # Array of file paths to set.
2322      array of string files
2323      # Identifier of the node.
2324      optional NodeId nodeId
2325      # Identifier of the backend node.
2326      optional BackendNodeId backendNodeId
2327      # JavaScript object id of the node wrapper.
2328      optional Runtime.RemoteObjectId objectId
2329
2330  # Sets if stack traces should be captured for Nodes. See `Node.getNodeStackTraces`. Default is disabled.
2331  experimental command setNodeStackTracesEnabled
2332    parameters
2333      # Enable or disable.
2334      boolean enable
2335
2336  # Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation.
2337  experimental command getNodeStackTraces
2338    parameters
2339      # Id of the node to get stack traces for.
2340      NodeId nodeId
2341    returns
2342      # Creation stack trace, if available.
2343      optional Runtime.StackTrace creation
2344
2345  # Returns file information for the given
2346  # File wrapper.
2347  experimental command getFileInfo
2348    parameters
2349      # JavaScript object id of the node wrapper.
2350      Runtime.RemoteObjectId objectId
2351    returns
2352      string path
2353
2354  # Enables console to refer to the node with given id via $x (see Command Line API for more details
2355  # $x functions).
2356  experimental command setInspectedNode
2357    parameters
2358      # DOM node id to be accessible by means of $x command line API.
2359      NodeId nodeId
2360
2361  # Sets node name for a node with given id.
2362  command setNodeName
2363    parameters
2364      # Id of the node to set name for.
2365      NodeId nodeId
2366      # New node's name.
2367      string name
2368    returns
2369      # New node's id.
2370      NodeId nodeId
2371
2372  # Sets node value for a node with given id.
2373  command setNodeValue
2374    parameters
2375      # Id of the node to set value for.
2376      NodeId nodeId
2377      # New node's value.
2378      string value
2379
2380  # Sets node HTML markup, returns new node id.
2381  command setOuterHTML
2382    parameters
2383      # Id of the node to set markup for.
2384      NodeId nodeId
2385      # Outer HTML markup to set.
2386      string outerHTML
2387
2388  # Undoes the last performed action.
2389  experimental command undo
2390
2391  # Returns iframe node that owns iframe with the given domain.
2392  experimental command getFrameOwner
2393    parameters
2394      Page.FrameId frameId
2395    returns
2396      # Resulting node.
2397      BackendNodeId backendNodeId
2398      # Id of the node at given coordinates, only when enabled and requested document.
2399      optional NodeId nodeId
2400
2401  # Fired when `Element`'s attribute is modified.
2402  event attributeModified
2403    parameters
2404      # Id of the node that has changed.
2405      NodeId nodeId
2406      # Attribute name.
2407      string name
2408      # Attribute value.
2409      string value
2410
2411  # Fired when `Element`'s attribute is removed.
2412  event attributeRemoved
2413    parameters
2414      # Id of the node that has changed.
2415      NodeId nodeId
2416      # A ttribute name.
2417      string name
2418
2419  # Mirrors `DOMCharacterDataModified` event.
2420  event characterDataModified
2421    parameters
2422      # Id of the node that has changed.
2423      NodeId nodeId
2424      # New text value.
2425      string characterData
2426
2427  # Fired when `Container`'s child node count has changed.
2428  event childNodeCountUpdated
2429    parameters
2430      # Id of the node that has changed.
2431      NodeId nodeId
2432      # New node count.
2433      integer childNodeCount
2434
2435  # Mirrors `DOMNodeInserted` event.
2436  event childNodeInserted
2437    parameters
2438      # Id of the node that has changed.
2439      NodeId parentNodeId
2440      # If of the previous siblint.
2441      NodeId previousNodeId
2442      # Inserted node data.
2443      Node node
2444
2445  # Mirrors `DOMNodeRemoved` event.
2446  event childNodeRemoved
2447    parameters
2448      # Parent id.
2449      NodeId parentNodeId
2450      # Id of the node that has been removed.
2451      NodeId nodeId
2452
2453  # Called when distrubution is changed.
2454  experimental event distributedNodesUpdated
2455    parameters
2456      # Insertion point where distrubuted nodes were updated.
2457      NodeId insertionPointId
2458      # Distributed nodes for given insertion point.
2459      array of BackendNode distributedNodes
2460
2461  # Fired when `Document` has been totally updated. Node ids are no longer valid.
2462  event documentUpdated
2463
2464  # Fired when `Element`'s inline style is modified via a CSS property modification.
2465  experimental event inlineStyleInvalidated
2466    parameters
2467      # Ids of the nodes for which the inline styles have been invalidated.
2468      array of NodeId nodeIds
2469
2470  # Called when a pseudo element is added to an element.
2471  experimental event pseudoElementAdded
2472    parameters
2473      # Pseudo element's parent element id.
2474      NodeId parentId
2475      # The added pseudo element.
2476      Node pseudoElement
2477
2478  # Called when a pseudo element is removed from an element.
2479  experimental event pseudoElementRemoved
2480    parameters
2481      # Pseudo element's parent element id.
2482      NodeId parentId
2483      # The removed pseudo element id.
2484      NodeId pseudoElementId
2485
2486  # Fired when backend wants to provide client with the missing DOM structure. This happens upon
2487  # most of the calls requesting node ids.
2488  event setChildNodes
2489    parameters
2490      # Parent node id to populate with children.
2491      NodeId parentId
2492      # Child nodes array.
2493      array of Node nodes
2494
2495  # Called when shadow root is popped from the element.
2496  experimental event shadowRootPopped
2497    parameters
2498      # Host element id.
2499      NodeId hostId
2500      # Shadow root id.
2501      NodeId rootId
2502
2503  # Called when shadow root is pushed into the element.
2504  experimental event shadowRootPushed
2505    parameters
2506      # Host element id.
2507      NodeId hostId
2508      # Shadow root.
2509      Node root
2510
2511# DOM debugging allows setting breakpoints on particular DOM operations and events. JavaScript
2512# execution will stop on these operations as if there was a regular breakpoint set.
2513domain DOMDebugger
2514  depends on DOM
2515  depends on Debugger
2516  depends on Runtime
2517
2518  # DOM breakpoint type.
2519  type DOMBreakpointType extends string
2520    enum
2521      subtree-modified
2522      attribute-modified
2523      node-removed
2524
2525  # Object event listener.
2526  type EventListener extends object
2527    properties
2528      # `EventListener`'s type.
2529      string type
2530      # `EventListener`'s useCapture.
2531      boolean useCapture
2532      # `EventListener`'s passive flag.
2533      boolean passive
2534      # `EventListener`'s once flag.
2535      boolean once
2536      # Script id of the handler code.
2537      Runtime.ScriptId scriptId
2538      # Line number in the script (0-based).
2539      integer lineNumber
2540      # Column number in the script (0-based).
2541      integer columnNumber
2542      # Event handler function value.
2543      optional Runtime.RemoteObject handler
2544      # Event original handler function value.
2545      optional Runtime.RemoteObject originalHandler
2546      # Node the listener is added to (if any).
2547      optional DOM.BackendNodeId backendNodeId
2548
2549  # Returns event listeners of the given object.
2550  command getEventListeners
2551    parameters
2552      # Identifier of the object to return listeners for.
2553      Runtime.RemoteObjectId objectId
2554      # The maximum depth at which Node children should be retrieved, defaults to 1. Use -1 for the
2555      # entire subtree or provide an integer larger than 0.
2556      optional integer depth
2557      # Whether or not iframes and shadow roots should be traversed when returning the subtree
2558      # (default is false). Reports listeners for all contexts if pierce is enabled.
2559      optional boolean pierce
2560    returns
2561      # Array of relevant listeners.
2562      array of EventListener listeners
2563
2564  # Removes DOM breakpoint that was set using `setDOMBreakpoint`.
2565  command removeDOMBreakpoint
2566    parameters
2567      # Identifier of the node to remove breakpoint from.
2568      DOM.NodeId nodeId
2569      # Type of the breakpoint to remove.
2570      DOMBreakpointType type
2571
2572  # Removes breakpoint on particular DOM event.
2573  command removeEventListenerBreakpoint
2574    parameters
2575      # Event name.
2576      string eventName
2577      # EventTarget interface name.
2578      experimental optional string targetName
2579
2580  # Removes breakpoint on particular native event.
2581  experimental command removeInstrumentationBreakpoint
2582    parameters
2583      # Instrumentation name to stop on.
2584      string eventName
2585
2586  # Removes breakpoint from XMLHttpRequest.
2587  command removeXHRBreakpoint
2588    parameters
2589      # Resource URL substring.
2590      string url
2591
2592  # Sets breakpoint on particular operation with DOM.
2593  command setDOMBreakpoint
2594    parameters
2595      # Identifier of the node to set breakpoint on.
2596      DOM.NodeId nodeId
2597      # Type of the operation to stop upon.
2598      DOMBreakpointType type
2599
2600  # Sets breakpoint on particular DOM event.
2601  command setEventListenerBreakpoint
2602    parameters
2603      # DOM Event name to stop on (any DOM event will do).
2604      string eventName
2605      # EventTarget interface name to stop on. If equal to `"*"` or not provided, will stop on any
2606      # EventTarget.
2607      experimental optional string targetName
2608
2609  # Sets breakpoint on particular native event.
2610  experimental command setInstrumentationBreakpoint
2611    parameters
2612      # Instrumentation name to stop on.
2613      string eventName
2614
2615  # Sets breakpoint on XMLHttpRequest.
2616  command setXHRBreakpoint
2617    parameters
2618      # Resource URL substring. All XHRs having this substring in the URL will get stopped upon.
2619      string url
2620
2621# This domain facilitates obtaining document snapshots with DOM, layout, and style information.
2622experimental domain DOMSnapshot
2623  depends on CSS
2624  depends on DOM
2625  depends on DOMDebugger
2626  depends on Page
2627
2628  # A Node in the DOM tree.
2629  type DOMNode extends object
2630    properties
2631      # `Node`'s nodeType.
2632      integer nodeType
2633      # `Node`'s nodeName.
2634      string nodeName
2635      # `Node`'s nodeValue.
2636      string nodeValue
2637      # Only set for textarea elements, contains the text value.
2638      optional string textValue
2639      # Only set for input elements, contains the input's associated text value.
2640      optional string inputValue
2641      # Only set for radio and checkbox input elements, indicates if the element has been checked
2642      optional boolean inputChecked
2643      # Only set for option elements, indicates if the element has been selected
2644      optional boolean optionSelected
2645      # `Node`'s id, corresponds to DOM.Node.backendNodeId.
2646      DOM.BackendNodeId backendNodeId
2647      # The indexes of the node's child nodes in the `domNodes` array returned by `getSnapshot`, if
2648      # any.
2649      optional array of integer childNodeIndexes
2650      # Attributes of an `Element` node.
2651      optional array of NameValue attributes
2652      # Indexes of pseudo elements associated with this node in the `domNodes` array returned by
2653      # `getSnapshot`, if any.
2654      optional array of integer pseudoElementIndexes
2655      # The index of the node's related layout tree node in the `layoutTreeNodes` array returned by
2656      # `getSnapshot`, if any.
2657      optional integer layoutNodeIndex
2658      # Document URL that `Document` or `FrameOwner` node points to.
2659      optional string documentURL
2660      # Base URL that `Document` or `FrameOwner` node uses for URL completion.
2661      optional string baseURL
2662      # Only set for documents, contains the document's content language.
2663      optional string contentLanguage
2664      # Only set for documents, contains the document's character set encoding.
2665      optional string documentEncoding
2666      # `DocumentType` node's publicId.
2667      optional string publicId
2668      # `DocumentType` node's systemId.
2669      optional string systemId
2670      # Frame ID for frame owner elements and also for the document node.
2671      optional Page.FrameId frameId
2672      # The index of a frame owner element's content document in the `domNodes` array returned by
2673      # `getSnapshot`, if any.
2674      optional integer contentDocumentIndex
2675      # Type of a pseudo element node.
2676      optional DOM.PseudoType pseudoType
2677      # Shadow root type.
2678      optional DOM.ShadowRootType shadowRootType
2679      # Whether this DOM node responds to mouse clicks. This includes nodes that have had click
2680      # event listeners attached via JavaScript as well as anchor tags that naturally navigate when
2681      # clicked.
2682      optional boolean isClickable
2683      # Details of the node's event listeners, if any.
2684      optional array of DOMDebugger.EventListener eventListeners
2685      # The selected url for nodes with a srcset attribute.
2686      optional string currentSourceURL
2687      # The url of the script (if any) that generates this node.
2688      optional string originURL
2689      # Scroll offsets, set when this node is a Document.
2690      optional number scrollOffsetX
2691      optional number scrollOffsetY
2692
2693  # Details of post layout rendered text positions. The exact layout should not be regarded as
2694  # stable and may change between versions.
2695  type InlineTextBox extends object
2696    properties
2697      # The bounding box in document coordinates. Note that scroll offset of the document is ignored.
2698      DOM.Rect boundingBox
2699      # The starting index in characters, for this post layout textbox substring. Characters that
2700      # would be represented as a surrogate pair in UTF-16 have length 2.
2701      integer startCharacterIndex
2702      # The number of characters in this post layout textbox substring. Characters that would be
2703      # represented as a surrogate pair in UTF-16 have length 2.
2704      integer numCharacters
2705
2706  # Details of an element in the DOM tree with a LayoutObject.
2707  type LayoutTreeNode extends object
2708    properties
2709      # The index of the related DOM node in the `domNodes` array returned by `getSnapshot`.
2710      integer domNodeIndex
2711      # The bounding box in document coordinates. Note that scroll offset of the document is ignored.
2712      DOM.Rect boundingBox
2713      # Contents of the LayoutText, if any.
2714      optional string layoutText
2715      # The post-layout inline text nodes, if any.
2716      optional array of InlineTextBox inlineTextNodes
2717      # Index into the `computedStyles` array returned by `getSnapshot`.
2718      optional integer styleIndex
2719      # Global paint order index, which is determined by the stacking order of the nodes. Nodes
2720      # that are painted together will have the same index. Only provided if includePaintOrder in
2721      # getSnapshot was true.
2722      optional integer paintOrder
2723      # Set to true to indicate the element begins a new stacking context.
2724      optional boolean isStackingContext
2725
2726  # A subset of the full ComputedStyle as defined by the request whitelist.
2727  type ComputedStyle extends object
2728    properties
2729      # Name/value pairs of computed style properties.
2730      array of NameValue properties
2731
2732  # A name/value pair.
2733  type NameValue extends object
2734    properties
2735      # Attribute/property name.
2736      string name
2737      # Attribute/property value.
2738      string value
2739
2740  # Index of the string in the strings table.
2741  type StringIndex extends integer
2742
2743  # Index of the string in the strings table.
2744  type ArrayOfStrings extends array of StringIndex
2745
2746  # Data that is only present on rare nodes.
2747  type RareStringData extends object
2748    properties
2749      array of integer index
2750      array of StringIndex value
2751
2752  type RareBooleanData extends object
2753    properties
2754      array of integer index
2755
2756  type RareIntegerData extends object
2757    properties
2758      array of integer index
2759      array of integer value
2760
2761  type Rectangle extends array of number
2762
2763  # Document snapshot.
2764  type DocumentSnapshot extends object
2765    properties
2766      # Document URL that `Document` or `FrameOwner` node points to.
2767      StringIndex documentURL
2768      # Document title.
2769      StringIndex title
2770      # Base URL that `Document` or `FrameOwner` node uses for URL completion.
2771      StringIndex baseURL
2772      # Contains the document's content language.
2773      StringIndex contentLanguage
2774      # Contains the document's character set encoding.
2775      StringIndex encodingName
2776      # `DocumentType` node's publicId.
2777      StringIndex publicId
2778      # `DocumentType` node's systemId.
2779      StringIndex systemId
2780      # Frame ID for frame owner elements and also for the document node.
2781      StringIndex frameId
2782      # A table with dom nodes.
2783      NodeTreeSnapshot nodes
2784      # The nodes in the layout tree.
2785      LayoutTreeSnapshot layout
2786      # The post-layout inline text nodes.
2787      TextBoxSnapshot textBoxes
2788      # Horizontal scroll offset.
2789      optional number scrollOffsetX
2790      # Vertical scroll offset.
2791      optional number scrollOffsetY
2792      # Document content width.
2793      optional number contentWidth
2794      # Document content height.
2795      optional number contentHeight
2796
2797  # Table containing nodes.
2798  type NodeTreeSnapshot extends object
2799    properties
2800      # Parent node index.
2801      optional array of integer parentIndex
2802      # `Node`'s nodeType.
2803      optional array of integer nodeType
2804      # `Node`'s nodeName.
2805      optional array of StringIndex nodeName
2806      # `Node`'s nodeValue.
2807      optional array of StringIndex nodeValue
2808      # `Node`'s id, corresponds to DOM.Node.backendNodeId.
2809      optional array of DOM.BackendNodeId backendNodeId
2810      # Attributes of an `Element` node. Flatten name, value pairs.
2811      optional array of ArrayOfStrings attributes
2812      # Only set for textarea elements, contains the text value.
2813      optional RareStringData textValue
2814      # Only set for input elements, contains the input's associated text value.
2815      optional RareStringData inputValue
2816      # Only set for radio and checkbox input elements, indicates if the element has been checked
2817      optional RareBooleanData inputChecked
2818      # Only set for option elements, indicates if the element has been selected
2819      optional RareBooleanData optionSelected
2820      # The index of the document in the list of the snapshot documents.
2821      optional RareIntegerData contentDocumentIndex
2822      # Type of a pseudo element node.
2823      optional RareStringData pseudoType
2824      # Whether this DOM node responds to mouse clicks. This includes nodes that have had click
2825      # event listeners attached via JavaScript as well as anchor tags that naturally navigate when
2826      # clicked.
2827      optional RareBooleanData isClickable
2828      # The selected url for nodes with a srcset attribute.
2829      optional RareStringData currentSourceURL
2830      # The url of the script (if any) that generates this node.
2831      optional RareStringData originURL
2832
2833  # Table of details of an element in the DOM tree with a LayoutObject.
2834  type LayoutTreeSnapshot extends object
2835    properties
2836      # Index of the corresponding node in the `NodeTreeSnapshot` array returned by `captureSnapshot`.
2837      array of integer nodeIndex
2838      # Array of indexes specifying computed style strings, filtered according to the `computedStyles` parameter passed to `captureSnapshot`.
2839      array of ArrayOfStrings styles
2840      # The absolute position bounding box.
2841      array of Rectangle bounds
2842      # Contents of the LayoutText, if any.
2843      array of StringIndex text
2844      # Stacking context information.
2845      RareBooleanData stackingContexts
2846      # Global paint order index, which is determined by the stacking order of the nodes. Nodes
2847      # that are painted together will have the same index. Only provided if includePaintOrder in
2848      # captureSnapshot was true.
2849      optional array of integer paintOrders
2850      # The offset rect of nodes. Only available when includeDOMRects is set to true
2851      optional array of Rectangle offsetRects
2852      # The scroll rect of nodes. Only available when includeDOMRects is set to true
2853      optional array of Rectangle scrollRects
2854      # The client rect of nodes. Only available when includeDOMRects is set to true
2855      optional array of Rectangle clientRects
2856
2857  # Table of details of the post layout rendered text positions. The exact layout should not be regarded as
2858  # stable and may change between versions.
2859  type TextBoxSnapshot extends object
2860    properties
2861      # Index of the layout tree node that owns this box collection.
2862      array of integer layoutIndex
2863      # The absolute position bounding box.
2864      array of Rectangle bounds
2865      # The starting index in characters, for this post layout textbox substring. Characters that
2866      # would be represented as a surrogate pair in UTF-16 have length 2.
2867      array of integer start
2868      # The number of characters in this post layout textbox substring. Characters that would be
2869      # represented as a surrogate pair in UTF-16 have length 2.
2870      array of integer length
2871
2872  # Disables DOM snapshot agent for the given page.
2873  command disable
2874
2875  # Enables DOM snapshot agent for the given page.
2876  command enable
2877
2878  # Returns a document snapshot, including the full DOM tree of the root node (including iframes,
2879  # template contents, and imported documents) in a flattened array, as well as layout and
2880  # white-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is
2881  # flattened.
2882  deprecated command getSnapshot
2883    parameters
2884      # Whitelist of computed styles to return.
2885      array of string computedStyleWhitelist
2886      # Whether or not to retrieve details of DOM listeners (default false).
2887      optional boolean includeEventListeners
2888      # Whether to determine and include the paint order index of LayoutTreeNodes (default false).
2889      optional boolean includePaintOrder
2890      # Whether to include UA shadow tree in the snapshot (default false).
2891      optional boolean includeUserAgentShadowTree
2892    returns
2893      # The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.
2894      array of DOMNode domNodes
2895      # The nodes in the layout tree.
2896      array of LayoutTreeNode layoutTreeNodes
2897      # Whitelisted ComputedStyle properties for each node in the layout tree.
2898      array of ComputedStyle computedStyles
2899
2900  # Returns a document snapshot, including the full DOM tree of the root node (including iframes,
2901  # template contents, and imported documents) in a flattened array, as well as layout and
2902  # white-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is
2903  # flattened.
2904  command captureSnapshot
2905    parameters
2906      # Whitelist of computed styles to return.
2907      array of string computedStyles
2908      # Whether to include layout object paint orders into the snapshot.
2909      optional boolean includePaintOrder
2910      # Whether to include DOM rectangles (offsetRects, clientRects, scrollRects) into the snapshot
2911      optional boolean includeDOMRects
2912    returns
2913      # The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.
2914      array of DocumentSnapshot documents
2915      # Shared string table that all string properties refer to with indexes.
2916      array of string strings
2917
2918# Query and modify DOM storage.
2919experimental domain DOMStorage
2920
2921  # DOM Storage identifier.
2922  type StorageId extends object
2923    properties
2924      # Security origin for the storage.
2925      string securityOrigin
2926      # Whether the storage is local storage (not session storage).
2927      boolean isLocalStorage
2928
2929  # DOM Storage item.
2930  type Item extends array of string
2931
2932  command clear
2933    parameters
2934      StorageId storageId
2935
2936  # Disables storage tracking, prevents storage events from being sent to the client.
2937  command disable
2938
2939  # Enables storage tracking, storage events will now be delivered to the client.
2940  command enable
2941
2942  command getDOMStorageItems
2943    parameters
2944      StorageId storageId
2945    returns
2946      array of Item entries
2947
2948  command removeDOMStorageItem
2949    parameters
2950      StorageId storageId
2951      string key
2952
2953  command setDOMStorageItem
2954    parameters
2955      StorageId storageId
2956      string key
2957      string value
2958
2959  event domStorageItemAdded
2960    parameters
2961      StorageId storageId
2962      string key
2963      string newValue
2964
2965  event domStorageItemRemoved
2966    parameters
2967      StorageId storageId
2968      string key
2969
2970  event domStorageItemUpdated
2971    parameters
2972      StorageId storageId
2973      string key
2974      string oldValue
2975      string newValue
2976
2977  event domStorageItemsCleared
2978    parameters
2979      StorageId storageId
2980
2981experimental domain Database
2982
2983  # Unique identifier of Database object.
2984  type DatabaseId extends string
2985
2986  # Database object.
2987  type Database extends object
2988    properties
2989      # Database ID.
2990      DatabaseId id
2991      # Database domain.
2992      string domain
2993      # Database name.
2994      string name
2995      # Database version.
2996      string version
2997
2998  # Database error.
2999  type Error extends object
3000    properties
3001      # Error message.
3002      string message
3003      # Error code.
3004      integer code
3005
3006  # Disables database tracking, prevents database events from being sent to the client.
3007  command disable
3008
3009  # Enables database tracking, database events will now be delivered to the client.
3010  command enable
3011
3012  command executeSQL
3013    parameters
3014      DatabaseId databaseId
3015      string query
3016    returns
3017      optional array of string columnNames
3018      optional array of any values
3019      optional Error sqlError
3020
3021  command getDatabaseTableNames
3022    parameters
3023      DatabaseId databaseId
3024    returns
3025      array of string tableNames
3026
3027  event addDatabase
3028    parameters
3029      Database database
3030
3031experimental domain DeviceOrientation
3032
3033  # Clears the overridden Device Orientation.
3034  command clearDeviceOrientationOverride
3035
3036  # Overrides the Device Orientation.
3037  command setDeviceOrientationOverride
3038    parameters
3039      # Mock alpha
3040      number alpha
3041      # Mock beta
3042      number beta
3043      # Mock gamma
3044      number gamma
3045
3046# This domain emulates different environments for the page.
3047domain Emulation
3048  depends on DOM
3049  depends on Page
3050  depends on Runtime
3051
3052  # Screen orientation.
3053  type ScreenOrientation extends object
3054    properties
3055      # Orientation type.
3056      enum type
3057        portraitPrimary
3058        portraitSecondary
3059        landscapePrimary
3060        landscapeSecondary
3061      # Orientation angle.
3062      integer angle
3063
3064  type DisplayFeature extends object
3065    properties
3066      # Orientation of a display feature in relation to screen
3067      enum orientation
3068        vertical
3069        horizontal
3070      # The offset from the screen origin in either the x (for vertical
3071      # orientation) or y (for horizontal orientation) direction.
3072      integer offset
3073      # A display feature may mask content such that it is not physically
3074      # displayed - this length along with the offset describes this area.
3075      # A display feature that only splits content will have a 0 mask_length.
3076      integer maskLength
3077
3078  type MediaFeature extends object
3079    properties
3080      string name
3081      string value
3082
3083  # advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to
3084  # allow the next delayed task (if any) to run; pause: The virtual time base may not advance;
3085  # pauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending
3086  # resource fetches.
3087  experimental type VirtualTimePolicy extends string
3088    enum
3089      advance
3090      pause
3091      pauseIfNetworkFetchesPending
3092
3093  # Used to specify User Agent Cient Hints to emulate. See https://wicg.github.io/ua-client-hints
3094  experimental type UserAgentBrandVersion extends object
3095    properties
3096      string brand
3097      string version
3098
3099  # Used to specify User Agent Cient Hints to emulate. See https://wicg.github.io/ua-client-hints
3100  experimental type UserAgentMetadata extends object
3101    properties
3102      array of UserAgentBrandVersion brands
3103      string fullVersion
3104      string platform
3105      string platformVersion
3106      string architecture
3107      string model
3108      boolean mobile
3109
3110  # Tells whether emulation is supported.
3111  command canEmulate
3112    returns
3113      # True if emulation is supported.
3114      boolean result
3115
3116  # Clears the overriden device metrics.
3117  command clearDeviceMetricsOverride
3118
3119  # Clears the overriden Geolocation Position and Error.
3120  command clearGeolocationOverride
3121
3122  # Requests that page scale factor is reset to initial values.
3123  experimental command resetPageScaleFactor
3124
3125  # Enables or disables simulating a focused and active page.
3126  experimental command setFocusEmulationEnabled
3127    parameters
3128      # Whether to enable to disable focus emulation.
3129      boolean enabled
3130
3131  # Enables CPU throttling to emulate slow CPUs.
3132  experimental command setCPUThrottlingRate
3133    parameters
3134      # Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).
3135      number rate
3136
3137  # Sets or clears an override of the default background color of the frame. This override is used
3138  # if the content does not specify one.
3139  command setDefaultBackgroundColorOverride
3140    parameters
3141      # RGBA of the default background color. If not specified, any existing override will be
3142      # cleared.
3143      optional DOM.RGBA color
3144
3145  # Overrides the values of device screen dimensions (window.screen.width, window.screen.height,
3146  # window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media
3147  # query results).
3148  command setDeviceMetricsOverride
3149    parameters
3150      # Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
3151      integer width
3152      # Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.
3153      integer height
3154      # Overriding device scale factor value. 0 disables the override.
3155      number deviceScaleFactor
3156      # Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text
3157      # autosizing and more.
3158      boolean mobile
3159      # Scale to apply to resulting view image.
3160      experimental optional number scale
3161      # Overriding screen width value in pixels (minimum 0, maximum 10000000).
3162      experimental optional integer screenWidth
3163      # Overriding screen height value in pixels (minimum 0, maximum 10000000).
3164      experimental optional integer screenHeight
3165      # Overriding view X position on screen in pixels (minimum 0, maximum 10000000).
3166      experimental optional integer positionX
3167      # Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).
3168      experimental optional integer positionY
3169      # Do not set visible view size, rely upon explicit setVisibleSize call.
3170      experimental optional boolean dontSetVisibleSize
3171      # Screen orientation override.
3172      optional ScreenOrientation screenOrientation
3173      # If set, the visible area of the page will be overridden to this viewport. This viewport
3174      # change is not observed by the page, e.g. viewport-relative elements do not change positions.
3175      experimental optional Page.Viewport viewport
3176      # If set, the display feature of a multi-segment screen. If not set, multi-segment support
3177      # is turned-off.
3178      experimental optional DisplayFeature displayFeature
3179
3180  experimental command setScrollbarsHidden
3181    parameters
3182      # Whether scrollbars should be always hidden.
3183      boolean hidden
3184
3185  experimental command setDocumentCookieDisabled
3186    parameters
3187      # Whether document.coookie API should be disabled.
3188      boolean disabled
3189
3190  experimental command setEmitTouchEventsForMouse
3191    parameters
3192      # Whether touch emulation based on mouse input should be enabled.
3193      boolean enabled
3194      # Touch/gesture events configuration. Default: current platform.
3195      optional enum configuration
3196        mobile
3197        desktop
3198
3199  # Emulates the given media type or media feature for CSS media queries.
3200  command setEmulatedMedia
3201    parameters
3202      # Media type to emulate. Empty string disables the override.
3203      optional string media
3204      # Media features to emulate.
3205      optional array of MediaFeature features
3206
3207  # Emulates the given vision deficiency.
3208  experimental command setEmulatedVisionDeficiency
3209    parameters
3210      # Vision deficiency to emulate.
3211      enum type
3212        none
3213        achromatopsia
3214        blurredVision
3215        deuteranopia
3216        protanopia
3217        tritanopia
3218
3219  # Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position
3220  # unavailable.
3221  command setGeolocationOverride
3222    parameters
3223      # Mock latitude
3224      optional number latitude
3225      # Mock longitude
3226      optional number longitude
3227      # Mock accuracy
3228      optional number accuracy
3229
3230  # Overrides the Idle state.
3231  experimental command setIdleOverride
3232    parameters
3233      # Mock isUserActive
3234      boolean isUserActive
3235      # Mock isScreenUnlocked
3236      boolean isScreenUnlocked
3237
3238  # Clears Idle state overrides.
3239  experimental command clearIdleOverride
3240
3241  # Overrides value returned by the javascript navigator object.
3242  experimental deprecated command setNavigatorOverrides
3243    parameters
3244      # The platform navigator.platform should return.
3245      string platform
3246
3247  # Sets a specified page scale factor.
3248  experimental command setPageScaleFactor
3249    parameters
3250      # Page scale factor.
3251      number pageScaleFactor
3252
3253  # Switches script execution in the page.
3254  command setScriptExecutionDisabled
3255    parameters
3256      # Whether script execution should be disabled in the page.
3257      boolean value
3258
3259  # Enables touch on platforms which do not support them.
3260  command setTouchEmulationEnabled
3261    parameters
3262      # Whether the touch event emulation should be enabled.
3263      boolean enabled
3264      # Maximum touch points supported. Defaults to one.
3265      optional integer maxTouchPoints
3266
3267  # Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets
3268  # the current virtual time policy.  Note this supersedes any previous time budget.
3269  experimental command setVirtualTimePolicy
3270    parameters
3271      VirtualTimePolicy policy
3272      # If set, after this many virtual milliseconds have elapsed virtual time will be paused and a
3273      # virtualTimeBudgetExpired event is sent.
3274      optional number budget
3275      # If set this specifies the maximum number of tasks that can be run before virtual is forced
3276      # forwards to prevent deadlock.
3277      optional integer maxVirtualTimeTaskStarvationCount
3278      # If set the virtual time policy change should be deferred until any frame starts navigating.
3279      # Note any previous deferred policy change is superseded.
3280      optional boolean waitForNavigation
3281      # If set, base::Time::Now will be overriden to initially return this value.
3282      optional Network.TimeSinceEpoch initialVirtualTime
3283    returns
3284      # Absolute timestamp at which virtual time was first enabled (up time in milliseconds).
3285      number virtualTimeTicksBase
3286
3287  # Overrides default host system locale with the specified one.
3288  experimental command setLocaleOverride
3289    parameters
3290      # ICU style C locale (e.g. "en_US"). If not specified or empty, disables the override and
3291      # restores default host system locale.
3292      optional string locale
3293
3294  # Overrides default host system timezone with the specified one.
3295  experimental command setTimezoneOverride
3296    parameters
3297      # The timezone identifier. If empty, disables the override and
3298      # restores default host system timezone.
3299      string timezoneId
3300
3301  # Resizes the frame/viewport of the page. Note that this does not affect the frame's container
3302  # (e.g. browser window). Can be used to produce screenshots of the specified size. Not supported
3303  # on Android.
3304  experimental deprecated command setVisibleSize
3305    parameters
3306      # Frame width (DIP).
3307      integer width
3308      # Frame height (DIP).
3309      integer height
3310
3311  # Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.
3312  experimental event virtualTimeBudgetExpired
3313
3314  # Enum of image types that can be disabled.
3315  experimental type DisabledImageType extends string
3316    enum
3317      avif
3318      webp
3319
3320  experimental command setDisabledImageTypes
3321    parameters
3322      # Image types to disable.
3323      array of DisabledImageType imageTypes
3324
3325  # Allows overriding user agent with the given string.
3326  command setUserAgentOverride
3327    parameters
3328      # User agent to use.
3329      string userAgent
3330      # Browser langugage to emulate.
3331      optional string acceptLanguage
3332      # The platform navigator.platform should return.
3333      optional string platform
3334      # To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData
3335      experimental optional UserAgentMetadata userAgentMetadata
3336
3337# This domain provides experimental commands only supported in headless mode.
3338experimental domain HeadlessExperimental
3339  depends on Page
3340  depends on Runtime
3341
3342  # Encoding options for a screenshot.
3343  type ScreenshotParams extends object
3344    properties
3345      # Image compression format (defaults to png).
3346      optional enum format
3347        jpeg
3348        png
3349      # Compression quality from range [0..100] (jpeg only).
3350      optional integer quality
3351
3352  # Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a
3353  # screenshot from the resulting frame. Requires that the target was created with enabled
3354  # BeginFrameControl. Designed for use with --run-all-compositor-stages-before-draw, see also
3355  # https://goo.gl/3zHXhB for more background.
3356  command beginFrame
3357    parameters
3358      # Timestamp of this BeginFrame in Renderer TimeTicks (milliseconds of uptime). If not set,
3359      # the current time will be used.
3360      optional number frameTimeTicks
3361      # The interval between BeginFrames that is reported to the compositor, in milliseconds.
3362      # Defaults to a 60 frames/second interval, i.e. about 16.666 milliseconds.
3363      optional number interval
3364      # Whether updates should not be committed and drawn onto the display. False by default. If
3365      # true, only side effects of the BeginFrame will be run, such as layout and animations, but
3366      # any visual updates may not be visible on the display or in screenshots.
3367      optional boolean noDisplayUpdates
3368      # If set, a screenshot of the frame will be captured and returned in the response. Otherwise,
3369      # no screenshot will be captured. Note that capturing a screenshot can fail, for example,
3370      # during renderer initialization. In such a case, no screenshot data will be returned.
3371      optional ScreenshotParams screenshot
3372    returns
3373      # Whether the BeginFrame resulted in damage and, thus, a new frame was committed to the
3374      # display. Reported for diagnostic uses, may be removed in the future.
3375      boolean hasDamage
3376      # Base64-encoded image data of the screenshot, if one was requested and successfully taken.
3377      optional binary screenshotData
3378
3379  # Disables headless events for the target.
3380  command disable
3381
3382  # Enables headless events for the target.
3383  command enable
3384
3385  # Issued when the target starts or stops needing BeginFrames.
3386  # Deprecated. Issue beginFrame unconditionally instead and use result from
3387  # beginFrame to detect whether the frames were suppressed.
3388  deprecated event needsBeginFramesChanged
3389    parameters
3390      # True if BeginFrames are needed, false otherwise.
3391      boolean needsBeginFrames
3392
3393# Input/Output operations for streams produced by DevTools.
3394domain IO
3395
3396  # This is either obtained from another method or specifed as `blob:&lt;uuid&gt;` where
3397  # `&lt;uuid&gt` is an UUID of a Blob.
3398  type StreamHandle extends string
3399
3400  # Close the stream, discard any temporary backing storage.
3401  command close
3402    parameters
3403      # Handle of the stream to close.
3404      StreamHandle handle
3405
3406  # Read a chunk of the stream
3407  command read
3408    parameters
3409      # Handle of the stream to read.
3410      StreamHandle handle
3411      # Seek to the specified offset before reading (if not specificed, proceed with offset
3412      # following the last read). Some types of streams may only support sequential reads.
3413      optional integer offset
3414      # Maximum number of bytes to read (left upon the agent discretion if not specified).
3415      optional integer size
3416    returns
3417      # Set if the data is base64-encoded
3418      optional boolean base64Encoded
3419      # Data that were read.
3420      string data
3421      # Set if the end-of-file condition occured while reading.
3422      boolean eof
3423
3424  # Return UUID of Blob object specified by a remote object id.
3425  command resolveBlob
3426    parameters
3427      # Object id of a Blob object wrapper.
3428      Runtime.RemoteObjectId objectId
3429    returns
3430      # UUID of the specified Blob.
3431      string uuid
3432
3433experimental domain IndexedDB
3434  depends on Runtime
3435
3436  # Database with an array of object stores.
3437  type DatabaseWithObjectStores extends object
3438    properties
3439      # Database name.
3440      string name
3441      # Database version (type is not 'integer', as the standard
3442      # requires the version number to be 'unsigned long long')
3443      number version
3444      # Object stores in this database.
3445      array of ObjectStore objectStores
3446
3447  # Object store.
3448  type ObjectStore extends object
3449    properties
3450      # Object store name.
3451      string name
3452      # Object store key path.
3453      KeyPath keyPath
3454      # If true, object store has auto increment flag set.
3455      boolean autoIncrement
3456      # Indexes in this object store.
3457      array of ObjectStoreIndex indexes
3458
3459  # Object store index.
3460  type ObjectStoreIndex extends object
3461    properties
3462      # Index name.
3463      string name
3464      # Index key path.
3465      KeyPath keyPath
3466      # If true, index is unique.
3467      boolean unique
3468      # If true, index allows multiple entries for a key.
3469      boolean multiEntry
3470
3471  # Key.
3472  type Key extends object
3473    properties
3474      # Key type.
3475      enum type
3476        number
3477        string
3478        date
3479        array
3480      # Number value.
3481      optional number number
3482      # String value.
3483      optional string string
3484      # Date value.
3485      optional number date
3486      # Array value.
3487      optional array of Key array
3488
3489  # Key range.
3490  type KeyRange extends object
3491    properties
3492      # Lower bound.
3493      optional Key lower
3494      # Upper bound.
3495      optional Key upper
3496      # If true lower bound is open.
3497      boolean lowerOpen
3498      # If true upper bound is open.
3499      boolean upperOpen
3500
3501  # Data entry.
3502  type DataEntry extends object
3503    properties
3504      # Key object.
3505      Runtime.RemoteObject key
3506      # Primary key object.
3507      Runtime.RemoteObject primaryKey
3508      # Value object.
3509      Runtime.RemoteObject value
3510
3511  # Key path.
3512  type KeyPath extends object
3513    properties
3514      # Key path type.
3515      enum type
3516        null
3517        string
3518        array
3519      # String value.
3520      optional string string
3521      # Array value.
3522      optional array of string array
3523
3524  # Clears all entries from an object store.
3525  command clearObjectStore
3526    parameters
3527      # Security origin.
3528      string securityOrigin
3529      # Database name.
3530      string databaseName
3531      # Object store name.
3532      string objectStoreName
3533
3534  # Deletes a database.
3535  command deleteDatabase
3536    parameters
3537      # Security origin.
3538      string securityOrigin
3539      # Database name.
3540      string databaseName
3541
3542  # Delete a range of entries from an object store
3543  command deleteObjectStoreEntries
3544    parameters
3545      string securityOrigin
3546      string databaseName
3547      string objectStoreName
3548      # Range of entry keys to delete
3549      KeyRange keyRange
3550
3551  # Disables events from backend.
3552  command disable
3553
3554  # Enables events from backend.
3555  command enable
3556
3557  # Requests data from object store or index.
3558  command requestData
3559    parameters
3560      # Security origin.
3561      string securityOrigin
3562      # Database name.
3563      string databaseName
3564      # Object store name.
3565      string objectStoreName
3566      # Index name, empty string for object store data requests.
3567      string indexName
3568      # Number of records to skip.
3569      integer skipCount
3570      # Number of records to fetch.
3571      integer pageSize
3572      # Key range.
3573      optional KeyRange keyRange
3574    returns
3575      # Array of object store data entries.
3576      array of DataEntry objectStoreDataEntries
3577      # If true, there are more entries to fetch in the given range.
3578      boolean hasMore
3579
3580  # Gets metadata of an object store
3581  command getMetadata
3582    parameters
3583      # Security origin.
3584      string securityOrigin
3585      # Database name.
3586      string databaseName
3587      # Object store name.
3588      string objectStoreName
3589    returns
3590      # the entries count
3591      number entriesCount
3592      # the current value of key generator, to become the next inserted
3593      # key into the object store. Valid if objectStore.autoIncrement
3594      # is true.
3595      number keyGeneratorValue
3596
3597  # Requests database with given name in given frame.
3598  command requestDatabase
3599    parameters
3600      # Security origin.
3601      string securityOrigin
3602      # Database name.
3603      string databaseName
3604    returns
3605      # Database with an array of object stores.
3606      DatabaseWithObjectStores databaseWithObjectStores
3607
3608  # Requests database names for given security origin.
3609  command requestDatabaseNames
3610    parameters
3611      # Security origin.
3612      string securityOrigin
3613    returns
3614      # Database names for origin.
3615      array of string databaseNames
3616
3617domain Input
3618
3619  type TouchPoint extends object
3620    properties
3621      # X coordinate of the event relative to the main frame's viewport in CSS pixels.
3622      number x
3623      # Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to
3624      # the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.
3625      number y
3626      # X radius of the touch area (default: 1.0).
3627      optional number radiusX
3628      # Y radius of the touch area (default: 1.0).
3629      optional number radiusY
3630      # Rotation angle (default: 0.0).
3631      optional number rotationAngle
3632      # Force (default: 1.0).
3633      optional number force
3634      # The normalized tangential pressure, which has a range of [-1,1] (default: 0).
3635      experimental optional number tangentialPressure
3636      # The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0)
3637      experimental optional integer tiltX
3638      # The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0).
3639      experimental optional integer tiltY
3640      # The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0).
3641      experimental optional integer twist
3642      # Identifier used to track touch sources between events, must be unique within an event.
3643      optional number id
3644
3645  experimental type GestureSourceType extends string
3646    enum
3647      default
3648      touch
3649      mouse
3650
3651  type MouseButton extends string
3652    enum
3653        none
3654        left
3655        middle
3656        right
3657        back
3658        forward
3659
3660  # UTC time in seconds, counted from January 1, 1970.
3661  type TimeSinceEpoch extends number
3662
3663  # Dispatches a key event to the page.
3664  command dispatchKeyEvent
3665    parameters
3666      # Type of the key event.
3667      enum type
3668        keyDown
3669        keyUp
3670        rawKeyDown
3671        char
3672      # Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8
3673      # (default: 0).
3674      optional integer modifiers
3675      # Time at which the event occurred.
3676      optional TimeSinceEpoch timestamp
3677      # Text as generated by processing a virtual key code with a keyboard layout. Not needed for
3678      # for `keyUp` and `rawKeyDown` events (default: "")
3679      optional string text
3680      # Text that would have been generated by the keyboard if no modifiers were pressed (except for
3681      # shift). Useful for shortcut (accelerator) key handling (default: "").
3682      optional string unmodifiedText
3683      # Unique key identifier (e.g., 'U+0041') (default: "").
3684      optional string keyIdentifier
3685      # Unique DOM defined string value for each physical key (e.g., 'KeyA') (default: "").
3686      optional string code
3687      # Unique DOM defined string value describing the meaning of the key in the context of active
3688      # modifiers, keyboard layout, etc (e.g., 'AltGr') (default: "").
3689      optional string key
3690      # Windows virtual key code (default: 0).
3691      optional integer windowsVirtualKeyCode
3692      # Native virtual key code (default: 0).
3693      optional integer nativeVirtualKeyCode
3694      # Whether the event was generated from auto repeat (default: false).
3695      optional boolean autoRepeat
3696      # Whether the event was generated from the keypad (default: false).
3697      optional boolean isKeypad
3698      # Whether the event was a system key event (default: false).
3699      optional boolean isSystemKey
3700      # Whether the event was from the left or right side of the keyboard. 1=Left, 2=Right (default:
3701      # 0).
3702      optional integer location
3703      # Editing commands to send with the key event (e.g., 'selectAll') (default: []).
3704      # These are related to but not equal the command names used in `document.execCommand` and NSStandardKeyBindingResponding.
3705      # See https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/editing/commands/editor_command_names.h for valid command names.
3706      experimental optional array of string commands
3707
3708  # This method emulates inserting text that doesn't come from a key press,
3709  # for example an emoji keyboard or an IME.
3710  experimental command insertText
3711    parameters
3712      # The text to insert.
3713      string text
3714
3715  # Dispatches a mouse event to the page.
3716  command dispatchMouseEvent
3717    parameters
3718      # Type of the mouse event.
3719      enum type
3720        mousePressed
3721        mouseReleased
3722        mouseMoved
3723        mouseWheel
3724      # X coordinate of the event relative to the main frame's viewport in CSS pixels.
3725      number x
3726      # Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to
3727      # the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.
3728      number y
3729      # Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8
3730      # (default: 0).
3731      optional integer modifiers
3732      # Time at which the event occurred.
3733      optional TimeSinceEpoch timestamp
3734      # Mouse button (default: "none").
3735      optional MouseButton button
3736      # A number indicating which buttons are pressed on the mouse when a mouse event is triggered.
3737      # Left=1, Right=2, Middle=4, Back=8, Forward=16, None=0.
3738      optional integer buttons
3739      # Number of times the mouse button was clicked (default: 0).
3740      optional integer clickCount
3741      # The normalized pressure, which has a range of [0,1] (default: 0).
3742      experimental optional number force
3743      # The normalized tangential pressure, which has a range of [-1,1] (default: 0).
3744      experimental optional number tangentialPressure
3745      # The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0).
3746      experimental optional integer tiltX
3747      # The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0).
3748      experimental optional integer tiltY
3749      # The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0).
3750      experimental optional integer twist
3751      # X delta in CSS pixels for mouse wheel event (default: 0).
3752      optional number deltaX
3753      # Y delta in CSS pixels for mouse wheel event (default: 0).
3754      optional number deltaY
3755      # Pointer type (default: "mouse").
3756      optional enum pointerType
3757        mouse
3758        pen
3759
3760  # Dispatches a touch event to the page.
3761  command dispatchTouchEvent
3762    parameters
3763      # Type of the touch event. TouchEnd and TouchCancel must not contain any touch points, while
3764      # TouchStart and TouchMove must contains at least one.
3765      enum type
3766        touchStart
3767        touchEnd
3768        touchMove
3769        touchCancel
3770      # Active touch points on the touch device. One event per any changed point (compared to
3771      # previous touch event in a sequence) is generated, emulating pressing/moving/releasing points
3772      # one by one.
3773      array of TouchPoint touchPoints
3774      # Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8
3775      # (default: 0).
3776      optional integer modifiers
3777      # Time at which the event occurred.
3778      optional TimeSinceEpoch timestamp
3779
3780  # Emulates touch event from the mouse event parameters.
3781  experimental command emulateTouchFromMouseEvent
3782    parameters
3783      # Type of the mouse event.
3784      enum type
3785        mousePressed
3786        mouseReleased
3787        mouseMoved
3788        mouseWheel
3789      # X coordinate of the mouse pointer in DIP.
3790      integer x
3791      # Y coordinate of the mouse pointer in DIP.
3792      integer y
3793      # Mouse button. Only "none", "left", "right" are supported.
3794      MouseButton button
3795      # Time at which the event occurred (default: current time).
3796      optional TimeSinceEpoch timestamp
3797      # X delta in DIP for mouse wheel event (default: 0).
3798      optional number deltaX
3799      # Y delta in DIP for mouse wheel event (default: 0).
3800      optional number deltaY
3801      # Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8
3802      # (default: 0).
3803      optional integer modifiers
3804      # Number of times the mouse button was clicked (default: 0).
3805      optional integer clickCount
3806
3807  # Ignores input events (useful while auditing page).
3808  command setIgnoreInputEvents
3809    parameters
3810      # Ignores input events processing when set to true.
3811      boolean ignore
3812
3813  # Synthesizes a pinch gesture over a time period by issuing appropriate touch events.
3814  experimental command synthesizePinchGesture
3815    parameters
3816      # X coordinate of the start of the gesture in CSS pixels.
3817      number x
3818      # Y coordinate of the start of the gesture in CSS pixels.
3819      number y
3820      # Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out).
3821      number scaleFactor
3822      # Relative pointer speed in pixels per second (default: 800).
3823      optional integer relativeSpeed
3824      # Which type of input events to be generated (default: 'default', which queries the platform
3825      # for the preferred input type).
3826      optional GestureSourceType gestureSourceType
3827
3828  # Synthesizes a scroll gesture over a time period by issuing appropriate touch events.
3829  experimental command synthesizeScrollGesture
3830    parameters
3831      # X coordinate of the start of the gesture in CSS pixels.
3832      number x
3833      # Y coordinate of the start of the gesture in CSS pixels.
3834      number y
3835      # The distance to scroll along the X axis (positive to scroll left).
3836      optional number xDistance
3837      # The distance to scroll along the Y axis (positive to scroll up).
3838      optional number yDistance
3839      # The number of additional pixels to scroll back along the X axis, in addition to the given
3840      # distance.
3841      optional number xOverscroll
3842      # The number of additional pixels to scroll back along the Y axis, in addition to the given
3843      # distance.
3844      optional number yOverscroll
3845      # Prevent fling (default: true).
3846      optional boolean preventFling
3847      # Swipe speed in pixels per second (default: 800).
3848      optional integer speed
3849      # Which type of input events to be generated (default: 'default', which queries the platform
3850      # for the preferred input type).
3851      optional GestureSourceType gestureSourceType
3852      # The number of times to repeat the gesture (default: 0).
3853      optional integer repeatCount
3854      # The number of milliseconds delay between each repeat. (default: 250).
3855      optional integer repeatDelayMs
3856      # The name of the interaction markers to generate, if not empty (default: "").
3857      optional string interactionMarkerName
3858
3859  # Synthesizes a tap gesture over a time period by issuing appropriate touch events.
3860  experimental command synthesizeTapGesture
3861    parameters
3862      # X coordinate of the start of the gesture in CSS pixels.
3863      number x
3864      # Y coordinate of the start of the gesture in CSS pixels.
3865      number y
3866      # Duration between touchdown and touchup events in ms (default: 50).
3867      optional integer duration
3868      # Number of times to perform the tap (e.g. 2 for double tap, default: 1).
3869      optional integer tapCount
3870      # Which type of input events to be generated (default: 'default', which queries the platform
3871      # for the preferred input type).
3872      optional GestureSourceType gestureSourceType
3873
3874experimental domain Inspector
3875
3876  # Disables inspector domain notifications.
3877  command disable
3878
3879  # Enables inspector domain notifications.
3880  command enable
3881
3882  # Fired when remote debugging connection is about to be terminated. Contains detach reason.
3883  event detached
3884    parameters
3885      # The reason why connection has been terminated.
3886      string reason
3887
3888  # Fired when debugging target has crashed
3889  event targetCrashed
3890
3891  # Fired when debugging target has reloaded after crash
3892  event targetReloadedAfterCrash
3893
3894experimental domain LayerTree
3895  depends on DOM
3896
3897  # Unique Layer identifier.
3898  type LayerId extends string
3899
3900  # Unique snapshot identifier.
3901  type SnapshotId extends string
3902
3903  # Rectangle where scrolling happens on the main thread.
3904  type ScrollRect extends object
3905    properties
3906      # Rectangle itself.
3907      DOM.Rect rect
3908      # Reason for rectangle to force scrolling on the main thread
3909      enum type
3910        RepaintsOnScroll
3911        TouchEventHandler
3912        WheelEventHandler
3913
3914  # Sticky position constraints.
3915  type StickyPositionConstraint extends object
3916    properties
3917      # Layout rectangle of the sticky element before being shifted
3918      DOM.Rect stickyBoxRect
3919      # Layout rectangle of the containing block of the sticky element
3920      DOM.Rect containingBlockRect
3921      # The nearest sticky layer that shifts the sticky box
3922      optional LayerId nearestLayerShiftingStickyBox
3923      # The nearest sticky layer that shifts the containing block
3924      optional LayerId nearestLayerShiftingContainingBlock
3925
3926  # Serialized fragment of layer picture along with its offset within the layer.
3927  type PictureTile extends object
3928    properties
3929      # Offset from owning layer left boundary
3930      number x
3931      # Offset from owning layer top boundary
3932      number y
3933      # Base64-encoded snapshot data.
3934      binary picture
3935
3936  # Information about a compositing layer.
3937  type Layer extends object
3938    properties
3939      # The unique id for this layer.
3940      LayerId layerId
3941      # The id of parent (not present for root).
3942      optional LayerId parentLayerId
3943      # The backend id for the node associated with this layer.
3944      optional DOM.BackendNodeId backendNodeId
3945      # Offset from parent layer, X coordinate.
3946      number offsetX
3947      # Offset from parent layer, Y coordinate.
3948      number offsetY
3949      # Layer width.
3950      number width
3951      # Layer height.
3952      number height
3953      # Transformation matrix for layer, default is identity matrix
3954      optional array of number transform
3955      # Transform anchor point X, absent if no transform specified
3956      optional number anchorX
3957      # Transform anchor point Y, absent if no transform specified
3958      optional number anchorY
3959      # Transform anchor point Z, absent if no transform specified
3960      optional number anchorZ
3961      # Indicates how many time this layer has painted.
3962      integer paintCount
3963      # Indicates whether this layer hosts any content, rather than being used for
3964      # transform/scrolling purposes only.
3965      boolean drawsContent
3966      # Set if layer is not visible.
3967      optional boolean invisible
3968      # Rectangles scrolling on main thread only.
3969      optional array of ScrollRect scrollRects
3970      # Sticky position constraint information
3971      optional StickyPositionConstraint stickyPositionConstraint
3972
3973  # Array of timings, one per paint step.
3974  type PaintProfile extends array of number
3975
3976  # Provides the reasons why the given layer was composited.
3977  command compositingReasons
3978    parameters
3979      # The id of the layer for which we want to get the reasons it was composited.
3980      LayerId layerId
3981    returns
3982      # A list of strings specifying reasons for the given layer to become composited.
3983      deprecated array of string compositingReasons
3984      # A list of strings specifying reason IDs for the given layer to become composited.
3985      array of string compositingReasonIds
3986
3987  # Disables compositing tree inspection.
3988  command disable
3989
3990  # Enables compositing tree inspection.
3991  command enable
3992
3993  # Returns the snapshot identifier.
3994  command loadSnapshot
3995    parameters
3996      # An array of tiles composing the snapshot.
3997      array of PictureTile tiles
3998    returns
3999      # The id of the snapshot.
4000      SnapshotId snapshotId
4001
4002  # Returns the layer snapshot identifier.
4003  command makeSnapshot
4004    parameters
4005      # The id of the layer.
4006      LayerId layerId
4007    returns
4008      # The id of the layer snapshot.
4009      SnapshotId snapshotId
4010
4011  command profileSnapshot
4012    parameters
4013      # The id of the layer snapshot.
4014      SnapshotId snapshotId
4015      # The maximum number of times to replay the snapshot (1, if not specified).
4016      optional integer minRepeatCount
4017      # The minimum duration (in seconds) to replay the snapshot.
4018      optional number minDuration
4019      # The clip rectangle to apply when replaying the snapshot.
4020      optional DOM.Rect clipRect
4021    returns
4022      # The array of paint profiles, one per run.
4023      array of PaintProfile timings
4024
4025  # Releases layer snapshot captured by the back-end.
4026  command releaseSnapshot
4027    parameters
4028      # The id of the layer snapshot.
4029      SnapshotId snapshotId
4030
4031  # Replays the layer snapshot and returns the resulting bitmap.
4032  command replaySnapshot
4033    parameters
4034      # The id of the layer snapshot.
4035      SnapshotId snapshotId
4036      # The first step to replay from (replay from the very start if not specified).
4037      optional integer fromStep
4038      # The last step to replay to (replay till the end if not specified).
4039      optional integer toStep
4040      # The scale to apply while replaying (defaults to 1).
4041      optional number scale
4042    returns
4043      # A data: URL for resulting image.
4044      string dataURL
4045
4046  # Replays the layer snapshot and returns canvas log.
4047  command snapshotCommandLog
4048    parameters
4049      # The id of the layer snapshot.
4050      SnapshotId snapshotId
4051    returns
4052      # The array of canvas function calls.
4053      array of object commandLog
4054
4055  event layerPainted
4056    parameters
4057      # The id of the painted layer.
4058      LayerId layerId
4059      # Clip rectangle.
4060      DOM.Rect clip
4061
4062  event layerTreeDidChange
4063    parameters
4064      # Layer tree, absent if not in the comspositing mode.
4065      optional array of Layer layers
4066
4067# Provides access to log entries.
4068domain Log
4069  depends on Runtime
4070  depends on Network
4071
4072  # Log entry.
4073  type LogEntry extends object
4074    properties
4075      # Log entry source.
4076      enum source
4077        xml
4078        javascript
4079        network
4080        storage
4081        appcache
4082        rendering
4083        security
4084        deprecation
4085        worker
4086        violation
4087        intervention
4088        recommendation
4089        other
4090      # Log entry severity.
4091      enum level
4092        verbose
4093        info
4094        warning
4095        error
4096      # Logged text.
4097      string text
4098      # Timestamp when this entry was added.
4099      Runtime.Timestamp timestamp
4100      # URL of the resource if known.
4101      optional string url
4102      # Line number in the resource.
4103      optional integer lineNumber
4104      # JavaScript stack trace.
4105      optional Runtime.StackTrace stackTrace
4106      # Identifier of the network request associated with this entry.
4107      optional Network.RequestId networkRequestId
4108      # Identifier of the worker associated with this entry.
4109      optional string workerId
4110      # Call arguments.
4111      optional array of Runtime.RemoteObject args
4112
4113  # Violation configuration setting.
4114  type ViolationSetting extends object
4115    properties
4116      # Violation type.
4117      enum name
4118        longTask
4119        longLayout
4120        blockedEvent
4121        blockedParser
4122        discouragedAPIUse
4123        handler
4124        recurringHandler
4125      # Time threshold to trigger upon.
4126      number threshold
4127
4128  # Clears the log.
4129  command clear
4130
4131  # Disables log domain, prevents further log entries from being reported to the client.
4132  command disable
4133
4134  # Enables log domain, sends the entries collected so far to the client by means of the
4135  # `entryAdded` notification.
4136  command enable
4137
4138  # start violation reporting.
4139  command startViolationsReport
4140    parameters
4141      # Configuration for violations.
4142      array of ViolationSetting config
4143
4144  # Stop violation reporting.
4145  command stopViolationsReport
4146
4147  # Issued when new message was logged.
4148  event entryAdded
4149    parameters
4150      # The entry.
4151      LogEntry entry
4152
4153experimental domain Memory
4154
4155  # Memory pressure level.
4156  type PressureLevel extends string
4157    enum
4158      moderate
4159      critical
4160
4161  command getDOMCounters
4162    returns
4163      integer documents
4164      integer nodes
4165      integer jsEventListeners
4166
4167  command prepareForLeakDetection
4168
4169  # Simulate OomIntervention by purging V8 memory.
4170  command forciblyPurgeJavaScriptMemory
4171
4172  # Enable/disable suppressing memory pressure notifications in all processes.
4173  command setPressureNotificationsSuppressed
4174    parameters
4175      # If true, memory pressure notifications will be suppressed.
4176      boolean suppressed
4177
4178  # Simulate a memory pressure notification in all processes.
4179  command simulatePressureNotification
4180    parameters
4181      # Memory pressure level of the notification.
4182      PressureLevel level
4183
4184  # Start collecting native memory profile.
4185  command startSampling
4186    parameters
4187      # Average number of bytes between samples.
4188      optional integer samplingInterval
4189      # Do not randomize intervals between samples.
4190      optional boolean suppressRandomness
4191
4192  # Stop collecting native memory profile.
4193  command stopSampling
4194
4195  # Retrieve native memory allocations profile
4196  # collected since renderer process startup.
4197  command getAllTimeSamplingProfile
4198    returns
4199      SamplingProfile profile
4200
4201  # Retrieve native memory allocations profile
4202  # collected since browser process startup.
4203  command getBrowserSamplingProfile
4204    returns
4205      SamplingProfile profile
4206
4207  # Retrieve native memory allocations profile collected since last
4208  # `startSampling` call.
4209  command getSamplingProfile
4210    returns
4211      SamplingProfile profile
4212
4213  # Heap profile sample.
4214  type SamplingProfileNode extends object
4215    properties
4216      # Size of the sampled allocation.
4217      number size
4218      # Total bytes attributed to this sample.
4219      number total
4220      # Execution stack at the point of allocation.
4221      array of string stack
4222
4223  # Array of heap profile samples.
4224  type SamplingProfile extends object
4225    properties
4226      array of SamplingProfileNode samples
4227      array of Module modules
4228
4229  # Executable module information
4230  type Module extends object
4231    properties
4232      # Name of the module.
4233      string name
4234      # UUID of the module.
4235      string uuid
4236      # Base address where the module is loaded into memory. Encoded as a decimal
4237      # or hexadecimal (0x prefixed) string.
4238      string baseAddress
4239      # Size of the module in bytes.
4240      number size
4241
4242# Network domain allows tracking network activities of the page. It exposes information about http,
4243# file, data and other requests and responses, their headers, bodies, timing, etc.
4244domain Network
4245  depends on Debugger
4246  depends on Runtime
4247  depends on Security
4248
4249  # Resource type as it was perceived by the rendering engine.
4250  type ResourceType extends string
4251    enum
4252      Document
4253      Stylesheet
4254      Image
4255      Media
4256      Font
4257      Script
4258      TextTrack
4259      XHR
4260      Fetch
4261      EventSource
4262      WebSocket
4263      Manifest
4264      SignedExchange
4265      Ping
4266      CSPViolationReport
4267      Other
4268
4269  # Unique loader identifier.
4270  type LoaderId extends string
4271
4272  # Unique request identifier.
4273  type RequestId extends string
4274
4275  # Unique intercepted request identifier.
4276  type InterceptionId extends string
4277
4278  # Network level fetch failure reason.
4279  type ErrorReason extends string
4280    enum
4281      Failed
4282      Aborted
4283      TimedOut
4284      AccessDenied
4285      ConnectionClosed
4286      ConnectionReset
4287      ConnectionRefused
4288      ConnectionAborted
4289      ConnectionFailed
4290      NameNotResolved
4291      InternetDisconnected
4292      AddressUnreachable
4293      BlockedByClient
4294      BlockedByResponse
4295
4296  # UTC time in seconds, counted from January 1, 1970.
4297  type TimeSinceEpoch extends number
4298
4299  # Monotonically increasing time in seconds since an arbitrary point in the past.
4300  type MonotonicTime extends number
4301
4302  # Request / response headers as keys / values of JSON object.
4303  type Headers extends object
4304
4305  # The underlying connection technology that the browser is supposedly using.
4306  type ConnectionType extends string
4307    enum
4308      none
4309      cellular2g
4310      cellular3g
4311      cellular4g
4312      bluetooth
4313      ethernet
4314      wifi
4315      wimax
4316      other
4317
4318  # Represents the cookie's 'SameSite' status:
4319  # https://tools.ietf.org/html/draft-west-first-party-cookies
4320  type CookieSameSite extends string
4321    enum
4322      Strict
4323      Lax
4324      None
4325
4326  # Represents the cookie's 'Priority' status:
4327  # https://tools.ietf.org/html/draft-west-cookie-priority-00
4328  experimental type CookiePriority extends string
4329    enum
4330      Low
4331      Medium
4332      High
4333
4334  # Timing information for the request.
4335  type ResourceTiming extends object
4336    properties
4337      # Timing's requestTime is a baseline in seconds, while the other numbers are ticks in
4338      # milliseconds relatively to this requestTime.
4339      number requestTime
4340      # Started resolving proxy.
4341      number proxyStart
4342      # Finished resolving proxy.
4343      number proxyEnd
4344      # Started DNS address resolve.
4345      number dnsStart
4346      # Finished DNS address resolve.
4347      number dnsEnd
4348      # Started connecting to the remote host.
4349      number connectStart
4350      # Connected to the remote host.
4351      number connectEnd
4352      # Started SSL handshake.
4353      number sslStart
4354      # Finished SSL handshake.
4355      number sslEnd
4356      # Started running ServiceWorker.
4357      experimental number workerStart
4358      # Finished Starting ServiceWorker.
4359      experimental number workerReady
4360      # Started fetch event.
4361      experimental number workerFetchStart
4362      # Settled fetch event respondWith promise.
4363      experimental number workerRespondWithSettled
4364      # Started sending request.
4365      number sendStart
4366      # Finished sending request.
4367      number sendEnd
4368      # Time the server started pushing request.
4369      experimental number pushStart
4370      # Time the server finished pushing request.
4371      experimental number pushEnd
4372      # Finished receiving response headers.
4373      number receiveHeadersEnd
4374
4375  # Loading priority of a resource request.
4376  type ResourcePriority extends string
4377    enum
4378      VeryLow
4379      Low
4380      Medium
4381      High
4382      VeryHigh
4383
4384  # Post data entry for HTTP request
4385  type PostDataEntry extends object
4386    properties
4387      optional binary bytes
4388
4389  # HTTP request data.
4390  type Request extends object
4391    properties
4392      # Request URL (without fragment).
4393      string url
4394      # Fragment of the requested URL starting with hash, if present.
4395      optional string urlFragment
4396      # HTTP request method.
4397      string method
4398      # HTTP request headers.
4399      Headers headers
4400      # HTTP POST request data.
4401      optional string postData
4402      # True when the request has POST data. Note that postData might still be omitted when this flag is true when the data is too long.
4403      optional boolean hasPostData
4404      # Request body elements. This will be converted from base64 to binary
4405      experimental optional array of PostDataEntry postDataEntries
4406      # The mixed content type of the request.
4407      optional Security.MixedContentType mixedContentType
4408      # Priority of the resource request at the time request is sent.
4409      ResourcePriority initialPriority
4410      # The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/
4411      enum referrerPolicy
4412        unsafe-url
4413        no-referrer-when-downgrade
4414        no-referrer
4415        origin
4416        origin-when-cross-origin
4417        same-origin
4418        strict-origin
4419        strict-origin-when-cross-origin
4420      # Whether is loaded via link preload.
4421      optional boolean isLinkPreload
4422      # Set for requests when the TrustToken API is used. Contains the parameters
4423      # passed by the developer (e.g. via "fetch") as understood by the backend.
4424      experimental optional TrustTokenParams trustTokenParams
4425
4426  # Details of a signed certificate timestamp (SCT).
4427  type SignedCertificateTimestamp extends object
4428    properties
4429      # Validation status.
4430      string status
4431      # Origin.
4432      string origin
4433      # Log name / description.
4434      string logDescription
4435      # Log ID.
4436      string logId
4437      # Issuance date.
4438      TimeSinceEpoch timestamp
4439      # Hash algorithm.
4440      string hashAlgorithm
4441      # Signature algorithm.
4442      string signatureAlgorithm
4443      # Signature data.
4444      string signatureData
4445
4446  # Security details about a request.
4447  type SecurityDetails extends object
4448    properties
4449      # Protocol name (e.g. "TLS 1.2" or "QUIC").
4450      string protocol
4451      # Key Exchange used by the connection, or the empty string if not applicable.
4452      string keyExchange
4453      # (EC)DH group used by the connection, if applicable.
4454      optional string keyExchangeGroup
4455      # Cipher name.
4456      string cipher
4457      # TLS MAC. Note that AEAD ciphers do not have separate MACs.
4458      optional string mac
4459      # Certificate ID value.
4460      Security.CertificateId certificateId
4461      # Certificate subject name.
4462      string subjectName
4463      # Subject Alternative Name (SAN) DNS names and IP addresses.
4464      array of string sanList
4465      # Name of the issuing CA.
4466      string issuer
4467      # Certificate valid from date.
4468      TimeSinceEpoch validFrom
4469      # Certificate valid to (expiration) date
4470      TimeSinceEpoch validTo
4471      # List of signed certificate timestamps (SCTs).
4472      array of SignedCertificateTimestamp signedCertificateTimestampList
4473      # Whether the request complied with Certificate Transparency policy
4474      CertificateTransparencyCompliance certificateTransparencyCompliance
4475
4476  # Whether the request complied with Certificate Transparency policy.
4477  type CertificateTransparencyCompliance extends string
4478    enum
4479      unknown
4480      not-compliant
4481      compliant
4482
4483  # The reason why request was blocked.
4484  type BlockedReason extends string
4485    enum
4486      other
4487      csp
4488      mixed-content
4489      origin
4490      inspector
4491      subresource-filter
4492      content-type
4493      collapsed-by-client
4494      coep-frame-resource-needs-coep-header
4495      coop-sandboxed-iframe-cannot-navigate-to-coop-page
4496      corp-not-same-origin
4497      corp-not-same-origin-after-defaulted-to-same-origin-by-coep
4498      corp-not-same-site
4499
4500  # The reason why request was blocked.
4501  type CorsError extends string
4502    enum
4503      DisallowedByMode
4504      InvalidResponse
4505      WildcardOriginNotAllowed
4506      MissingAllowOriginHeader
4507      MultipleAllowOriginValues
4508      InvalidAllowOriginValue
4509      AllowOriginMismatch
4510      InvalidAllowCredentials
4511      CorsDisabledScheme
4512      PreflightInvalidStatus
4513      PreflightDisallowedRedirect
4514      PreflightWildcardOriginNotAllowed
4515      PreflightMissingAllowOriginHeader
4516      PreflightMultipleAllowOriginValues
4517      PreflightInvalidAllowOriginValue
4518      PreflightAllowOriginMismatch
4519      PreflightInvalidAllowCredentials
4520      PreflightMissingAllowExternal
4521      PreflightInvalidAllowExternal
4522      InvalidAllowMethodsPreflightResponse
4523      InvalidAllowHeadersPreflightResponse
4524      MethodDisallowedByPreflightResponse
4525      HeaderDisallowedByPreflightResponse
4526      RedirectContainsCredentials
4527      InsecurePrivateNetwork
4528
4529  type CorsErrorStatus extends object
4530    properties
4531      CorsError corsError
4532      string failedParameter
4533
4534  # Source of serviceworker response.
4535  type ServiceWorkerResponseSource extends string
4536    enum
4537      cache-storage
4538      http-cache
4539      fallback-code
4540      network
4541
4542  # Determines what type of Trust Token operation is executed and
4543  # depending on the type, some additional parameters. The values
4544  # are specified in third_party/blink/renderer/core/fetch/trust_token.idl.
4545  experimental type TrustTokenParams extends object
4546    properties
4547      TrustTokenOperationType type
4548
4549      # Only set for "token-redemption" type and determine whether
4550      # to request a fresh SRR or use a still valid cached SRR.
4551      enum refreshPolicy
4552        UseCached
4553        Refresh
4554
4555      # Origins of issuers from whom to request tokens or redemption
4556      # records.
4557      optional array of string issuers
4558
4559  experimental type TrustTokenOperationType extends string
4560    enum
4561      # Type "token-request" in the Trust Token API.
4562      Issuance
4563      # Type "token-redemption" in the Trust Token API.
4564      Redemption
4565      # Type "send-redemption-record" in the Trust Token API.
4566      Signing
4567
4568  # HTTP response data.
4569  type Response extends object
4570    properties
4571      # Response URL. This URL can be different from CachedResource.url in case of redirect.
4572      string url
4573      # HTTP response status code.
4574      integer status
4575      # HTTP response status text.
4576      string statusText
4577      # HTTP response headers.
4578      Headers headers
4579      # HTTP response headers text.
4580      optional string headersText
4581      # Resource mimeType as determined by the browser.
4582      string mimeType
4583      # Refined HTTP request headers that were actually transmitted over the network.
4584      optional Headers requestHeaders
4585      # HTTP request headers text.
4586      optional string requestHeadersText
4587      # Specifies whether physical connection was actually reused for this request.
4588      boolean connectionReused
4589      # Physical connection id that was actually used for this request.
4590      number connectionId
4591      # Remote IP address.
4592      optional string remoteIPAddress
4593      # Remote port.
4594      optional integer remotePort
4595      # Specifies that the request was served from the disk cache.
4596      optional boolean fromDiskCache
4597      # Specifies that the request was served from the ServiceWorker.
4598      optional boolean fromServiceWorker
4599      # Specifies that the request was served from the prefetch cache.
4600      optional boolean fromPrefetchCache
4601      # Total number of bytes received for this request so far.
4602      number encodedDataLength
4603      # Timing information for the given request.
4604      optional ResourceTiming timing
4605      # Response source of response from ServiceWorker.
4606      optional ServiceWorkerResponseSource serviceWorkerResponseSource
4607      # The time at which the returned response was generated.
4608      optional TimeSinceEpoch responseTime
4609      # Cache Storage Cache Name.
4610      optional string cacheStorageCacheName
4611      # Protocol used to fetch this request.
4612      optional string protocol
4613      # Security state of the request resource.
4614      Security.SecurityState securityState
4615      # Security details for the request.
4616      optional SecurityDetails securityDetails
4617
4618  # WebSocket request data.
4619  type WebSocketRequest extends object
4620    properties
4621      # HTTP request headers.
4622      Headers headers
4623
4624  # WebSocket response data.
4625  type WebSocketResponse extends object
4626    properties
4627      # HTTP response status code.
4628      integer status
4629      # HTTP response status text.
4630      string statusText
4631      # HTTP response headers.
4632      Headers headers
4633      # HTTP response headers text.
4634      optional string headersText
4635      # HTTP request headers.
4636      optional Headers requestHeaders
4637      # HTTP request headers text.
4638      optional string requestHeadersText
4639
4640  # WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.
4641  type WebSocketFrame extends object
4642    properties
4643      # WebSocket message opcode.
4644      number opcode
4645      # WebSocket message mask.
4646      boolean mask
4647      # WebSocket message payload data.
4648      # If the opcode is 1, this is a text message and payloadData is a UTF-8 string.
4649      # If the opcode isn't 1, then payloadData is a base64 encoded string representing binary data.
4650      string payloadData
4651
4652  # Information about the cached resource.
4653  type CachedResource extends object
4654    properties
4655      # Resource URL. This is the url of the original network request.
4656      string url
4657      # Type of this resource.
4658      ResourceType type
4659      # Cached response data.
4660      optional Response response
4661      # Cached response body size.
4662      number bodySize
4663
4664  # Information about the request initiator.
4665  type Initiator extends object
4666    properties
4667      # Type of this initiator.
4668      enum type
4669        parser
4670        script
4671        preload
4672        SignedExchange
4673        other
4674      # Initiator JavaScript stack trace, set for Script only.
4675      optional Runtime.StackTrace stack
4676      # Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type.
4677      optional string url
4678      # Initiator line number, set for Parser type or for Script type (when script is importing
4679      # module) (0-based).
4680      optional number lineNumber
4681      # Initiator column number, set for Parser type or for Script type (when script is importing
4682      # module) (0-based).
4683      optional number columnNumber
4684
4685  # Cookie object
4686  type Cookie extends object
4687    properties
4688      # Cookie name.
4689      string name
4690      # Cookie value.
4691      string value
4692      # Cookie domain.
4693      string domain
4694      # Cookie path.
4695      string path
4696      # Cookie expiration date as the number of seconds since the UNIX epoch.
4697      number expires
4698      # Cookie size.
4699      integer size
4700      # True if cookie is http-only.
4701      boolean httpOnly
4702      # True if cookie is secure.
4703      boolean secure
4704      # True in case of session cookie.
4705      boolean session
4706      # Cookie SameSite type.
4707      optional CookieSameSite sameSite
4708      # Cookie Priority
4709      experimental CookiePriority priority
4710
4711  # Types of reasons why a cookie may not be stored from a response.
4712  experimental type SetCookieBlockedReason extends string
4713    enum
4714      # The cookie had the "Secure" attribute but was not received over a secure connection.
4715      SecureOnly
4716      # The cookie had the "SameSite=Strict" attribute but came from a cross-origin response.
4717      # This includes navigation requests intitiated by other origins.
4718      SameSiteStrict
4719      # The cookie had the "SameSite=Lax" attribute but came from a cross-origin response.
4720      SameSiteLax
4721      # The cookie didn't specify a "SameSite" attribute and was defaulted to "SameSite=Lax" and
4722      # broke the same rules specified in the SameSiteLax value.
4723      SameSiteUnspecifiedTreatedAsLax
4724      # The cookie had the "SameSite=None" attribute but did not specify the "Secure" attribute,
4725      # which is required in order to use "SameSite=None".
4726      SameSiteNoneInsecure
4727      # The cookie was not stored due to user preferences.
4728      UserPreferences
4729      # The syntax of the Set-Cookie header of the response was invalid.
4730      SyntaxError
4731      # The scheme of the connection is not allowed to store cookies.
4732      SchemeNotSupported
4733      # The cookie was not sent over a secure connection and would have overwritten a cookie with
4734      # the Secure attribute.
4735      OverwriteSecure
4736      # The cookie's domain attribute was invalid with regards to the current host url.
4737      InvalidDomain
4738      # The cookie used the "__Secure-" or "__Host-" prefix in its name and broke the additional
4739      # rules applied to cookies with these prefixes as defined in
4740      # https://tools.ietf.org/html/draft-west-cookie-prefixes-05
4741      InvalidPrefix
4742      # An unknown error was encountered when trying to store this cookie.
4743      UnknownError
4744      # The cookie had the "SameSite=Strict" attribute but came from a response
4745      # with the same registrable domain but a different scheme.
4746      # This includes navigation requests intitiated by other origins.
4747      # This is the "Schemeful Same-Site" version of the blocked reason.
4748      SchemefulSameSiteStrict
4749      # The cookie had the "SameSite=Lax" attribute but came from a response
4750      # with the same registrable domain but a different scheme.
4751      # This is the "Schemeful Same-Site" version of the blocked reason.
4752      SchemefulSameSiteLax
4753      # The cookie didn't specify a "SameSite" attribute and was defaulted to
4754      # "SameSite=Lax" and broke the same rules specified in the SchemefulSameSiteLax
4755      # value.
4756      # This is the "Schemeful Same-Site" version of the blocked reason.
4757      SchemefulSameSiteUnspecifiedTreatedAsLax
4758
4759  # Types of reasons why a cookie may not be sent with a request.
4760  experimental type CookieBlockedReason extends string
4761    enum
4762      # The cookie had the "Secure" attribute and the connection was not secure.
4763      SecureOnly
4764      # The cookie's path was not within the request url's path.
4765      NotOnPath
4766      # The cookie's domain is not configured to match the request url's domain, even though they
4767      # share a common TLD+1 (TLD+1 of foo.bar.example.com is example.com).
4768      DomainMismatch
4769      # The cookie had the "SameSite=Strict" attribute and the request was made on on a different
4770      # site. This includes navigation requests initiated by other sites.
4771      SameSiteStrict
4772      # The cookie had the "SameSite=Lax" attribute and the request was made on a different site.
4773      # This does not include navigation requests initiated by other sites.
4774      SameSiteLax
4775      # The cookie didn't specify a SameSite attribute when it was stored and was defaulted to
4776      # "SameSite=Lax" and broke the same rules specified in the SameSiteLax value. The cookie had
4777      # to have been set with "SameSite=None" to enable third-party usage.
4778      SameSiteUnspecifiedTreatedAsLax
4779      # The cookie had the "SameSite=None" attribute and the connection was not secure. Cookies
4780      # without SameSite restrictions must be sent over a secure connection.
4781      SameSiteNoneInsecure
4782      # The cookie was not sent due to user preferences.
4783      UserPreferences
4784      # An unknown error was encountered when trying to send this cookie.
4785      UnknownError
4786      # The cookie had the "SameSite=Strict" attribute but came from a response
4787      # with the same registrable domain but a different scheme.
4788      # This includes navigation requests intitiated by other origins.
4789      # This is the "Schemeful Same-Site" version of the blocked reason.
4790      SchemefulSameSiteStrict
4791      # The cookie had the "SameSite=Lax" attribute but came from a response
4792      # with the same registrable domain but a different scheme.
4793      # This is the "Schemeful Same-Site" version of the blocked reason.
4794      SchemefulSameSiteLax
4795      # The cookie didn't specify a "SameSite" attribute and was defaulted to
4796      # "SameSite=Lax" and broke the same rules specified in the SchemefulSameSiteLax
4797      # value.
4798      # This is the "Schemeful Same-Site" version of the blocked reason.
4799      SchemefulSameSiteUnspecifiedTreatedAsLax
4800
4801  # A cookie which was not stored from a response with the corresponding reason.
4802  experimental type BlockedSetCookieWithReason extends object
4803    properties
4804      # The reason(s) this cookie was blocked.
4805      array of SetCookieBlockedReason blockedReasons
4806      # The string representing this individual cookie as it would appear in the header.
4807      # This is not the entire "cookie" or "set-cookie" header which could have multiple cookies.
4808      string cookieLine
4809      # The cookie object which represents the cookie which was not stored. It is optional because
4810      # sometimes complete cookie information is not available, such as in the case of parsing
4811      # errors.
4812      optional Cookie cookie
4813
4814  # A cookie with was not sent with a request with the corresponding reason.
4815  experimental type BlockedCookieWithReason extends object
4816    properties
4817      # The reason(s) the cookie was blocked.
4818      array of CookieBlockedReason blockedReasons
4819      # The cookie object representing the cookie which was not sent.
4820      Cookie cookie
4821
4822  # Cookie parameter object
4823  type CookieParam extends object
4824    properties
4825      # Cookie name.
4826      string name
4827      # Cookie value.
4828      string value
4829      # The request-URI to associate with the setting of the cookie. This value can affect the
4830      # default domain and path values of the created cookie.
4831      optional string url
4832      # Cookie domain.
4833      optional string domain
4834      # Cookie path.
4835      optional string path
4836      # True if cookie is secure.
4837      optional boolean secure
4838      # True if cookie is http-only.
4839      optional boolean httpOnly
4840      # Cookie SameSite type.
4841      optional CookieSameSite sameSite
4842      # Cookie expiration date, session cookie if not set
4843      optional TimeSinceEpoch expires
4844      # Cookie Priority.
4845      experimental optional CookiePriority priority
4846
4847  # Authorization challenge for HTTP status code 401 or 407.
4848  experimental type AuthChallenge extends object
4849    properties
4850      # Source of the authentication challenge.
4851      optional enum source
4852        Server
4853        Proxy
4854      # Origin of the challenger.
4855      string origin
4856      # The authentication scheme used, such as basic or digest
4857      string scheme
4858      # The realm of the challenge. May be empty.
4859      string realm
4860
4861  # Response to an AuthChallenge.
4862  experimental type AuthChallengeResponse extends object
4863    properties
4864      # The decision on what to do in response to the authorization challenge.  Default means
4865      # deferring to the default behavior of the net stack, which will likely either the Cancel
4866      # authentication or display a popup dialog box.
4867      enum response
4868        Default
4869        CancelAuth
4870        ProvideCredentials
4871      # The username to provide, possibly empty. Should only be set if response is
4872      # ProvideCredentials.
4873      optional string username
4874      # The password to provide, possibly empty. Should only be set if response is
4875      # ProvideCredentials.
4876      optional string password
4877
4878  # Stages of the interception to begin intercepting. Request will intercept before the request is
4879  # sent. Response will intercept after the response is received.
4880  experimental type InterceptionStage extends string
4881    enum
4882      Request
4883      HeadersReceived
4884
4885  # Request pattern for interception.
4886  experimental type RequestPattern extends object
4887    properties
4888      # Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is
4889      # backslash. Omitting is equivalent to "*".
4890      optional string urlPattern
4891      # If set, only requests for matching resource types will be intercepted.
4892      optional ResourceType resourceType
4893      # Stage at wich to begin intercepting requests. Default is Request.
4894      optional InterceptionStage interceptionStage
4895
4896  # Information about a signed exchange signature.
4897  # https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1
4898  experimental type SignedExchangeSignature extends object
4899    properties
4900      # Signed exchange signature label.
4901      string label
4902      # The hex string of signed exchange signature.
4903      string signature
4904      # Signed exchange signature integrity.
4905      string integrity
4906      # Signed exchange signature cert Url.
4907      optional string certUrl
4908      # The hex string of signed exchange signature cert sha256.
4909      optional string certSha256
4910      # Signed exchange signature validity Url.
4911      string validityUrl
4912      # Signed exchange signature date.
4913      integer date
4914      # Signed exchange signature expires.
4915      integer expires
4916      # The encoded certificates.
4917      optional array of string certificates
4918
4919  # Information about a signed exchange header.
4920  # https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation
4921  experimental type SignedExchangeHeader extends object
4922    properties
4923      # Signed exchange request URL.
4924      string requestUrl
4925      # Signed exchange response code.
4926      integer responseCode
4927      # Signed exchange response headers.
4928      Headers responseHeaders
4929      # Signed exchange response signature.
4930      array of SignedExchangeSignature signatures
4931      # Signed exchange header integrity hash in the form of "sha256-<base64-hash-value>".
4932      string headerIntegrity
4933
4934  # Field type for a signed exchange related error.
4935  experimental type SignedExchangeErrorField extends string
4936    enum
4937      signatureSig
4938      signatureIntegrity
4939      signatureCertUrl
4940      signatureCertSha256
4941      signatureValidityUrl
4942      signatureTimestamps
4943
4944  # Information about a signed exchange response.
4945  experimental type SignedExchangeError extends object
4946    properties
4947      # Error message.
4948      string message
4949      # The index of the signature which caused the error.
4950      optional integer signatureIndex
4951      # The field which caused the error.
4952      optional SignedExchangeErrorField errorField
4953
4954  # Information about a signed exchange response.
4955  experimental type SignedExchangeInfo extends object
4956    properties
4957      # The outer response of signed HTTP exchange which was received from network.
4958      Response outerResponse
4959      # Information about the signed exchange header.
4960      optional SignedExchangeHeader header
4961      # Security details for the signed exchange header.
4962      optional SecurityDetails securityDetails
4963      # Errors occurred while handling the signed exchagne.
4964      optional array of SignedExchangeError errors
4965
4966  # Tells whether clearing browser cache is supported.
4967  deprecated command canClearBrowserCache
4968    returns
4969      # True if browser cache can be cleared.
4970      boolean result
4971
4972  # Tells whether clearing browser cookies is supported.
4973  deprecated command canClearBrowserCookies
4974    returns
4975      # True if browser cookies can be cleared.
4976      boolean result
4977
4978  # Tells whether emulation of network conditions is supported.
4979  deprecated command canEmulateNetworkConditions
4980    returns
4981      # True if emulation of network conditions is supported.
4982      boolean result
4983
4984  # Clears browser cache.
4985  command clearBrowserCache
4986
4987  # Clears browser cookies.
4988  command clearBrowserCookies
4989
4990  # Response to Network.requestIntercepted which either modifies the request to continue with any
4991  # modifications, or blocks it, or completes it with the provided response bytes. If a network
4992  # fetch occurs as a result which encounters a redirect an additional Network.requestIntercepted
4993  # event will be sent with the same InterceptionId.
4994  # Deprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead.
4995  experimental deprecated command continueInterceptedRequest
4996    parameters
4997      InterceptionId interceptionId
4998      # If set this causes the request to fail with the given reason. Passing `Aborted` for requests
4999      # marked with `isNavigationRequest` also cancels the navigation. Must not be set in response
5000      # to an authChallenge.
5001      optional ErrorReason errorReason
5002      # If set the requests completes using with the provided base64 encoded raw response, including
5003      # HTTP status line and headers etc... Must not be set in response to an authChallenge.
5004      optional binary rawResponse
5005      # If set the request url will be modified in a way that's not observable by page. Must not be
5006      # set in response to an authChallenge.
5007      optional string url
5008      # If set this allows the request method to be overridden. Must not be set in response to an
5009      # authChallenge.
5010      optional string method
5011      # If set this allows postData to be set. Must not be set in response to an authChallenge.
5012      optional string postData
5013      # If set this allows the request headers to be changed. Must not be set in response to an
5014      # authChallenge.
5015      optional Headers headers
5016      # Response to a requestIntercepted with an authChallenge. Must not be set otherwise.
5017      optional AuthChallengeResponse authChallengeResponse
5018
5019  # Deletes browser cookies with matching name and url or domain/path pair.
5020  command deleteCookies
5021    parameters
5022      # Name of the cookies to remove.
5023      string name
5024      # If specified, deletes all the cookies with the given name where domain and path match
5025      # provided URL.
5026      optional string url
5027      # If specified, deletes only cookies with the exact domain.
5028      optional string domain
5029      # If specified, deletes only cookies with the exact path.
5030      optional string path
5031
5032  # Disables network tracking, prevents network events from being sent to the client.
5033  command disable
5034
5035  # Activates emulation of network conditions.
5036  command emulateNetworkConditions
5037    parameters
5038      # True to emulate internet disconnection.
5039      boolean offline
5040      # Minimum latency from request sent to response headers received (ms).
5041      number latency
5042      # Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.
5043      number downloadThroughput
5044      # Maximal aggregated upload throughput (bytes/sec).  -1 disables upload throttling.
5045      number uploadThroughput
5046      # Connection type if known.
5047      optional ConnectionType connectionType
5048
5049  # Enables network tracking, network events will now be delivered to the client.
5050  command enable
5051    parameters
5052      # Buffer size in bytes to use when preserving network payloads (XHRs, etc).
5053      experimental optional integer maxTotalBufferSize
5054      # Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).
5055      experimental optional integer maxResourceBufferSize
5056      # Longest post body size (in bytes) that would be included in requestWillBeSent notification
5057      optional integer maxPostDataSize
5058
5059  # Returns all browser cookies. Depending on the backend support, will return detailed cookie
5060  # information in the `cookies` field.
5061  command getAllCookies
5062    returns
5063      # Array of cookie objects.
5064      array of Cookie cookies
5065
5066  # Returns the DER-encoded certificate.
5067  experimental command getCertificate
5068    parameters
5069      # Origin to get certificate for.
5070      string origin
5071    returns
5072      array of string tableNames
5073
5074  # Returns all browser cookies for the current URL. Depending on the backend support, will return
5075  # detailed cookie information in the `cookies` field.
5076  command getCookies
5077    parameters
5078      # The list of URLs for which applicable cookies will be fetched.
5079      # If not specified, it's assumed to be set to the list containing
5080      # the URLs of the page and all of its subframes.
5081      optional array of string urls
5082    returns
5083      # Array of cookie objects.
5084      array of Cookie cookies
5085
5086  # Returns content served for the given request.
5087  command getResponseBody
5088    parameters
5089      # Identifier of the network request to get content for.
5090      RequestId requestId
5091    returns
5092      # Response body.
5093      string body
5094      # True, if content was sent as base64.
5095      boolean base64Encoded
5096
5097  # Returns post data sent with the request. Returns an error when no data was sent with the request.
5098  command getRequestPostData
5099    parameters
5100      # Identifier of the network request to get content for.
5101      RequestId requestId
5102    returns
5103      # Request body string, omitting files from multipart requests
5104      string postData
5105
5106  # Returns content served for the given currently intercepted request.
5107  experimental command getResponseBodyForInterception
5108    parameters
5109      # Identifier for the intercepted request to get body for.
5110      InterceptionId interceptionId
5111    returns
5112      # Response body.
5113      string body
5114      # True, if content was sent as base64.
5115      boolean base64Encoded
5116
5117  # Returns a handle to the stream representing the response body. Note that after this command,
5118  # the intercepted request can't be continued as is -- you either need to cancel it or to provide
5119  # the response body. The stream only supports sequential read, IO.read will fail if the position
5120  # is specified.
5121  experimental command takeResponseBodyForInterceptionAsStream
5122    parameters
5123      InterceptionId interceptionId
5124    returns
5125      IO.StreamHandle stream
5126
5127  # This method sends a new XMLHttpRequest which is identical to the original one. The following
5128  # parameters should be identical: method, url, async, request body, extra headers, withCredentials
5129  # attribute, user, password.
5130  experimental command replayXHR
5131    parameters
5132      # Identifier of XHR to replay.
5133      RequestId requestId
5134
5135  # Searches for given string in response content.
5136  experimental command searchInResponseBody
5137    parameters
5138      # Identifier of the network response to search.
5139      RequestId requestId
5140      # String to search for.
5141      string query
5142      # If true, search is case sensitive.
5143      optional boolean caseSensitive
5144      # If true, treats string parameter as regex.
5145      optional boolean isRegex
5146    returns
5147      # List of search matches.
5148      array of Debugger.SearchMatch result
5149
5150  # Blocks URLs from loading.
5151  experimental command setBlockedURLs
5152    parameters
5153      # URL patterns to block. Wildcards ('*') are allowed.
5154      array of string urls
5155
5156  # Toggles ignoring of service worker for each request.
5157  experimental command setBypassServiceWorker
5158    parameters
5159      # Bypass service worker and load from network.
5160      boolean bypass
5161
5162  # Toggles ignoring cache for each request. If `true`, cache will not be used.
5163  command setCacheDisabled
5164    parameters
5165      # Cache disabled state.
5166      boolean cacheDisabled
5167
5168  # Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.
5169  command setCookie
5170    parameters
5171      # Cookie name.
5172      string name
5173      # Cookie value.
5174      string value
5175      # The request-URI to associate with the setting of the cookie. This value can affect the
5176      # default domain and path values of the created cookie.
5177      optional string url
5178      # Cookie domain.
5179      optional string domain
5180      # Cookie path.
5181      optional string path
5182      # True if cookie is secure.
5183      optional boolean secure
5184      # True if cookie is http-only.
5185      optional boolean httpOnly
5186      # Cookie SameSite type.
5187      optional CookieSameSite sameSite
5188      # Cookie expiration date, session cookie if not set
5189      optional TimeSinceEpoch expires
5190      # Cookie Priority type.
5191      experimental optional CookiePriority priority
5192    returns
5193      # Always set to true. If an error occurs, the response indicates protocol error.
5194      deprecated boolean success
5195
5196  # Sets given cookies.
5197  command setCookies
5198    parameters
5199      # Cookies to be set.
5200      array of CookieParam cookies
5201
5202  # For testing.
5203  experimental command setDataSizeLimitsForTest
5204    parameters
5205      # Maximum total buffer size.
5206      integer maxTotalSize
5207      # Maximum per-resource size.
5208      integer maxResourceSize
5209
5210  # Specifies whether to always send extra HTTP headers with the requests from this page.
5211  command setExtraHTTPHeaders
5212    parameters
5213      # Map with extra HTTP headers.
5214      Headers headers
5215
5216  # Specifies whether to attach a page script stack id in requests
5217  experimental command setAttachDebugStack
5218    parameters
5219      # Whether to attach a page script stack for debugging purpose.
5220      boolean enabled
5221
5222  # Sets the requests to intercept that match the provided patterns and optionally resource types.
5223  # Deprecated, please use Fetch.enable instead.
5224  experimental deprecated command setRequestInterception
5225    parameters
5226      # Requests matching any of these patterns will be forwarded and wait for the corresponding
5227      # continueInterceptedRequest call.
5228      array of RequestPattern patterns
5229
5230  # Allows overriding user agent with the given string.
5231  command setUserAgentOverride
5232    redirect Emulation
5233    parameters
5234      # User agent to use.
5235      string userAgent
5236      # Browser langugage to emulate.
5237      optional string acceptLanguage
5238      # The platform navigator.platform should return.
5239      optional string platform
5240      # To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData
5241      experimental optional Emulation.UserAgentMetadata userAgentMetadata
5242
5243
5244  # Fired when data chunk was received over the network.
5245  event dataReceived
5246    parameters
5247      # Request identifier.
5248      RequestId requestId
5249      # Timestamp.
5250      MonotonicTime timestamp
5251      # Data chunk length.
5252      integer dataLength
5253      # Actual bytes received (might be less than dataLength for compressed encodings).
5254      integer encodedDataLength
5255
5256  # Fired when EventSource message is received.
5257  event eventSourceMessageReceived
5258    parameters
5259      # Request identifier.
5260      RequestId requestId
5261      # Timestamp.
5262      MonotonicTime timestamp
5263      # Message type.
5264      string eventName
5265      # Message identifier.
5266      string eventId
5267      # Message content.
5268      string data
5269
5270  # Fired when HTTP request has failed to load.
5271  event loadingFailed
5272    parameters
5273      # Request identifier.
5274      RequestId requestId
5275      # Timestamp.
5276      MonotonicTime timestamp
5277      # Resource type.
5278      ResourceType type
5279      # User friendly error message.
5280      string errorText
5281      # True if loading was canceled.
5282      optional boolean canceled
5283      # The reason why loading was blocked, if any.
5284      optional BlockedReason blockedReason
5285       # The reason why loading was blocked by CORS, if any.
5286      optional CorsErrorStatus corsErrorStatus
5287
5288  # Fired when HTTP request has finished loading.
5289  event loadingFinished
5290    parameters
5291      # Request identifier.
5292      RequestId requestId
5293      # Timestamp.
5294      MonotonicTime timestamp
5295      # Total number of bytes received for this request.
5296      number encodedDataLength
5297      # Set when 1) response was blocked by Cross-Origin Read Blocking and also
5298      # 2) this needs to be reported to the DevTools console.
5299      optional boolean shouldReportCorbBlocking
5300
5301  # Details of an intercepted HTTP request, which must be either allowed, blocked, modified or
5302  # mocked.
5303  # Deprecated, use Fetch.requestPaused instead.
5304  experimental deprecated event requestIntercepted
5305    parameters
5306      # Each request the page makes will have a unique id, however if any redirects are encountered
5307      # while processing that fetch, they will be reported with the same id as the original fetch.
5308      # Likewise if HTTP authentication is needed then the same fetch id will be used.
5309      InterceptionId interceptionId
5310      Request request
5311      # The id of the frame that initiated the request.
5312      Page.FrameId frameId
5313      # How the requested resource will be used.
5314      ResourceType resourceType
5315      # Whether this is a navigation request, which can abort the navigation completely.
5316      boolean isNavigationRequest
5317      # Set if the request is a navigation that will result in a download.
5318      # Only present after response is received from the server (i.e. HeadersReceived stage).
5319      optional boolean isDownload
5320      # Redirect location, only sent if a redirect was intercepted.
5321      optional string redirectUrl
5322      # Details of the Authorization Challenge encountered. If this is set then
5323      # continueInterceptedRequest must contain an authChallengeResponse.
5324      optional AuthChallenge authChallenge
5325      # Response error if intercepted at response stage or if redirect occurred while intercepting
5326      # request.
5327      optional ErrorReason responseErrorReason
5328      # Response code if intercepted at response stage or if redirect occurred while intercepting
5329      # request or auth retry occurred.
5330      optional integer responseStatusCode
5331      # Response headers if intercepted at the response stage or if redirect occurred while
5332      # intercepting request or auth retry occurred.
5333      optional Headers responseHeaders
5334      # If the intercepted request had a corresponding requestWillBeSent event fired for it, then
5335      # this requestId will be the same as the requestId present in the requestWillBeSent event.
5336      optional RequestId requestId
5337
5338  # Fired if request ended up loading from cache.
5339  event requestServedFromCache
5340    parameters
5341      # Request identifier.
5342      RequestId requestId
5343
5344  # Fired when page is about to send HTTP request.
5345  event requestWillBeSent
5346    parameters
5347      # Request identifier.
5348      RequestId requestId
5349      # Loader identifier. Empty string if the request is fetched from worker.
5350      LoaderId loaderId
5351      # URL of the document this request is loaded for.
5352      string documentURL
5353      # Request data.
5354      Request request
5355      # Timestamp.
5356      MonotonicTime timestamp
5357      # Timestamp.
5358      TimeSinceEpoch wallTime
5359      # Request initiator.
5360      Initiator initiator
5361      # Redirect response data.
5362      optional Response redirectResponse
5363      # Type of this resource.
5364      optional ResourceType type
5365      # Frame identifier.
5366      optional Page.FrameId frameId
5367      # Whether the request is initiated by a user gesture. Defaults to false.
5368      optional boolean hasUserGesture
5369
5370  # Fired when resource loading priority is changed
5371  experimental event resourceChangedPriority
5372    parameters
5373      # Request identifier.
5374      RequestId requestId
5375      # New priority
5376      ResourcePriority newPriority
5377      # Timestamp.
5378      MonotonicTime timestamp
5379
5380  # Fired when a signed exchange was received over the network
5381  experimental event signedExchangeReceived
5382    parameters
5383      # Request identifier.
5384      RequestId requestId
5385      # Information about the signed exchange response.
5386      SignedExchangeInfo info
5387
5388  # Fired when HTTP response is available.
5389  event responseReceived
5390    parameters
5391      # Request identifier.
5392      RequestId requestId
5393      # Loader identifier. Empty string if the request is fetched from worker.
5394      LoaderId loaderId
5395      # Timestamp.
5396      MonotonicTime timestamp
5397      # Resource type.
5398      ResourceType type
5399      # Response data.
5400      Response response
5401      # Frame identifier.
5402      optional Page.FrameId frameId
5403
5404  # Fired when WebSocket is closed.
5405  event webSocketClosed
5406    parameters
5407      # Request identifier.
5408      RequestId requestId
5409      # Timestamp.
5410      MonotonicTime timestamp
5411
5412  # Fired upon WebSocket creation.
5413  event webSocketCreated
5414    parameters
5415      # Request identifier.
5416      RequestId requestId
5417      # WebSocket request URL.
5418      string url
5419      # Request initiator.
5420      optional Initiator initiator
5421
5422  # Fired when WebSocket message error occurs.
5423  event webSocketFrameError
5424    parameters
5425      # Request identifier.
5426      RequestId requestId
5427      # Timestamp.
5428      MonotonicTime timestamp
5429      # WebSocket error message.
5430      string errorMessage
5431
5432  # Fired when WebSocket message is received.
5433  event webSocketFrameReceived
5434    parameters
5435      # Request identifier.
5436      RequestId requestId
5437      # Timestamp.
5438      MonotonicTime timestamp
5439      # WebSocket response data.
5440      WebSocketFrame response
5441
5442  # Fired when WebSocket message is sent.
5443  event webSocketFrameSent
5444    parameters
5445      # Request identifier.
5446      RequestId requestId
5447      # Timestamp.
5448      MonotonicTime timestamp
5449      # WebSocket response data.
5450      WebSocketFrame response
5451
5452  # Fired when WebSocket handshake response becomes available.
5453  event webSocketHandshakeResponseReceived
5454    parameters
5455      # Request identifier.
5456      RequestId requestId
5457      # Timestamp.
5458      MonotonicTime timestamp
5459      # WebSocket response data.
5460      WebSocketResponse response
5461
5462  # Fired when WebSocket is about to initiate handshake.
5463  event webSocketWillSendHandshakeRequest
5464    parameters
5465      # Request identifier.
5466      RequestId requestId
5467      # Timestamp.
5468      MonotonicTime timestamp
5469      # UTC Timestamp.
5470      TimeSinceEpoch wallTime
5471      # WebSocket request data.
5472      WebSocketRequest request
5473
5474  # Fired when additional information about a requestWillBeSent event is available from the
5475  # network stack. Not every requestWillBeSent event will have an additional
5476  # requestWillBeSentExtraInfo fired for it, and there is no guarantee whether requestWillBeSent
5477  # or requestWillBeSentExtraInfo will be fired first for the same request.
5478  experimental event requestWillBeSentExtraInfo
5479    parameters
5480      # Request identifier. Used to match this information to an existing requestWillBeSent event.
5481      RequestId requestId
5482      # A list of cookies potentially associated to the requested URL. This includes both cookies sent with
5483      # the request and the ones not sent; the latter are distinguished by having blockedReason field set.
5484      array of BlockedCookieWithReason associatedCookies
5485      # Raw request headers as they will be sent over the wire.
5486      Headers headers
5487
5488  # Fired when additional information about a responseReceived event is available from the network
5489  # stack. Not every responseReceived event will have an additional responseReceivedExtraInfo for
5490  # it, and responseReceivedExtraInfo may be fired before or after responseReceived.
5491  experimental event responseReceivedExtraInfo
5492    parameters
5493      # Request identifier. Used to match this information to another responseReceived event.
5494      RequestId requestId
5495      # A list of cookies which were not stored from the response along with the corresponding
5496      # reasons for blocking. The cookies here may not be valid due to syntax errors, which
5497      # are represented by the invalid cookie line string instead of a proper cookie.
5498      array of BlockedSetCookieWithReason blockedCookies
5499      # Raw response headers as they were received over the wire.
5500      Headers headers
5501      # Raw response header text as it was received over the wire. The raw text may not always be
5502      # available, such as in the case of HTTP/2 or QUIC.
5503      optional string headersText
5504
5505  experimental type CrossOriginOpenerPolicyValue extends string
5506    enum
5507      SameOrigin
5508      SameOriginAllowPopups
5509      UnsafeNone
5510      SameOriginPlusCoep
5511
5512  experimental type CrossOriginOpenerPolicyStatus extends object
5513    properties
5514      CrossOriginOpenerPolicyValue value
5515      CrossOriginOpenerPolicyValue reportOnlyValue
5516      optional string reportingEndpoint
5517      optional string reportOnlyReportingEndpoint
5518
5519  experimental type CrossOriginEmbedderPolicyValue extends string
5520    enum
5521      None
5522      RequireCorp
5523
5524  experimental type CrossOriginEmbedderPolicyStatus extends object
5525    properties
5526      CrossOriginEmbedderPolicyValue value
5527      CrossOriginEmbedderPolicyValue reportOnlyValue
5528      optional string reportingEndpoint
5529      optional string reportOnlyReportingEndpoint
5530
5531  experimental type SecurityIsolationStatus extends object
5532    properties
5533      optional CrossOriginOpenerPolicyStatus coop
5534      optional CrossOriginEmbedderPolicyStatus coep
5535
5536  # Returns information about the COEP/COOP isolation status.
5537  experimental command getSecurityIsolationStatus
5538    parameters
5539      # If no frameId is provided, the status of the target is provided.
5540      optional Page.FrameId frameId
5541    returns
5542      SecurityIsolationStatus status
5543
5544  # An object providing the result of a network resource load.
5545  experimental type LoadNetworkResourcePageResult extends object
5546    properties
5547      boolean success
5548      # Optional values used for error reporting.
5549      optional number netError
5550      optional string netErrorName
5551      optional number httpStatusCode
5552      # If successful, one of the following two fields holds the result.
5553      optional IO.StreamHandle stream
5554      # Response headers.
5555      optional Network.Headers headers
5556
5557  # An options object that may be extended later to better support CORS,
5558  # CORB and streaming.
5559  experimental type LoadNetworkResourceOptions extends object
5560    properties
5561      boolean disableCache
5562      boolean includeCredentials
5563
5564  # Fetches the resource and returns the content.
5565  experimental command loadNetworkResource
5566    parameters
5567      # Frame id to get the resource for.
5568      Page.FrameId frameId
5569      # URL of the resource to get content for.
5570      string url
5571      # Options for the request.
5572      LoadNetworkResourceOptions options
5573    returns
5574      LoadNetworkResourcePageResult resource
5575
5576# This domain provides various functionality related to drawing atop the inspected page.
5577experimental domain Overlay
5578  depends on DOM
5579  depends on Page
5580  depends on Runtime
5581
5582  # Configuration data for drawing the source order of an elements children.
5583  type SourceOrderConfig extends object
5584    properties
5585      # the color to outline the givent element in.
5586      DOM.RGBA parentOutlineColor
5587      # the color to outline the child elements in.
5588      DOM.RGBA childOutlineColor
5589
5590  # Configuration data for the highlighting of Grid elements.
5591  type GridHighlightConfig extends object
5592    properties
5593      # Whether the extension lines from grid cells to the rulers should be shown (default: false).
5594      optional boolean showGridExtensionLines
5595      # Show Positive line number labels (default: false).
5596      optional boolean showPositiveLineNumbers
5597      # Show Negative line number labels (default: false).
5598      optional boolean showNegativeLineNumbers
5599      # Show area name labels (default: false).
5600      optional boolean showAreaNames
5601      # Show line name labels (default: false).
5602      optional boolean showLineNames
5603      # Show track size labels (default: false).
5604      optional boolean showTrackSizes
5605      # The grid container border highlight color (default: transparent).
5606      optional DOM.RGBA gridBorderColor
5607      # The cell border color (default: transparent). Deprecated, please use rowLineColor and columnLineColor instead.
5608      deprecated optional DOM.RGBA cellBorderColor
5609      # The row line color (default: transparent).
5610      optional DOM.RGBA rowLineColor
5611      # The column line color (default: transparent).
5612      optional DOM.RGBA columnLineColor
5613      # Whether the grid border is dashed (default: false).
5614      optional boolean gridBorderDash
5615      # Whether the cell border is dashed (default: false). Deprecated, please us rowLineDash and columnLineDash instead.
5616      deprecated optional boolean cellBorderDash
5617      # Whether row lines are dashed (default: false).
5618      optional boolean rowLineDash
5619      # Whether column lines are dashed (default: false).
5620      optional boolean columnLineDash
5621      # The row gap highlight fill color (default: transparent).
5622      optional DOM.RGBA rowGapColor
5623      # The row gap hatching fill color (default: transparent).
5624      optional DOM.RGBA rowHatchColor
5625      # The column gap highlight fill color (default: transparent).
5626      optional DOM.RGBA columnGapColor
5627      # The column gap hatching fill color (default: transparent).
5628      optional DOM.RGBA columnHatchColor
5629      # The named grid areas border color (Default: transparent).
5630      optional DOM.RGBA areaBorderColor
5631      # The grid container background color (Default: transparent).
5632      optional DOM.RGBA gridBackgroundColor
5633
5634  # Configuration data for the highlighting of Flex container elements.
5635  type FlexContainerHighlightConfig extends object
5636    properties
5637      # The style of the container border
5638      optional LineStyle containerBorder
5639      # The style of the separator between lines
5640      optional LineStyle lineSeparator
5641      # The style of the separator between items
5642      optional LineStyle itemSeparator
5643
5644  # Style information for drawing a line.
5645  type LineStyle extends object
5646    properties
5647      # The color of the line (default: transparent)
5648      optional DOM.RGBA color
5649      # The line pattern (default: solid)
5650      optional enum pattern
5651        dashed
5652        dotted
5653
5654  # Configuration data for the highlighting of page elements.
5655  type HighlightConfig extends object
5656    properties
5657      # Whether the node info tooltip should be shown (default: false).
5658      optional boolean showInfo
5659      # Whether the node styles in the tooltip (default: false).
5660      optional boolean showStyles
5661      # Whether the rulers should be shown (default: false).
5662      optional boolean showRulers
5663      # Whether the a11y info should be shown (default: true).
5664      optional boolean showAccessibilityInfo
5665      # Whether the extension lines from node to the rulers should be shown (default: false).
5666      optional boolean showExtensionLines
5667      # The content box highlight fill color (default: transparent).
5668      optional DOM.RGBA contentColor
5669      # The padding highlight fill color (default: transparent).
5670      optional DOM.RGBA paddingColor
5671      # The border highlight fill color (default: transparent).
5672      optional DOM.RGBA borderColor
5673      # The margin highlight fill color (default: transparent).
5674      optional DOM.RGBA marginColor
5675      # The event target element highlight fill color (default: transparent).
5676      optional DOM.RGBA eventTargetColor
5677      # The shape outside fill color (default: transparent).
5678      optional DOM.RGBA shapeColor
5679      # The shape margin fill color (default: transparent).
5680      optional DOM.RGBA shapeMarginColor
5681      # The grid layout color (default: transparent).
5682      optional DOM.RGBA cssGridColor
5683      # The color format used to format color styles (default: hex).
5684      optional ColorFormat colorFormat
5685      # The grid layout highlight configuration (default: all transparent).
5686      optional GridHighlightConfig gridHighlightConfig
5687      # The flex container highlight configuration (default: all transparent).
5688      optional FlexContainerHighlightConfig flexContainerHighlightConfig
5689
5690  type ColorFormat extends string
5691    enum
5692      rgb
5693      hsl
5694      hex
5695
5696  # Configurations for Persistent Grid Highlight
5697  type GridNodeHighlightConfig extends object
5698    properties
5699      # A descriptor for the highlight appearance.
5700      GridHighlightConfig gridHighlightConfig
5701      # Identifier of the node to highlight.
5702      DOM.NodeId nodeId
5703
5704  # Configuration for dual screen hinge
5705  type HingeConfig extends object
5706    properties
5707      # A rectangle represent hinge
5708      DOM.Rect rect
5709      # The content box highlight fill color (default: a dark color).
5710      optional DOM.RGBA contentColor
5711      # The content box highlight outline color (default: transparent).
5712      optional DOM.RGBA outlineColor
5713
5714  type InspectMode extends string
5715    enum
5716      searchForNode
5717      searchForUAShadowDOM
5718      captureAreaScreenshot
5719      showDistances
5720      none
5721
5722  # Disables domain notifications.
5723  command disable
5724
5725  # Enables domain notifications.
5726  command enable
5727
5728  # For testing.
5729  command getHighlightObjectForTest
5730    parameters
5731      # Id of the node to get highlight object for.
5732      DOM.NodeId nodeId
5733      # Whether to include distance info.
5734      optional boolean includeDistance
5735      # Whether to include style info.
5736      optional boolean includeStyle
5737      # The color format to get config with (default: hex).
5738      optional ColorFormat colorFormat
5739      # Whether to show accessibility info (default: true).
5740      optional boolean showAccessibilityInfo
5741    returns
5742      # Highlight data for the node.
5743      object highlight
5744
5745  # For Persistent Grid testing.
5746  command getGridHighlightObjectsForTest
5747    parameters
5748      # Ids of the node to get highlight object for.
5749      array of DOM.NodeId nodeIds
5750    returns
5751      # Grid Highlight data for the node ids provided.
5752      object highlights
5753
5754  # For Source Order Viewer testing.
5755  command getSourceOrderHighlightObjectForTest
5756    parameters
5757      # Id of the node to highlight.
5758      DOM.NodeId nodeId
5759    returns
5760      # Source order highlight data for the node id provided.
5761      object highlight
5762
5763  # Hides any highlight.
5764  command hideHighlight
5765
5766  # Highlights owner element of the frame with given id.
5767  command highlightFrame
5768    parameters
5769      # Identifier of the frame to highlight.
5770      Page.FrameId frameId
5771      # The content box highlight fill color (default: transparent).
5772      optional DOM.RGBA contentColor
5773      # The content box highlight outline color (default: transparent).
5774      optional DOM.RGBA contentOutlineColor
5775
5776  # Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or
5777  # objectId must be specified.
5778  command highlightNode
5779    parameters
5780      # A descriptor for the highlight appearance.
5781      HighlightConfig highlightConfig
5782      # Identifier of the node to highlight.
5783      optional DOM.NodeId nodeId
5784      # Identifier of the backend node to highlight.
5785      optional DOM.BackendNodeId backendNodeId
5786      # JavaScript object id of the node to be highlighted.
5787      optional Runtime.RemoteObjectId objectId
5788      # Selectors to highlight relevant nodes.
5789      optional string selector
5790
5791  # Highlights given quad. Coordinates are absolute with respect to the main frame viewport.
5792  command highlightQuad
5793    parameters
5794      # Quad to highlight
5795      DOM.Quad quad
5796      # The highlight fill color (default: transparent).
5797      optional DOM.RGBA color
5798      # The highlight outline color (default: transparent).
5799      optional DOM.RGBA outlineColor
5800
5801  # Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.
5802  command highlightRect
5803    parameters
5804      # X coordinate
5805      integer x
5806      # Y coordinate
5807      integer y
5808      # Rectangle width
5809      integer width
5810      # Rectangle height
5811      integer height
5812      # The highlight fill color (default: transparent).
5813      optional DOM.RGBA color
5814      # The highlight outline color (default: transparent).
5815      optional DOM.RGBA outlineColor
5816
5817  # Highlights the source order of the children of the DOM node with given id or with the given
5818  # JavaScript object wrapper. Either nodeId or objectId must be specified.
5819  command highlightSourceOrder
5820    parameters
5821      # A descriptor for the appearance of the overlay drawing.
5822      SourceOrderConfig sourceOrderConfig
5823      # Identifier of the node to highlight.
5824      optional DOM.NodeId nodeId
5825      # Identifier of the backend node to highlight.
5826      optional DOM.BackendNodeId backendNodeId
5827      # JavaScript object id of the node to be highlighted.
5828      optional Runtime.RemoteObjectId objectId
5829
5830  # Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted.
5831  # Backend then generates 'inspectNodeRequested' event upon element selection.
5832  command setInspectMode
5833    parameters
5834      # Set an inspection mode.
5835      InspectMode mode
5836      # A descriptor for the highlight appearance of hovered-over nodes. May be omitted if `enabled
5837      # == false`.
5838      optional HighlightConfig highlightConfig
5839
5840  # Highlights owner element of all frames detected to be ads.
5841  command setShowAdHighlights
5842    parameters
5843      # True for showing ad highlights
5844      boolean show
5845
5846  command setPausedInDebuggerMessage
5847    parameters
5848      # The message to display, also triggers resume and step over controls.
5849      optional string message
5850
5851  # Requests that backend shows debug borders on layers
5852  command setShowDebugBorders
5853    parameters
5854      # True for showing debug borders
5855      boolean show
5856
5857  # Requests that backend shows the FPS counter
5858  command setShowFPSCounter
5859    parameters
5860      # True for showing the FPS counter
5861      boolean show
5862
5863  # Highlight multiple elements with the CSS Grid overlay.
5864  command setShowGridOverlays
5865    parameters
5866      # An array of node identifiers and descriptors for the highlight appearance.
5867      array of GridNodeHighlightConfig gridNodeHighlightConfigs
5868
5869  # Requests that backend shows paint rectangles
5870  command setShowPaintRects
5871    parameters
5872      # True for showing paint rectangles
5873      boolean result
5874
5875  # Requests that backend shows layout shift regions
5876  command setShowLayoutShiftRegions
5877    parameters
5878      # True for showing layout shift regions
5879      boolean result
5880
5881  # Requests that backend shows scroll bottleneck rects
5882  command setShowScrollBottleneckRects
5883    parameters
5884      # True for showing scroll bottleneck rects
5885      boolean show
5886
5887  # Requests that backend shows hit-test borders on layers
5888  command setShowHitTestBorders
5889    parameters
5890      # True for showing hit-test borders
5891      boolean show
5892
5893  # Paints viewport size upon main frame resize.
5894  command setShowViewportSizeOnResize
5895    parameters
5896      # Whether to paint size or not.
5897      boolean show
5898
5899  # Add a dual screen device hinge
5900  command setShowHinge
5901    parameters
5902      # hinge data, null means hideHinge
5903      optional HingeConfig hingeConfig
5904
5905  # Fired when the node should be inspected. This happens after call to `setInspectMode` or when
5906  # user manually inspects an element.
5907  event inspectNodeRequested
5908    parameters
5909      # Id of the node to inspect.
5910      DOM.BackendNodeId backendNodeId
5911
5912  # Fired when the node should be highlighted. This happens after call to `setInspectMode`.
5913  event nodeHighlightRequested
5914    parameters
5915      DOM.NodeId nodeId
5916
5917  # Fired when user asks to capture screenshot of some area on the page.
5918  event screenshotRequested
5919    parameters
5920      # Viewport to capture, in device independent pixels (dip).
5921      Page.Viewport viewport
5922
5923  # Fired when user cancels the inspect mode.
5924  event inspectModeCanceled
5925
5926# Actions and events related to the inspected page belong to the page domain.
5927domain Page
5928  depends on Debugger
5929  depends on DOM
5930  depends on IO
5931  depends on Network
5932  depends on Runtime
5933
5934  # Unique frame identifier.
5935  type FrameId extends string
5936
5937  # Indicates whether a frame has been identified as an ad.
5938  experimental type AdFrameType extends string
5939    enum
5940      none
5941      # This frame is a subframe of an ad frame.
5942      child
5943      # This frame is the root of an ad frame.
5944      root
5945
5946  # Indicates whether the frame is a secure context and why it is the case.
5947  experimental type SecureContextType extends string
5948    enum
5949      # The origin is a secure context.
5950      Secure
5951      # The host is localhost and hence is considered secure.
5952      SecureLocalhost
5953      # The origin has an insecure scheme and is not localhost.
5954      InsecureScheme
5955      # One of the ancestor frames is not a secure context.
5956      InsecureAncestor
5957
5958  # Indicates whether the frame is cross-origin isolated and why it is the case.
5959  experimental type CrossOriginIsolatedContextType extends string
5960    enum
5961      # The origin is cross-origin isolated.
5962      Isolated
5963      # The origin is not cross-origin isolated.
5964      NotIsolated
5965      # The cross-origin isolation feature is disabled.
5966      NotIsolatedFeatureDisabled
5967
5968  experimental type GatedAPIFeatures extends string
5969    enum
5970      SharedArrayBuffers
5971      SharedArrayBuffersTransferAllowed
5972      PerformanceMeasureMemory
5973      PerformanceProfile
5974
5975  # Information about the Frame on the page.
5976  type Frame extends object
5977    properties
5978      # Frame unique identifier.
5979      FrameId id
5980      # Parent frame identifier.
5981      optional string parentId
5982      # Identifier of the loader associated with this frame.
5983      Network.LoaderId loaderId
5984      # Frame's name as specified in the tag.
5985      optional string name
5986      # Frame document's URL without fragment.
5987      string url
5988      # Frame document's URL fragment including the '#'.
5989      experimental optional string urlFragment
5990      # Frame document's registered domain, taking the public suffixes list into account.
5991      # Extracted from the Frame's url.
5992      # Example URLs: http://www.google.com/file.html -> "google.com"
5993      #               http://a.b.co.uk/file.html      -> "b.co.uk"
5994      experimental string domainAndRegistry
5995      # Frame document's security origin.
5996      string securityOrigin
5997      # Frame document's mimeType as determined by the browser.
5998      string mimeType
5999      # If the frame failed to load, this contains the URL that could not be loaded. Note that unlike url above, this URL may contain a fragment.
6000      experimental optional string unreachableUrl
6001      # Indicates whether this frame was tagged as an ad.
6002      experimental optional AdFrameType adFrameType
6003      # Indicates whether the main document is a secure context and explains why that is the case.
6004      experimental SecureContextType secureContextType
6005      # Indicates whether this is a cross origin isolated context.
6006      experimental CrossOriginIsolatedContextType crossOriginIsolatedContextType
6007      # Indicated which gated APIs / features are available.
6008      experimental array of GatedAPIFeatures gatedAPIFeatures
6009
6010  # Information about the Resource on the page.
6011  experimental type FrameResource extends object
6012    properties
6013      # Resource URL.
6014      string url
6015      # Type of this resource.
6016      Network.ResourceType type
6017      # Resource mimeType as determined by the browser.
6018      string mimeType
6019      # last-modified timestamp as reported by server.
6020      optional Network.TimeSinceEpoch lastModified
6021      # Resource content size.
6022      optional number contentSize
6023      # True if the resource failed to load.
6024      optional boolean failed
6025      # True if the resource was canceled during loading.
6026      optional boolean canceled
6027
6028  # Information about the Frame hierarchy along with their cached resources.
6029  experimental type FrameResourceTree extends object
6030    properties
6031      # Frame information for this tree item.
6032      Frame frame
6033      # Child frames.
6034      optional array of FrameResourceTree childFrames
6035      # Information about frame resources.
6036      array of FrameResource resources
6037
6038  # Information about the Frame hierarchy.
6039  type FrameTree extends object
6040    properties
6041      # Frame information for this tree item.
6042      Frame frame
6043      # Child frames.
6044      optional array of FrameTree childFrames
6045
6046  # Unique script identifier.
6047  type ScriptIdentifier extends string
6048
6049  # Transition type.
6050  type TransitionType extends string
6051    enum
6052      link
6053      typed
6054      address_bar
6055      auto_bookmark
6056      auto_subframe
6057      manual_subframe
6058      generated
6059      auto_toplevel
6060      form_submit
6061      reload
6062      keyword
6063      keyword_generated
6064      other
6065
6066  # Navigation history entry.
6067  type NavigationEntry extends object
6068    properties
6069      # Unique id of the navigation history entry.
6070      integer id
6071      # URL of the navigation history entry.
6072      string url
6073      # URL that the user typed in the url bar.
6074      string userTypedURL
6075      # Title of the navigation history entry.
6076      string title
6077      # Transition type.
6078      TransitionType transitionType
6079
6080  # Screencast frame metadata.
6081  experimental type ScreencastFrameMetadata extends object
6082    properties
6083      # Top offset in DIP.
6084      number offsetTop
6085      # Page scale factor.
6086      number pageScaleFactor
6087      # Device screen width in DIP.
6088      number deviceWidth
6089      # Device screen height in DIP.
6090      number deviceHeight
6091      # Position of horizontal scroll in CSS pixels.
6092      number scrollOffsetX
6093      # Position of vertical scroll in CSS pixels.
6094      number scrollOffsetY
6095      # Frame swap timestamp.
6096      optional Network.TimeSinceEpoch timestamp
6097
6098  # Javascript dialog type.
6099  type DialogType extends string
6100    enum
6101      alert
6102      confirm
6103      prompt
6104      beforeunload
6105
6106  # Error while paring app manifest.
6107  type AppManifestError extends object
6108    properties
6109      # Error message.
6110      string message
6111      # If criticial, this is a non-recoverable parse error.
6112      integer critical
6113      # Error line.
6114      integer line
6115      # Error column.
6116      integer column
6117
6118  # Parsed app manifest properties.
6119  experimental type AppManifestParsedProperties extends object
6120    properties
6121      # Computed scope value
6122      string scope
6123
6124  # Layout viewport position and dimensions.
6125  type LayoutViewport extends object
6126    properties
6127      # Horizontal offset relative to the document (CSS pixels).
6128      integer pageX
6129      # Vertical offset relative to the document (CSS pixels).
6130      integer pageY
6131      # Width (CSS pixels), excludes scrollbar if present.
6132      integer clientWidth
6133      # Height (CSS pixels), excludes scrollbar if present.
6134      integer clientHeight
6135
6136  # Visual viewport position, dimensions, and scale.
6137  type VisualViewport extends object
6138    properties
6139      # Horizontal offset relative to the layout viewport (CSS pixels).
6140      number offsetX
6141      # Vertical offset relative to the layout viewport (CSS pixels).
6142      number offsetY
6143      # Horizontal offset relative to the document (CSS pixels).
6144      number pageX
6145      # Vertical offset relative to the document (CSS pixels).
6146      number pageY
6147      # Width (CSS pixels), excludes scrollbar if present.
6148      number clientWidth
6149      # Height (CSS pixels), excludes scrollbar if present.
6150      number clientHeight
6151      # Scale relative to the ideal viewport (size at width=device-width).
6152      number scale
6153      # Page zoom factor (CSS to device independent pixels ratio).
6154      optional number zoom
6155
6156  # Viewport for capturing screenshot.
6157  type Viewport extends object
6158    properties
6159      # X offset in device independent pixels (dip).
6160      number x
6161      # Y offset in device independent pixels (dip).
6162      number y
6163      # Rectangle width in device independent pixels (dip).
6164      number width
6165      # Rectangle height in device independent pixels (dip).
6166      number height
6167      # Page scale factor.
6168      number scale
6169
6170  # Generic font families collection.
6171  experimental type FontFamilies extends object
6172    properties
6173      # The standard font-family.
6174      optional string standard
6175      # The fixed font-family.
6176      optional string fixed
6177      # The serif font-family.
6178      optional string serif
6179      # The sansSerif font-family.
6180      optional string sansSerif
6181      # The cursive font-family.
6182      optional string cursive
6183      # The fantasy font-family.
6184      optional string fantasy
6185      # The pictograph font-family.
6186      optional string pictograph
6187
6188  # Default font sizes.
6189  experimental type FontSizes extends object
6190    properties
6191      # Default standard font size.
6192      optional integer standard
6193      # Default fixed font size.
6194      optional integer fixed
6195
6196  experimental type ClientNavigationReason extends string
6197    enum
6198      formSubmissionGet
6199      formSubmissionPost
6200      httpHeaderRefresh
6201      scriptInitiated
6202      metaTagRefresh
6203      pageBlockInterstitial
6204      reload
6205      anchorClick
6206
6207  experimental type ClientNavigationDisposition extends string
6208    enum
6209      currentTab
6210      newTab
6211      newWindow
6212      download
6213
6214  experimental type InstallabilityErrorArgument extends object
6215    properties
6216      # Argument name (e.g. name:'minimum-icon-size-in-pixels').
6217      string name
6218      # Argument value (e.g. value:'64').
6219      string value
6220
6221  # The installability error
6222  experimental type InstallabilityError extends object
6223    properties
6224      # The error id (e.g. 'manifest-missing-suitable-icon').
6225      string errorId
6226      # The list of error arguments (e.g. {name:'minimum-icon-size-in-pixels', value:'64'}).
6227      array of InstallabilityErrorArgument errorArguments
6228
6229  # The referring-policy used for the navigation.
6230  experimental type ReferrerPolicy extends string
6231    enum
6232      noReferrer
6233      noReferrerWhenDowngrade
6234      origin
6235      originWhenCrossOrigin
6236      sameOrigin
6237      strictOrigin
6238      strictOriginWhenCrossOrigin
6239      unsafeUrl
6240
6241  # Deprecated, please use addScriptToEvaluateOnNewDocument instead.
6242  experimental deprecated command addScriptToEvaluateOnLoad
6243    parameters
6244      string scriptSource
6245    returns
6246      # Identifier of the added script.
6247      ScriptIdentifier identifier
6248
6249  # Evaluates given script in every frame upon creation (before loading frame's scripts).
6250  command addScriptToEvaluateOnNewDocument
6251    parameters
6252      string source
6253      # If specified, creates an isolated world with the given name and evaluates given script in it.
6254      # This world name will be used as the ExecutionContextDescription::name when the corresponding
6255      # event is emitted.
6256      experimental optional string worldName
6257    returns
6258      # Identifier of the added script.
6259      ScriptIdentifier identifier
6260
6261  # Brings page to front (activates tab).
6262  command bringToFront
6263
6264  # Capture page screenshot.
6265  command captureScreenshot
6266    parameters
6267      # Image compression format (defaults to png).
6268      optional enum format
6269        jpeg
6270        png
6271      # Compression quality from range [0..100] (jpeg only).
6272      optional integer quality
6273      # Capture the screenshot of a given region only.
6274      optional Viewport clip
6275      # Capture the screenshot from the surface, rather than the view. Defaults to true.
6276      experimental optional boolean fromSurface
6277    returns
6278      # Base64-encoded image data.
6279      binary data
6280
6281  # Returns a snapshot of the page as a string. For MHTML format, the serialization includes
6282  # iframes, shadow DOM, external resources, and element-inline styles.
6283  experimental command captureSnapshot
6284    parameters
6285      # Format (defaults to mhtml).
6286      optional enum format
6287        mhtml
6288    returns
6289      # Serialized page data.
6290      string data
6291
6292  # Clears the overriden device metrics.
6293  experimental deprecated command clearDeviceMetricsOverride
6294    # Use 'Emulation.clearDeviceMetricsOverride' instead
6295    redirect Emulation
6296
6297  # Clears the overridden Device Orientation.
6298  experimental deprecated command clearDeviceOrientationOverride
6299    # Use 'DeviceOrientation.clearDeviceOrientationOverride' instead
6300    redirect DeviceOrientation
6301
6302  # Clears the overriden Geolocation Position and Error.
6303  deprecated command clearGeolocationOverride
6304    # Use 'Emulation.clearGeolocationOverride' instead
6305    redirect Emulation
6306
6307  # Creates an isolated world for the given frame.
6308  command createIsolatedWorld
6309    parameters
6310      # Id of the frame in which the isolated world should be created.
6311      FrameId frameId
6312      # An optional name which is reported in the Execution Context.
6313      optional string worldName
6314      # Whether or not universal access should be granted to the isolated world. This is a powerful
6315      # option, use with caution.
6316      optional boolean grantUniveralAccess
6317    returns
6318      # Execution context of the isolated world.
6319      Runtime.ExecutionContextId executionContextId
6320
6321  # Deletes browser cookie with given name, domain and path.
6322  experimental deprecated command deleteCookie
6323    # Use 'Network.deleteCookie' instead
6324    redirect Network
6325    parameters
6326      # Name of the cookie to remove.
6327      string cookieName
6328      # URL to match cooke domain and path.
6329      string url
6330
6331  # Disables page domain notifications.
6332  command disable
6333
6334  # Enables page domain notifications.
6335  command enable
6336
6337  command getAppManifest
6338    returns
6339      # Manifest location.
6340      string url
6341      array of AppManifestError errors
6342      # Manifest content.
6343      optional string data
6344      # Parsed manifest properties
6345      experimental optional AppManifestParsedProperties parsed
6346
6347  experimental command getInstallabilityErrors
6348    returns
6349      array of InstallabilityError installabilityErrors
6350
6351  experimental command getManifestIcons
6352    returns
6353      optional binary primaryIcon
6354
6355  # Returns all browser cookies. Depending on the backend support, will return detailed cookie
6356  # information in the `cookies` field.
6357  experimental deprecated command getCookies
6358    # Use 'Network.getCookies' instead
6359    redirect Network
6360    returns
6361      # Array of cookie objects.
6362      array of Network.Cookie cookies
6363
6364  # Returns present frame tree structure.
6365  command getFrameTree
6366    returns
6367      # Present frame tree structure.
6368      FrameTree frameTree
6369
6370  # Returns metrics relating to the layouting of the page, such as viewport bounds/scale.
6371  command getLayoutMetrics
6372    returns
6373      # Metrics relating to the layout viewport.
6374      LayoutViewport layoutViewport
6375      # Metrics relating to the visual viewport.
6376      VisualViewport visualViewport
6377      # Size of scrollable area.
6378      DOM.Rect contentSize
6379
6380  # Returns navigation history for the current page.
6381  command getNavigationHistory
6382    returns
6383      # Index of the current navigation history entry.
6384      integer currentIndex
6385      # Array of navigation history entries.
6386      array of NavigationEntry entries
6387
6388  # Resets navigation history for the current page.
6389  command resetNavigationHistory
6390
6391  # Returns content of the given resource.
6392  experimental command getResourceContent
6393    parameters
6394      # Frame id to get resource for.
6395      FrameId frameId
6396      # URL of the resource to get content for.
6397      string url
6398    returns
6399      # Resource content.
6400      string content
6401      # True, if content was served as base64.
6402      boolean base64Encoded
6403
6404  # Returns present frame / resource tree structure.
6405  experimental command getResourceTree
6406    returns
6407      # Present frame / resource tree structure.
6408      FrameResourceTree frameTree
6409
6410  # Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).
6411  command handleJavaScriptDialog
6412    parameters
6413      # Whether to accept or dismiss the dialog.
6414      boolean accept
6415      # The text to enter into the dialog prompt before accepting. Used only if this is a prompt
6416      # dialog.
6417      optional string promptText
6418
6419  # Navigates current page to the given URL.
6420  command navigate
6421    parameters
6422      # URL to navigate the page to.
6423      string url
6424      # Referrer URL.
6425      optional string referrer
6426      # Intended transition type.
6427      optional TransitionType transitionType
6428      # Frame id to navigate, if not specified navigates the top frame.
6429      optional FrameId frameId
6430      # Referrer-policy used for the navigation.
6431      experimental optional ReferrerPolicy referrerPolicy
6432    returns
6433      # Frame id that has navigated (or failed to navigate)
6434      FrameId frameId
6435      # Loader identifier.
6436      optional Network.LoaderId loaderId
6437      # User friendly error message, present if and only if navigation has failed.
6438      optional string errorText
6439
6440  # Navigates current page to the given history entry.
6441  command navigateToHistoryEntry
6442    parameters
6443      # Unique id of the entry to navigate to.
6444      integer entryId
6445
6446  # Print page as PDF.
6447  command printToPDF
6448    parameters
6449      # Paper orientation. Defaults to false.
6450      optional boolean landscape
6451      # Display header and footer. Defaults to false.
6452      optional boolean displayHeaderFooter
6453      # Print background graphics. Defaults to false.
6454      optional boolean printBackground
6455      # Scale of the webpage rendering. Defaults to 1.
6456      optional number scale
6457      # Paper width in inches. Defaults to 8.5 inches.
6458      optional number paperWidth
6459      # Paper height in inches. Defaults to 11 inches.
6460      optional number paperHeight
6461      # Top margin in inches. Defaults to 1cm (~0.4 inches).
6462      optional number marginTop
6463      # Bottom margin in inches. Defaults to 1cm (~0.4 inches).
6464      optional number marginBottom
6465      # Left margin in inches. Defaults to 1cm (~0.4 inches).
6466      optional number marginLeft
6467      # Right margin in inches. Defaults to 1cm (~0.4 inches).
6468      optional number marginRight
6469      # Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means
6470      # print all pages.
6471      optional string pageRanges
6472      # Whether to silently ignore invalid but successfully parsed page ranges, such as '3-2'.
6473      # Defaults to false.
6474      optional boolean ignoreInvalidPageRanges
6475      # HTML template for the print header. Should be valid HTML markup with following
6476      # classes used to inject printing values into them:
6477      # - `date`: formatted print date
6478      # - `title`: document title
6479      # - `url`: document location
6480      # - `pageNumber`: current page number
6481      # - `totalPages`: total pages in the document
6482      #
6483      # For example, `<span class=title></span>` would generate span containing the title.
6484      optional string headerTemplate
6485      # HTML template for the print footer. Should use the same format as the `headerTemplate`.
6486      optional string footerTemplate
6487      # Whether or not to prefer page size as defined by css. Defaults to false,
6488      # in which case the content will be scaled to fit the paper size.
6489      optional boolean preferCSSPageSize
6490      # return as stream
6491      experimental optional enum transferMode
6492        ReturnAsBase64
6493        ReturnAsStream
6494    returns
6495      # Base64-encoded pdf data. Empty if |returnAsStream| is specified.
6496      binary data
6497      # A handle of the stream that holds resulting PDF data.
6498      experimental optional IO.StreamHandle stream
6499
6500  # Reloads given page optionally ignoring the cache.
6501  command reload
6502    parameters
6503      # If true, browser cache is ignored (as if the user pressed Shift+refresh).
6504      optional boolean ignoreCache
6505      # If set, the script will be injected into all frames of the inspected page after reload.
6506      # Argument will be ignored if reloading dataURL origin.
6507      optional string scriptToEvaluateOnLoad
6508
6509  # Deprecated, please use removeScriptToEvaluateOnNewDocument instead.
6510  experimental deprecated command removeScriptToEvaluateOnLoad
6511    parameters
6512      ScriptIdentifier identifier
6513
6514  # Removes given script from the list.
6515  command removeScriptToEvaluateOnNewDocument
6516    parameters
6517      ScriptIdentifier identifier
6518
6519  # Acknowledges that a screencast frame has been received by the frontend.
6520  experimental command screencastFrameAck
6521    parameters
6522      # Frame number.
6523      integer sessionId
6524
6525  # Searches for given string in resource content.
6526  experimental command searchInResource
6527    parameters
6528      # Frame id for resource to search in.
6529      FrameId frameId
6530      # URL of the resource to search in.
6531      string url
6532      # String to search for.
6533      string query
6534      # If true, search is case sensitive.
6535      optional boolean caseSensitive
6536      # If true, treats string parameter as regex.
6537      optional boolean isRegex
6538    returns
6539      # List of search matches.
6540      array of Debugger.SearchMatch result
6541
6542  # Enable Chrome's experimental ad filter on all sites.
6543  experimental command setAdBlockingEnabled
6544    parameters
6545      # Whether to block ads.
6546      boolean enabled
6547
6548  # Enable page Content Security Policy by-passing.
6549  experimental command setBypassCSP
6550    parameters
6551      # Whether to bypass page CSP.
6552      boolean enabled
6553
6554  # Overrides the values of device screen dimensions (window.screen.width, window.screen.height,
6555  # window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media
6556  # query results).
6557  experimental deprecated command setDeviceMetricsOverride
6558    # Use 'Emulation.setDeviceMetricsOverride' instead
6559    redirect Emulation
6560    parameters
6561      # Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
6562      integer width
6563      # Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.
6564      integer height
6565      # Overriding device scale factor value. 0 disables the override.
6566      number deviceScaleFactor
6567      # Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text
6568      # autosizing and more.
6569      boolean mobile
6570      # Scale to apply to resulting view image.
6571      optional number scale
6572      # Overriding screen width value in pixels (minimum 0, maximum 10000000).
6573      optional integer screenWidth
6574      # Overriding screen height value in pixels (minimum 0, maximum 10000000).
6575      optional integer screenHeight
6576      # Overriding view X position on screen in pixels (minimum 0, maximum 10000000).
6577      optional integer positionX
6578      # Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).
6579      optional integer positionY
6580      # Do not set visible view size, rely upon explicit setVisibleSize call.
6581      optional boolean dontSetVisibleSize
6582      # Screen orientation override.
6583      optional Emulation.ScreenOrientation screenOrientation
6584      # The viewport dimensions and scale. If not set, the override is cleared.
6585      optional Viewport viewport
6586
6587  # Overrides the Device Orientation.
6588  experimental deprecated command setDeviceOrientationOverride
6589    # Use 'DeviceOrientation.setDeviceOrientationOverride' instead
6590    redirect DeviceOrientation
6591    parameters
6592      # Mock alpha
6593      number alpha
6594      # Mock beta
6595      number beta
6596      # Mock gamma
6597      number gamma
6598
6599  # Set generic font families.
6600  experimental command setFontFamilies
6601    parameters
6602      # Specifies font families to set. If a font family is not specified, it won't be changed.
6603      FontFamilies fontFamilies
6604
6605  # Set default font sizes.
6606  experimental command setFontSizes
6607    parameters
6608      # Specifies font sizes to set. If a font size is not specified, it won't be changed.
6609      FontSizes fontSizes
6610
6611  # Sets given markup as the document's HTML.
6612  command setDocumentContent
6613    parameters
6614      # Frame id to set HTML for.
6615      FrameId frameId
6616      # HTML content to set.
6617      string html
6618
6619  # Set the behavior when downloading a file.
6620  experimental deprecated command setDownloadBehavior
6621    parameters
6622      # Whether to allow all or deny all download requests, or use default Chrome behavior if
6623      # available (otherwise deny).
6624      enum behavior
6625        deny
6626        allow
6627        default
6628      # The default path to save downloaded files to. This is requred if behavior is set to 'allow'
6629      optional string downloadPath
6630
6631  # Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position
6632  # unavailable.
6633  deprecated command setGeolocationOverride
6634    # Use 'Emulation.setGeolocationOverride' instead
6635    redirect Emulation
6636    parameters
6637      # Mock latitude
6638      optional number latitude
6639      # Mock longitude
6640      optional number longitude
6641      # Mock accuracy
6642      optional number accuracy
6643
6644  # Controls whether page will emit lifecycle events.
6645  experimental command setLifecycleEventsEnabled
6646    parameters
6647      # If true, starts emitting lifecycle events.
6648      boolean enabled
6649
6650  # Toggles mouse event-based touch event emulation.
6651  experimental deprecated command setTouchEmulationEnabled
6652    # Use 'Emulation.setTouchEmulationEnabled' instead
6653    redirect Emulation
6654    parameters
6655      # Whether the touch event emulation should be enabled.
6656      boolean enabled
6657      # Touch/gesture events configuration. Default: current platform.
6658      optional enum configuration
6659        mobile
6660        desktop
6661
6662  # Starts sending each frame using the `screencastFrame` event.
6663  experimental command startScreencast
6664    parameters
6665      # Image compression format.
6666      optional enum format
6667        jpeg
6668        png
6669      # Compression quality from range [0..100].
6670      optional integer quality
6671      # Maximum screenshot width.
6672      optional integer maxWidth
6673      # Maximum screenshot height.
6674      optional integer maxHeight
6675      # Send every n-th frame.
6676      optional integer everyNthFrame
6677
6678  # Force the page stop all navigations and pending resource fetches.
6679  command stopLoading
6680
6681  # Crashes renderer on the IO thread, generates minidumps.
6682  experimental command crash
6683
6684  # Tries to close page, running its beforeunload hooks, if any.
6685  experimental command close
6686
6687  # Tries to update the web lifecycle state of the page.
6688  # It will transition the page to the given state according to:
6689  # https://github.com/WICG/web-lifecycle/
6690  experimental command setWebLifecycleState
6691    parameters
6692      # Target lifecycle state
6693      enum state
6694        frozen
6695        active
6696
6697  # Stops sending each frame in the `screencastFrame`.
6698  experimental command stopScreencast
6699
6700  # Forces compilation cache to be generated for every subresource script.
6701  experimental command setProduceCompilationCache
6702    parameters
6703      boolean enabled
6704
6705  # Seeds compilation cache for given url. Compilation cache does not survive
6706  # cross-process navigation.
6707  experimental command addCompilationCache
6708    parameters
6709      string url
6710      # Base64-encoded data
6711      binary data
6712
6713  # Clears seeded compilation cache.
6714  experimental command clearCompilationCache
6715
6716  # Generates a report for testing.
6717  experimental command generateTestReport
6718    parameters
6719      # Message to be displayed in the report.
6720      string message
6721      # Specifies the endpoint group to deliver the report to.
6722      optional string group
6723
6724  # Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger.
6725  experimental command waitForDebugger
6726
6727  # Intercept file chooser requests and transfer control to protocol clients.
6728  # When file chooser interception is enabled, native file chooser dialog is not shown.
6729  # Instead, a protocol event `Page.fileChooserOpened` is emitted.
6730  experimental command setInterceptFileChooserDialog
6731    parameters
6732      boolean enabled
6733
6734  event domContentEventFired
6735    parameters
6736      Network.MonotonicTime timestamp
6737
6738  # Emitted only when `page.interceptFileChooser` is enabled.
6739  event fileChooserOpened
6740    parameters
6741      # Id of the frame containing input node.
6742      experimental FrameId frameId
6743      # Input node id.
6744      experimental DOM.BackendNodeId backendNodeId
6745      # Input mode.
6746      enum mode
6747        selectSingle
6748        selectMultiple
6749
6750  # Fired when frame has been attached to its parent.
6751  event frameAttached
6752    parameters
6753      # Id of the frame that has been attached.
6754      FrameId frameId
6755      # Parent frame identifier.
6756      FrameId parentFrameId
6757      # JavaScript stack trace of when frame was attached, only set if frame initiated from script.
6758      optional Runtime.StackTrace stack
6759
6760  # Fired when frame no longer has a scheduled navigation.
6761  deprecated event frameClearedScheduledNavigation
6762    parameters
6763      # Id of the frame that has cleared its scheduled navigation.
6764      FrameId frameId
6765
6766  # Fired when frame has been detached from its parent.
6767  event frameDetached
6768    parameters
6769      # Id of the frame that has been detached.
6770      FrameId frameId
6771
6772  # Fired once navigation of the frame has completed. Frame is now associated with the new loader.
6773  event frameNavigated
6774    parameters
6775      # Frame object.
6776      Frame frame
6777
6778  experimental event frameResized
6779
6780  # Fired when a renderer-initiated navigation is requested.
6781  # Navigation may still be cancelled after the event is issued.
6782  experimental event frameRequestedNavigation
6783    parameters
6784      # Id of the frame that is being navigated.
6785      FrameId frameId
6786      # The reason for the navigation.
6787      ClientNavigationReason reason
6788      # The destination URL for the requested navigation.
6789      string url
6790      # The disposition for the navigation.
6791      ClientNavigationDisposition disposition
6792
6793  # Fired when frame schedules a potential navigation.
6794  deprecated event frameScheduledNavigation
6795    parameters
6796      # Id of the frame that has scheduled a navigation.
6797      FrameId frameId
6798      # Delay (in seconds) until the navigation is scheduled to begin. The navigation is not
6799      # guaranteed to start.
6800      number delay
6801      # The reason for the navigation.
6802      ClientNavigationReason reason
6803      # The destination URL for the scheduled navigation.
6804      string url
6805
6806  # Fired when frame has started loading.
6807  experimental event frameStartedLoading
6808    parameters
6809      # Id of the frame that has started loading.
6810      FrameId frameId
6811
6812  # Fired when frame has stopped loading.
6813  experimental event frameStoppedLoading
6814    parameters
6815      # Id of the frame that has stopped loading.
6816      FrameId frameId
6817
6818  # Fired when page is about to start a download.
6819  experimental event downloadWillBegin
6820    parameters
6821      # Id of the frame that caused download to begin.
6822      FrameId frameId
6823      # Global unique identifier of the download.
6824      string guid
6825      # URL of the resource being downloaded.
6826      string url
6827      # Suggested file name of the resource (the actual name of the file saved on disk may differ).
6828      string suggestedFilename
6829
6830  # Fired when download makes progress. Last call has |done| == true.
6831  experimental event downloadProgress
6832    parameters
6833      # Global unique identifier of the download.
6834      string guid
6835      # Total expected bytes to download.
6836      number totalBytes
6837      # Total bytes received.
6838      number receivedBytes
6839      # Download status.
6840      enum state
6841        inProgress
6842        completed
6843        canceled
6844
6845  # Fired when interstitial page was hidden
6846  event interstitialHidden
6847
6848  # Fired when interstitial page was shown
6849  event interstitialShown
6850
6851  # Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been
6852  # closed.
6853  event javascriptDialogClosed
6854    parameters
6855      # Whether dialog was confirmed.
6856      boolean result
6857      # User input in case of prompt.
6858      string userInput
6859
6860  # Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to
6861  # open.
6862  event javascriptDialogOpening
6863    parameters
6864      # Frame url.
6865      string url
6866      # Message that will be displayed by the dialog.
6867      string message
6868      # Dialog type.
6869      DialogType type
6870      # True iff browser is capable showing or acting on the given dialog. When browser has no
6871      # dialog handler for given target, calling alert while Page domain is engaged will stall
6872      # the page execution. Execution can be resumed via calling Page.handleJavaScriptDialog.
6873      boolean hasBrowserHandler
6874      # Default dialog prompt.
6875      optional string defaultPrompt
6876
6877  # Fired for top level page lifecycle events such as navigation, load, paint, etc.
6878  event lifecycleEvent
6879    parameters
6880      # Id of the frame.
6881      FrameId frameId
6882      # Loader identifier. Empty string if the request is fetched from worker.
6883      Network.LoaderId loaderId
6884      string name
6885      Network.MonotonicTime timestamp
6886
6887  event loadEventFired
6888    parameters
6889      Network.MonotonicTime timestamp
6890
6891  # Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.
6892  experimental event navigatedWithinDocument
6893    parameters
6894      # Id of the frame.
6895      FrameId frameId
6896      # Frame's new url.
6897      string url
6898
6899  # Compressed image data requested by the `startScreencast`.
6900  experimental event screencastFrame
6901    parameters
6902      # Base64-encoded compressed image.
6903      binary data
6904      # Screencast frame metadata.
6905      ScreencastFrameMetadata metadata
6906      # Frame number.
6907      integer sessionId
6908
6909  # Fired when the page with currently enabled screencast was shown or hidden `.
6910  experimental event screencastVisibilityChanged
6911    parameters
6912      # True if the page is visible.
6913      boolean visible
6914
6915  # Fired when a new window is going to be opened, via window.open(), link click, form submission,
6916  # etc.
6917  event windowOpen
6918    parameters
6919      # The URL for the new window.
6920      string url
6921      # Window name.
6922      string windowName
6923      # An array of enabled window features.
6924      array of string windowFeatures
6925      # Whether or not it was triggered by user gesture.
6926      boolean userGesture
6927
6928  # Issued for every compilation cache generated. Is only available
6929  # if Page.setGenerateCompilationCache is enabled.
6930  experimental event compilationCacheProduced
6931    parameters
6932      string url
6933      # Base64-encoded data
6934      binary data
6935
6936domain Performance
6937
6938  # Run-time execution metric.
6939  type Metric extends object
6940    properties
6941      # Metric name.
6942      string name
6943      # Metric value.
6944      number value
6945
6946  # Disable collecting and reporting metrics.
6947  command disable
6948
6949  # Enable collecting and reporting metrics.
6950  command enable
6951    parameters
6952      # Time domain to use for collecting and reporting duration metrics.
6953      optional enum timeDomain
6954        # Use monotonically increasing abstract time (default).
6955        timeTicks
6956        # Use thread running time.
6957        threadTicks
6958
6959  # Sets time domain to use for collecting and reporting duration metrics.
6960  # Note that this must be called before enabling metrics collection. Calling
6961  # this method while metrics collection is enabled returns an error.
6962  experimental deprecated command setTimeDomain
6963    parameters
6964      # Time domain
6965      enum timeDomain
6966        # Use monotonically increasing abstract time (default).
6967        timeTicks
6968        # Use thread running time.
6969        threadTicks
6970
6971  # Retrieve current values of run-time metrics.
6972  command getMetrics
6973    returns
6974      # Current values for run-time metrics.
6975      array of Metric metrics
6976
6977  # Current values of the metrics.
6978  event metrics
6979    parameters
6980      # Current values of the metrics.
6981      array of Metric metrics
6982      # Timestamp title.
6983      string title
6984
6985# Security
6986domain Security
6987
6988  # An internal certificate ID value.
6989  type CertificateId extends integer
6990
6991  # A description of mixed content (HTTP resources on HTTPS pages), as defined by
6992  # https://www.w3.org/TR/mixed-content/#categories
6993  type MixedContentType extends string
6994    enum
6995      blockable
6996      optionally-blockable
6997      none
6998
6999  # The security level of a page or resource.
7000  type SecurityState extends string
7001    enum
7002      unknown
7003      neutral
7004      insecure
7005      secure
7006      info
7007      insecure-broken
7008
7009  # Details about the security state of the page certificate.
7010  experimental type CertificateSecurityState extends object
7011    properties
7012      # Protocol name (e.g. "TLS 1.2" or "QUIC").
7013      string protocol
7014      # Key Exchange used by the connection, or the empty string if not applicable.
7015      string keyExchange
7016      # (EC)DH group used by the connection, if applicable.
7017      optional string keyExchangeGroup
7018      # Cipher name.
7019      string cipher
7020      # TLS MAC. Note that AEAD ciphers do not have separate MACs.
7021      optional string mac
7022      # Page certificate.
7023      array of string certificate
7024      # Certificate subject name.
7025      string subjectName
7026      # Name of the issuing CA.
7027      string issuer
7028      # Certificate valid from date.
7029      Network.TimeSinceEpoch validFrom
7030      # Certificate valid to (expiration) date
7031      Network.TimeSinceEpoch validTo
7032      # The highest priority network error code, if the certificate has an error.
7033      optional string certificateNetworkError
7034      # True if the certificate uses a weak signature aglorithm.
7035      boolean certificateHasWeakSignature
7036      # True if the certificate has a SHA1 signature in the chain.
7037      boolean certificateHasSha1Signature
7038      # True if modern SSL
7039      boolean modernSSL
7040      # True if the connection is using an obsolete SSL protocol.
7041      boolean obsoleteSslProtocol
7042      # True if the connection is using an obsolete SSL key exchange.
7043      boolean obsoleteSslKeyExchange
7044      # True if the connection is using an obsolete SSL cipher.
7045      boolean obsoleteSslCipher
7046      # True if the connection is using an obsolete SSL signature.
7047      boolean obsoleteSslSignature
7048
7049  experimental type SafetyTipStatus extends string
7050    enum
7051      badReputation
7052      lookalike
7053
7054  experimental type SafetyTipInfo extends object
7055    properties
7056      # Describes whether the page triggers any safety tips or reputation warnings. Default is unknown.
7057      SafetyTipStatus safetyTipStatus
7058      # The URL the safety tip suggested ("Did you mean?"). Only filled in for lookalike matches.
7059      optional string safeUrl
7060
7061  # Security state information about the page.
7062  experimental type VisibleSecurityState extends object
7063    properties
7064      # The security level of the page.
7065      SecurityState securityState
7066      # Security state details about the page certificate.
7067      optional CertificateSecurityState certificateSecurityState
7068      # The type of Safety Tip triggered on the page. Note that this field will be set even if the Safety Tip UI was not actually shown.
7069      optional SafetyTipInfo safetyTipInfo
7070      # Array of security state issues ids.
7071      array of string securityStateIssueIds
7072
7073  # An explanation of an factor contributing to the security state.
7074  type SecurityStateExplanation extends object
7075    properties
7076      # Security state representing the severity of the factor being explained.
7077      SecurityState securityState
7078      # Title describing the type of factor.
7079      string title
7080      # Short phrase describing the type of factor.
7081      string summary
7082      # Full text explanation of the factor.
7083      string description
7084      # The type of mixed content described by the explanation.
7085      MixedContentType mixedContentType
7086      # Page certificate.
7087      array of string certificate
7088      # Recommendations to fix any issues.
7089      optional array of string recommendations
7090
7091  # Information about insecure content on the page.
7092  deprecated type InsecureContentStatus extends object
7093    properties
7094      # Always false.
7095      boolean ranMixedContent
7096      # Always false.
7097      boolean displayedMixedContent
7098      # Always false.
7099      boolean containedMixedForm
7100      # Always false.
7101      boolean ranContentWithCertErrors
7102      # Always false.
7103      boolean displayedContentWithCertErrors
7104      # Always set to unknown.
7105      SecurityState ranInsecureContentStyle
7106      # Always set to unknown.
7107      SecurityState displayedInsecureContentStyle
7108
7109  # The action to take when a certificate error occurs. continue will continue processing the
7110  # request and cancel will cancel the request.
7111  type CertificateErrorAction extends string
7112    enum
7113      continue
7114      cancel
7115
7116  # Disables tracking security state changes.
7117  command disable
7118
7119  # Enables tracking security state changes.
7120  command enable
7121
7122  # Enable/disable whether all certificate errors should be ignored.
7123  experimental command setIgnoreCertificateErrors
7124    parameters
7125      # If true, all certificate errors will be ignored.
7126      boolean ignore
7127
7128  # Handles a certificate error that fired a certificateError event.
7129  deprecated command handleCertificateError
7130    parameters
7131      # The ID of the event.
7132      integer eventId
7133      # The action to take on the certificate error.
7134      CertificateErrorAction action
7135
7136  # Enable/disable overriding certificate errors. If enabled, all certificate error events need to
7137  # be handled by the DevTools client and should be answered with `handleCertificateError` commands.
7138  deprecated command setOverrideCertificateErrors
7139    parameters
7140      # If true, certificate errors will be overridden.
7141      boolean override
7142
7143  # There is a certificate error. If overriding certificate errors is enabled, then it should be
7144  # handled with the `handleCertificateError` command. Note: this event does not fire if the
7145  # certificate error has been allowed internally. Only one client per target should override
7146  # certificate errors at the same time.
7147  deprecated event certificateError
7148    parameters
7149      # The ID of the event.
7150      integer eventId
7151      # The type of the error.
7152      string errorType
7153      # The url that was requested.
7154      string requestURL
7155
7156  # The security state of the page changed.
7157  experimental event visibleSecurityStateChanged
7158    parameters
7159      # Security state information about the page.
7160      VisibleSecurityState visibleSecurityState
7161
7162  # The security state of the page changed.
7163  event securityStateChanged
7164    parameters
7165      # Security state.
7166      SecurityState securityState
7167      # True if the page was loaded over cryptographic transport such as HTTPS.
7168      deprecated boolean schemeIsCryptographic
7169      # List of explanations for the security state. If the overall security state is `insecure` or
7170      # `warning`, at least one corresponding explanation should be included.
7171      array of SecurityStateExplanation explanations
7172      # Information about insecure content on the page.
7173      deprecated InsecureContentStatus insecureContentStatus
7174      # Overrides user-visible description of the state.
7175      optional string summary
7176
7177experimental domain ServiceWorker
7178  depends on Target
7179
7180  type RegistrationID extends string
7181
7182  # ServiceWorker registration.
7183  type ServiceWorkerRegistration extends object
7184    properties
7185      RegistrationID registrationId
7186      string scopeURL
7187      boolean isDeleted
7188
7189  type ServiceWorkerVersionRunningStatus extends string
7190    enum
7191      stopped
7192      starting
7193      running
7194      stopping
7195
7196  type ServiceWorkerVersionStatus extends string
7197    enum
7198      new
7199      installing
7200      installed
7201      activating
7202      activated
7203      redundant
7204
7205  # ServiceWorker version.
7206  type ServiceWorkerVersion extends object
7207    properties
7208      string versionId
7209      RegistrationID registrationId
7210      string scriptURL
7211      ServiceWorkerVersionRunningStatus runningStatus
7212      ServiceWorkerVersionStatus status
7213      # The Last-Modified header value of the main script.
7214      optional number scriptLastModified
7215      # The time at which the response headers of the main script were received from the server.
7216      # For cached script it is the last time the cache entry was validated.
7217      optional number scriptResponseTime
7218      optional array of Target.TargetID controlledClients
7219      optional Target.TargetID targetId
7220
7221  # ServiceWorker error message.
7222  type ServiceWorkerErrorMessage extends object
7223    properties
7224      string errorMessage
7225      RegistrationID registrationId
7226      string versionId
7227      string sourceURL
7228      integer lineNumber
7229      integer columnNumber
7230
7231  command deliverPushMessage
7232    parameters
7233      string origin
7234      RegistrationID registrationId
7235      string data
7236
7237  command disable
7238
7239  command dispatchSyncEvent
7240    parameters
7241      string origin
7242      RegistrationID registrationId
7243      string tag
7244      boolean lastChance
7245
7246  command dispatchPeriodicSyncEvent
7247    parameters
7248      string origin
7249      RegistrationID registrationId
7250      string tag
7251
7252  command enable
7253
7254  command inspectWorker
7255    parameters
7256      string versionId
7257
7258  command setForceUpdateOnPageLoad
7259    parameters
7260      boolean forceUpdateOnPageLoad
7261
7262  command skipWaiting
7263    parameters
7264      string scopeURL
7265
7266  command startWorker
7267    parameters
7268      string scopeURL
7269
7270  command stopAllWorkers
7271
7272  command stopWorker
7273    parameters
7274      string versionId
7275
7276  command unregister
7277    parameters
7278      string scopeURL
7279
7280  command updateRegistration
7281    parameters
7282      string scopeURL
7283
7284  event workerErrorReported
7285    parameters
7286      ServiceWorkerErrorMessage errorMessage
7287
7288  event workerRegistrationUpdated
7289    parameters
7290      array of ServiceWorkerRegistration registrations
7291
7292  event workerVersionUpdated
7293    parameters
7294      array of ServiceWorkerVersion versions
7295
7296experimental domain Storage
7297  depends on Browser
7298  depends on Network
7299
7300  # Enum of possible storage types.
7301  type StorageType extends string
7302    enum
7303      appcache
7304      cookies
7305      file_systems
7306      indexeddb
7307      local_storage
7308      shader_cache
7309      websql
7310      service_workers
7311      cache_storage
7312      all
7313      other
7314
7315  # Usage for a storage type.
7316  type UsageForType extends object
7317    properties
7318      # Name of storage type.
7319      StorageType storageType
7320      # Storage usage (bytes).
7321      number usage
7322
7323  # Clears storage for origin.
7324  command clearDataForOrigin
7325    parameters
7326      # Security origin.
7327      string origin
7328      # Comma separated list of StorageType to clear.
7329      string storageTypes
7330
7331  # Returns all browser cookies.
7332  command getCookies
7333    parameters
7334      # Browser context to use when called on the browser endpoint.
7335      optional Browser.BrowserContextID browserContextId
7336    returns
7337      # Array of cookie objects.
7338      array of Network.Cookie cookies
7339
7340  # Sets given cookies.
7341  command setCookies
7342    parameters
7343      # Cookies to be set.
7344      array of Network.CookieParam cookies
7345      # Browser context to use when called on the browser endpoint.
7346      optional Browser.BrowserContextID browserContextId
7347
7348  # Clears cookies.
7349  command clearCookies
7350    parameters
7351      # Browser context to use when called on the browser endpoint.
7352      optional Browser.BrowserContextID browserContextId
7353
7354  # Returns usage and quota in bytes.
7355  command getUsageAndQuota
7356    parameters
7357      # Security origin.
7358      string origin
7359    returns
7360      # Storage usage (bytes).
7361      number usage
7362      # Storage quota (bytes).
7363      number quota
7364      # Whether or not the origin has an active storage quota override
7365      boolean overrideActive
7366      # Storage usage per type (bytes).
7367      array of UsageForType usageBreakdown
7368
7369  # Override quota for the specified origin
7370  experimental command overrideQuotaForOrigin
7371    parameters
7372      # Security origin.
7373      string origin
7374      # The quota size (in bytes) to override the original quota with.
7375      # If this is called multiple times, the overriden quota will be equal to
7376      # the quotaSize provided in the final call. If this is called without
7377      # specifying a quotaSize, the quota will be reset to the default value for
7378      # the specified origin. If this is called multiple times with different
7379      # origins, the override will be maintained for each origin until it is
7380      # disabled (called without a quotaSize).
7381      optional number quotaSize
7382
7383  # Registers origin to be notified when an update occurs to its cache storage list.
7384  command trackCacheStorageForOrigin
7385    parameters
7386      # Security origin.
7387      string origin
7388
7389  # Registers origin to be notified when an update occurs to its IndexedDB.
7390  command trackIndexedDBForOrigin
7391    parameters
7392      # Security origin.
7393      string origin
7394
7395  # Unregisters origin from receiving notifications for cache storage.
7396  command untrackCacheStorageForOrigin
7397    parameters
7398      # Security origin.
7399      string origin
7400
7401  # Unregisters origin from receiving notifications for IndexedDB.
7402  command untrackIndexedDBForOrigin
7403    parameters
7404      # Security origin.
7405      string origin
7406
7407  # A cache's contents have been modified.
7408  event cacheStorageContentUpdated
7409    parameters
7410      # Origin to update.
7411      string origin
7412      # Name of cache in origin.
7413      string cacheName
7414
7415  # A cache has been added/deleted.
7416  event cacheStorageListUpdated
7417    parameters
7418      # Origin to update.
7419      string origin
7420
7421  # The origin's IndexedDB object store has been modified.
7422  event indexedDBContentUpdated
7423    parameters
7424      # Origin to update.
7425      string origin
7426      # Database to update.
7427      string databaseName
7428      # ObjectStore to update.
7429      string objectStoreName
7430
7431  # The origin's IndexedDB database list has been modified.
7432  event indexedDBListUpdated
7433    parameters
7434      # Origin to update.
7435      string origin
7436
7437# The SystemInfo domain defines methods and events for querying low-level system information.
7438experimental domain SystemInfo
7439
7440  # Describes a single graphics processor (GPU).
7441  type GPUDevice extends object
7442    properties
7443      # PCI ID of the GPU vendor, if available; 0 otherwise.
7444      number vendorId
7445      # PCI ID of the GPU device, if available; 0 otherwise.
7446      number deviceId
7447      # Sub sys ID of the GPU, only available on Windows.
7448      optional number subSysId
7449      # Revision of the GPU, only available on Windows.
7450      optional number revision
7451      # String description of the GPU vendor, if the PCI ID is not available.
7452      string vendorString
7453      # String description of the GPU device, if the PCI ID is not available.
7454      string deviceString
7455      # String description of the GPU driver vendor.
7456      string driverVendor
7457      # String description of the GPU driver version.
7458      string driverVersion
7459
7460  # Describes the width and height dimensions of an entity.
7461  type Size extends object
7462    properties
7463      # Width in pixels.
7464      integer width
7465      # Height in pixels.
7466      integer height
7467
7468  # Describes a supported video decoding profile with its associated minimum and
7469  # maximum resolutions.
7470  type VideoDecodeAcceleratorCapability extends object
7471    properties
7472      # Video codec profile that is supported, e.g. VP9 Profile 2.
7473      string profile
7474      # Maximum video dimensions in pixels supported for this |profile|.
7475      Size maxResolution
7476      # Minimum video dimensions in pixels supported for this |profile|.
7477      Size minResolution
7478
7479  # Describes a supported video encoding profile with its associated maximum
7480  # resolution and maximum framerate.
7481  type VideoEncodeAcceleratorCapability extends object
7482    properties
7483      # Video codec profile that is supported, e.g H264 Main.
7484      string profile
7485      # Maximum video dimensions in pixels supported for this |profile|.
7486      Size maxResolution
7487      # Maximum encoding framerate in frames per second supported for this
7488      # |profile|, as fraction's numerator and denominator, e.g. 24/1 fps,
7489      # 24000/1001 fps, etc.
7490      integer maxFramerateNumerator
7491      integer maxFramerateDenominator
7492
7493  # YUV subsampling type of the pixels of a given image.
7494  type SubsamplingFormat extends string
7495    enum
7496      yuv420
7497      yuv422
7498      yuv444
7499
7500  # Image format of a given image.
7501  type ImageType extends string
7502    enum
7503      jpeg
7504      webp
7505      unknown
7506
7507  # Describes a supported image decoding profile with its associated minimum and
7508  # maximum resolutions and subsampling.
7509  type ImageDecodeAcceleratorCapability extends object
7510    properties
7511      # Image coded, e.g. Jpeg.
7512      ImageType imageType
7513      # Maximum supported dimensions of the image in pixels.
7514      Size maxDimensions
7515      # Minimum supported dimensions of the image in pixels.
7516      Size minDimensions
7517      # Optional array of supported subsampling formats, e.g. 4:2:0, if known.
7518      array of SubsamplingFormat subsamplings
7519
7520  # Provides information about the GPU(s) on the system.
7521  type GPUInfo extends object
7522    properties
7523      # The graphics devices on the system. Element 0 is the primary GPU.
7524      array of GPUDevice devices
7525      # An optional dictionary of additional GPU related attributes.
7526      optional object auxAttributes
7527      # An optional dictionary of graphics features and their status.
7528      optional object featureStatus
7529      # An optional array of GPU driver bug workarounds.
7530      array of string driverBugWorkarounds
7531      # Supported accelerated video decoding capabilities.
7532      array of VideoDecodeAcceleratorCapability videoDecoding
7533      # Supported accelerated video encoding capabilities.
7534      array of VideoEncodeAcceleratorCapability videoEncoding
7535      # Supported accelerated image decoding capabilities.
7536      array of ImageDecodeAcceleratorCapability imageDecoding
7537
7538  # Represents process info.
7539  type ProcessInfo extends object
7540    properties
7541      # Specifies process type.
7542      string type
7543      # Specifies process id.
7544      integer id
7545      # Specifies cumulative CPU usage in seconds across all threads of the
7546      # process since the process start.
7547      number cpuTime
7548
7549  # Returns information about the system.
7550  command getInfo
7551    returns
7552      # Information about the GPUs on the system.
7553      GPUInfo gpu
7554      # A platform-dependent description of the model of the machine. On Mac OS, this is, for
7555      # example, 'MacBookPro'. Will be the empty string if not supported.
7556      string modelName
7557      # A platform-dependent description of the version of the machine. On Mac OS, this is, for
7558      # example, '10.1'. Will be the empty string if not supported.
7559      string modelVersion
7560      # The command line string used to launch the browser. Will be the empty string if not
7561      # supported.
7562      string commandLine
7563
7564  # Returns information about all running processes.
7565  command getProcessInfo
7566    returns
7567      # An array of process info blocks.
7568      array of ProcessInfo processInfo
7569
7570# Supports additional targets discovery and allows to attach to them.
7571domain Target
7572
7573  type TargetID extends string
7574
7575  # Unique identifier of attached debugging session.
7576  type SessionID extends string
7577
7578  type TargetInfo extends object
7579    properties
7580      TargetID targetId
7581      string type
7582      string title
7583      string url
7584      # Whether the target has an attached client.
7585      boolean attached
7586      # Opener target Id
7587      optional TargetID openerId
7588      # Whether the target has access to the originating window.
7589      experimental boolean canAccessOpener
7590      # Frame id of originating window (is only set if target has an opener).
7591      experimental optional Page.FrameId openerFrameId
7592      experimental optional Browser.BrowserContextID browserContextId
7593
7594  experimental type RemoteLocation extends object
7595    properties
7596      string host
7597      integer port
7598
7599  # Activates (focuses) the target.
7600  command activateTarget
7601    parameters
7602      TargetID targetId
7603
7604  # Attaches to the target with given id.
7605  command attachToTarget
7606    parameters
7607      TargetID targetId
7608      # Enables "flat" access to the session via specifying sessionId attribute in the commands.
7609      # We plan to make this the default, deprecate non-flattened mode,
7610      # and eventually retire it. See crbug.com/991325.
7611      optional boolean flatten
7612    returns
7613      # Id assigned to the session.
7614      SessionID sessionId
7615
7616  # Attaches to the browser target, only uses flat sessionId mode.
7617  experimental command attachToBrowserTarget
7618    returns
7619      # Id assigned to the session.
7620      SessionID sessionId
7621
7622  # Closes the target. If the target is a page that gets closed too.
7623  command closeTarget
7624    parameters
7625      TargetID targetId
7626    returns
7627      # Always set to true. If an error occurs, the response indicates protocol error.
7628      deprecated boolean success
7629
7630  # Inject object to the target's main frame that provides a communication
7631  # channel with browser target.
7632  #
7633  # Injected object will be available as `window[bindingName]`.
7634  #
7635  # The object has the follwing API:
7636  # - `binding.send(json)` - a method to send messages over the remote debugging protocol
7637  # - `binding.onmessage = json => handleMessage(json)` - a callback that will be called for the protocol notifications and command responses.
7638  experimental command exposeDevToolsProtocol
7639    parameters
7640      TargetID targetId
7641      # Binding name, 'cdp' if not specified.
7642      optional string bindingName
7643
7644  # Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than
7645  # one.
7646  experimental command createBrowserContext
7647    parameters
7648      # If specified, disposes this context when debugging session disconnects.
7649      optional boolean disposeOnDetach
7650      # Proxy server, similar to the one passed to --proxy-server
7651      optional string proxyServer
7652      # Proxy bypass list, similar to the one passed to --proxy-bypass-list
7653      optional string proxyBypassList
7654
7655    returns
7656      # The id of the context created.
7657      Browser.BrowserContextID browserContextId
7658
7659  # Returns all browser contexts created with `Target.createBrowserContext` method.
7660  experimental command getBrowserContexts
7661    returns
7662      # An array of browser context ids.
7663      array of Browser.BrowserContextID browserContextIds
7664
7665  # Creates a new page.
7666  command createTarget
7667    parameters
7668      # The initial URL the page will be navigated to.
7669      string url
7670      # Frame width in DIP (headless chrome only).
7671      optional integer width
7672      # Frame height in DIP (headless chrome only).
7673      optional integer height
7674      # The browser context to create the page in.
7675      optional Browser.BrowserContextID browserContextId
7676      # Whether BeginFrames for this target will be controlled via DevTools (headless chrome only,
7677      # not supported on MacOS yet, false by default).
7678      experimental optional boolean enableBeginFrameControl
7679      # Whether to create a new Window or Tab (chrome-only, false by default).
7680      optional boolean newWindow
7681      # Whether to create the target in background or foreground (chrome-only,
7682      # false by default).
7683      optional boolean background
7684    returns
7685      # The id of the page opened.
7686      TargetID targetId
7687
7688  # Detaches session with given id.
7689  command detachFromTarget
7690    parameters
7691      # Session to detach.
7692      optional SessionID sessionId
7693      # Deprecated.
7694      deprecated optional TargetID targetId
7695
7696  # Deletes a BrowserContext. All the belonging pages will be closed without calling their
7697  # beforeunload hooks.
7698  experimental command disposeBrowserContext
7699    parameters
7700      Browser.BrowserContextID browserContextId
7701
7702  # Returns information about a target.
7703  experimental command getTargetInfo
7704    parameters
7705      optional TargetID targetId
7706    returns
7707      TargetInfo targetInfo
7708
7709  # Retrieves a list of available targets.
7710  command getTargets
7711    returns
7712      # The list of targets.
7713      array of TargetInfo targetInfos
7714
7715  # Sends protocol message over session with given id.
7716  # Consider using flat mode instead; see commands attachToTarget, setAutoAttach,
7717  # and crbug.com/991325.
7718  deprecated command sendMessageToTarget
7719    parameters
7720      string message
7721      # Identifier of the session.
7722      optional SessionID sessionId
7723      # Deprecated.
7724      deprecated optional TargetID targetId
7725
7726  # Controls whether to automatically attach to new targets which are considered to be related to
7727  # this one. When turned on, attaches to all existing related targets as well. When turned off,
7728  # automatically detaches from all currently attached targets.
7729  experimental command setAutoAttach
7730    parameters
7731      # Whether to auto-attach to related targets.
7732      boolean autoAttach
7733      # Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger`
7734      # to run paused targets.
7735      boolean waitForDebuggerOnStart
7736      # Enables "flat" access to the session via specifying sessionId attribute in the commands.
7737      # We plan to make this the default, deprecate non-flattened mode,
7738      # and eventually retire it. See crbug.com/991325.
7739      optional boolean flatten
7740
7741  # Controls whether to discover available targets and notify via
7742  # `targetCreated/targetInfoChanged/targetDestroyed` events.
7743  command setDiscoverTargets
7744    parameters
7745      # Whether to discover available targets.
7746      boolean discover
7747
7748  # Enables target discovery for the specified locations, when `setDiscoverTargets` was set to
7749  # `true`.
7750  experimental command setRemoteLocations
7751    parameters
7752      # List of remote locations.
7753      array of RemoteLocation locations
7754
7755  # Issued when attached to target because of auto-attach or `attachToTarget` command.
7756  experimental event attachedToTarget
7757    parameters
7758      # Identifier assigned to the session used to send/receive messages.
7759      SessionID sessionId
7760      TargetInfo targetInfo
7761      boolean waitingForDebugger
7762
7763  # Issued when detached from target for any reason (including `detachFromTarget` command). Can be
7764  # issued multiple times per target if multiple sessions have been attached to it.
7765  experimental event detachedFromTarget
7766    parameters
7767      # Detached session identifier.
7768      SessionID sessionId
7769      # Deprecated.
7770      deprecated optional TargetID targetId
7771
7772  # Notifies about a new protocol message received from the session (as reported in
7773  # `attachedToTarget` event).
7774  event receivedMessageFromTarget
7775    parameters
7776      # Identifier of a session which sends a message.
7777      SessionID sessionId
7778      string message
7779      # Deprecated.
7780      deprecated optional TargetID targetId
7781
7782  # Issued when a possible inspection target is created.
7783  event targetCreated
7784    parameters
7785      TargetInfo targetInfo
7786
7787  # Issued when a target is destroyed.
7788  event targetDestroyed
7789    parameters
7790      TargetID targetId
7791
7792  # Issued when a target has crashed.
7793  event targetCrashed
7794    parameters
7795      TargetID targetId
7796      # Termination status type.
7797      string status
7798      # Termination error code.
7799      integer errorCode
7800
7801  # Issued when some information about a target has changed. This only happens between
7802  # `targetCreated` and `targetDestroyed`.
7803  event targetInfoChanged
7804    parameters
7805      TargetInfo targetInfo
7806
7807# The Tethering domain defines methods and events for browser port binding.
7808experimental domain Tethering
7809
7810  # Request browser port binding.
7811  command bind
7812    parameters
7813      # Port number to bind.
7814      integer port
7815
7816  # Request browser port unbinding.
7817  command unbind
7818    parameters
7819      # Port number to unbind.
7820      integer port
7821
7822  # Informs that port was successfully bound and got a specified connection id.
7823  event accepted
7824    parameters
7825      # Port number that was successfully bound.
7826      integer port
7827      # Connection id to be used.
7828      string connectionId
7829
7830experimental domain Tracing
7831  depends on IO
7832
7833  # Configuration for memory dump. Used only when "memory-infra" category is enabled.
7834  type MemoryDumpConfig extends object
7835
7836  type TraceConfig extends object
7837    properties
7838      # Controls how the trace buffer stores data.
7839      optional enum recordMode
7840        recordUntilFull
7841        recordContinuously
7842        recordAsMuchAsPossible
7843        echoToConsole
7844      # Turns on JavaScript stack sampling.
7845      optional boolean enableSampling
7846      # Turns on system tracing.
7847      optional boolean enableSystrace
7848      # Turns on argument filter.
7849      optional boolean enableArgumentFilter
7850      # Included category filters.
7851      optional array of string includedCategories
7852      # Excluded category filters.
7853      optional array of string excludedCategories
7854      # Configuration to synthesize the delays in tracing.
7855      optional array of string syntheticDelays
7856      # Configuration for memory dump triggers. Used only when "memory-infra" category is enabled.
7857      optional MemoryDumpConfig memoryDumpConfig
7858
7859  # Data format of a trace. Can be either the legacy JSON format or the
7860  # protocol buffer format. Note that the JSON format will be deprecated soon.
7861  type StreamFormat extends string
7862    enum
7863      json
7864      proto
7865
7866  # Compression type to use for traces returned via streams.
7867  type StreamCompression extends string
7868    enum
7869      none
7870      gzip
7871
7872  # Details exposed when memory request explicitly declared.
7873  # Keep consistent with memory_dump_request_args.h and
7874  # memory_instrumentation.mojom
7875  type MemoryDumpLevelOfDetail extends string
7876    enum
7877      background
7878      light
7879      detailed
7880
7881  # Stop trace events collection.
7882  command end
7883
7884  # Gets supported tracing categories.
7885  command getCategories
7886    returns
7887      # A list of supported tracing categories.
7888      array of string categories
7889
7890  # Record a clock sync marker in the trace.
7891  command recordClockSyncMarker
7892    parameters
7893      # The ID of this clock sync marker
7894      string syncId
7895
7896  # Request a global memory dump.
7897  command requestMemoryDump
7898    parameters
7899      # Enables more deterministic results by forcing garbage collection
7900      optional boolean deterministic
7901      # Specifies level of details in memory dump. Defaults to "detailed".
7902      optional MemoryDumpLevelOfDetail levelOfDetail
7903    returns
7904      # GUID of the resulting global memory dump.
7905      string dumpGuid
7906      # True iff the global memory dump succeeded.
7907      boolean success
7908
7909  # Start trace events collection.
7910  command start
7911    parameters
7912      # Category/tag filter
7913      deprecated optional string categories
7914      # Tracing options
7915      deprecated optional string options
7916      # If set, the agent will issue bufferUsage events at this interval, specified in milliseconds
7917      optional number bufferUsageReportingInterval
7918      # Whether to report trace events as series of dataCollected events or to save trace to a
7919      # stream (defaults to `ReportEvents`).
7920      optional enum transferMode
7921        ReportEvents
7922        ReturnAsStream
7923      # Trace data format to use. This only applies when using `ReturnAsStream`
7924      # transfer mode (defaults to `json`).
7925      optional StreamFormat streamFormat
7926      # Compression format to use. This only applies when using `ReturnAsStream`
7927      # transfer mode (defaults to `none`)
7928      optional StreamCompression streamCompression
7929      optional TraceConfig traceConfig
7930
7931  event bufferUsage
7932    parameters
7933      # A number in range [0..1] that indicates the used size of event buffer as a fraction of its
7934      # total size.
7935      optional number percentFull
7936      # An approximate number of events in the trace log.
7937      optional number eventCount
7938      # A number in range [0..1] that indicates the used size of event buffer as a fraction of its
7939      # total size.
7940      optional number value
7941
7942  # Contains an bucket of collected trace events. When tracing is stopped collected events will be
7943  # send as a sequence of dataCollected events followed by tracingComplete event.
7944  event dataCollected
7945    parameters
7946      array of object value
7947
7948  # Signals that tracing is stopped and there is no trace buffers pending flush, all data were
7949  # delivered via dataCollected events.
7950  event tracingComplete
7951    parameters
7952      # Indicates whether some trace data is known to have been lost, e.g. because the trace ring
7953      # buffer wrapped around.
7954      boolean dataLossOccurred
7955      # A handle of the stream that holds resulting trace data.
7956      optional IO.StreamHandle stream
7957      # Trace data format of returned stream.
7958      optional StreamFormat traceFormat
7959      # Compression format of returned stream.
7960      optional StreamCompression streamCompression
7961
7962# A domain for letting clients substitute browser's network layer with client code.
7963domain Fetch
7964  depends on Network
7965  depends on IO
7966  depends on Page
7967
7968  # Unique request identifier.
7969  type RequestId extends string
7970
7971  # Stages of the request to handle. Request will intercept before the request is
7972  # sent. Response will intercept after the response is received (but before response
7973  # body is received.
7974  type RequestStage extends string
7975    enum
7976      Request
7977      Response
7978
7979  type RequestPattern extends object
7980    properties
7981      # Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is
7982      # backslash. Omitting is equivalent to "*".
7983      optional string urlPattern
7984      # If set, only requests for matching resource types will be intercepted.
7985      optional Network.ResourceType resourceType
7986      # Stage at wich to begin intercepting requests. Default is Request.
7987      optional RequestStage requestStage
7988
7989  # Response HTTP header entry
7990  type HeaderEntry extends object
7991    properties
7992      string name
7993      string value
7994
7995  # Authorization challenge for HTTP status code 401 or 407.
7996  type AuthChallenge extends object
7997    properties
7998      # Source of the authentication challenge.
7999      optional enum source
8000        Server
8001        Proxy
8002      # Origin of the challenger.
8003      string origin
8004      # The authentication scheme used, such as basic or digest
8005      string scheme
8006      # The realm of the challenge. May be empty.
8007      string realm
8008
8009  # Response to an AuthChallenge.
8010  type AuthChallengeResponse extends object
8011    properties
8012      # The decision on what to do in response to the authorization challenge.  Default means
8013      # deferring to the default behavior of the net stack, which will likely either the Cancel
8014      # authentication or display a popup dialog box.
8015      enum response
8016        Default
8017        CancelAuth
8018        ProvideCredentials
8019      # The username to provide, possibly empty. Should only be set if response is
8020      # ProvideCredentials.
8021      optional string username
8022      # The password to provide, possibly empty. Should only be set if response is
8023      # ProvideCredentials.
8024      optional string password
8025
8026  # Disables the fetch domain.
8027  command disable
8028
8029  # Enables issuing of requestPaused events. A request will be paused until client
8030  # calls one of failRequest, fulfillRequest or continueRequest/continueWithAuth.
8031  command enable
8032    parameters
8033      # If specified, only requests matching any of these patterns will produce
8034      # fetchRequested event and will be paused until clients response. If not set,
8035      # all requests will be affected.
8036      optional array of RequestPattern patterns
8037      # If true, authRequired events will be issued and requests will be paused
8038      # expecting a call to continueWithAuth.
8039      optional boolean handleAuthRequests
8040
8041  # Causes the request to fail with specified reason.
8042  command failRequest
8043    parameters
8044      # An id the client received in requestPaused event.
8045      RequestId requestId
8046      # Causes the request to fail with the given reason.
8047      Network.ErrorReason errorReason
8048
8049  # Provides response to the request.
8050  command fulfillRequest
8051    parameters
8052      # An id the client received in requestPaused event.
8053      RequestId requestId
8054      # An HTTP response code.
8055      integer responseCode
8056      # Response headers.
8057      optional array of HeaderEntry responseHeaders
8058      # Alternative way of specifying response headers as a \0-separated
8059      # series of name: value pairs. Prefer the above method unless you
8060      # need to represent some non-UTF8 values that can't be transmitted
8061      # over the protocol as text.
8062      optional binary binaryResponseHeaders
8063      # A response body.
8064      optional binary body
8065      # A textual representation of responseCode.
8066      # If absent, a standard phrase matching responseCode is used.
8067      optional string responsePhrase
8068
8069  # Continues the request, optionally modifying some of its parameters.
8070  command continueRequest
8071    parameters
8072      # An id the client received in requestPaused event.
8073      RequestId requestId
8074      # If set, the request url will be modified in a way that's not observable by page.
8075      optional string url
8076      # If set, the request method is overridden.
8077      optional string method
8078      # If set, overrides the post data in the request.
8079      optional binary postData
8080      # If set, overrides the request headers.
8081      optional array of HeaderEntry headers
8082
8083  # Continues a request supplying authChallengeResponse following authRequired event.
8084  command continueWithAuth
8085    parameters
8086      # An id the client received in authRequired event.
8087      RequestId requestId
8088      # Response to  with an authChallenge.
8089      AuthChallengeResponse authChallengeResponse
8090
8091  # Causes the body of the response to be received from the server and
8092  # returned as a single string. May only be issued for a request that
8093  # is paused in the Response stage and is mutually exclusive with
8094  # takeResponseBodyForInterceptionAsStream. Calling other methods that
8095  # affect the request or disabling fetch domain before body is received
8096  # results in an undefined behavior.
8097  command getResponseBody
8098    parameters
8099      # Identifier for the intercepted request to get body for.
8100      RequestId requestId
8101    returns
8102      # Response body.
8103      string body
8104      # True, if content was sent as base64.
8105      boolean base64Encoded
8106
8107  # Returns a handle to the stream representing the response body.
8108  # The request must be paused in the HeadersReceived stage.
8109  # Note that after this command the request can't be continued
8110  # as is -- client either needs to cancel it or to provide the
8111  # response body.
8112  # The stream only supports sequential read, IO.read will fail if the position
8113  # is specified.
8114  # This method is mutually exclusive with getResponseBody.
8115  # Calling other methods that affect the request or disabling fetch
8116  # domain before body is received results in an undefined behavior.
8117  command takeResponseBodyAsStream
8118    parameters
8119      RequestId requestId
8120    returns
8121      IO.StreamHandle stream
8122
8123  # Issued when the domain is enabled and the request URL matches the
8124  # specified filter. The request is paused until the client responds
8125  # with one of continueRequest, failRequest or fulfillRequest.
8126  # The stage of the request can be determined by presence of responseErrorReason
8127  # and responseStatusCode -- the request is at the response stage if either
8128  # of these fields is present and in the request stage otherwise.
8129  event requestPaused
8130    parameters
8131      # Each request the page makes will have a unique id.
8132      RequestId requestId
8133      # The details of the request.
8134      Network.Request request
8135      # The id of the frame that initiated the request.
8136      Page.FrameId frameId
8137      # How the requested resource will be used.
8138      Network.ResourceType resourceType
8139      # Response error if intercepted at response stage.
8140      optional Network.ErrorReason responseErrorReason
8141      # Response code if intercepted at response stage.
8142      optional integer responseStatusCode
8143      # Response headers if intercepted at the response stage.
8144      optional array of HeaderEntry responseHeaders
8145      # If the intercepted request had a corresponding Network.requestWillBeSent event fired for it,
8146      # then this networkId will be the same as the requestId present in the requestWillBeSent event.
8147      optional RequestId networkId
8148
8149  # Issued when the domain is enabled with handleAuthRequests set to true.
8150  # The request is paused until client responds with continueWithAuth.
8151  event authRequired
8152    parameters
8153      # Each request the page makes will have a unique id.
8154      RequestId requestId
8155      # The details of the request.
8156      Network.Request request
8157      # The id of the frame that initiated the request.
8158      Page.FrameId frameId
8159      # How the requested resource will be used.
8160      Network.ResourceType resourceType
8161      # Details of the Authorization Challenge encountered.
8162      # If this is set, client should respond with continueRequest that
8163      # contains AuthChallengeResponse.
8164      AuthChallenge authChallenge
8165
8166# This domain allows inspection of Web Audio API.
8167# https://webaudio.github.io/web-audio-api/
8168experimental domain WebAudio
8169
8170  # An unique ID for a graph object (AudioContext, AudioNode, AudioParam) in Web Audio API
8171  type GraphObjectId extends string
8172
8173  # Enum of BaseAudioContext types
8174  type ContextType extends string
8175    enum
8176      realtime
8177      offline
8178
8179  # Enum of AudioContextState from the spec
8180  type ContextState extends string
8181    enum
8182      suspended
8183      running
8184      closed
8185
8186  # Enum of AudioNode types
8187  type NodeType extends string
8188
8189  # Enum of AudioNode::ChannelCountMode from the spec
8190  type ChannelCountMode extends string
8191    enum
8192      clamped-max
8193      explicit
8194      max
8195
8196  # Enum of AudioNode::ChannelInterpretation from the spec
8197  type ChannelInterpretation extends string
8198    enum
8199      discrete
8200      speakers
8201
8202  # Enum of AudioParam types
8203  type ParamType extends string
8204
8205  # Enum of AudioParam::AutomationRate from the spec
8206  type AutomationRate extends string
8207    enum
8208      a-rate
8209      k-rate
8210
8211  # Fields in AudioContext that change in real-time.
8212  type ContextRealtimeData extends object
8213    properties
8214      # The current context time in second in BaseAudioContext.
8215      number currentTime
8216      # The time spent on rendering graph divided by render qunatum duration,
8217      # and multiplied by 100. 100 means the audio renderer reached the full
8218      # capacity and glitch may occur.
8219      number renderCapacity
8220      # A running mean of callback interval.
8221      number callbackIntervalMean
8222      # A running variance of callback interval.
8223      number callbackIntervalVariance
8224
8225  # Protocol object for BaseAudioContext
8226  type BaseAudioContext extends object
8227    properties
8228      GraphObjectId contextId
8229      ContextType contextType
8230      ContextState contextState
8231      optional ContextRealtimeData realtimeData
8232      # Platform-dependent callback buffer size.
8233      number callbackBufferSize
8234      # Number of output channels supported by audio hardware in use.
8235      number maxOutputChannelCount
8236      # Context sample rate.
8237      number sampleRate
8238
8239# Protocol object for AudioListener
8240  type AudioListener extends object
8241    properties
8242      GraphObjectId listenerId
8243      GraphObjectId contextId
8244
8245  # Protocol object for AudioNode
8246  type AudioNode extends object
8247    properties
8248      GraphObjectId nodeId
8249      GraphObjectId contextId
8250      NodeType nodeType
8251      number numberOfInputs
8252      number numberOfOutputs
8253      number channelCount
8254      ChannelCountMode channelCountMode
8255      ChannelInterpretation channelInterpretation
8256
8257  # Protocol object for AudioParam
8258  type AudioParam extends object
8259    properties
8260      GraphObjectId paramId
8261      GraphObjectId nodeId
8262      GraphObjectId contextId
8263      ParamType paramType
8264      AutomationRate rate
8265      number defaultValue
8266      number minValue
8267      number maxValue
8268
8269  # Enables the WebAudio domain and starts sending context lifetime events.
8270  command enable
8271
8272  # Disables the WebAudio domain.
8273  command disable
8274
8275  # Fetch the realtime data from the registered contexts.
8276  command getRealtimeData
8277    parameters
8278      GraphObjectId contextId
8279    returns
8280      ContextRealtimeData realtimeData
8281
8282  # Notifies that a new BaseAudioContext has been created.
8283  event contextCreated
8284    parameters
8285      BaseAudioContext context
8286
8287  # Notifies that an existing BaseAudioContext will be destroyed.
8288  event contextWillBeDestroyed
8289    parameters
8290      GraphObjectId contextId
8291
8292  # Notifies that existing BaseAudioContext has changed some properties (id stays the same)..
8293  event contextChanged
8294    parameters
8295      BaseAudioContext context
8296
8297# Notifies that the construction of an AudioListener has finished.
8298  event audioListenerCreated
8299    parameters
8300      AudioListener listener
8301
8302  # Notifies that a new AudioListener has been created.
8303  event audioListenerWillBeDestroyed
8304    parameters
8305      GraphObjectId contextId
8306      GraphObjectId listenerId
8307
8308  # Notifies that a new AudioNode has been created.
8309  event audioNodeCreated
8310    parameters
8311      AudioNode node
8312
8313  # Notifies that an existing AudioNode has been destroyed.
8314  event audioNodeWillBeDestroyed
8315    parameters
8316      GraphObjectId contextId
8317      GraphObjectId nodeId
8318
8319  # Notifies that a new AudioParam has been created.
8320  event audioParamCreated
8321    parameters
8322      AudioParam param
8323
8324  # Notifies that an existing AudioParam has been destroyed.
8325  event audioParamWillBeDestroyed
8326    parameters
8327      GraphObjectId contextId
8328      GraphObjectId nodeId
8329      GraphObjectId paramId
8330
8331  # Notifies that two AudioNodes are connected.
8332  event nodesConnected
8333    parameters
8334      GraphObjectId contextId
8335      GraphObjectId sourceId
8336      GraphObjectId destinationId
8337      optional number sourceOutputIndex
8338      optional number destinationInputIndex
8339
8340  # Notifies that AudioNodes are disconnected. The destination can be null, and it means all the outgoing connections from the source are disconnected.
8341  event nodesDisconnected
8342    parameters
8343      GraphObjectId contextId
8344      GraphObjectId sourceId
8345      GraphObjectId destinationId
8346      optional number sourceOutputIndex
8347      optional number destinationInputIndex
8348
8349  # Notifies that an AudioNode is connected to an AudioParam.
8350  event nodeParamConnected
8351    parameters
8352      GraphObjectId contextId
8353      GraphObjectId sourceId
8354      GraphObjectId destinationId
8355      optional number sourceOutputIndex
8356
8357  # Notifies that an AudioNode is disconnected to an AudioParam.
8358  event nodeParamDisconnected
8359    parameters
8360      GraphObjectId contextId
8361      GraphObjectId sourceId
8362      GraphObjectId destinationId
8363      optional number sourceOutputIndex
8364
8365# This domain allows configuring virtual authenticators to test the WebAuthn
8366# API.
8367experimental domain WebAuthn
8368  type AuthenticatorId extends string
8369
8370  type AuthenticatorProtocol extends string
8371    enum
8372      # Universal 2nd Factor.
8373      u2f
8374      # Client To Authenticator Protocol 2.
8375      ctap2
8376
8377  type Ctap2Version extends string
8378    enum
8379      ctap2_0
8380      ctap2_1
8381
8382  type AuthenticatorTransport extends string
8383    enum
8384      # Cross-Platform authenticator attachments:
8385      usb
8386      nfc
8387      ble
8388      cable
8389      # Platform authenticator attachment:
8390      internal
8391
8392  type VirtualAuthenticatorOptions extends object
8393    properties
8394      AuthenticatorProtocol protocol
8395      # Defaults to ctap2_0. Ignored if |protocol| == u2f.
8396      optional Ctap2Version ctap2Version
8397      AuthenticatorTransport transport
8398      # Defaults to false.
8399      optional boolean hasResidentKey
8400      # Defaults to false.
8401      optional boolean hasUserVerification
8402      # If set to true, the authenticator will support the largeBlob extension.
8403      # https://w3c.github.io/webauthn#largeBlob
8404      # Defaults to false.
8405      optional boolean hasLargeBlob
8406      # If set to true, tests of user presence will succeed immediately.
8407      # Otherwise, they will not be resolved. Defaults to true.
8408      optional boolean automaticPresenceSimulation
8409      # Sets whether User Verification succeeds or fails for an authenticator.
8410      # Defaults to false.
8411      optional boolean isUserVerified
8412
8413  type Credential extends object
8414    properties
8415      binary credentialId
8416      boolean isResidentCredential
8417      # Relying Party ID the credential is scoped to. Must be set when adding a
8418      # credential.
8419      optional string rpId
8420      # The ECDSA P-256 private key in PKCS#8 format.
8421      binary privateKey
8422      # An opaque byte sequence with a maximum size of 64 bytes mapping the
8423      # credential to a specific user.
8424      optional binary userHandle
8425      # Signature counter. This is incremented by one for each successful
8426      # assertion.
8427      # See https://w3c.github.io/webauthn/#signature-counter
8428      integer signCount
8429      # The large blob associated with the credential.
8430      # See https://w3c.github.io/webauthn/#sctn-large-blob-extension
8431      optional binary largeBlob
8432
8433  # Enable the WebAuthn domain and start intercepting credential storage and
8434  # retrieval with a virtual authenticator.
8435  command enable
8436
8437  # Disable the WebAuthn domain.
8438  command disable
8439
8440  # Creates and adds a virtual authenticator.
8441  command addVirtualAuthenticator
8442    parameters
8443      VirtualAuthenticatorOptions options
8444    returns
8445      AuthenticatorId authenticatorId
8446
8447  # Removes the given authenticator.
8448  command removeVirtualAuthenticator
8449    parameters
8450      AuthenticatorId authenticatorId
8451
8452  # Adds the credential to the specified authenticator.
8453  command addCredential
8454    parameters
8455      AuthenticatorId authenticatorId
8456      Credential credential
8457
8458  # Returns a single credential stored in the given virtual authenticator that
8459  # matches the credential ID.
8460  command getCredential
8461    parameters
8462      AuthenticatorId authenticatorId
8463      binary credentialId
8464    returns
8465      Credential credential
8466
8467  # Returns all the credentials stored in the given virtual authenticator.
8468  command getCredentials
8469    parameters
8470      AuthenticatorId authenticatorId
8471    returns
8472      array of Credential credentials
8473
8474  # Removes a credential from the authenticator.
8475  command removeCredential
8476    parameters
8477      AuthenticatorId authenticatorId
8478      binary credentialId
8479
8480  # Clears all the credentials from the specified device.
8481  command clearCredentials
8482    parameters
8483      AuthenticatorId authenticatorId
8484
8485  # Sets whether User Verification succeeds or fails for an authenticator.
8486  # The default is true.
8487  command setUserVerified
8488    parameters
8489      AuthenticatorId authenticatorId
8490      boolean isUserVerified
8491
8492  # Sets whether tests of user presence will succeed immediately (if true) or fail to resolve (if false) for an authenticator.
8493  # The default is true.
8494  command setAutomaticPresenceSimulation
8495    parameters
8496      AuthenticatorId authenticatorId
8497      boolean enabled
8498
8499# This domain allows detailed inspection of media elements
8500experimental domain Media
8501
8502  # Players will get an ID that is unique within the agent context.
8503  type PlayerId extends string
8504
8505  type Timestamp extends number
8506
8507  # Have one type per entry in MediaLogRecord::Type
8508  # Corresponds to kMessage
8509  type PlayerMessage extends object
8510    properties
8511      # Keep in sync with MediaLogMessageLevel
8512      # We are currently keeping the message level 'error' separate from the
8513      # PlayerError type because right now they represent different things,
8514      # this one being a DVLOG(ERROR) style log message that gets printed
8515      # based on what log level is selected in the UI, and the other is a
8516      # representation of a media::PipelineStatus object. Soon however we're
8517      # going to be moving away from using PipelineStatus for errors and
8518      # introducing a new error type which should hopefully let us integrate
8519      # the error log level into the PlayerError type.
8520      enum level
8521        error
8522        warning
8523        info
8524        debug
8525      string message
8526
8527  # Corresponds to kMediaPropertyChange
8528  type PlayerProperty extends object
8529    properties
8530      string name
8531      string value
8532
8533  # Corresponds to kMediaEventTriggered
8534  type PlayerEvent extends object
8535    properties
8536      Timestamp timestamp
8537      string value
8538
8539  # Corresponds to kMediaError
8540  type PlayerError extends object
8541    properties
8542      enum type
8543        # Compatability until we switch to media_error
8544        pipeline_error
8545        media_error
8546      # When this switches to using media::Status instead of PipelineStatus
8547      # we can remove "errorCode" and replace it with the fields from
8548      # a Status instance. This also seems like a duplicate of the error
8549      # level enum - there is a todo bug to have that level removed and
8550      # use this instead. (crbug.com/1068454)
8551      string errorCode
8552
8553  # This can be called multiple times, and can be used to set / override /
8554  # remove player properties. A null propValue indicates removal.
8555  event playerPropertiesChanged
8556    parameters
8557      PlayerId playerId
8558      array of PlayerProperty properties
8559
8560  # Send events as a list, allowing them to be batched on the browser for less
8561  # congestion. If batched, events must ALWAYS be in chronological order.
8562  event playerEventsAdded
8563    parameters
8564      PlayerId playerId
8565      array of PlayerEvent events
8566
8567  # Send a list of any messages that need to be delivered.
8568  event playerMessagesLogged
8569    parameters
8570      PlayerId playerId
8571      array of PlayerMessage messages
8572
8573  # Send a list of any errors that need to be delivered.
8574  event playerErrorsRaised
8575    parameters
8576      PlayerId playerId
8577      array of PlayerError errors
8578
8579  # Called whenever a player is created, or when a new agent joins and recieves
8580  # a list of active players. If an agent is restored, it will recieve the full
8581  # list of player ids and all events again.
8582  event playersCreated
8583    parameters
8584      array of PlayerId players
8585
8586  # Enables the Media domain
8587  command enable
8588
8589  # Disables the Media domain.
8590  command disable
8591