1use 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 AxNodeId = String;
12#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
13pub enum AxValueType {
14 #[serde(rename = "boolean")]
15 Boolean,
16 #[serde(rename = "tristate")]
17 Tristate,
18 #[serde(rename = "booleanOrUndefined")]
19 BooleanOrUndefined,
20 #[serde(rename = "idref")]
21 Idref,
22 #[serde(rename = "idrefList")]
23 IdrefList,
24 #[serde(rename = "integer")]
25 Integer,
26 #[serde(rename = "node")]
27 Node,
28 #[serde(rename = "nodeList")]
29 NodeList,
30 #[serde(rename = "number")]
31 Number,
32 #[serde(rename = "string")]
33 String,
34 #[serde(rename = "computedString")]
35 ComputedString,
36 #[serde(rename = "token")]
37 Token,
38 #[serde(rename = "tokenList")]
39 TokenList,
40 #[serde(rename = "domRelation")]
41 DomRelation,
42 #[serde(rename = "role")]
43 Role,
44 #[serde(rename = "internalRole")]
45 InternalRole,
46 #[serde(rename = "valueUndefined")]
47 ValueUndefined,
48}
49#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
50pub enum AxValueSourceType {
51 #[serde(rename = "attribute")]
52 Attribute,
53 #[serde(rename = "implicit")]
54 Implicit,
55 #[serde(rename = "style")]
56 Style,
57 #[serde(rename = "contents")]
58 Contents,
59 #[serde(rename = "placeholder")]
60 Placeholder,
61 #[serde(rename = "relatedElement")]
62 RelatedElement,
63}
64#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
65pub enum AxValueNativeSourceType {
66 #[serde(rename = "description")]
67 Description,
68 #[serde(rename = "figcaption")]
69 Figcaption,
70 #[serde(rename = "label")]
71 Label,
72 #[serde(rename = "labelfor")]
73 Labelfor,
74 #[serde(rename = "labelwrapped")]
75 Labelwrapped,
76 #[serde(rename = "legend")]
77 Legend,
78 #[serde(rename = "rubyannotation")]
79 Rubyannotation,
80 #[serde(rename = "tablecaption")]
81 Tablecaption,
82 #[serde(rename = "title")]
83 Title,
84 #[serde(rename = "other")]
85 Other,
86}
87#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
88pub enum AxPropertyName {
89 #[serde(rename = "actions")]
90 Actions,
91 #[serde(rename = "busy")]
92 Busy,
93 #[serde(rename = "disabled")]
94 Disabled,
95 #[serde(rename = "editable")]
96 Editable,
97 #[serde(rename = "focusable")]
98 Focusable,
99 #[serde(rename = "focused")]
100 Focused,
101 #[serde(rename = "hidden")]
102 Hidden,
103 #[serde(rename = "hiddenRoot")]
104 HiddenRoot,
105 #[serde(rename = "invalid")]
106 Invalid,
107 #[serde(rename = "keyshortcuts")]
108 Keyshortcuts,
109 #[serde(rename = "settable")]
110 Settable,
111 #[serde(rename = "roledescription")]
112 Roledescription,
113 #[serde(rename = "live")]
114 Live,
115 #[serde(rename = "atomic")]
116 Atomic,
117 #[serde(rename = "relevant")]
118 Relevant,
119 #[serde(rename = "root")]
120 Root,
121 #[serde(rename = "autocomplete")]
122 Autocomplete,
123 #[serde(rename = "hasPopup")]
124 HasPopup,
125 #[serde(rename = "level")]
126 Level,
127 #[serde(rename = "multiselectable")]
128 Multiselectable,
129 #[serde(rename = "orientation")]
130 Orientation,
131 #[serde(rename = "multiline")]
132 Multiline,
133 #[serde(rename = "readonly")]
134 Readonly,
135 #[serde(rename = "required")]
136 Required,
137 #[serde(rename = "valuemin")]
138 Valuemin,
139 #[serde(rename = "valuemax")]
140 Valuemax,
141 #[serde(rename = "valuetext")]
142 Valuetext,
143 #[serde(rename = "checked")]
144 Checked,
145 #[serde(rename = "expanded")]
146 Expanded,
147 #[serde(rename = "modal")]
148 Modal,
149 #[serde(rename = "pressed")]
150 Pressed,
151 #[serde(rename = "selected")]
152 Selected,
153 #[serde(rename = "activedescendant")]
154 Activedescendant,
155 #[serde(rename = "controls")]
156 Controls,
157 #[serde(rename = "describedby")]
158 Describedby,
159 #[serde(rename = "details")]
160 Details,
161 #[serde(rename = "errormessage")]
162 Errormessage,
163 #[serde(rename = "flowto")]
164 Flowto,
165 #[serde(rename = "labelledby")]
166 Labelledby,
167 #[serde(rename = "owns")]
168 Owns,
169 #[serde(rename = "url")]
170 Url,
171}
172#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
173pub struct AxValueSource {
174 #[serde(rename = "type")]
175 pub r#type: AxValueSourceType,
176 #[serde(skip_serializing_if = "Option::is_none")]
177 #[serde(rename = "value")]
178 pub value: Option<AxValue>,
179 #[serde(skip_serializing_if = "Option::is_none")]
180 #[serde(default)]
181 #[serde(rename = "attribute")]
182 pub attribute: Option<String>,
183 #[serde(skip_serializing_if = "Option::is_none")]
184 #[serde(rename = "attributeValue")]
185 pub attribute_value: Option<AxValue>,
186 #[serde(skip_serializing_if = "Option::is_none")]
187 #[serde(default)]
188 #[serde(rename = "superseded")]
189 pub superseded: Option<bool>,
190 #[serde(skip_serializing_if = "Option::is_none")]
191 #[serde(rename = "nativeSource")]
192 pub native_source: Option<AxValueNativeSourceType>,
193 #[serde(skip_serializing_if = "Option::is_none")]
194 #[serde(rename = "nativeSourceValue")]
195 pub native_source_value: Option<AxValue>,
196 #[serde(skip_serializing_if = "Option::is_none")]
197 #[serde(default)]
198 #[serde(rename = "invalid")]
199 pub invalid: Option<bool>,
200 #[serde(skip_serializing_if = "Option::is_none")]
201 #[serde(default)]
202 #[serde(rename = "invalidReason")]
203 pub invalid_reason: Option<String>,
204}
205#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
206pub struct AxRelatedNode {
207 #[serde(rename = "backendDOMNodeId")]
208 pub backend_dom_node_id: dom::BackendNodeId,
209 #[serde(skip_serializing_if = "Option::is_none")]
210 #[serde(default)]
211 #[serde(rename = "idref")]
212 pub idref: Option<String>,
213 #[serde(skip_serializing_if = "Option::is_none")]
214 #[serde(default)]
215 #[serde(rename = "text")]
216 pub text: Option<String>,
217}
218#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
219pub struct AxProperty {
220 #[serde(rename = "name")]
221 pub name: AxPropertyName,
222 #[serde(rename = "value")]
223 pub value: AxValue,
224}
225#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
226pub struct AxValue {
227 #[serde(rename = "type")]
228 pub r#type: AxValueType,
229 #[serde(skip_serializing_if = "Option::is_none")]
230 #[serde(default)]
231 #[serde(rename = "value")]
232 pub value: Option<Json>,
233 #[serde(skip_serializing_if = "Option::is_none")]
234 #[serde(rename = "relatedNodes")]
235 pub related_nodes: Option<Vec<AxRelatedNode>>,
236 #[serde(skip_serializing_if = "Option::is_none")]
237 #[serde(rename = "sources")]
238 pub sources: Option<Vec<AxValueSource>>,
239}
240#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
241pub struct AxNode {
242 #[serde(rename = "nodeId")]
243 pub node_id: AxNodeId,
244 #[serde(default)]
245 #[serde(rename = "ignored")]
246 pub ignored: bool,
247 #[serde(skip_serializing_if = "Option::is_none")]
248 #[serde(rename = "ignoredReasons")]
249 pub ignored_reasons: Option<Vec<AxProperty>>,
250 #[serde(skip_serializing_if = "Option::is_none")]
251 #[serde(rename = "role")]
252 pub role: Option<AxValue>,
253 #[serde(skip_serializing_if = "Option::is_none")]
254 #[serde(rename = "chromeRole")]
255 pub chrome_role: Option<AxValue>,
256 #[serde(skip_serializing_if = "Option::is_none")]
257 #[serde(rename = "name")]
258 pub name: Option<AxValue>,
259 #[serde(skip_serializing_if = "Option::is_none")]
260 #[serde(rename = "description")]
261 pub description: Option<AxValue>,
262 #[serde(skip_serializing_if = "Option::is_none")]
263 #[serde(rename = "value")]
264 pub value: Option<AxValue>,
265 #[serde(skip_serializing_if = "Option::is_none")]
266 #[serde(rename = "properties")]
267 pub properties: Option<Vec<AxProperty>>,
268 #[serde(skip_serializing_if = "Option::is_none")]
269 #[serde(rename = "parentId")]
270 pub parent_id: Option<AxNodeId>,
271 #[serde(skip_serializing_if = "Option::is_none")]
272 #[serde(rename = "childIds")]
273 pub child_ids: Option<Vec<AxNodeId>>,
274 #[serde(skip_serializing_if = "Option::is_none")]
275 #[serde(rename = "backendDOMNodeId")]
276 pub backend_dom_node_id: Option<dom::BackendNodeId>,
277 #[serde(skip_serializing_if = "Option::is_none")]
278 #[serde(rename = "frameId")]
279 pub frame_id: Option<page::FrameId>,
280}
281#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
282#[serde(rename_all = "camelCase")]
283pub struct Disable(pub Option<serde_json::Value>);
284#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
285#[serde(rename_all = "camelCase")]
286pub struct Enable(pub Option<serde_json::Value>);
287#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
288pub struct GetPartialAXTree {
289 #[serde(skip_serializing_if = "Option::is_none")]
290 #[serde(rename = "nodeId")]
291 pub node_id: Option<dom::NodeId>,
292 #[serde(skip_serializing_if = "Option::is_none")]
293 #[serde(rename = "backendNodeId")]
294 pub backend_node_id: Option<dom::BackendNodeId>,
295 #[serde(skip_serializing_if = "Option::is_none")]
296 #[serde(rename = "objectId")]
297 pub object_id: Option<runtime::RemoteObjectId>,
298 #[serde(skip_serializing_if = "Option::is_none")]
299 #[serde(default)]
300 #[serde(rename = "fetchRelatives")]
301 pub fetch_relatives: Option<bool>,
302}
303#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
304pub struct GetFullAXTree {
305 #[serde(skip_serializing_if = "Option::is_none")]
306 #[serde(default)]
307 #[serde(rename = "depth")]
308 pub depth: Option<JsUInt>,
309 #[serde(skip_serializing_if = "Option::is_none")]
310 #[serde(rename = "frameId")]
311 pub frame_id: Option<page::FrameId>,
312}
313#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
314pub struct GetRootAXNode {
315 #[serde(skip_serializing_if = "Option::is_none")]
316 #[serde(rename = "frameId")]
317 pub frame_id: Option<page::FrameId>,
318}
319#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
320pub struct GetAXNodeAndAncestors {
321 #[serde(skip_serializing_if = "Option::is_none")]
322 #[serde(rename = "nodeId")]
323 pub node_id: Option<dom::NodeId>,
324 #[serde(skip_serializing_if = "Option::is_none")]
325 #[serde(rename = "backendNodeId")]
326 pub backend_node_id: Option<dom::BackendNodeId>,
327 #[serde(skip_serializing_if = "Option::is_none")]
328 #[serde(rename = "objectId")]
329 pub object_id: Option<runtime::RemoteObjectId>,
330}
331#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
332pub struct GetChildAXNodes {
333 #[serde(rename = "id")]
334 pub id: AxNodeId,
335 #[serde(skip_serializing_if = "Option::is_none")]
336 #[serde(rename = "frameId")]
337 pub frame_id: Option<page::FrameId>,
338}
339#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
340pub struct QueryAXTree {
341 #[serde(skip_serializing_if = "Option::is_none")]
342 #[serde(rename = "nodeId")]
343 pub node_id: Option<dom::NodeId>,
344 #[serde(skip_serializing_if = "Option::is_none")]
345 #[serde(rename = "backendNodeId")]
346 pub backend_node_id: Option<dom::BackendNodeId>,
347 #[serde(skip_serializing_if = "Option::is_none")]
348 #[serde(rename = "objectId")]
349 pub object_id: Option<runtime::RemoteObjectId>,
350 #[serde(skip_serializing_if = "Option::is_none")]
351 #[serde(default)]
352 #[serde(rename = "accessibleName")]
353 pub accessible_name: Option<String>,
354 #[serde(skip_serializing_if = "Option::is_none")]
355 #[serde(default)]
356 #[serde(rename = "role")]
357 pub role: Option<String>,
358}
359#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
360#[serde(rename_all = "camelCase")]
361pub struct DisableReturnObject {}
362#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
363#[serde(rename_all = "camelCase")]
364pub struct EnableReturnObject {}
365#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
366pub struct GetPartialAXTreeReturnObject {
367 #[serde(rename = "nodes")]
368 pub nodes: Vec<AxNode>,
369}
370#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
371pub struct GetFullAXTreeReturnObject {
372 #[serde(rename = "nodes")]
373 pub nodes: Vec<AxNode>,
374}
375#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
376pub struct GetRootAXNodeReturnObject {
377 #[serde(rename = "node")]
378 pub node: AxNode,
379}
380#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
381pub struct GetAXNodeAndAncestorsReturnObject {
382 #[serde(rename = "nodes")]
383 pub nodes: Vec<AxNode>,
384}
385#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
386pub struct GetChildAXNodesReturnObject {
387 #[serde(rename = "nodes")]
388 pub nodes: Vec<AxNode>,
389}
390#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
391pub struct QueryAXTreeReturnObject {
392 #[serde(rename = "nodes")]
393 pub nodes: Vec<AxNode>,
394}
395impl Method for Disable {
396 const NAME: &'static str = "Accessibility.disable";
397 type ReturnObject = DisableReturnObject;
398}
399impl Method for Enable {
400 const NAME: &'static str = "Accessibility.enable";
401 type ReturnObject = EnableReturnObject;
402}
403impl Method for GetPartialAXTree {
404 const NAME: &'static str = "Accessibility.getPartialAXTree";
405 type ReturnObject = GetPartialAXTreeReturnObject;
406}
407impl Method for GetFullAXTree {
408 const NAME: &'static str = "Accessibility.getFullAXTree";
409 type ReturnObject = GetFullAXTreeReturnObject;
410}
411impl Method for GetRootAXNode {
412 const NAME: &'static str = "Accessibility.getRootAXNode";
413 type ReturnObject = GetRootAXNodeReturnObject;
414}
415impl Method for GetAXNodeAndAncestors {
416 const NAME: &'static str = "Accessibility.getAXNodeAndAncestors";
417 type ReturnObject = GetAXNodeAndAncestorsReturnObject;
418}
419impl Method for GetChildAXNodes {
420 const NAME: &'static str = "Accessibility.getChildAXNodes";
421 type ReturnObject = GetChildAXNodesReturnObject;
422}
423impl Method for QueryAXTree {
424 const NAME: &'static str = "Accessibility.queryAXTree";
425 type ReturnObject = QueryAXTreeReturnObject;
426}
427pub mod events {
428 #[allow(unused_imports)]
429 use super::super::types::*;
430 #[allow(unused_imports)]
431 use serde::{Deserialize, Serialize};
432 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
433 pub struct LoadCompleteEvent {
434 pub params: LoadCompleteEventParams,
435 }
436 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
437 pub struct LoadCompleteEventParams {
438 #[serde(rename = "root")]
439 pub root: super::AxNode,
440 }
441 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
442 pub struct NodesUpdatedEvent {
443 pub params: NodesUpdatedEventParams,
444 }
445 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
446 pub struct NodesUpdatedEventParams {
447 #[serde(rename = "nodes")]
448 pub nodes: Vec<super::AxNode>,
449 }
450}