cdp_protocol/
dom.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: DOM
2use super::dom;
3use super::page;
4use super::runtime;
5#[allow(unused_imports)]
6use super::types::*;
7#[allow(unused_imports)]
8use serde::{Deserialize, Serialize};
9#[allow(unused_imports)]
10use serde_json::Value as Json;
11pub type NodeId = JsUInt;
12pub type BackendNodeId = JsUInt;
13pub type Quad = Vec<JsFloat>;
14#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
15pub enum PseudoType {
16    #[serde(rename = "first-line")]
17    FirstLine,
18    #[serde(rename = "first-letter")]
19    FirstLetter,
20    #[serde(rename = "checkmark")]
21    Checkmark,
22    #[serde(rename = "before")]
23    Before,
24    #[serde(rename = "after")]
25    After,
26    #[serde(rename = "picker-icon")]
27    PickerIcon,
28    #[serde(rename = "interest-hint")]
29    InterestHint,
30    #[serde(rename = "marker")]
31    Marker,
32    #[serde(rename = "backdrop")]
33    Backdrop,
34    #[serde(rename = "column")]
35    Column,
36    #[serde(rename = "selection")]
37    Selection,
38    #[serde(rename = "search-text")]
39    SearchText,
40    #[serde(rename = "target-text")]
41    TargetText,
42    #[serde(rename = "spelling-error")]
43    SpellingError,
44    #[serde(rename = "grammar-error")]
45    GrammarError,
46    #[serde(rename = "highlight")]
47    Highlight,
48    #[serde(rename = "first-line-inherited")]
49    FirstLineInherited,
50    #[serde(rename = "scroll-marker")]
51    ScrollMarker,
52    #[serde(rename = "scroll-marker-group")]
53    ScrollMarkerGroup,
54    #[serde(rename = "scroll-button")]
55    ScrollButton,
56    #[serde(rename = "scrollbar")]
57    Scrollbar,
58    #[serde(rename = "scrollbar-thumb")]
59    ScrollbarThumb,
60    #[serde(rename = "scrollbar-button")]
61    ScrollbarButton,
62    #[serde(rename = "scrollbar-track")]
63    ScrollbarTrack,
64    #[serde(rename = "scrollbar-track-piece")]
65    ScrollbarTrackPiece,
66    #[serde(rename = "scrollbar-corner")]
67    ScrollbarCorner,
68    #[serde(rename = "resizer")]
69    Resizer,
70    #[serde(rename = "input-list-button")]
71    InputListButton,
72    #[serde(rename = "view-transition")]
73    ViewTransition,
74    #[serde(rename = "view-transition-group")]
75    ViewTransitionGroup,
76    #[serde(rename = "view-transition-image-pair")]
77    ViewTransitionImagePair,
78    #[serde(rename = "view-transition-group-children")]
79    ViewTransitionGroupChildren,
80    #[serde(rename = "view-transition-old")]
81    ViewTransitionOld,
82    #[serde(rename = "view-transition-new")]
83    ViewTransitionNew,
84    #[serde(rename = "placeholder")]
85    Placeholder,
86    #[serde(rename = "file-selector-button")]
87    FileSelectorButton,
88    #[serde(rename = "details-content")]
89    DetailsContent,
90    #[serde(rename = "picker")]
91    Picker,
92    #[serde(rename = "permission-icon")]
93    PermissionIcon,
94}
95#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
96pub enum ShadowRootType {
97    #[serde(rename = "user-agent")]
98    UserAgent,
99    #[serde(rename = "open")]
100    Open,
101    #[serde(rename = "closed")]
102    Closed,
103}
104#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
105pub enum CompatibilityMode {
106    #[serde(rename = "QuirksMode")]
107    QuirksMode,
108    #[serde(rename = "LimitedQuirksMode")]
109    LimitedQuirksMode,
110    #[serde(rename = "NoQuirksMode")]
111    NoQuirksMode,
112}
113#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
114pub enum PhysicalAxes {
115    #[serde(rename = "Horizontal")]
116    Horizontal,
117    #[serde(rename = "Vertical")]
118    Vertical,
119    #[serde(rename = "Both")]
120    Both,
121}
122#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
123pub enum LogicalAxes {
124    #[serde(rename = "Inline")]
125    Inline,
126    #[serde(rename = "Block")]
127    Block,
128    #[serde(rename = "Both")]
129    Both,
130}
131#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
132pub enum ScrollOrientation {
133    #[serde(rename = "horizontal")]
134    Horizontal,
135    #[serde(rename = "vertical")]
136    Vertical,
137}
138#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
139pub enum EnableIncludeWhitespaceOption {
140    #[serde(rename = "none")]
141    None,
142    #[serde(rename = "all")]
143    All,
144}
145#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
146pub enum GetElementByRelationRelationOption {
147    #[serde(rename = "PopoverTarget")]
148    PopoverTarget,
149    #[serde(rename = "InterestTarget")]
150    InterestTarget,
151    #[serde(rename = "CommandFor")]
152    CommandFor,
153}
154#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
155pub struct BackendNode {
156    #[serde(default)]
157    #[serde(rename = "nodeType")]
158    pub node_type: JsUInt,
159    #[serde(default)]
160    #[serde(rename = "nodeName")]
161    pub node_name: String,
162    #[serde(rename = "backendNodeId")]
163    pub backend_node_id: BackendNodeId,
164}
165#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
166pub struct Node {
167    #[serde(rename = "nodeId")]
168    pub node_id: NodeId,
169    #[serde(skip_serializing_if = "Option::is_none")]
170    #[serde(rename = "parentId")]
171    pub parent_id: Option<NodeId>,
172    #[serde(rename = "backendNodeId")]
173    pub backend_node_id: BackendNodeId,
174    #[serde(default)]
175    #[serde(rename = "nodeType")]
176    pub node_type: JsUInt,
177    #[serde(default)]
178    #[serde(rename = "nodeName")]
179    pub node_name: String,
180    #[serde(default)]
181    #[serde(rename = "localName")]
182    pub local_name: String,
183    #[serde(default)]
184    #[serde(rename = "nodeValue")]
185    pub node_value: String,
186    #[serde(skip_serializing_if = "Option::is_none")]
187    #[serde(default)]
188    #[serde(rename = "childNodeCount")]
189    pub child_node_count: Option<JsUInt>,
190    #[serde(skip_serializing_if = "Option::is_none")]
191    #[serde(rename = "children")]
192    pub children: Option<Vec<Node>>,
193    #[serde(skip_serializing_if = "Option::is_none")]
194    #[serde(default)]
195    #[serde(rename = "attributes")]
196    pub attributes: Option<Vec<String>>,
197    #[serde(skip_serializing_if = "Option::is_none")]
198    #[serde(default)]
199    #[serde(rename = "documentURL")]
200    pub document_url: Option<String>,
201    #[serde(skip_serializing_if = "Option::is_none")]
202    #[serde(default)]
203    #[serde(rename = "baseURL")]
204    pub base_url: Option<String>,
205    #[serde(skip_serializing_if = "Option::is_none")]
206    #[serde(default)]
207    #[serde(rename = "publicId")]
208    pub public_id: Option<String>,
209    #[serde(skip_serializing_if = "Option::is_none")]
210    #[serde(default)]
211    #[serde(rename = "systemId")]
212    pub system_id: Option<String>,
213    #[serde(skip_serializing_if = "Option::is_none")]
214    #[serde(default)]
215    #[serde(rename = "internalSubset")]
216    pub internal_subset: Option<String>,
217    #[serde(skip_serializing_if = "Option::is_none")]
218    #[serde(default)]
219    #[serde(rename = "xmlVersion")]
220    pub xml_version: Option<String>,
221    #[serde(skip_serializing_if = "Option::is_none")]
222    #[serde(default)]
223    #[serde(rename = "name")]
224    pub name: Option<String>,
225    #[serde(skip_serializing_if = "Option::is_none")]
226    #[serde(default)]
227    #[serde(rename = "value")]
228    pub value: Option<String>,
229    #[serde(skip_serializing_if = "Option::is_none")]
230    #[serde(rename = "pseudoType")]
231    pub pseudo_type: Option<PseudoType>,
232    #[serde(skip_serializing_if = "Option::is_none")]
233    #[serde(default)]
234    #[serde(rename = "pseudoIdentifier")]
235    pub pseudo_identifier: Option<String>,
236    #[serde(skip_serializing_if = "Option::is_none")]
237    #[serde(rename = "shadowRootType")]
238    pub shadow_root_type: Option<ShadowRootType>,
239    #[serde(skip_serializing_if = "Option::is_none")]
240    #[serde(rename = "frameId")]
241    pub frame_id: Option<page::FrameId>,
242    #[serde(skip_serializing_if = "Option::is_none")]
243    #[serde(rename = "contentDocument")]
244    pub content_document: Option<Box<Node>>,
245    #[serde(skip_serializing_if = "Option::is_none")]
246    #[serde(rename = "shadowRoots")]
247    pub shadow_roots: Option<Vec<Node>>,
248    #[serde(skip_serializing_if = "Option::is_none")]
249    #[serde(rename = "templateContent")]
250    pub template_content: Option<Box<Node>>,
251    #[serde(skip_serializing_if = "Option::is_none")]
252    #[serde(rename = "pseudoElements")]
253    pub pseudo_elements: Option<Vec<Node>>,
254    #[serde(skip_serializing_if = "Option::is_none")]
255    #[serde(rename = "importedDocument")]
256    pub imported_document: Option<Box<Node>>,
257    #[serde(skip_serializing_if = "Option::is_none")]
258    #[serde(rename = "distributedNodes")]
259    pub distributed_nodes: Option<Vec<BackendNode>>,
260    #[serde(skip_serializing_if = "Option::is_none")]
261    #[serde(default)]
262    #[serde(rename = "isSVG")]
263    pub is_svg: Option<bool>,
264    #[serde(skip_serializing_if = "Option::is_none")]
265    #[serde(rename = "compatibilityMode")]
266    pub compatibility_mode: Option<CompatibilityMode>,
267    #[serde(skip_serializing_if = "Option::is_none")]
268    #[serde(rename = "assignedSlot")]
269    pub assigned_slot: Option<BackendNode>,
270    #[serde(skip_serializing_if = "Option::is_none")]
271    #[serde(default)]
272    #[serde(rename = "isScrollable")]
273    pub is_scrollable: Option<bool>,
274    #[serde(skip_serializing_if = "Option::is_none")]
275    #[serde(default)]
276    #[serde(rename = "affectedByStartingStyles")]
277    pub affected_by_starting_styles: Option<bool>,
278}
279#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
280pub struct DetachedElementInfo {
281    #[serde(rename = "treeNode")]
282    pub tree_node: Node,
283    #[serde(rename = "retainedNodeIds")]
284    pub retained_node_ids: Vec<NodeId>,
285}
286#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
287pub struct Rgba {
288    #[serde(default)]
289    #[serde(rename = "r")]
290    pub r: JsUInt,
291    #[serde(default)]
292    #[serde(rename = "g")]
293    pub g: JsUInt,
294    #[serde(default)]
295    #[serde(rename = "b")]
296    pub b: JsUInt,
297    #[serde(skip_serializing_if = "Option::is_none")]
298    #[serde(default)]
299    #[serde(rename = "a")]
300    pub a: Option<JsFloat>,
301}
302#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
303pub struct BoxModel {
304    #[serde(rename = "content")]
305    pub content: Quad,
306    #[serde(rename = "padding")]
307    pub padding: Quad,
308    #[serde(rename = "border")]
309    pub border: Quad,
310    #[serde(rename = "margin")]
311    pub margin: Quad,
312    #[serde(default)]
313    #[serde(rename = "width")]
314    pub width: JsUInt,
315    #[serde(default)]
316    #[serde(rename = "height")]
317    pub height: JsUInt,
318    #[serde(skip_serializing_if = "Option::is_none")]
319    #[serde(rename = "shapeOutside")]
320    pub shape_outside: Option<ShapeOutsideInfo>,
321}
322#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
323pub struct ShapeOutsideInfo {
324    #[serde(rename = "bounds")]
325    pub bounds: Quad,
326    #[serde(default)]
327    #[serde(rename = "shape")]
328    pub shape: Vec<Json>,
329    #[serde(default)]
330    #[serde(rename = "marginShape")]
331    pub margin_shape: Vec<Json>,
332}
333#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
334pub struct Rect {
335    #[serde(default)]
336    #[serde(rename = "x")]
337    pub x: JsFloat,
338    #[serde(default)]
339    #[serde(rename = "y")]
340    pub y: JsFloat,
341    #[serde(default)]
342    #[serde(rename = "width")]
343    pub width: JsFloat,
344    #[serde(default)]
345    #[serde(rename = "height")]
346    pub height: JsFloat,
347}
348#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
349pub struct CssComputedStyleProperty {
350    #[serde(default)]
351    #[serde(rename = "name")]
352    pub name: String,
353    #[serde(default)]
354    #[serde(rename = "value")]
355    pub value: String,
356}
357#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
358pub struct CollectClassNamesFromSubtree {
359    #[serde(rename = "nodeId")]
360    pub node_id: NodeId,
361}
362#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
363pub struct CopyTo {
364    #[serde(rename = "nodeId")]
365    pub node_id: NodeId,
366    #[serde(rename = "targetNodeId")]
367    pub target_node_id: NodeId,
368    #[serde(skip_serializing_if = "Option::is_none")]
369    #[serde(rename = "insertBeforeNodeId")]
370    pub insert_before_node_id: Option<NodeId>,
371}
372#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
373pub struct DescribeNode {
374    #[serde(skip_serializing_if = "Option::is_none")]
375    #[serde(rename = "nodeId")]
376    pub node_id: Option<NodeId>,
377    #[serde(skip_serializing_if = "Option::is_none")]
378    #[serde(rename = "backendNodeId")]
379    pub backend_node_id: Option<BackendNodeId>,
380    #[serde(skip_serializing_if = "Option::is_none")]
381    #[serde(rename = "objectId")]
382    pub object_id: Option<runtime::RemoteObjectId>,
383    #[serde(skip_serializing_if = "Option::is_none")]
384    #[serde(default)]
385    #[serde(rename = "depth")]
386    pub depth: Option<JsUInt>,
387    #[serde(skip_serializing_if = "Option::is_none")]
388    #[serde(default)]
389    #[serde(rename = "pierce")]
390    pub pierce: Option<bool>,
391}
392#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
393pub struct ScrollIntoViewIfNeeded {
394    #[serde(skip_serializing_if = "Option::is_none")]
395    #[serde(rename = "nodeId")]
396    pub node_id: Option<NodeId>,
397    #[serde(skip_serializing_if = "Option::is_none")]
398    #[serde(rename = "backendNodeId")]
399    pub backend_node_id: Option<BackendNodeId>,
400    #[serde(skip_serializing_if = "Option::is_none")]
401    #[serde(rename = "objectId")]
402    pub object_id: Option<runtime::RemoteObjectId>,
403    #[serde(skip_serializing_if = "Option::is_none")]
404    #[serde(rename = "rect")]
405    pub rect: Option<Rect>,
406}
407#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
408#[serde(rename_all = "camelCase")]
409pub struct Disable(pub Option<serde_json::Value>);
410#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
411pub struct DiscardSearchResults {
412    #[serde(default)]
413    #[serde(rename = "searchId")]
414    pub search_id: String,
415}
416#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
417pub struct Enable {
418    #[serde(skip_serializing_if = "Option::is_none")]
419    #[serde(rename = "includeWhitespace")]
420    pub include_whitespace: Option<EnableIncludeWhitespaceOption>,
421}
422#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
423pub struct Focus {
424    #[serde(skip_serializing_if = "Option::is_none")]
425    #[serde(rename = "nodeId")]
426    pub node_id: Option<NodeId>,
427    #[serde(skip_serializing_if = "Option::is_none")]
428    #[serde(rename = "backendNodeId")]
429    pub backend_node_id: Option<BackendNodeId>,
430    #[serde(skip_serializing_if = "Option::is_none")]
431    #[serde(rename = "objectId")]
432    pub object_id: Option<runtime::RemoteObjectId>,
433}
434#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
435pub struct GetAttributes {
436    #[serde(rename = "nodeId")]
437    pub node_id: NodeId,
438}
439#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
440pub struct GetBoxModel {
441    #[serde(skip_serializing_if = "Option::is_none")]
442    #[serde(rename = "nodeId")]
443    pub node_id: Option<NodeId>,
444    #[serde(skip_serializing_if = "Option::is_none")]
445    #[serde(rename = "backendNodeId")]
446    pub backend_node_id: Option<BackendNodeId>,
447    #[serde(skip_serializing_if = "Option::is_none")]
448    #[serde(rename = "objectId")]
449    pub object_id: Option<runtime::RemoteObjectId>,
450}
451#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
452pub struct GetContentQuads {
453    #[serde(skip_serializing_if = "Option::is_none")]
454    #[serde(rename = "nodeId")]
455    pub node_id: Option<NodeId>,
456    #[serde(skip_serializing_if = "Option::is_none")]
457    #[serde(rename = "backendNodeId")]
458    pub backend_node_id: Option<BackendNodeId>,
459    #[serde(skip_serializing_if = "Option::is_none")]
460    #[serde(rename = "objectId")]
461    pub object_id: Option<runtime::RemoteObjectId>,
462}
463#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
464pub struct GetDocument {
465    #[serde(skip_serializing_if = "Option::is_none")]
466    #[serde(default)]
467    #[serde(rename = "depth")]
468    pub depth: Option<JsUInt>,
469    #[serde(skip_serializing_if = "Option::is_none")]
470    #[serde(default)]
471    #[serde(rename = "pierce")]
472    pub pierce: Option<bool>,
473}
474#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
475pub struct GetFlattenedDocument {
476    #[serde(skip_serializing_if = "Option::is_none")]
477    #[serde(default)]
478    #[serde(rename = "depth")]
479    pub depth: Option<JsUInt>,
480    #[serde(skip_serializing_if = "Option::is_none")]
481    #[serde(default)]
482    #[serde(rename = "pierce")]
483    pub pierce: Option<bool>,
484}
485#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
486pub struct GetNodesForSubtreeByStyle {
487    #[serde(rename = "nodeId")]
488    pub node_id: NodeId,
489    #[serde(rename = "computedStyles")]
490    pub computed_styles: Vec<CssComputedStyleProperty>,
491    #[serde(skip_serializing_if = "Option::is_none")]
492    #[serde(default)]
493    #[serde(rename = "pierce")]
494    pub pierce: Option<bool>,
495}
496#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
497pub struct GetNodeForLocation {
498    #[serde(default)]
499    #[serde(rename = "x")]
500    pub x: JsUInt,
501    #[serde(default)]
502    #[serde(rename = "y")]
503    pub y: JsUInt,
504    #[serde(skip_serializing_if = "Option::is_none")]
505    #[serde(default)]
506    #[serde(rename = "includeUserAgentShadowDOM")]
507    pub include_user_agent_shadow_dom: Option<bool>,
508    #[serde(skip_serializing_if = "Option::is_none")]
509    #[serde(default)]
510    #[serde(rename = "ignorePointerEventsNone")]
511    pub ignore_pointer_events_none: Option<bool>,
512}
513#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
514pub struct GetOuterHTML {
515    #[serde(skip_serializing_if = "Option::is_none")]
516    #[serde(rename = "nodeId")]
517    pub node_id: Option<NodeId>,
518    #[serde(skip_serializing_if = "Option::is_none")]
519    #[serde(rename = "backendNodeId")]
520    pub backend_node_id: Option<BackendNodeId>,
521    #[serde(skip_serializing_if = "Option::is_none")]
522    #[serde(rename = "objectId")]
523    pub object_id: Option<runtime::RemoteObjectId>,
524    #[serde(skip_serializing_if = "Option::is_none")]
525    #[serde(default)]
526    #[serde(rename = "includeShadowDOM")]
527    pub include_shadow_dom: Option<bool>,
528}
529#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
530pub struct GetRelayoutBoundary {
531    #[serde(rename = "nodeId")]
532    pub node_id: NodeId,
533}
534#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
535pub struct GetSearchResults {
536    #[serde(default)]
537    #[serde(rename = "searchId")]
538    pub search_id: String,
539    #[serde(default)]
540    #[serde(rename = "fromIndex")]
541    pub from_index: JsUInt,
542    #[serde(default)]
543    #[serde(rename = "toIndex")]
544    pub to_index: JsUInt,
545}
546#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
547#[serde(rename_all = "camelCase")]
548pub struct HideHighlight(pub Option<serde_json::Value>);
549#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
550#[serde(rename_all = "camelCase")]
551pub struct HighlightNode(pub Option<serde_json::Value>);
552#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
553#[serde(rename_all = "camelCase")]
554pub struct HighlightRect(pub Option<serde_json::Value>);
555#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
556#[serde(rename_all = "camelCase")]
557pub struct MarkUndoableState(pub Option<serde_json::Value>);
558#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
559pub struct MoveTo {
560    #[serde(rename = "nodeId")]
561    pub node_id: NodeId,
562    #[serde(rename = "targetNodeId")]
563    pub target_node_id: NodeId,
564    #[serde(skip_serializing_if = "Option::is_none")]
565    #[serde(rename = "insertBeforeNodeId")]
566    pub insert_before_node_id: Option<NodeId>,
567}
568#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
569pub struct PerformSearch {
570    #[serde(default)]
571    #[serde(rename = "query")]
572    pub query: String,
573    #[serde(skip_serializing_if = "Option::is_none")]
574    #[serde(default)]
575    #[serde(rename = "includeUserAgentShadowDOM")]
576    pub include_user_agent_shadow_dom: Option<bool>,
577}
578#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
579pub struct PushNodeByPathToFrontend {
580    #[serde(default)]
581    #[serde(rename = "path")]
582    pub path: String,
583}
584#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
585pub struct PushNodesByBackendIdsToFrontend {
586    #[serde(rename = "backendNodeIds")]
587    pub backend_node_ids: Vec<BackendNodeId>,
588}
589#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
590pub struct QuerySelector {
591    #[serde(rename = "nodeId")]
592    pub node_id: NodeId,
593    #[serde(default)]
594    #[serde(rename = "selector")]
595    pub selector: String,
596}
597#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
598pub struct QuerySelectorAll {
599    #[serde(rename = "nodeId")]
600    pub node_id: NodeId,
601    #[serde(default)]
602    #[serde(rename = "selector")]
603    pub selector: String,
604}
605#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
606#[serde(rename_all = "camelCase")]
607pub struct GetTopLayerElements(pub Option<serde_json::Value>);
608#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
609pub struct GetElementByRelation {
610    #[serde(rename = "nodeId")]
611    pub node_id: NodeId,
612    #[serde(rename = "relation")]
613    pub relation: GetElementByRelationRelationOption,
614}
615#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
616#[serde(rename_all = "camelCase")]
617pub struct Redo(pub Option<serde_json::Value>);
618#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
619pub struct RemoveAttribute {
620    #[serde(rename = "nodeId")]
621    pub node_id: NodeId,
622    #[serde(default)]
623    #[serde(rename = "name")]
624    pub name: String,
625}
626#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
627pub struct RemoveNode {
628    #[serde(rename = "nodeId")]
629    pub node_id: NodeId,
630}
631#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
632pub struct RequestChildNodes {
633    #[serde(rename = "nodeId")]
634    pub node_id: NodeId,
635    #[serde(skip_serializing_if = "Option::is_none")]
636    #[serde(default)]
637    #[serde(rename = "depth")]
638    pub depth: Option<JsUInt>,
639    #[serde(skip_serializing_if = "Option::is_none")]
640    #[serde(default)]
641    #[serde(rename = "pierce")]
642    pub pierce: Option<bool>,
643}
644#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
645pub struct RequestNode {
646    #[serde(rename = "objectId")]
647    pub object_id: runtime::RemoteObjectId,
648}
649#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
650pub struct ResolveNode {
651    #[serde(skip_serializing_if = "Option::is_none")]
652    #[serde(rename = "nodeId")]
653    pub node_id: Option<NodeId>,
654    #[serde(skip_serializing_if = "Option::is_none")]
655    #[serde(rename = "backendNodeId")]
656    pub backend_node_id: Option<dom::BackendNodeId>,
657    #[serde(skip_serializing_if = "Option::is_none")]
658    #[serde(default)]
659    #[serde(rename = "objectGroup")]
660    pub object_group: Option<String>,
661    #[serde(skip_serializing_if = "Option::is_none")]
662    #[serde(rename = "executionContextId")]
663    pub execution_context_id: Option<runtime::ExecutionContextId>,
664}
665#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
666pub struct SetAttributeValue {
667    #[serde(rename = "nodeId")]
668    pub node_id: NodeId,
669    #[serde(default)]
670    #[serde(rename = "name")]
671    pub name: String,
672    #[serde(default)]
673    #[serde(rename = "value")]
674    pub value: String,
675}
676#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
677pub struct SetAttributesAsText {
678    #[serde(rename = "nodeId")]
679    pub node_id: NodeId,
680    #[serde(default)]
681    #[serde(rename = "text")]
682    pub text: String,
683    #[serde(skip_serializing_if = "Option::is_none")]
684    #[serde(default)]
685    #[serde(rename = "name")]
686    pub name: Option<String>,
687}
688#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
689pub struct SetFileInputFiles {
690    #[serde(default)]
691    #[serde(rename = "files")]
692    pub files: Vec<String>,
693    #[serde(skip_serializing_if = "Option::is_none")]
694    #[serde(rename = "nodeId")]
695    pub node_id: Option<NodeId>,
696    #[serde(skip_serializing_if = "Option::is_none")]
697    #[serde(rename = "backendNodeId")]
698    pub backend_node_id: Option<BackendNodeId>,
699    #[serde(skip_serializing_if = "Option::is_none")]
700    #[serde(rename = "objectId")]
701    pub object_id: Option<runtime::RemoteObjectId>,
702}
703#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
704pub struct SetNodeStackTracesEnabled {
705    #[serde(default)]
706    #[serde(rename = "enable")]
707    pub enable: bool,
708}
709#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
710pub struct GetNodeStackTraces {
711    #[serde(rename = "nodeId")]
712    pub node_id: NodeId,
713}
714#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
715pub struct GetFileInfo {
716    #[serde(rename = "objectId")]
717    pub object_id: runtime::RemoteObjectId,
718}
719#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
720#[serde(rename_all = "camelCase")]
721pub struct GetDetachedDomNodes(pub Option<serde_json::Value>);
722#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
723pub struct SetInspectedNode {
724    #[serde(rename = "nodeId")]
725    pub node_id: NodeId,
726}
727#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
728pub struct SetNodeName {
729    #[serde(rename = "nodeId")]
730    pub node_id: NodeId,
731    #[serde(default)]
732    #[serde(rename = "name")]
733    pub name: String,
734}
735#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
736pub struct SetNodeValue {
737    #[serde(rename = "nodeId")]
738    pub node_id: NodeId,
739    #[serde(default)]
740    #[serde(rename = "value")]
741    pub value: String,
742}
743#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
744pub struct SetOuterHTML {
745    #[serde(rename = "nodeId")]
746    pub node_id: NodeId,
747    #[serde(default)]
748    #[serde(rename = "outerHTML")]
749    pub outer_html: String,
750}
751#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
752#[serde(rename_all = "camelCase")]
753pub struct Undo(pub Option<serde_json::Value>);
754#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
755pub struct GetFrameOwner {
756    #[serde(rename = "frameId")]
757    pub frame_id: page::FrameId,
758}
759#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
760pub struct GetContainerForNode {
761    #[serde(rename = "nodeId")]
762    pub node_id: NodeId,
763    #[serde(skip_serializing_if = "Option::is_none")]
764    #[serde(default)]
765    #[serde(rename = "containerName")]
766    pub container_name: Option<String>,
767    #[serde(skip_serializing_if = "Option::is_none")]
768    #[serde(rename = "physicalAxes")]
769    pub physical_axes: Option<PhysicalAxes>,
770    #[serde(skip_serializing_if = "Option::is_none")]
771    #[serde(rename = "logicalAxes")]
772    pub logical_axes: Option<LogicalAxes>,
773    #[serde(skip_serializing_if = "Option::is_none")]
774    #[serde(default)]
775    #[serde(rename = "queriesScrollState")]
776    pub queries_scroll_state: Option<bool>,
777    #[serde(skip_serializing_if = "Option::is_none")]
778    #[serde(default)]
779    #[serde(rename = "queriesAnchored")]
780    pub queries_anchored: Option<bool>,
781}
782#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
783pub struct GetQueryingDescendantsForContainer {
784    #[serde(rename = "nodeId")]
785    pub node_id: NodeId,
786}
787#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
788pub struct GetAnchorElement {
789    #[serde(rename = "nodeId")]
790    pub node_id: NodeId,
791    #[serde(skip_serializing_if = "Option::is_none")]
792    #[serde(default)]
793    #[serde(rename = "anchorSpecifier")]
794    pub anchor_specifier: Option<String>,
795}
796#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
797pub struct ForceShowPopover {
798    #[serde(rename = "nodeId")]
799    pub node_id: NodeId,
800    #[serde(default)]
801    #[serde(rename = "enable")]
802    pub enable: bool,
803}
804#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
805pub struct CollectClassNamesFromSubtreeReturnObject {
806    #[serde(rename = "classNames")]
807    pub class_names: Vec<String>,
808}
809#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
810pub struct CopyToReturnObject {
811    #[serde(rename = "nodeId")]
812    pub node_id: NodeId,
813}
814#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
815pub struct DescribeNodeReturnObject {
816    #[serde(rename = "node")]
817    pub node: Node,
818}
819#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
820#[serde(rename_all = "camelCase")]
821pub struct ScrollIntoViewIfNeededReturnObject {}
822#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
823#[serde(rename_all = "camelCase")]
824pub struct DisableReturnObject {}
825#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
826#[serde(rename_all = "camelCase")]
827pub struct DiscardSearchResultsReturnObject {}
828#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
829#[serde(rename_all = "camelCase")]
830pub struct EnableReturnObject {}
831#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
832#[serde(rename_all = "camelCase")]
833pub struct FocusReturnObject {}
834#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
835pub struct GetAttributesReturnObject {
836    #[serde(rename = "attributes")]
837    pub attributes: Vec<String>,
838}
839#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
840pub struct GetBoxModelReturnObject {
841    #[serde(rename = "model")]
842    pub model: BoxModel,
843}
844#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
845pub struct GetContentQuadsReturnObject {
846    #[serde(rename = "quads")]
847    pub quads: Vec<Quad>,
848}
849#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
850pub struct GetDocumentReturnObject {
851    #[serde(rename = "root")]
852    pub root: Node,
853}
854#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
855pub struct GetFlattenedDocumentReturnObject {
856    #[serde(rename = "nodes")]
857    pub nodes: Vec<Node>,
858}
859#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
860pub struct GetNodesForSubtreeByStyleReturnObject {
861    #[serde(rename = "nodeIds")]
862    pub node_ids: Vec<NodeId>,
863}
864#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
865pub struct GetNodeForLocationReturnObject {
866    #[serde(rename = "backendNodeId")]
867    pub backend_node_id: BackendNodeId,
868    #[serde(rename = "frameId")]
869    pub frame_id: page::FrameId,
870    #[serde(skip_serializing_if = "Option::is_none")]
871    #[serde(rename = "nodeId")]
872    pub node_id: Option<NodeId>,
873}
874#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
875pub struct GetOuterHTMLReturnObject {
876    #[serde(default)]
877    #[serde(rename = "outerHTML")]
878    pub outer_html: String,
879}
880#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
881pub struct GetRelayoutBoundaryReturnObject {
882    #[serde(rename = "nodeId")]
883    pub node_id: NodeId,
884}
885#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
886pub struct GetSearchResultsReturnObject {
887    #[serde(rename = "nodeIds")]
888    pub node_ids: Vec<NodeId>,
889}
890#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
891#[serde(rename_all = "camelCase")]
892pub struct HideHighlightReturnObject {}
893#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
894#[serde(rename_all = "camelCase")]
895pub struct HighlightNodeReturnObject {}
896#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
897#[serde(rename_all = "camelCase")]
898pub struct HighlightRectReturnObject {}
899#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
900#[serde(rename_all = "camelCase")]
901pub struct MarkUndoableStateReturnObject {}
902#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
903pub struct MoveToReturnObject {
904    #[serde(rename = "nodeId")]
905    pub node_id: NodeId,
906}
907#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
908pub struct PerformSearchReturnObject {
909    #[serde(default)]
910    #[serde(rename = "searchId")]
911    pub search_id: String,
912    #[serde(default)]
913    #[serde(rename = "resultCount")]
914    pub result_count: JsUInt,
915}
916#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
917pub struct PushNodeByPathToFrontendReturnObject {
918    #[serde(rename = "nodeId")]
919    pub node_id: NodeId,
920}
921#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
922pub struct PushNodesByBackendIdsToFrontendReturnObject {
923    #[serde(rename = "nodeIds")]
924    pub node_ids: Vec<NodeId>,
925}
926#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
927pub struct QuerySelectorReturnObject {
928    #[serde(rename = "nodeId")]
929    pub node_id: NodeId,
930}
931#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
932pub struct QuerySelectorAllReturnObject {
933    #[serde(rename = "nodeIds")]
934    pub node_ids: Vec<NodeId>,
935}
936#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
937pub struct GetTopLayerElementsReturnObject {
938    #[serde(rename = "nodeIds")]
939    pub node_ids: Vec<NodeId>,
940}
941#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
942pub struct GetElementByRelationReturnObject {
943    #[serde(rename = "nodeId")]
944    pub node_id: NodeId,
945}
946#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
947#[serde(rename_all = "camelCase")]
948pub struct RedoReturnObject {}
949#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
950#[serde(rename_all = "camelCase")]
951pub struct RemoveAttributeReturnObject {}
952#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
953#[serde(rename_all = "camelCase")]
954pub struct RemoveNodeReturnObject {}
955#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
956#[serde(rename_all = "camelCase")]
957pub struct RequestChildNodesReturnObject {}
958#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
959pub struct RequestNodeReturnObject {
960    #[serde(rename = "nodeId")]
961    pub node_id: NodeId,
962}
963#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
964pub struct ResolveNodeReturnObject {
965    #[serde(rename = "object")]
966    pub object: runtime::RemoteObject,
967}
968#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
969#[serde(rename_all = "camelCase")]
970pub struct SetAttributeValueReturnObject {}
971#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
972#[serde(rename_all = "camelCase")]
973pub struct SetAttributesAsTextReturnObject {}
974#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
975#[serde(rename_all = "camelCase")]
976pub struct SetFileInputFilesReturnObject {}
977#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
978#[serde(rename_all = "camelCase")]
979pub struct SetNodeStackTracesEnabledReturnObject {}
980#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
981pub struct GetNodeStackTracesReturnObject {
982    #[serde(skip_serializing_if = "Option::is_none")]
983    #[serde(rename = "creation")]
984    pub creation: Option<runtime::StackTrace>,
985}
986#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
987pub struct GetFileInfoReturnObject {
988    #[serde(default)]
989    #[serde(rename = "path")]
990    pub path: String,
991}
992#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
993pub struct GetDetachedDomNodesReturnObject {
994    #[serde(rename = "detachedNodes")]
995    pub detached_nodes: Vec<DetachedElementInfo>,
996}
997#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
998#[serde(rename_all = "camelCase")]
999pub struct SetInspectedNodeReturnObject {}
1000#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1001pub struct SetNodeNameReturnObject {
1002    #[serde(rename = "nodeId")]
1003    pub node_id: NodeId,
1004}
1005#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1006#[serde(rename_all = "camelCase")]
1007pub struct SetNodeValueReturnObject {}
1008#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1009#[serde(rename_all = "camelCase")]
1010pub struct SetOuterHTMLReturnObject {}
1011#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1012#[serde(rename_all = "camelCase")]
1013pub struct UndoReturnObject {}
1014#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1015pub struct GetFrameOwnerReturnObject {
1016    #[serde(rename = "backendNodeId")]
1017    pub backend_node_id: BackendNodeId,
1018    #[serde(skip_serializing_if = "Option::is_none")]
1019    #[serde(rename = "nodeId")]
1020    pub node_id: Option<NodeId>,
1021}
1022#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1023pub struct GetContainerForNodeReturnObject {
1024    #[serde(skip_serializing_if = "Option::is_none")]
1025    #[serde(rename = "nodeId")]
1026    pub node_id: Option<NodeId>,
1027}
1028#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1029pub struct GetQueryingDescendantsForContainerReturnObject {
1030    #[serde(rename = "nodeIds")]
1031    pub node_ids: Vec<NodeId>,
1032}
1033#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1034pub struct GetAnchorElementReturnObject {
1035    #[serde(rename = "nodeId")]
1036    pub node_id: NodeId,
1037}
1038#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1039pub struct ForceShowPopoverReturnObject {
1040    #[serde(rename = "nodeIds")]
1041    pub node_ids: Vec<NodeId>,
1042}
1043impl Method for CollectClassNamesFromSubtree {
1044    const NAME: &'static str = "DOM.collectClassNamesFromSubtree";
1045    type ReturnObject = CollectClassNamesFromSubtreeReturnObject;
1046}
1047impl Method for CopyTo {
1048    const NAME: &'static str = "DOM.copyTo";
1049    type ReturnObject = CopyToReturnObject;
1050}
1051impl Method for DescribeNode {
1052    const NAME: &'static str = "DOM.describeNode";
1053    type ReturnObject = DescribeNodeReturnObject;
1054}
1055impl Method for ScrollIntoViewIfNeeded {
1056    const NAME: &'static str = "DOM.scrollIntoViewIfNeeded";
1057    type ReturnObject = ScrollIntoViewIfNeededReturnObject;
1058}
1059impl Method for Disable {
1060    const NAME: &'static str = "DOM.disable";
1061    type ReturnObject = DisableReturnObject;
1062}
1063impl Method for DiscardSearchResults {
1064    const NAME: &'static str = "DOM.discardSearchResults";
1065    type ReturnObject = DiscardSearchResultsReturnObject;
1066}
1067impl Method for Enable {
1068    const NAME: &'static str = "DOM.enable";
1069    type ReturnObject = EnableReturnObject;
1070}
1071impl Method for Focus {
1072    const NAME: &'static str = "DOM.focus";
1073    type ReturnObject = FocusReturnObject;
1074}
1075impl Method for GetAttributes {
1076    const NAME: &'static str = "DOM.getAttributes";
1077    type ReturnObject = GetAttributesReturnObject;
1078}
1079impl Method for GetBoxModel {
1080    const NAME: &'static str = "DOM.getBoxModel";
1081    type ReturnObject = GetBoxModelReturnObject;
1082}
1083impl Method for GetContentQuads {
1084    const NAME: &'static str = "DOM.getContentQuads";
1085    type ReturnObject = GetContentQuadsReturnObject;
1086}
1087impl Method for GetDocument {
1088    const NAME: &'static str = "DOM.getDocument";
1089    type ReturnObject = GetDocumentReturnObject;
1090}
1091impl Method for GetFlattenedDocument {
1092    const NAME: &'static str = "DOM.getFlattenedDocument";
1093    type ReturnObject = GetFlattenedDocumentReturnObject;
1094}
1095impl Method for GetNodesForSubtreeByStyle {
1096    const NAME: &'static str = "DOM.getNodesForSubtreeByStyle";
1097    type ReturnObject = GetNodesForSubtreeByStyleReturnObject;
1098}
1099impl Method for GetNodeForLocation {
1100    const NAME: &'static str = "DOM.getNodeForLocation";
1101    type ReturnObject = GetNodeForLocationReturnObject;
1102}
1103impl Method for GetOuterHTML {
1104    const NAME: &'static str = "DOM.getOuterHTML";
1105    type ReturnObject = GetOuterHTMLReturnObject;
1106}
1107impl Method for GetRelayoutBoundary {
1108    const NAME: &'static str = "DOM.getRelayoutBoundary";
1109    type ReturnObject = GetRelayoutBoundaryReturnObject;
1110}
1111impl Method for GetSearchResults {
1112    const NAME: &'static str = "DOM.getSearchResults";
1113    type ReturnObject = GetSearchResultsReturnObject;
1114}
1115impl Method for HideHighlight {
1116    const NAME: &'static str = "DOM.hideHighlight";
1117    type ReturnObject = HideHighlightReturnObject;
1118}
1119impl Method for HighlightNode {
1120    const NAME: &'static str = "DOM.highlightNode";
1121    type ReturnObject = HighlightNodeReturnObject;
1122}
1123impl Method for HighlightRect {
1124    const NAME: &'static str = "DOM.highlightRect";
1125    type ReturnObject = HighlightRectReturnObject;
1126}
1127impl Method for MarkUndoableState {
1128    const NAME: &'static str = "DOM.markUndoableState";
1129    type ReturnObject = MarkUndoableStateReturnObject;
1130}
1131impl Method for MoveTo {
1132    const NAME: &'static str = "DOM.moveTo";
1133    type ReturnObject = MoveToReturnObject;
1134}
1135impl Method for PerformSearch {
1136    const NAME: &'static str = "DOM.performSearch";
1137    type ReturnObject = PerformSearchReturnObject;
1138}
1139impl Method for PushNodeByPathToFrontend {
1140    const NAME: &'static str = "DOM.pushNodeByPathToFrontend";
1141    type ReturnObject = PushNodeByPathToFrontendReturnObject;
1142}
1143impl Method for PushNodesByBackendIdsToFrontend {
1144    const NAME: &'static str = "DOM.pushNodesByBackendIdsToFrontend";
1145    type ReturnObject = PushNodesByBackendIdsToFrontendReturnObject;
1146}
1147impl Method for QuerySelector {
1148    const NAME: &'static str = "DOM.querySelector";
1149    type ReturnObject = QuerySelectorReturnObject;
1150}
1151impl Method for QuerySelectorAll {
1152    const NAME: &'static str = "DOM.querySelectorAll";
1153    type ReturnObject = QuerySelectorAllReturnObject;
1154}
1155impl Method for GetTopLayerElements {
1156    const NAME: &'static str = "DOM.getTopLayerElements";
1157    type ReturnObject = GetTopLayerElementsReturnObject;
1158}
1159impl Method for GetElementByRelation {
1160    const NAME: &'static str = "DOM.getElementByRelation";
1161    type ReturnObject = GetElementByRelationReturnObject;
1162}
1163impl Method for Redo {
1164    const NAME: &'static str = "DOM.redo";
1165    type ReturnObject = RedoReturnObject;
1166}
1167impl Method for RemoveAttribute {
1168    const NAME: &'static str = "DOM.removeAttribute";
1169    type ReturnObject = RemoveAttributeReturnObject;
1170}
1171impl Method for RemoveNode {
1172    const NAME: &'static str = "DOM.removeNode";
1173    type ReturnObject = RemoveNodeReturnObject;
1174}
1175impl Method for RequestChildNodes {
1176    const NAME: &'static str = "DOM.requestChildNodes";
1177    type ReturnObject = RequestChildNodesReturnObject;
1178}
1179impl Method for RequestNode {
1180    const NAME: &'static str = "DOM.requestNode";
1181    type ReturnObject = RequestNodeReturnObject;
1182}
1183impl Method for ResolveNode {
1184    const NAME: &'static str = "DOM.resolveNode";
1185    type ReturnObject = ResolveNodeReturnObject;
1186}
1187impl Method for SetAttributeValue {
1188    const NAME: &'static str = "DOM.setAttributeValue";
1189    type ReturnObject = SetAttributeValueReturnObject;
1190}
1191impl Method for SetAttributesAsText {
1192    const NAME: &'static str = "DOM.setAttributesAsText";
1193    type ReturnObject = SetAttributesAsTextReturnObject;
1194}
1195impl Method for SetFileInputFiles {
1196    const NAME: &'static str = "DOM.setFileInputFiles";
1197    type ReturnObject = SetFileInputFilesReturnObject;
1198}
1199impl Method for SetNodeStackTracesEnabled {
1200    const NAME: &'static str = "DOM.setNodeStackTracesEnabled";
1201    type ReturnObject = SetNodeStackTracesEnabledReturnObject;
1202}
1203impl Method for GetNodeStackTraces {
1204    const NAME: &'static str = "DOM.getNodeStackTraces";
1205    type ReturnObject = GetNodeStackTracesReturnObject;
1206}
1207impl Method for GetFileInfo {
1208    const NAME: &'static str = "DOM.getFileInfo";
1209    type ReturnObject = GetFileInfoReturnObject;
1210}
1211impl Method for GetDetachedDomNodes {
1212    const NAME: &'static str = "DOM.getDetachedDomNodes";
1213    type ReturnObject = GetDetachedDomNodesReturnObject;
1214}
1215impl Method for SetInspectedNode {
1216    const NAME: &'static str = "DOM.setInspectedNode";
1217    type ReturnObject = SetInspectedNodeReturnObject;
1218}
1219impl Method for SetNodeName {
1220    const NAME: &'static str = "DOM.setNodeName";
1221    type ReturnObject = SetNodeNameReturnObject;
1222}
1223impl Method for SetNodeValue {
1224    const NAME: &'static str = "DOM.setNodeValue";
1225    type ReturnObject = SetNodeValueReturnObject;
1226}
1227impl Method for SetOuterHTML {
1228    const NAME: &'static str = "DOM.setOuterHTML";
1229    type ReturnObject = SetOuterHTMLReturnObject;
1230}
1231impl Method for Undo {
1232    const NAME: &'static str = "DOM.undo";
1233    type ReturnObject = UndoReturnObject;
1234}
1235impl Method for GetFrameOwner {
1236    const NAME: &'static str = "DOM.getFrameOwner";
1237    type ReturnObject = GetFrameOwnerReturnObject;
1238}
1239impl Method for GetContainerForNode {
1240    const NAME: &'static str = "DOM.getContainerForNode";
1241    type ReturnObject = GetContainerForNodeReturnObject;
1242}
1243impl Method for GetQueryingDescendantsForContainer {
1244    const NAME: &'static str = "DOM.getQueryingDescendantsForContainer";
1245    type ReturnObject = GetQueryingDescendantsForContainerReturnObject;
1246}
1247impl Method for GetAnchorElement {
1248    const NAME: &'static str = "DOM.getAnchorElement";
1249    type ReturnObject = GetAnchorElementReturnObject;
1250}
1251impl Method for ForceShowPopover {
1252    const NAME: &'static str = "DOM.forceShowPopover";
1253    type ReturnObject = ForceShowPopoverReturnObject;
1254}
1255pub mod events {
1256    #[allow(unused_imports)]
1257    use super::super::types::*;
1258    #[allow(unused_imports)]
1259    use serde::{Deserialize, Serialize};
1260    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1261    pub struct AttributeModifiedEvent {
1262        pub params: AttributeModifiedEventParams,
1263    }
1264    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1265    pub struct AttributeModifiedEventParams {
1266        #[serde(rename = "nodeId")]
1267        pub node_id: super::NodeId,
1268        #[serde(default)]
1269        #[serde(rename = "name")]
1270        pub name: String,
1271        #[serde(default)]
1272        #[serde(rename = "value")]
1273        pub value: String,
1274    }
1275    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1276    pub struct AttributeRemovedEvent {
1277        pub params: AttributeRemovedEventParams,
1278    }
1279    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1280    pub struct AttributeRemovedEventParams {
1281        #[serde(rename = "nodeId")]
1282        pub node_id: super::NodeId,
1283        #[serde(default)]
1284        #[serde(rename = "name")]
1285        pub name: String,
1286    }
1287    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1288    pub struct CharacterDataModifiedEvent {
1289        pub params: CharacterDataModifiedEventParams,
1290    }
1291    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1292    pub struct CharacterDataModifiedEventParams {
1293        #[serde(rename = "nodeId")]
1294        pub node_id: super::NodeId,
1295        #[serde(default)]
1296        #[serde(rename = "characterData")]
1297        pub character_data: String,
1298    }
1299    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1300    pub struct ChildNodeCountUpdatedEvent {
1301        pub params: ChildNodeCountUpdatedEventParams,
1302    }
1303    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1304    pub struct ChildNodeCountUpdatedEventParams {
1305        #[serde(rename = "nodeId")]
1306        pub node_id: super::NodeId,
1307        #[serde(default)]
1308        #[serde(rename = "childNodeCount")]
1309        pub child_node_count: JsUInt,
1310    }
1311    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1312    pub struct ChildNodeInsertedEvent {
1313        pub params: ChildNodeInsertedEventParams,
1314    }
1315    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1316    pub struct ChildNodeInsertedEventParams {
1317        #[serde(rename = "parentNodeId")]
1318        pub parent_node_id: super::NodeId,
1319        #[serde(rename = "previousNodeId")]
1320        pub previous_node_id: super::NodeId,
1321        #[serde(rename = "node")]
1322        pub node: super::Node,
1323    }
1324    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1325    pub struct ChildNodeRemovedEvent {
1326        pub params: ChildNodeRemovedEventParams,
1327    }
1328    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1329    pub struct ChildNodeRemovedEventParams {
1330        #[serde(rename = "parentNodeId")]
1331        pub parent_node_id: super::NodeId,
1332        #[serde(rename = "nodeId")]
1333        pub node_id: super::NodeId,
1334    }
1335    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1336    pub struct DistributedNodesUpdatedEvent {
1337        pub params: DistributedNodesUpdatedEventParams,
1338    }
1339    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1340    pub struct DistributedNodesUpdatedEventParams {
1341        #[serde(rename = "insertionPointId")]
1342        pub insertion_point_id: super::NodeId,
1343        #[serde(rename = "distributedNodes")]
1344        pub distributed_nodes: Vec<super::BackendNode>,
1345    }
1346    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1347    #[serde(rename_all = "camelCase")]
1348    pub struct DocumentUpdatedEvent(pub Option<serde_json::Value>);
1349    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1350    pub struct InlineStyleInvalidatedEvent {
1351        pub params: InlineStyleInvalidatedEventParams,
1352    }
1353    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1354    pub struct InlineStyleInvalidatedEventParams {
1355        #[serde(rename = "nodeIds")]
1356        pub node_ids: Vec<super::NodeId>,
1357    }
1358    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1359    pub struct PseudoElementAddedEvent {
1360        pub params: PseudoElementAddedEventParams,
1361    }
1362    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1363    pub struct PseudoElementAddedEventParams {
1364        #[serde(rename = "parentId")]
1365        pub parent_id: super::NodeId,
1366        #[serde(rename = "pseudoElement")]
1367        pub pseudo_element: super::Node,
1368    }
1369    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1370    #[serde(rename_all = "camelCase")]
1371    pub struct TopLayerElementsUpdatedEvent(pub Option<serde_json::Value>);
1372    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1373    pub struct ScrollableFlagUpdatedEvent {
1374        pub params: ScrollableFlagUpdatedEventParams,
1375    }
1376    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1377    pub struct ScrollableFlagUpdatedEventParams {
1378        #[serde(rename = "nodeId")]
1379        pub node_id: super::super::dom::NodeId,
1380        #[serde(default)]
1381        #[serde(rename = "isScrollable")]
1382        pub is_scrollable: bool,
1383    }
1384    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1385    pub struct AffectedByStartingStylesFlagUpdatedEvent {
1386        pub params: AffectedByStartingStylesFlagUpdatedEventParams,
1387    }
1388    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1389    pub struct AffectedByStartingStylesFlagUpdatedEventParams {
1390        #[serde(rename = "nodeId")]
1391        pub node_id: super::super::dom::NodeId,
1392        #[serde(default)]
1393        #[serde(rename = "affectedByStartingStyles")]
1394        pub affected_by_starting_styles: bool,
1395    }
1396    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1397    pub struct PseudoElementRemovedEvent {
1398        pub params: PseudoElementRemovedEventParams,
1399    }
1400    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1401    pub struct PseudoElementRemovedEventParams {
1402        #[serde(rename = "parentId")]
1403        pub parent_id: super::NodeId,
1404        #[serde(rename = "pseudoElementId")]
1405        pub pseudo_element_id: super::NodeId,
1406    }
1407    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1408    pub struct SetChildNodesEvent {
1409        pub params: SetChildNodesEventParams,
1410    }
1411    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1412    pub struct SetChildNodesEventParams {
1413        #[serde(rename = "parentId")]
1414        pub parent_id: super::NodeId,
1415        #[serde(rename = "nodes")]
1416        pub nodes: Vec<super::Node>,
1417    }
1418    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1419    pub struct ShadowRootPoppedEvent {
1420        pub params: ShadowRootPoppedEventParams,
1421    }
1422    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1423    pub struct ShadowRootPoppedEventParams {
1424        #[serde(rename = "hostId")]
1425        pub host_id: super::NodeId,
1426        #[serde(rename = "rootId")]
1427        pub root_id: super::NodeId,
1428    }
1429    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1430    pub struct ShadowRootPushedEvent {
1431        pub params: ShadowRootPushedEventParams,
1432    }
1433    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1434    pub struct ShadowRootPushedEventParams {
1435        #[serde(rename = "hostId")]
1436        pub host_id: super::NodeId,
1437        #[serde(rename = "root")]
1438        pub root: super::Node,
1439    }
1440}