cdp_protocol/
dom.rs

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