Skip to main content

rustenium_cdp_definitions/browser_protocol/dom_debugger/
commands.rs

1use serde::{Deserialize, Serialize};
2#[doc = "Returns event listeners of the given object.\n[getEventListeners](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-getEventListeners)"]
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct GetEventListenersParams {
5    #[doc = "Identifier of the object to return listeners for."]
6    #[serde(rename = "objectId")]
7    pub object_id: crate::js_protocol::runtime::types::RemoteObjectId,
8    #[doc = "The maximum depth at which Node children should be retrieved, defaults to 1. Use -1 for the\nentire subtree or provide an integer larger than 0."]
9    #[serde(rename = "depth")]
10    #[serde(skip_serializing_if = "Option::is_none")]
11    #[serde(default)]
12    pub depth: Option<i64>,
13    #[doc = "Whether or not iframes and shadow roots should be traversed when returning the subtree\n(default is false). Reports listeners for all contexts if pierce is enabled."]
14    #[serde(rename = "pierce")]
15    #[serde(skip_serializing_if = "Option::is_none")]
16    #[serde(default)]
17    pub pierce: Option<bool>,
18}
19impl GetEventListenersParams {
20    pub fn new(object_id: impl Into<crate::js_protocol::runtime::types::RemoteObjectId>) -> Self {
21        Self {
22            object_id: object_id.into(),
23            depth: None,
24            pierce: None,
25        }
26    }
27}
28#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
29pub enum GetEventListenersMethod {
30    #[serde(rename = "DOMDebugger.getEventListeners")]
31    GetEventListeners,
32}
33#[doc = "Returns event listeners of the given object.\n[getEventListeners](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-getEventListeners)"]
34#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
35pub struct GetEventListeners {
36    pub method: GetEventListenersMethod,
37    pub params: GetEventListenersParams,
38}
39impl GetEventListeners {
40    pub const IDENTIFIER: &'static str = "DOMDebugger.getEventListeners";
41    pub fn identifier(&self) -> &'static str {
42        Self::IDENTIFIER
43    }
44}
45impl crate::CommandResult for GetEventListeners {
46    type Result = super::results::GetEventListenersResult;
47}
48#[doc = "Removes DOM breakpoint that was set using `setDOMBreakpoint`.\n[removeDOMBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-removeDOMBreakpoint)"]
49#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
50pub struct RemoveDomBreakpointParams {
51    #[doc = "Identifier of the node to remove breakpoint from."]
52    #[serde(rename = "nodeId")]
53    pub node_id: crate::browser_protocol::dom::types::NodeId,
54    #[doc = "Type of the breakpoint to remove."]
55    #[serde(rename = "type")]
56    pub r#type: super::types::DomBreakpointType,
57}
58impl RemoveDomBreakpointParams {
59    pub fn new(
60        node_id: impl Into<crate::browser_protocol::dom::types::NodeId>,
61        r#type: impl Into<super::types::DomBreakpointType>,
62    ) -> Self {
63        Self {
64            node_id: node_id.into(),
65            r#type: r#type.into(),
66        }
67    }
68}
69#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
70pub enum RemoveDomBreakpointMethod {
71    #[serde(rename = "DOMDebugger.removeDOMBreakpoint")]
72    RemoveDomBreakpoint,
73}
74#[doc = "Removes DOM breakpoint that was set using `setDOMBreakpoint`.\n[removeDOMBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-removeDOMBreakpoint)"]
75#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
76pub struct RemoveDomBreakpoint {
77    pub method: RemoveDomBreakpointMethod,
78    pub params: RemoveDomBreakpointParams,
79}
80impl RemoveDomBreakpoint {
81    pub const IDENTIFIER: &'static str = "DOMDebugger.removeDOMBreakpoint";
82    pub fn identifier(&self) -> &'static str {
83        Self::IDENTIFIER
84    }
85}
86impl crate::CommandResult for RemoveDomBreakpoint {
87    type Result = super::results::RemoveDomBreakpointResult;
88}
89#[doc = "Removes breakpoint on particular DOM event.\n[removeEventListenerBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-removeEventListenerBreakpoint)"]
90#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
91pub struct RemoveEventListenerBreakpointParams {
92    #[doc = "Event name."]
93    #[serde(rename = "eventName")]
94    pub event_name: String,
95    #[doc = "EventTarget interface name."]
96    #[serde(rename = "targetName")]
97    #[serde(skip_serializing_if = "Option::is_none")]
98    #[serde(default)]
99    pub target_name: Option<String>,
100}
101impl RemoveEventListenerBreakpointParams {
102    pub fn new(event_name: impl Into<String>) -> Self {
103        Self {
104            event_name: event_name.into(),
105            target_name: None,
106        }
107    }
108}
109impl<T: Into<String>> From<T> for RemoveEventListenerBreakpointParams {
110    fn from(url: T) -> Self {
111        RemoveEventListenerBreakpointParams::new(url)
112    }
113}
114#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
115pub enum RemoveEventListenerBreakpointMethod {
116    #[serde(rename = "DOMDebugger.removeEventListenerBreakpoint")]
117    RemoveEventListenerBreakpoint,
118}
119#[doc = "Removes breakpoint on particular DOM event.\n[removeEventListenerBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-removeEventListenerBreakpoint)"]
120#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
121pub struct RemoveEventListenerBreakpoint {
122    pub method: RemoveEventListenerBreakpointMethod,
123    pub params: RemoveEventListenerBreakpointParams,
124}
125impl RemoveEventListenerBreakpoint {
126    pub const IDENTIFIER: &'static str = "DOMDebugger.removeEventListenerBreakpoint";
127    pub fn identifier(&self) -> &'static str {
128        Self::IDENTIFIER
129    }
130}
131impl crate::CommandResult for RemoveEventListenerBreakpoint {
132    type Result = super::results::RemoveEventListenerBreakpointResult;
133}
134#[doc = "Removes breakpoint from XMLHttpRequest.\n[removeXHRBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-removeXHRBreakpoint)"]
135#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
136pub struct RemoveXhrBreakpointParams {
137    #[doc = "Resource URL substring."]
138    #[serde(rename = "url")]
139    pub url: String,
140}
141impl RemoveXhrBreakpointParams {
142    pub fn new(url: impl Into<String>) -> Self {
143        Self { url: url.into() }
144    }
145}
146impl<T: Into<String>> From<T> for RemoveXhrBreakpointParams {
147    fn from(url: T) -> Self {
148        RemoveXhrBreakpointParams::new(url)
149    }
150}
151#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
152pub enum RemoveXhrBreakpointMethod {
153    #[serde(rename = "DOMDebugger.removeXHRBreakpoint")]
154    RemoveXhrBreakpoint,
155}
156#[doc = "Removes breakpoint from XMLHttpRequest.\n[removeXHRBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-removeXHRBreakpoint)"]
157#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
158pub struct RemoveXhrBreakpoint {
159    pub method: RemoveXhrBreakpointMethod,
160    pub params: RemoveXhrBreakpointParams,
161}
162impl RemoveXhrBreakpoint {
163    pub const IDENTIFIER: &'static str = "DOMDebugger.removeXHRBreakpoint";
164    pub fn identifier(&self) -> &'static str {
165        Self::IDENTIFIER
166    }
167}
168impl crate::CommandResult for RemoveXhrBreakpoint {
169    type Result = super::results::RemoveXhrBreakpointResult;
170}
171#[doc = "Sets breakpoint on particular CSP violations.\n[setBreakOnCSPViolation](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-setBreakOnCSPViolation)"]
172#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
173pub struct SetBreakOnCspViolationParams {
174    #[doc = "CSP Violations to stop upon."]
175    #[serde(rename = "violationTypes")]
176    #[serde(skip_serializing_if = "Vec::is_empty")]
177    pub violation_types: Vec<super::types::CspViolationType>,
178}
179impl SetBreakOnCspViolationParams {
180    pub fn new(violation_types: Vec<super::types::CspViolationType>) -> Self {
181        Self { violation_types }
182    }
183}
184#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
185pub enum SetBreakOnCspViolationMethod {
186    #[serde(rename = "DOMDebugger.setBreakOnCSPViolation")]
187    SetBreakOnCspViolation,
188}
189#[doc = "Sets breakpoint on particular CSP violations.\n[setBreakOnCSPViolation](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-setBreakOnCSPViolation)"]
190#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
191pub struct SetBreakOnCspViolation {
192    pub method: SetBreakOnCspViolationMethod,
193    pub params: SetBreakOnCspViolationParams,
194}
195impl SetBreakOnCspViolation {
196    pub const IDENTIFIER: &'static str = "DOMDebugger.setBreakOnCSPViolation";
197    pub fn identifier(&self) -> &'static str {
198        Self::IDENTIFIER
199    }
200}
201impl crate::CommandResult for SetBreakOnCspViolation {
202    type Result = super::results::SetBreakOnCspViolationResult;
203}
204#[doc = "Sets breakpoint on particular operation with DOM.\n[setDOMBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-setDOMBreakpoint)"]
205#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
206pub struct SetDomBreakpointParams {
207    #[doc = "Identifier of the node to set breakpoint on."]
208    #[serde(rename = "nodeId")]
209    pub node_id: crate::browser_protocol::dom::types::NodeId,
210    #[doc = "Type of the operation to stop upon."]
211    #[serde(rename = "type")]
212    pub r#type: super::types::DomBreakpointType,
213}
214impl SetDomBreakpointParams {
215    pub fn new(
216        node_id: impl Into<crate::browser_protocol::dom::types::NodeId>,
217        r#type: impl Into<super::types::DomBreakpointType>,
218    ) -> Self {
219        Self {
220            node_id: node_id.into(),
221            r#type: r#type.into(),
222        }
223    }
224}
225#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
226pub enum SetDomBreakpointMethod {
227    #[serde(rename = "DOMDebugger.setDOMBreakpoint")]
228    SetDomBreakpoint,
229}
230#[doc = "Sets breakpoint on particular operation with DOM.\n[setDOMBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-setDOMBreakpoint)"]
231#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
232pub struct SetDomBreakpoint {
233    pub method: SetDomBreakpointMethod,
234    pub params: SetDomBreakpointParams,
235}
236impl SetDomBreakpoint {
237    pub const IDENTIFIER: &'static str = "DOMDebugger.setDOMBreakpoint";
238    pub fn identifier(&self) -> &'static str {
239        Self::IDENTIFIER
240    }
241}
242impl crate::CommandResult for SetDomBreakpoint {
243    type Result = super::results::SetDomBreakpointResult;
244}
245#[doc = "Sets breakpoint on particular DOM event.\n[setEventListenerBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-setEventListenerBreakpoint)"]
246#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
247pub struct SetEventListenerBreakpointParams {
248    #[doc = "DOM Event name to stop on (any DOM event will do)."]
249    #[serde(rename = "eventName")]
250    pub event_name: String,
251    #[doc = "EventTarget interface name to stop on. If equal to `\"*\"` or not provided, will stop on any\nEventTarget."]
252    #[serde(rename = "targetName")]
253    #[serde(skip_serializing_if = "Option::is_none")]
254    #[serde(default)]
255    pub target_name: Option<String>,
256}
257impl SetEventListenerBreakpointParams {
258    pub fn new(event_name: impl Into<String>) -> Self {
259        Self {
260            event_name: event_name.into(),
261            target_name: None,
262        }
263    }
264}
265impl<T: Into<String>> From<T> for SetEventListenerBreakpointParams {
266    fn from(url: T) -> Self {
267        SetEventListenerBreakpointParams::new(url)
268    }
269}
270#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
271pub enum SetEventListenerBreakpointMethod {
272    #[serde(rename = "DOMDebugger.setEventListenerBreakpoint")]
273    SetEventListenerBreakpoint,
274}
275#[doc = "Sets breakpoint on particular DOM event.\n[setEventListenerBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-setEventListenerBreakpoint)"]
276#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
277pub struct SetEventListenerBreakpoint {
278    pub method: SetEventListenerBreakpointMethod,
279    pub params: SetEventListenerBreakpointParams,
280}
281impl SetEventListenerBreakpoint {
282    pub const IDENTIFIER: &'static str = "DOMDebugger.setEventListenerBreakpoint";
283    pub fn identifier(&self) -> &'static str {
284        Self::IDENTIFIER
285    }
286}
287impl crate::CommandResult for SetEventListenerBreakpoint {
288    type Result = super::results::SetEventListenerBreakpointResult;
289}
290#[doc = "Sets breakpoint on XMLHttpRequest.\n[setXHRBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-setXHRBreakpoint)"]
291#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
292pub struct SetXhrBreakpointParams {
293    #[doc = "Resource URL substring. All XHRs having this substring in the URL will get stopped upon."]
294    #[serde(rename = "url")]
295    pub url: String,
296}
297impl SetXhrBreakpointParams {
298    pub fn new(url: impl Into<String>) -> Self {
299        Self { url: url.into() }
300    }
301}
302impl<T: Into<String>> From<T> for SetXhrBreakpointParams {
303    fn from(url: T) -> Self {
304        SetXhrBreakpointParams::new(url)
305    }
306}
307#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
308pub enum SetXhrBreakpointMethod {
309    #[serde(rename = "DOMDebugger.setXHRBreakpoint")]
310    SetXhrBreakpoint,
311}
312#[doc = "Sets breakpoint on XMLHttpRequest.\n[setXHRBreakpoint](https://chromedevtools.github.io/devtools-protocol/tot/DOMDebugger/#method-setXHRBreakpoint)"]
313#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
314pub struct SetXhrBreakpoint {
315    pub method: SetXhrBreakpointMethod,
316    pub params: SetXhrBreakpointParams,
317}
318impl SetXhrBreakpoint {
319    pub const IDENTIFIER: &'static str = "DOMDebugger.setXHRBreakpoint";
320    pub fn identifier(&self) -> &'static str {
321        Self::IDENTIFIER
322    }
323}
324impl crate::CommandResult for SetXhrBreakpoint {
325    type Result = super::results::SetXhrBreakpointResult;
326}
327group_enum ! (DomDebuggerCommands { GetEventListeners (GetEventListeners) , RemoveDomBreakpoint (RemoveDomBreakpoint) , RemoveEventListenerBreakpoint (RemoveEventListenerBreakpoint) , RemoveXhrBreakpoint (RemoveXhrBreakpoint) , SetBreakOnCspViolation (SetBreakOnCspViolation) , SetDomBreakpoint (SetDomBreakpoint) , SetEventListenerBreakpoint (SetEventListenerBreakpoint) , SetXhrBreakpoint (SetXhrBreakpoint) } + identifiable);