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);