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