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 #[serde(rename = "activeFullscreenElement")]
172 ActiveFullscreenElement,
173 #[serde(rename = "activeModalDialog")]
174 ActiveModalDialog,
175 #[serde(rename = "activeAriaModalDialog")]
176 ActiveAriaModalDialog,
177 #[serde(rename = "ariaHiddenElement")]
178 AriaHiddenElement,
179 #[serde(rename = "ariaHiddenSubtree")]
180 AriaHiddenSubtree,
181 #[serde(rename = "emptyAlt")]
182 EmptyAlt,
183 #[serde(rename = "emptyText")]
184 EmptyText,
185 #[serde(rename = "inertElement")]
186 InertElement,
187 #[serde(rename = "inertSubtree")]
188 InertSubtree,
189 #[serde(rename = "labelContainer")]
190 LabelContainer,
191 #[serde(rename = "labelFor")]
192 LabelFor,
193 #[serde(rename = "notRendered")]
194 NotRendered,
195 #[serde(rename = "notVisible")]
196 NotVisible,
197 #[serde(rename = "presentationalRole")]
198 PresentationalRole,
199 #[serde(rename = "probablyPresentational")]
200 ProbablyPresentational,
201 #[serde(rename = "inactiveCarouselTabContent")]
202 InactiveCarouselTabContent,
203 #[serde(rename = "uninteresting")]
204 Uninteresting,
205}
206#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
207pub struct AxValueSource {
208 #[serde(rename = "type")]
209 pub r#type: AxValueSourceType,
210 #[serde(skip_serializing_if = "Option::is_none")]
211 #[serde(rename = "value")]
212 pub value: Option<AxValue>,
213 #[serde(skip_serializing_if = "Option::is_none")]
214 #[serde(default)]
215 #[serde(rename = "attribute")]
216 pub attribute: Option<String>,
217 #[serde(skip_serializing_if = "Option::is_none")]
218 #[serde(rename = "attributeValue")]
219 pub attribute_value: Option<AxValue>,
220 #[serde(skip_serializing_if = "Option::is_none")]
221 #[serde(default)]
222 #[serde(rename = "superseded")]
223 pub superseded: Option<bool>,
224 #[serde(skip_serializing_if = "Option::is_none")]
225 #[serde(rename = "nativeSource")]
226 pub native_source: Option<AxValueNativeSourceType>,
227 #[serde(skip_serializing_if = "Option::is_none")]
228 #[serde(rename = "nativeSourceValue")]
229 pub native_source_value: Option<AxValue>,
230 #[serde(skip_serializing_if = "Option::is_none")]
231 #[serde(default)]
232 #[serde(rename = "invalid")]
233 pub invalid: Option<bool>,
234 #[serde(skip_serializing_if = "Option::is_none")]
235 #[serde(default)]
236 #[serde(rename = "invalidReason")]
237 pub invalid_reason: Option<String>,
238}
239#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
240pub struct AxRelatedNode {
241 #[serde(rename = "backendDOMNodeId")]
242 pub backend_dom_node_id: dom::BackendNodeId,
243 #[serde(skip_serializing_if = "Option::is_none")]
244 #[serde(default)]
245 #[serde(rename = "idref")]
246 pub idref: Option<String>,
247 #[serde(skip_serializing_if = "Option::is_none")]
248 #[serde(default)]
249 #[serde(rename = "text")]
250 pub text: Option<String>,
251}
252#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
253pub struct AxProperty {
254 #[serde(rename = "name")]
255 pub name: AxPropertyName,
256 #[serde(rename = "value")]
257 pub value: AxValue,
258}
259#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
260pub struct AxValue {
261 #[serde(rename = "type")]
262 pub r#type: AxValueType,
263 #[serde(skip_serializing_if = "Option::is_none")]
264 #[serde(default)]
265 #[serde(rename = "value")]
266 pub value: Option<Json>,
267 #[serde(skip_serializing_if = "Option::is_none")]
268 #[serde(rename = "relatedNodes")]
269 pub related_nodes: Option<Vec<AxRelatedNode>>,
270 #[serde(skip_serializing_if = "Option::is_none")]
271 #[serde(rename = "sources")]
272 pub sources: Option<Vec<AxValueSource>>,
273}
274#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
275pub struct AxNode {
276 #[serde(rename = "nodeId")]
277 pub node_id: AxNodeId,
278 #[serde(default)]
279 #[serde(rename = "ignored")]
280 pub ignored: bool,
281 #[serde(skip_serializing_if = "Option::is_none")]
282 #[serde(rename = "ignoredReasons")]
283 pub ignored_reasons: Option<Vec<AxProperty>>,
284 #[serde(skip_serializing_if = "Option::is_none")]
285 #[serde(rename = "role")]
286 pub role: Option<AxValue>,
287 #[serde(skip_serializing_if = "Option::is_none")]
288 #[serde(rename = "chromeRole")]
289 pub chrome_role: Option<AxValue>,
290 #[serde(skip_serializing_if = "Option::is_none")]
291 #[serde(rename = "name")]
292 pub name: Option<AxValue>,
293 #[serde(skip_serializing_if = "Option::is_none")]
294 #[serde(rename = "description")]
295 pub description: Option<AxValue>,
296 #[serde(skip_serializing_if = "Option::is_none")]
297 #[serde(rename = "value")]
298 pub value: Option<AxValue>,
299 #[serde(skip_serializing_if = "Option::is_none")]
300 #[serde(rename = "properties")]
301 pub properties: Option<Vec<AxProperty>>,
302 #[serde(skip_serializing_if = "Option::is_none")]
303 #[serde(rename = "parentId")]
304 pub parent_id: Option<AxNodeId>,
305 #[serde(skip_serializing_if = "Option::is_none")]
306 #[serde(rename = "childIds")]
307 pub child_ids: Option<Vec<AxNodeId>>,
308 #[serde(skip_serializing_if = "Option::is_none")]
309 #[serde(rename = "backendDOMNodeId")]
310 pub backend_dom_node_id: Option<dom::BackendNodeId>,
311 #[serde(skip_serializing_if = "Option::is_none")]
312 #[serde(rename = "frameId")]
313 pub frame_id: Option<page::FrameId>,
314}
315#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
316#[serde(rename_all = "camelCase")]
317pub struct Disable(pub Option<serde_json::Value>);
318#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
319#[serde(rename_all = "camelCase")]
320pub struct Enable(pub Option<serde_json::Value>);
321#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
322pub struct GetPartialAXTree {
323 #[serde(skip_serializing_if = "Option::is_none")]
324 #[serde(rename = "nodeId")]
325 pub node_id: Option<dom::NodeId>,
326 #[serde(skip_serializing_if = "Option::is_none")]
327 #[serde(rename = "backendNodeId")]
328 pub backend_node_id: Option<dom::BackendNodeId>,
329 #[serde(skip_serializing_if = "Option::is_none")]
330 #[serde(rename = "objectId")]
331 pub object_id: Option<runtime::RemoteObjectId>,
332 #[serde(skip_serializing_if = "Option::is_none")]
333 #[serde(default)]
334 #[serde(rename = "fetchRelatives")]
335 pub fetch_relatives: Option<bool>,
336}
337#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
338pub struct GetFullAXTree {
339 #[serde(skip_serializing_if = "Option::is_none")]
340 #[serde(default)]
341 #[serde(rename = "depth")]
342 pub depth: Option<JsUInt>,
343 #[serde(skip_serializing_if = "Option::is_none")]
344 #[serde(rename = "frameId")]
345 pub frame_id: Option<page::FrameId>,
346}
347#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
348pub struct GetRootAXNode {
349 #[serde(skip_serializing_if = "Option::is_none")]
350 #[serde(rename = "frameId")]
351 pub frame_id: Option<page::FrameId>,
352}
353#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
354pub struct GetAXNodeAndAncestors {
355 #[serde(skip_serializing_if = "Option::is_none")]
356 #[serde(rename = "nodeId")]
357 pub node_id: Option<dom::NodeId>,
358 #[serde(skip_serializing_if = "Option::is_none")]
359 #[serde(rename = "backendNodeId")]
360 pub backend_node_id: Option<dom::BackendNodeId>,
361 #[serde(skip_serializing_if = "Option::is_none")]
362 #[serde(rename = "objectId")]
363 pub object_id: Option<runtime::RemoteObjectId>,
364}
365#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
366pub struct GetChildAXNodes {
367 #[serde(rename = "id")]
368 pub id: AxNodeId,
369 #[serde(skip_serializing_if = "Option::is_none")]
370 #[serde(rename = "frameId")]
371 pub frame_id: Option<page::FrameId>,
372}
373#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
374pub struct QueryAXTree {
375 #[serde(skip_serializing_if = "Option::is_none")]
376 #[serde(rename = "nodeId")]
377 pub node_id: Option<dom::NodeId>,
378 #[serde(skip_serializing_if = "Option::is_none")]
379 #[serde(rename = "backendNodeId")]
380 pub backend_node_id: Option<dom::BackendNodeId>,
381 #[serde(skip_serializing_if = "Option::is_none")]
382 #[serde(rename = "objectId")]
383 pub object_id: Option<runtime::RemoteObjectId>,
384 #[serde(skip_serializing_if = "Option::is_none")]
385 #[serde(default)]
386 #[serde(rename = "accessibleName")]
387 pub accessible_name: Option<String>,
388 #[serde(skip_serializing_if = "Option::is_none")]
389 #[serde(default)]
390 #[serde(rename = "role")]
391 pub role: Option<String>,
392}
393#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
394#[serde(rename_all = "camelCase")]
395pub struct DisableReturnObject {}
396#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
397#[serde(rename_all = "camelCase")]
398pub struct EnableReturnObject {}
399#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
400pub struct GetPartialAXTreeReturnObject {
401 #[serde(rename = "nodes")]
402 pub nodes: Vec<AxNode>,
403}
404#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
405pub struct GetFullAXTreeReturnObject {
406 #[serde(rename = "nodes")]
407 pub nodes: Vec<AxNode>,
408}
409#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
410pub struct GetRootAXNodeReturnObject {
411 #[serde(rename = "node")]
412 pub node: AxNode,
413}
414#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
415pub struct GetAXNodeAndAncestorsReturnObject {
416 #[serde(rename = "nodes")]
417 pub nodes: Vec<AxNode>,
418}
419#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
420pub struct GetChildAXNodesReturnObject {
421 #[serde(rename = "nodes")]
422 pub nodes: Vec<AxNode>,
423}
424#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
425pub struct QueryAXTreeReturnObject {
426 #[serde(rename = "nodes")]
427 pub nodes: Vec<AxNode>,
428}
429impl Method for Disable {
430 const NAME: &'static str = "Accessibility.disable";
431 type ReturnObject = DisableReturnObject;
432}
433impl Method for Enable {
434 const NAME: &'static str = "Accessibility.enable";
435 type ReturnObject = EnableReturnObject;
436}
437impl Method for GetPartialAXTree {
438 const NAME: &'static str = "Accessibility.getPartialAXTree";
439 type ReturnObject = GetPartialAXTreeReturnObject;
440}
441impl Method for GetFullAXTree {
442 const NAME: &'static str = "Accessibility.getFullAXTree";
443 type ReturnObject = GetFullAXTreeReturnObject;
444}
445impl Method for GetRootAXNode {
446 const NAME: &'static str = "Accessibility.getRootAXNode";
447 type ReturnObject = GetRootAXNodeReturnObject;
448}
449impl Method for GetAXNodeAndAncestors {
450 const NAME: &'static str = "Accessibility.getAXNodeAndAncestors";
451 type ReturnObject = GetAXNodeAndAncestorsReturnObject;
452}
453impl Method for GetChildAXNodes {
454 const NAME: &'static str = "Accessibility.getChildAXNodes";
455 type ReturnObject = GetChildAXNodesReturnObject;
456}
457impl Method for QueryAXTree {
458 const NAME: &'static str = "Accessibility.queryAXTree";
459 type ReturnObject = QueryAXTreeReturnObject;
460}
461pub mod events {
462 #[allow(unused_imports)]
463 use super::super::types::*;
464 #[allow(unused_imports)]
465 use serde::{Deserialize, Serialize};
466 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
467 pub struct LoadCompleteEvent {
468 pub params: LoadCompleteEventParams,
469 }
470 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
471 pub struct LoadCompleteEventParams {
472 #[serde(rename = "root")]
473 pub root: super::AxNode,
474 }
475 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
476 pub struct NodesUpdatedEvent {
477 pub params: NodesUpdatedEventParams,
478 }
479 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
480 pub struct NodesUpdatedEventParams {
481 #[serde(rename = "nodes")]
482 pub nodes: Vec<super::AxNode>,
483 }
484}