OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file was generated by: | 5 // This file was generated by: |
6 // tools/json_schema_compiler/compiler.py -g externs | 6 // tools/json_schema_compiler/compiler.py. |
7 // chrome/common/extensions/api/automation.idl | 7 // NOTE: The format of types has changed. 'FooType' is now |
8 // | 8 // 'chrome.automation.FooType'. |
9 // Further edits were applied by hand due to bugs / limitations in | 9 // Please run the closure compiler before committing changes. |
10 // json_schema_compiler. | |
11 // | |
12 // See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_comp
ilation.md | 10 // See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_comp
ilation.md |
13 | 11 |
14 /** @fileoverview Externs generated from namespace: automation */ | 12 /** @fileoverview Externs generated from namespace: automation */ |
15 | 13 |
16 /** | 14 /** |
17 * @const | 15 * @const |
18 */ | 16 */ |
19 chrome.automation = {}; | 17 chrome.automation = {}; |
20 | 18 |
21 /** | 19 /** |
22 * @enum {string} | 20 * @enum {string} |
| 21 * @see https://developer.chrome.com/extensions/automation#type-EventType |
23 */ | 22 */ |
24 chrome.automation.EventType = { | 23 chrome.automation.EventType = { |
25 activedescendantchanged: '', | 24 activedescendantchanged: 'activedescendantchanged', |
26 alert: '', | 25 alert: 'alert', |
27 ariaAttributeChanged: '', | 26 ariaAttributeChanged: 'ariaAttributeChanged', |
28 autocorrectionOccured: '', | 27 autocorrectionOccured: 'autocorrectionOccured', |
29 blur: '', | 28 blur: 'blur', |
30 checkedStateChanged: '', | 29 checkedStateChanged: 'checkedStateChanged', |
31 childrenChanged: '', | 30 childrenChanged: 'childrenChanged', |
32 documentSelectionChanged: '', | 31 clicked: 'clicked', |
33 expandedChanged: '', | 32 documentSelectionChanged: 'documentSelectionChanged', |
34 focus: '', | 33 expandedChanged: 'expandedChanged', |
35 hide: '', | 34 focus: 'focus', |
36 hover: '', | 35 imageFrameUpdated: 'imageFrameUpdated', |
37 invalidStatusChanged: '', | 36 hide: 'hide', |
38 layoutComplete: '', | 37 hover: 'hover', |
39 liveRegionChanged: '', | 38 invalidStatusChanged: 'invalidStatusChanged', |
40 loadComplete: '', | 39 layoutComplete: 'layoutComplete', |
41 locationChanged: '', | 40 liveRegionCreated: 'liveRegionCreated', |
42 menuEnd: '', | 41 liveRegionChanged: 'liveRegionChanged', |
43 menuListItemSelected: '', | 42 loadComplete: 'loadComplete', |
44 menuListValueChanged: '', | 43 locationChanged: 'locationChanged', |
45 menuPopupEnd: '', | 44 mediaStartedPlaying: 'mediaStartedPlaying', |
46 menuPopupStart: '', | 45 mediaStoppedPlaying: 'mediaStoppedPlaying', |
47 menuStart: '', | 46 menuEnd: 'menuEnd', |
48 mouseCanceled: '', | 47 menuListItemSelected: 'menuListItemSelected', |
49 mouseDragged: '', | 48 menuListValueChanged: 'menuListValueChanged', |
50 mouseMoved: '', | 49 menuPopupEnd: 'menuPopupEnd', |
51 mousePressed: '', | 50 menuPopupStart: 'menuPopupStart', |
52 mouseReleased: '', | 51 menuStart: 'menuStart', |
53 rowCollapsed: '', | 52 mouseCanceled: 'mouseCanceled', |
54 rowCountChanged: '', | 53 mouseDragged: 'mouseDragged', |
55 rowExpanded: '', | 54 mouseMoved: 'mouseMoved', |
56 scrollPositionChanged: '', | 55 mousePressed: 'mousePressed', |
57 scrolledToAnchor: '', | 56 mouseReleased: 'mouseReleased', |
58 selectedChildrenChanged: '', | 57 rowCollapsed: 'rowCollapsed', |
59 selection: '', | 58 rowCountChanged: 'rowCountChanged', |
60 selectionAdd: '', | 59 rowExpanded: 'rowExpanded', |
61 selectionRemove: '', | 60 scrollPositionChanged: 'scrollPositionChanged', |
62 show: '', | 61 scrolledToAnchor: 'scrolledToAnchor', |
63 textChanged: '', | 62 selectedChildrenChanged: 'selectedChildrenChanged', |
64 textSelectionChanged: '', | 63 selection: 'selection', |
65 treeChanged: '', | 64 selectionAdd: 'selectionAdd', |
66 valueChanged: '', | 65 selectionRemove: 'selectionRemove', |
67 }; | 66 show: 'show', |
68 | 67 textChanged: 'textChanged', |
69 /** | 68 textSelectionChanged: 'textSelectionChanged', |
70 * @enum {string} | 69 treeChanged: 'treeChanged', |
| 70 valueChanged: 'valueChanged', |
| 71 }; |
| 72 |
| 73 /** |
| 74 * @enum {string} |
| 75 * @see https://developer.chrome.com/extensions/automation#type-RoleType |
71 */ | 76 */ |
72 chrome.automation.RoleType = { | 77 chrome.automation.RoleType = { |
73 alertDialog: '', | 78 abbr: 'abbr', |
74 alert: '', | 79 alertDialog: 'alertDialog', |
75 annotation: '', | 80 alert: 'alert', |
76 application: '', | 81 annotation: 'annotation', |
77 article: '', | 82 application: 'application', |
78 banner: '', | 83 article: 'article', |
79 blockquote: '', | 84 audio: 'audio', |
80 busyIndicator: '', | 85 banner: 'banner', |
81 button: '', | 86 blockquote: 'blockquote', |
82 buttonDropDown: '', | 87 busyIndicator: 'busyIndicator', |
83 canvas: '', | 88 button: 'button', |
84 caption: '', | 89 buttonDropDown: 'buttonDropDown', |
85 cell: '', | 90 canvas: 'canvas', |
86 checkBox: '', | 91 caption: 'caption', |
87 client: '', | 92 cell: 'cell', |
88 colorWell: '', | 93 checkBox: 'checkBox', |
89 columnHeader: '', | 94 client: 'client', |
90 column: '', | 95 colorWell: 'colorWell', |
91 comboBox: '', | 96 columnHeader: 'columnHeader', |
92 complementary: '', | 97 column: 'column', |
93 contentInfo: '', | 98 comboBox: 'comboBox', |
94 date: '', | 99 complementary: 'complementary', |
95 dateTime: '', | 100 contentInfo: 'contentInfo', |
96 definition: '', | 101 date: 'date', |
97 descriptionListDetail: '', | 102 dateTime: 'dateTime', |
98 descriptionList: '', | 103 definition: 'definition', |
99 descriptionListTerm: '', | 104 descriptionListDetail: 'descriptionListDetail', |
100 desktop: '', | 105 descriptionList: 'descriptionList', |
101 details: '', | 106 descriptionListTerm: 'descriptionListTerm', |
102 dialog: '', | 107 desktop: 'desktop', |
103 directory: '', | 108 details: 'details', |
104 disclosureTriangle: '', | 109 dialog: 'dialog', |
105 div: '', | 110 directory: 'directory', |
106 document: '', | 111 disclosureTriangle: 'disclosureTriangle', |
107 embeddedObject: '', | 112 div: 'div', |
108 figcaption: '', | 113 document: 'document', |
109 figure: '', | 114 embeddedObject: 'embeddedObject', |
110 footer: '', | 115 figcaption: 'figcaption', |
111 form: '', | 116 figure: 'figure', |
112 grid: '', | 117 footer: 'footer', |
113 group: '', | 118 form: 'form', |
114 heading: '', | 119 grid: 'grid', |
115 iframe: '', | 120 group: 'group', |
116 iframePresentational: '', | 121 heading: 'heading', |
117 ignored: '', | 122 iframe: 'iframe', |
118 imageMapLink: '', | 123 iframePresentational: 'iframePresentational', |
119 imageMap: '', | 124 ignored: 'ignored', |
120 image: '', | 125 imageMapLink: 'imageMapLink', |
121 inlineTextBox: '', | 126 imageMap: 'imageMap', |
122 labelText: '', | 127 image: 'image', |
123 legend: '', | 128 inlineTextBox: 'inlineTextBox', |
124 lineBreak: '', | 129 inputTime: 'inputTime', |
125 link: '', | 130 labelText: 'labelText', |
126 listBoxOption: '', | 131 legend: 'legend', |
127 listBox: '', | 132 lineBreak: 'lineBreak', |
128 listItem: '', | 133 link: 'link', |
129 listMarker: '', | 134 listBoxOption: 'listBoxOption', |
130 list: '', | 135 listBox: 'listBox', |
131 locationBar: '', | 136 listItem: 'listItem', |
132 log: '', | 137 listMarker: 'listMarker', |
133 main: '', | 138 list: 'list', |
134 marquee: '', | 139 locationBar: 'locationBar', |
135 math: '', | 140 log: 'log', |
136 menuBar: '', | 141 main: 'main', |
137 menuButton: '', | 142 mark: 'mark', |
138 menuItem: '', | 143 marquee: 'marquee', |
139 menuItemCheckBox: '', | 144 math: 'math', |
140 menuItemRadio: '', | 145 menuBar: 'menuBar', |
141 menuListOption: '', | 146 menuButton: 'menuButton', |
142 menuListPopup: '', | 147 menuItem: 'menuItem', |
143 menu: '', | 148 menuItemCheckBox: 'menuItemCheckBox', |
144 meter: '', | 149 menuItemRadio: 'menuItemRadio', |
145 navigation: '', | 150 menuListOption: 'menuListOption', |
146 note: '', | 151 menuListPopup: 'menuListPopup', |
147 outline: '', | 152 menu: 'menu', |
148 pane: '', | 153 meter: 'meter', |
149 paragraph: '', | 154 navigation: 'navigation', |
150 popUpButton: '', | 155 note: 'note', |
151 pre: '', | 156 outline: 'outline', |
152 presentational: '', | 157 pane: 'pane', |
153 progressIndicator: '', | 158 paragraph: 'paragraph', |
154 radioButton: '', | 159 popUpButton: 'popUpButton', |
155 radioGroup: '', | 160 pre: 'pre', |
156 region: '', | 161 presentational: 'presentational', |
157 rootWebArea: '', | 162 progressIndicator: 'progressIndicator', |
158 rowHeader: '', | 163 radioButton: 'radioButton', |
159 row: '', | 164 radioGroup: 'radioGroup', |
160 ruby: '', | 165 region: 'region', |
161 ruler: '', | 166 rootWebArea: 'rootWebArea', |
162 svgRoot: '', | 167 rowHeader: 'rowHeader', |
163 scrollArea: '', | 168 row: 'row', |
164 scrollBar: '', | 169 ruby: 'ruby', |
165 seamlessWebArea: '', | 170 ruler: 'ruler', |
166 search: '', | 171 svgRoot: 'svgRoot', |
167 searchBox: '', | 172 scrollArea: 'scrollArea', |
168 slider: '', | 173 scrollBar: 'scrollBar', |
169 sliderThumb: '', | 174 seamlessWebArea: 'seamlessWebArea', |
170 spinButtonPart: '', | 175 search: 'search', |
171 spinButton: '', | 176 searchBox: 'searchBox', |
172 splitter: '', | 177 slider: 'slider', |
173 staticText: '', | 178 sliderThumb: 'sliderThumb', |
174 status: '', | 179 spinButtonPart: 'spinButtonPart', |
175 switch: '', | 180 spinButton: 'spinButton', |
176 tabGroup: '', | 181 splitter: 'splitter', |
177 tabList: '', | 182 staticText: 'staticText', |
178 tabPanel: '', | 183 status: 'status', |
179 tab: '', | 184 switch: 'switch', |
180 tableHeaderContainer: '', | 185 tabGroup: 'tabGroup', |
181 table: '', | 186 tabList: 'tabList', |
182 textField: '', | 187 tabPanel: 'tabPanel', |
183 time: '', | 188 tab: 'tab', |
184 timer: '', | 189 tableHeaderContainer: 'tableHeaderContainer', |
185 titleBar: '', | 190 table: 'table', |
186 toggleButton: '', | 191 textField: 'textField', |
187 toolbar: '', | 192 time: 'time', |
188 treeGrid: '', | 193 timer: 'timer', |
189 treeItem: '', | 194 titleBar: 'titleBar', |
190 tree: '', | 195 toggleButton: 'toggleButton', |
191 unknown: '', | 196 toolbar: 'toolbar', |
192 tooltip: '', | 197 treeGrid: 'treeGrid', |
193 webArea: '', | 198 treeItem: 'treeItem', |
194 webView: '', | 199 tree: 'tree', |
195 window: '', | 200 unknown: 'unknown', |
196 }; | 201 tooltip: 'tooltip', |
197 | 202 video: 'video', |
198 /** | 203 webArea: 'webArea', |
199 * @enum {string} | 204 webView: 'webView', |
| 205 window: 'window', |
| 206 }; |
| 207 |
| 208 /** |
| 209 * @enum {string} |
| 210 * @see https://developer.chrome.com/extensions/automation#type-StateType |
200 */ | 211 */ |
201 chrome.automation.StateType = { | 212 chrome.automation.StateType = { |
202 busy: '', | 213 busy: 'busy', |
203 checked: '', | 214 checked: 'checked', |
204 collapsed: '', | 215 collapsed: 'collapsed', |
205 default: '', | 216 default: 'default', |
206 disabled: '', | 217 disabled: 'disabled', |
207 editable: '', | 218 editable: 'editable', |
208 expanded: '', | 219 expanded: 'expanded', |
209 focusable: '', | 220 focusable: 'focusable', |
210 focused: '', | 221 focused: 'focused', |
211 haspopup: '', | 222 haspopup: 'haspopup', |
212 horizontal: '', | 223 horizontal: 'horizontal', |
213 hovered: '', | 224 hovered: 'hovered', |
214 indeterminate: '', | 225 invisible: 'invisible', |
215 invisible: '', | 226 linked: 'linked', |
216 linked: '', | 227 multiline: 'multiline', |
217 multiline: '', | 228 multiselectable: 'multiselectable', |
218 multiselectable: '', | 229 offscreen: 'offscreen', |
219 offscreen: '', | 230 pressed: 'pressed', |
220 pressed: '', | 231 protected: 'protected', |
221 protected: '', | 232 readOnly: 'readOnly', |
222 readOnly: '', | 233 required: 'required', |
223 required: '', | 234 richlyEditable: 'richlyEditable', |
224 richlyEditable: '', | 235 selectable: 'selectable', |
225 selectable: '', | 236 selected: 'selected', |
226 selected: '', | 237 vertical: 'vertical', |
227 vertical: '', | 238 visited: 'visited', |
228 visited: '', | 239 }; |
229 }; | 240 |
230 | 241 /** |
231 /** | 242 * @enum {string} |
232 * @enum {number} | 243 * @see https://developer.chrome.com/extensions/automation#type-TreeChangeType |
233 */ | |
234 chrome.automation.NameFromType = { | |
235 0: '', | |
236 1: 'uninitialized', | |
237 2: 'attribute', | |
238 3: 'contents', | |
239 4: 'placeholder', | |
240 5: 'relatedElement', | |
241 6: 'value' | |
242 }; | |
243 | |
244 /** | |
245 * @enum {number} | |
246 */ | |
247 chrome.automation.DescriptionFromType = { | |
248 0: '', | |
249 1: 'uninitialized', | |
250 2: 'attribute', | |
251 3: 'contents', | |
252 4: 'placeholder', | |
253 5: 'relatedElement' | |
254 }; | |
255 | |
256 /** | |
257 * @enum {string} | |
258 */ | 244 */ |
259 chrome.automation.TreeChangeType = { | 245 chrome.automation.TreeChangeType = { |
260 nodeCreated: 'nodeCreated', | 246 nodeCreated: 'nodeCreated', |
261 subtreeCreated: 'subtreeCreated', | 247 subtreeCreated: 'subtreeCreated', |
262 nodeChanged: 'nodeChanged', | 248 nodeChanged: 'nodeChanged', |
| 249 textChanged: 'textChanged', |
263 nodeRemoved: 'nodeRemoved', | 250 nodeRemoved: 'nodeRemoved', |
264 }; | 251 }; |
265 | 252 |
266 /** | 253 /** |
| 254 * @see https://developer.chrome.com/extensions/automation#type-NameFromType |
| 255 */ |
| 256 chrome.automation.NameFromType; |
| 257 |
| 258 /** |
267 * @typedef {{ | 259 * @typedef {{ |
268 * left: number, | 260 * left: number, |
269 * top: number, | 261 * top: number, |
270 * width: number, | 262 * width: number, |
271 * height: number | 263 * height: number |
272 * }} | 264 * }} |
| 265 * @see https://developer.chrome.com/extensions/automation#type-Rect |
273 */ | 266 */ |
274 chrome.automation.Rect; | 267 chrome.automation.Rect; |
275 | 268 |
276 /** | 269 /** |
277 * @typedef {{ | 270 * @typedef {{ |
278 * role: (!chrome.automation.RoleType|undefined), | 271 * role: (!chrome.automation.RoleType|undefined), |
279 * state: (Object|undefined), | 272 * state: (Object|undefined), |
280 * attributes: (Object|undefined) | 273 * attributes: (Object|undefined) |
281 * }} | 274 * }} |
| 275 * @see https://developer.chrome.com/extensions/automation#type-FindParams |
282 */ | 276 */ |
283 chrome.automation.FindParams; | 277 chrome.automation.FindParams; |
284 | 278 |
285 /** | 279 /** |
| 280 * @typedef {{ |
| 281 * anchorObject: Object, |
| 282 * anchorOffset: number, |
| 283 * focusObject: Object, |
| 284 * focusOffset: number |
| 285 * }} |
| 286 * @see https://developer.chrome.com/extensions/automation#type-SetDocumentSelec
tionParams |
| 287 */ |
| 288 chrome.automation.SetDocumentSelectionParams; |
| 289 |
| 290 /** |
286 * @constructor | 291 * @constructor |
287 * @param {chrome.automation.EventType} type | 292 * @see https://developer.chrome.com/extensions/automation#type-AutomationEvent |
288 * @param {chrome.automation.AutomationNode} node | 293 */ |
289 * @param {string} eventFrom | 294 chrome.automation.AutomationEvent = function() {}; |
290 */ | 295 |
291 chrome.automation.AutomationEvent = function(type, node, eventFrom) {}; | 296 /** |
292 | 297 * The $(ref:automation.AutomationNode) to which the event was targeted. |
293 /** | 298 * @type {!chrome.automation.AutomationNode} |
294 * @type {!chrome.automation.AutomationNode} | 299 * @see https://developer.chrome.com/extensions/automation#type-target |
295 */ | 300 */ |
296 chrome.automation.AutomationEvent.prototype.target; | 301 chrome.automation.AutomationEvent.prototype.target; |
297 | 302 |
298 /** | 303 /** |
| 304 * The type of the event. |
299 * @type {!chrome.automation.EventType} | 305 * @type {!chrome.automation.EventType} |
| 306 * @see https://developer.chrome.com/extensions/automation#type-type |
300 */ | 307 */ |
301 chrome.automation.AutomationEvent.prototype.type; | 308 chrome.automation.AutomationEvent.prototype.type; |
302 | 309 |
303 /** | 310 /** |
304 * @type {string} | 311 * The source of this event. |
| 312 * @type {string} |
| 313 * @see https://developer.chrome.com/extensions/automation#type-eventFrom |
305 */ | 314 */ |
306 chrome.automation.AutomationEvent.prototype.eventFrom; | 315 chrome.automation.AutomationEvent.prototype.eventFrom; |
307 | 316 |
308 /** | 317 /** |
309 * @type {number} | 318 * @type {number} |
| 319 * @see https://developer.chrome.com/extensions/automation#type-mouseX |
310 */ | 320 */ |
311 chrome.automation.AutomationEvent.prototype.mouseX; | 321 chrome.automation.AutomationEvent.prototype.mouseX; |
312 | 322 |
313 /** | 323 /** |
314 * @type {number} | 324 * @type {number} |
| 325 * @see https://developer.chrome.com/extensions/automation#type-mouseY |
315 */ | 326 */ |
316 chrome.automation.AutomationEvent.prototype.mouseY; | 327 chrome.automation.AutomationEvent.prototype.mouseY; |
317 | 328 |
| 329 /** |
| 330 * Stops this event from further processing except for any remaining listeners |
| 331 * on $(ref:AutomationEvent.target). |
| 332 * @see https://developer.chrome.com/extensions/automation#method-stopPropagatio
n |
| 333 */ |
318 chrome.automation.AutomationEvent.prototype.stopPropagation = function() {}; | 334 chrome.automation.AutomationEvent.prototype.stopPropagation = function() {}; |
319 | 335 |
| 336 |
320 /** | 337 /** |
321 * @typedef {{ | 338 * @typedef {{ |
322 * target: chrome.automation.AutomationNode, | 339 * target: !chrome.automation.AutomationNode, |
323 * type: !chrome.automation.TreeChangeType | 340 * type: !chrome.automation.TreeChangeType |
324 * }} | 341 * }} |
| 342 * @see https://developer.chrome.com/extensions/automation#type-TreeChange |
325 */ | 343 */ |
326 chrome.automation.TreeChange; | 344 chrome.automation.TreeChange; |
327 | 345 |
328 /** | 346 /** |
| 347 * @enum {string} |
| 348 * @see https://developer.chrome.com/extensions/automation#type-TreeChangeObserv
erFilter |
| 349 */ |
| 350 chrome.automation.TreeChangeObserverFilter = { |
| 351 noTreeChanges: 'noTreeChanges', |
| 352 liveRegionTreeChanges: 'liveRegionTreeChanges', |
| 353 textMarkerChanges: 'textMarkerChanges', |
| 354 allTreeChanges: 'allTreeChanges', |
| 355 }; |
| 356 |
| 357 /** |
329 * @constructor | 358 * @constructor |
| 359 * @see https://developer.chrome.com/extensions/automation#type-AutomationNode |
330 */ | 360 */ |
331 chrome.automation.AutomationNode = function() {}; | 361 chrome.automation.AutomationNode = function() {}; |
332 | 362 |
333 | 363 /** |
334 /** | 364 * The root node of the tree containing this AutomationNode. |
| 365 * @type {!chrome.automation.AutomationNode} |
| 366 * @see https://developer.chrome.com/extensions/automation#type-root |
| 367 */ |
| 368 chrome.automation.AutomationNode.prototype.root; |
| 369 |
| 370 /** |
| 371 * Whether this AutomationNode is a root node. |
| 372 * @type {boolean} |
| 373 * @see https://developer.chrome.com/extensions/automation#type-isRootNode |
| 374 */ |
| 375 chrome.automation.AutomationNode.prototype.isRootNode; |
| 376 |
| 377 /** |
| 378 * The role of this node. |
| 379 * @type {!chrome.automation.RoleType} |
| 380 * @see https://developer.chrome.com/extensions/automation#type-role |
| 381 */ |
| 382 chrome.automation.AutomationNode.prototype.role; |
| 383 |
| 384 /** |
| 385 * The $(ref:automation.StateType)s describing this node. |
| 386 * @see https://developer.chrome.com/extensions/automation#type-state |
| 387 */ |
| 388 chrome.automation.AutomationNode.prototype.state; |
| 389 |
| 390 /** |
| 391 * The rendered location (as a bounding box) of this node in global screen coord
inates. |
| 392 * @type {!chrome.automation.Rect} |
| 393 * @see https://developer.chrome.com/extensions/automation#type-location |
| 394 */ |
| 395 chrome.automation.AutomationNode.prototype.location; |
| 396 |
| 397 /** |
| 398 * Computes the bounding box of a subrange of this node in global screen |
| 399 * coordinates. Returns the same as |location| if range information is not |
| 400 * available. The start and end indices are zero-based offsets into the node's |
| 401 * "name" string attribute. |
| 402 * @param {number} startIndex |
| 403 * @param {number} endIndex |
| 404 * @return {!chrome.automation.Rect} |
| 405 * @see https://developer.chrome.com/extensions/automation#method-boundsForRange |
| 406 */ |
| 407 chrome.automation.AutomationNode.prototype.boundsForRange = function(startIndex,
endIndex) {}; |
| 408 |
| 409 /** |
| 410 * The purpose of the node, other than the role, if any. |
| 411 * @type {string} |
| 412 * @see https://developer.chrome.com/extensions/automation#type-description |
| 413 */ |
| 414 chrome.automation.AutomationNode.prototype.description; |
| 415 |
| 416 /** |
| 417 * The help text for the node, if any. |
| 418 * @type {string} |
| 419 * @see https://developer.chrome.com/extensions/automation#type-help |
| 420 */ |
| 421 chrome.automation.AutomationNode.prototype.help; |
| 422 |
| 423 /** |
| 424 * The accessible name for this node, via the <a href="http://www.w3.org/TR/wai-
aria/roles#namecalculation"> Accessible Name Calculation</a> process. |
| 425 * @type {string} |
| 426 * @see https://developer.chrome.com/extensions/automation#type-name |
| 427 */ |
| 428 chrome.automation.AutomationNode.prototype.name; |
| 429 |
| 430 /** |
| 431 * The source of the name. Use NameFromType to convert this to a string. |
| 432 * @type {number} |
| 433 * @see https://developer.chrome.com/extensions/automation#type-nameFrom |
| 434 */ |
| 435 chrome.automation.AutomationNode.prototype.nameFrom; |
| 436 |
| 437 /** |
| 438 * The value for this node: for example the <code>value</code> attribute of an <
code><input> element. |
| 439 * @type {string} |
| 440 * @see https://developer.chrome.com/extensions/automation#type-value |
| 441 */ |
| 442 chrome.automation.AutomationNode.prototype.value; |
| 443 |
| 444 /** |
| 445 * The HTML tag for this element, if this node is an HTML element. |
| 446 * @type {string} |
| 447 * @see https://developer.chrome.com/extensions/automation#type-htmlTag |
| 448 */ |
| 449 chrome.automation.AutomationNode.prototype.htmlTag; |
| 450 |
| 451 /** |
| 452 * The level of a heading or tree item. |
| 453 * @type {number} |
| 454 * @see https://developer.chrome.com/extensions/automation#type-hierarchicalLeve
l |
| 455 */ |
| 456 chrome.automation.AutomationNode.prototype.hierarchicalLevel; |
| 457 |
| 458 /** |
| 459 * The start and end index of each word in an inline text box. |
| 460 * @type {!Array<number>} |
| 461 * @see https://developer.chrome.com/extensions/automation#type-wordStarts |
| 462 */ |
| 463 chrome.automation.AutomationNode.prototype.wordStarts; |
| 464 |
| 465 /** |
| 466 * @type {!Array<number>} |
| 467 * @see https://developer.chrome.com/extensions/automation#type-wordEnds |
| 468 */ |
| 469 chrome.automation.AutomationNode.prototype.wordEnds; |
| 470 |
| 471 /** |
| 472 * The nodes, if any, which this node is specified to control via <a href="http:
//www.w3.org/TR/wai-aria/states_and_properties#aria-controls"> <code>aria-contro
ls</code></a>. |
| 473 * @type {!Array<!chrome.automation.AutomationNode>} |
| 474 * @see https://developer.chrome.com/extensions/automation#type-controls |
| 475 */ |
| 476 chrome.automation.AutomationNode.prototype.controls; |
| 477 |
| 478 /** |
| 479 * The nodes, if any, which form a description for this node. |
| 480 * @type {!Array<!chrome.automation.AutomationNode>} |
| 481 * @see https://developer.chrome.com/extensions/automation#type-describedBy |
| 482 */ |
| 483 chrome.automation.AutomationNode.prototype.describedBy; |
| 484 |
| 485 /** |
| 486 * The nodes, if any, which may optionally be navigated to after this one. See <
a href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-flowto"> <code>
aria-flowto</code></a>. |
| 487 * @type {!Array<!chrome.automation.AutomationNode>} |
| 488 * @see https://developer.chrome.com/extensions/automation#type-flowTo |
| 489 */ |
| 490 chrome.automation.AutomationNode.prototype.flowTo; |
| 491 |
| 492 /** |
| 493 * The nodes, if any, which form a label for this element. Generally, the text f
rom these elements will also be exposed as the element's accessible name, via th
e $(ref:automation.AutomationNode.name) attribute. |
| 494 * @type {!Array<!chrome.automation.AutomationNode>} |
| 495 * @see https://developer.chrome.com/extensions/automation#type-labelledBy |
| 496 */ |
| 497 chrome.automation.AutomationNode.prototype.labelledBy; |
| 498 |
| 499 /** |
| 500 * The node referred to by <code>aria-activedescendant</code>, where applicable |
| 501 * @type {!chrome.automation.AutomationNode} |
| 502 * @see https://developer.chrome.com/extensions/automation#type-activeDescendant |
| 503 */ |
| 504 chrome.automation.AutomationNode.prototype.activeDescendant; |
| 505 |
| 506 /** |
| 507 * The URL that this link will navigate to. |
| 508 * @type {string} |
| 509 * @see https://developer.chrome.com/extensions/automation#type-url |
| 510 */ |
| 511 chrome.automation.AutomationNode.prototype.url; |
| 512 |
| 513 /** |
| 514 * The URL of this document. |
| 515 * @type {string} |
| 516 * @see https://developer.chrome.com/extensions/automation#type-docUrl |
| 517 */ |
| 518 chrome.automation.AutomationNode.prototype.docUrl; |
| 519 |
| 520 /** |
| 521 * The title of this document. |
| 522 * @type {string} |
| 523 * @see https://developer.chrome.com/extensions/automation#type-docTitle |
| 524 */ |
| 525 chrome.automation.AutomationNode.prototype.docTitle; |
| 526 |
| 527 /** |
| 528 * Whether this document has finished loading. |
| 529 * @type {boolean} |
| 530 * @see https://developer.chrome.com/extensions/automation#type-docLoaded |
| 531 */ |
| 532 chrome.automation.AutomationNode.prototype.docLoaded; |
| 533 |
| 534 /** |
| 535 * The proportion (out of 1.0) that this doc has completed loading. |
| 536 * @type {number} |
| 537 * @see https://developer.chrome.com/extensions/automation#type-docLoadingProgre
ss |
| 538 */ |
| 539 chrome.automation.AutomationNode.prototype.docLoadingProgress; |
| 540 |
| 541 /** |
| 542 * Scrollable container attributes. |
| 543 * @type {number} |
| 544 * @see https://developer.chrome.com/extensions/automation#type-scrollX |
| 545 */ |
| 546 chrome.automation.AutomationNode.prototype.scrollX; |
| 547 |
| 548 /** |
| 549 * @type {number} |
| 550 * @see https://developer.chrome.com/extensions/automation#type-scrollXMin |
| 551 */ |
| 552 chrome.automation.AutomationNode.prototype.scrollXMin; |
| 553 |
| 554 /** |
| 555 * @type {number} |
| 556 * @see https://developer.chrome.com/extensions/automation#type-scrollXMax |
| 557 */ |
| 558 chrome.automation.AutomationNode.prototype.scrollXMax; |
| 559 |
| 560 /** |
| 561 * @type {number} |
| 562 * @see https://developer.chrome.com/extensions/automation#type-scrollY |
| 563 */ |
| 564 chrome.automation.AutomationNode.prototype.scrollY; |
| 565 |
| 566 /** |
| 567 * @type {number} |
| 568 * @see https://developer.chrome.com/extensions/automation#type-scrollYMin |
| 569 */ |
| 570 chrome.automation.AutomationNode.prototype.scrollYMin; |
| 571 |
| 572 /** |
| 573 * @type {number} |
| 574 * @see https://developer.chrome.com/extensions/automation#type-scrollYMax |
| 575 */ |
| 576 chrome.automation.AutomationNode.prototype.scrollYMax; |
| 577 |
| 578 /** |
| 579 * The character index of the start of the selection within this editable text e
lement; -1 if no selection. |
| 580 * @type {number} |
| 581 * @see https://developer.chrome.com/extensions/automation#type-textSelStart |
| 582 */ |
| 583 chrome.automation.AutomationNode.prototype.textSelStart; |
| 584 |
| 585 /** |
| 586 * The character index of the end of the selection within this editable text ele
ment; -1 if no selection. |
| 587 * @type {number} |
| 588 * @see https://developer.chrome.com/extensions/automation#type-textSelEnd |
| 589 */ |
| 590 chrome.automation.AutomationNode.prototype.textSelEnd; |
| 591 |
| 592 /** |
| 593 * The input type, like email or number. |
| 594 * @type {string} |
| 595 * @see https://developer.chrome.com/extensions/automation#type-textInputType |
| 596 */ |
| 597 chrome.automation.AutomationNode.prototype.textInputType; |
| 598 |
| 599 /** |
| 600 * An array of indexes of the start position of each text marker. |
| 601 * @see https://developer.chrome.com/extensions/automation#type-markerStarts |
| 602 */ |
| 603 chrome.automation.AutomationNode.prototype.markerStarts; |
| 604 |
| 605 /** |
| 606 * An array of indexes of the end position of each text marker. |
| 607 * @see https://developer.chrome.com/extensions/automation#type-markerEnds |
| 608 */ |
| 609 chrome.automation.AutomationNode.prototype.markerEnds; |
| 610 |
| 611 /** |
| 612 * An array of numerical types indicating the type of each text marker, such as
a spelling error. |
| 613 * @see https://developer.chrome.com/extensions/automation#type-markerTypes |
| 614 */ |
| 615 chrome.automation.AutomationNode.prototype.markerTypes; |
| 616 |
| 617 /** |
| 618 * The anchor node of the tree selection, if any. |
| 619 * @type {!chrome.automation.AutomationNode} |
| 620 * @see https://developer.chrome.com/extensions/automation#type-anchorObject |
| 621 */ |
| 622 chrome.automation.AutomationNode.prototype.anchorObject; |
| 623 |
| 624 /** |
| 625 * The anchor offset of the tree selection, if any. |
| 626 * @type {number} |
| 627 * @see https://developer.chrome.com/extensions/automation#type-anchorOffset |
| 628 */ |
| 629 chrome.automation.AutomationNode.prototype.anchorOffset; |
| 630 |
| 631 /** |
| 632 * The focus node of the tree selection, if any. |
| 633 * @type {!chrome.automation.AutomationNode} |
| 634 * @see https://developer.chrome.com/extensions/automation#type-focusObject |
| 635 */ |
| 636 chrome.automation.AutomationNode.prototype.focusObject; |
| 637 |
| 638 /** |
| 639 * The focus offset of the tree selection, if any. |
| 640 * @type {number} |
| 641 * @see https://developer.chrome.com/extensions/automation#type-focusOffset |
| 642 */ |
| 643 chrome.automation.AutomationNode.prototype.focusOffset; |
| 644 |
| 645 /** |
| 646 * The current value for this range. |
| 647 * @type {number} |
| 648 * @see https://developer.chrome.com/extensions/automation#type-valueForRange |
| 649 */ |
| 650 chrome.automation.AutomationNode.prototype.valueForRange; |
| 651 |
| 652 /** |
| 653 * The minimum possible value for this range. |
| 654 * @type {number} |
| 655 * @see https://developer.chrome.com/extensions/automation#type-minValueForRange |
| 656 */ |
| 657 chrome.automation.AutomationNode.prototype.minValueForRange; |
| 658 |
| 659 /** |
| 660 * The maximum possible value for this range. |
| 661 * @type {number} |
| 662 * @see https://developer.chrome.com/extensions/automation#type-maxValueForRange |
| 663 */ |
| 664 chrome.automation.AutomationNode.prototype.maxValueForRange; |
| 665 |
| 666 /** |
| 667 * The number of rows in this table. |
| 668 * @type {number} |
| 669 * @see https://developer.chrome.com/extensions/automation#type-tableRowCount |
| 670 */ |
| 671 chrome.automation.AutomationNode.prototype.tableRowCount; |
| 672 |
| 673 /** |
| 674 * The number of columns in this table. |
| 675 * @type {number} |
| 676 * @see https://developer.chrome.com/extensions/automation#type-tableColumnCount |
| 677 */ |
| 678 chrome.automation.AutomationNode.prototype.tableColumnCount; |
| 679 |
| 680 /** |
| 681 * The zero-based index of the column that this cell is in. |
| 682 * @type {number} |
| 683 * @see https://developer.chrome.com/extensions/automation#type-tableCellColumnI
ndex |
| 684 */ |
| 685 chrome.automation.AutomationNode.prototype.tableCellColumnIndex; |
| 686 |
| 687 /** |
| 688 * The number of columns that this cell spans (default is 1). |
| 689 * @type {number} |
| 690 * @see https://developer.chrome.com/extensions/automation#type-tableCellColumnS
pan |
| 691 */ |
| 692 chrome.automation.AutomationNode.prototype.tableCellColumnSpan; |
| 693 |
| 694 /** |
| 695 * The zero-based index of the row that this cell is in. |
| 696 * @type {number} |
| 697 * @see https://developer.chrome.com/extensions/automation#type-tableCellRowInde
x |
| 698 */ |
| 699 chrome.automation.AutomationNode.prototype.tableCellRowIndex; |
| 700 |
| 701 /** |
| 702 * The number of rows that this cell spans (default is 1). |
| 703 * @type {number} |
| 704 * @see https://developer.chrome.com/extensions/automation#type-tableCellRowSpan |
| 705 */ |
| 706 chrome.automation.AutomationNode.prototype.tableCellRowSpan; |
| 707 |
| 708 /** |
| 709 * The type of region if this is the root of a live region. Possible values are
'polite' and 'assertive'. |
| 710 * @type {string} |
| 711 * @see https://developer.chrome.com/extensions/automation#type-liveStatus |
| 712 */ |
| 713 chrome.automation.AutomationNode.prototype.liveStatus; |
| 714 |
| 715 /** |
| 716 * The value of aria-relevant for a live region. |
| 717 * @type {string} |
| 718 * @see https://developer.chrome.com/extensions/automation#type-liveRelevant |
| 719 */ |
| 720 chrome.automation.AutomationNode.prototype.liveRelevant; |
| 721 |
| 722 /** |
| 723 * The value of aria-atomic for a live region. |
| 724 * @type {boolean} |
| 725 * @see https://developer.chrome.com/extensions/automation#type-liveAtomic |
| 726 */ |
| 727 chrome.automation.AutomationNode.prototype.liveAtomic; |
| 728 |
| 729 /** |
| 730 * The value of aria-busy for a live region. |
| 731 * @type {boolean} |
| 732 * @see https://developer.chrome.com/extensions/automation#type-liveBusy |
| 733 */ |
| 734 chrome.automation.AutomationNode.prototype.liveBusy; |
| 735 |
| 736 /** |
| 737 * The type of live region if this node is inside a live region. |
| 738 * @type {string} |
| 739 * @see https://developer.chrome.com/extensions/automation#type-containerLiveSta
tus |
| 740 */ |
| 741 chrome.automation.AutomationNode.prototype.containerLiveStatus; |
| 742 |
| 743 /** |
| 744 * The value of aria-relevant if this node is inside a live region. |
| 745 * @type {string} |
| 746 * @see https://developer.chrome.com/extensions/automation#type-containerLiveRel
evant |
| 747 */ |
| 748 chrome.automation.AutomationNode.prototype.containerLiveRelevant; |
| 749 |
| 750 /** |
| 751 * The value of aria-atomic if this node is inside a live region. |
| 752 * @type {boolean} |
| 753 * @see https://developer.chrome.com/extensions/automation#type-containerLiveAto
mic |
| 754 */ |
| 755 chrome.automation.AutomationNode.prototype.containerLiveAtomic; |
| 756 |
| 757 /** |
| 758 * The value of aria-busy if this node is inside a live region. |
| 759 * @type {boolean} |
| 760 * @see https://developer.chrome.com/extensions/automation#type-containerLiveBus
y |
| 761 */ |
| 762 chrome.automation.AutomationNode.prototype.containerLiveBusy; |
| 763 |
| 764 /** |
| 765 * A map containing all HTML attributes and their values |
| 766 * @see https://developer.chrome.com/extensions/automation#type-htmlAttributes |
| 767 */ |
| 768 chrome.automation.AutomationNode.prototype.htmlAttributes; |
| 769 |
| 770 /** |
| 771 * The input type of a text field, such as "text" or "email". |
| 772 * @type {string} |
| 773 * @see https://developer.chrome.com/extensions/automation#type-inputType |
| 774 */ |
| 775 chrome.automation.AutomationNode.prototype.inputType; |
| 776 |
| 777 /** |
| 778 * Walking the tree. |
| 779 * @type {!Array<!chrome.automation.AutomationNode>} |
| 780 * @see https://developer.chrome.com/extensions/automation#type-children |
| 781 */ |
| 782 chrome.automation.AutomationNode.prototype.children; |
| 783 |
| 784 /** |
| 785 * @type {!chrome.automation.AutomationNode} |
| 786 * @see https://developer.chrome.com/extensions/automation#type-parent |
| 787 */ |
| 788 chrome.automation.AutomationNode.prototype.parent; |
| 789 |
| 790 /** |
| 791 * @type {!chrome.automation.AutomationNode} |
| 792 * @see https://developer.chrome.com/extensions/automation#type-firstChild |
| 793 */ |
| 794 chrome.automation.AutomationNode.prototype.firstChild; |
| 795 |
| 796 /** |
| 797 * @type {!chrome.automation.AutomationNode} |
| 798 * @see https://developer.chrome.com/extensions/automation#type-lastChild |
| 799 */ |
| 800 chrome.automation.AutomationNode.prototype.lastChild; |
| 801 |
| 802 /** |
| 803 * @type {!chrome.automation.AutomationNode} |
| 804 * @see https://developer.chrome.com/extensions/automation#type-previousSibling |
| 805 */ |
| 806 chrome.automation.AutomationNode.prototype.previousSibling; |
| 807 |
| 808 /** |
| 809 * @type {!chrome.automation.AutomationNode} |
| 810 * @see https://developer.chrome.com/extensions/automation#type-nextSibling |
| 811 */ |
| 812 chrome.automation.AutomationNode.prototype.nextSibling; |
| 813 |
| 814 /** |
| 815 * The index of this node in its parent node's list of children. If this is the
root node, this will be undefined. |
| 816 * @type {number} |
| 817 * @see https://developer.chrome.com/extensions/automation#type-indexInParent |
| 818 */ |
| 819 chrome.automation.AutomationNode.prototype.indexInParent; |
| 820 |
| 821 /** |
| 822 * Does the default action based on this node's role. This is generally the same |
| 823 * action that would result from clicking the node such as expanding a treeitem, |
| 824 * toggling a checkbox, selecting a radiobutton, or activating a button. |
| 825 * @see https://developer.chrome.com/extensions/automation#method-doDefault |
| 826 */ |
| 827 chrome.automation.AutomationNode.prototype.doDefault = function() {}; |
| 828 |
| 829 /** |
| 830 * Places focus on this node. |
| 831 * @see https://developer.chrome.com/extensions/automation#method-focus |
| 832 */ |
| 833 chrome.automation.AutomationNode.prototype.focus = function() {}; |
| 834 |
| 835 /** |
| 836 * Request a data url for the contents of an image, optionally resized. Pass |
| 837 * zero for maxWidth and/or maxHeight for the original size. |
| 838 * @param {number} maxWidth |
| 839 * @param {number} maxHeight |
| 840 * @see https://developer.chrome.com/extensions/automation#method-getImageData |
| 841 */ |
| 842 chrome.automation.AutomationNode.prototype.getImageData = function(maxWidth, max
Height) {}; |
| 843 |
| 844 /** |
| 845 * Scrolls this node to make it visible. |
| 846 * @see https://developer.chrome.com/extensions/automation#method-makeVisible |
| 847 */ |
| 848 chrome.automation.AutomationNode.prototype.makeVisible = function() {}; |
| 849 |
| 850 /** |
| 851 * Sets selection within a text field. |
| 852 * @param {number} startIndex |
| 853 * @param {number} endIndex |
| 854 * @see https://developer.chrome.com/extensions/automation#method-setSelection |
| 855 */ |
| 856 chrome.automation.AutomationNode.prototype.setSelection = function(startIndex, e
ndIndex) {}; |
| 857 |
| 858 /** |
| 859 * Clears focus and sets this node as the starting point for the next time the |
| 860 * user presses Tab or Shift+Tab. |
| 861 * @see https://developer.chrome.com/extensions/automation#method-setSequentialF
ocusNavigationStartingPoint |
| 862 */ |
| 863 chrome.automation.AutomationNode.prototype.setSequentialFocusNavigationStartingP
oint = function() {}; |
| 864 |
| 865 /** |
| 866 * Adds a listener for the given event type and event phase. |
| 867 * @param {!chrome.automation.EventType} eventType |
| 868 * @param {function(!chrome.automation.AutomationEvent):void} listener A |
| 869 * listener for events on an <code>AutomationNode</code>. |
| 870 * @param {boolean} capture |
| 871 * @see https://developer.chrome.com/extensions/automation#method-addEventListen
er |
| 872 */ |
| 873 chrome.automation.AutomationNode.prototype.addEventListener = function(eventType
, listener, capture) {}; |
| 874 |
| 875 /** |
| 876 * Removes a listener for the given event type and event phase. |
| 877 * @param {!chrome.automation.EventType} eventType |
| 878 * @param {function(!chrome.automation.AutomationEvent):void} listener A |
| 879 * listener for events on an <code>AutomationNode</code>. |
| 880 * @param {boolean} capture |
| 881 * @see https://developer.chrome.com/extensions/automation#method-removeEventLis
tener |
| 882 */ |
| 883 chrome.automation.AutomationNode.prototype.removeEventListener = function(eventT
ype, listener, capture) {}; |
| 884 |
| 885 /** |
| 886 * <p>Gets the first node in this node's subtree which matches the given CSS |
| 887 * selector and is within the same DOM context.</p><p>If this node doesn't |
| 888 * correspond directly with an HTML node in the DOM, querySelector will be run |
| 889 * on this node's nearest HTML node ancestor. Note that this may result in the |
| 890 * query returning a node which is not a descendant of this node.</p><p>If the |
| 891 * selector matches a node which doesn't directly correspond to an automation |
| 892 * node (for example an element within an ARIA widget, where the ARIA widget |
| 893 * forms one node of the automation tree, or an element which is hidden from |
| 894 * accessibility via hiding it using CSS or using aria-hidden), this will return |
| 895 * the nearest ancestor which does correspond to an automation node.</p> |
| 896 * @param {string} selector |
| 897 * @param {function(!chrome.automation.AutomationNode):void} callback Called |
| 898 * when the result for a <code>query</code> is available. |
| 899 * @see https://developer.chrome.com/extensions/automation#method-domQuerySelect
or |
| 900 */ |
| 901 chrome.automation.AutomationNode.prototype.domQuerySelector = function(selector,
callback) {}; |
| 902 |
| 903 /** |
| 904 * Finds the first AutomationNode in this node's subtree which matches the given |
| 905 * search parameters. |
| 906 * @param {!chrome.automation.FindParams} params |
| 907 * @return {!chrome.automation.AutomationNode} |
| 908 * @see https://developer.chrome.com/extensions/automation#method-find |
| 909 */ |
| 910 chrome.automation.AutomationNode.prototype.find = function(params) {}; |
| 911 |
| 912 /** |
| 913 * Finds all the AutomationNodes in this node's subtree which matches the given |
| 914 * search parameters. |
| 915 * @param {!chrome.automation.FindParams} params |
| 916 * @return {!Array<!chrome.automation.AutomationNode>} |
| 917 * @see https://developer.chrome.com/extensions/automation#method-findAll |
| 918 */ |
| 919 chrome.automation.AutomationNode.prototype.findAll = function(params) {}; |
| 920 |
| 921 /** |
| 922 * Returns whether this node matches the given $(ref:automation.FindParams). |
| 923 * @param {!chrome.automation.FindParams} params |
| 924 * @return {boolean} |
| 925 * @see https://developer.chrome.com/extensions/automation#method-matches |
| 926 */ |
| 927 chrome.automation.AutomationNode.prototype.matches = function(params) {}; |
| 928 |
| 929 |
| 930 /** |
| 931 * Get the automation tree for the tab with the given tabId, or the current tab |
| 932 * if no tabID is given, enabling automation if necessary. Returns a tree with a |
| 933 * placeholder root node; listen for the "loadComplete" event to get a |
| 934 * notification that the tree has fully loaded (the previous root node reference |
| 935 * will stop working at or before this point). |
335 * @param {number} tabId | 936 * @param {number} tabId |
336 * @param {function(chrome.automation.AutomationNode):void} callback | 937 * @param {function(!chrome.automation.AutomationNode):void} callback Called |
| 938 * when the <code>AutomationNode</code> for the page is available. |
| 939 * @see https://developer.chrome.com/extensions/automation#method-getTree |
337 */ | 940 */ |
338 chrome.automation.getTree = function(tabId, callback) {}; | 941 chrome.automation.getTree = function(tabId, callback) {}; |
339 | 942 |
340 /** @param {function(!chrome.automation.AutomationNode):void} callback */ | 943 /** |
| 944 * Get the automation tree for the whole desktop which consists of all on screen |
| 945 * views. Note this API is currently only supported on Chrome OS. |
| 946 * @param {function(!chrome.automation.AutomationNode):void} callback Called |
| 947 * when the <code>AutomationNode</code> for the page is available. |
| 948 * @see https://developer.chrome.com/extensions/automation#method-getDesktop |
| 949 */ |
341 chrome.automation.getDesktop = function(callback) {}; | 950 chrome.automation.getDesktop = function(callback) {}; |
342 | 951 |
343 /** @param {function(!chrome.automation.AutomationNode):void} callback */ | 952 /** |
| 953 * Get the automation node that currently has focus, globally. Will return null |
| 954 * if none of the nodes in any loaded trees have focus. |
| 955 * @param {function(!chrome.automation.AutomationNode):void} callback Called |
| 956 * with the <code>AutomationNode</code> that currently has focus. |
| 957 * @see https://developer.chrome.com/extensions/automation#method-getFocus |
| 958 */ |
344 chrome.automation.getFocus = function(callback) {}; | 959 chrome.automation.getFocus = function(callback) {}; |
345 | 960 |
346 /** | 961 /** |
347 * @param {string} filter | 962 * Add a tree change observer. Tree change observers are static/global, they |
348 * @param {function(chrome.automation.TreeChange) : void} | 963 * listen to changes across all trees. Pass a filter to determine what specific |
349 * observer | 964 * tree changes to listen to, and note that listnening to all tree changes can |
| 965 * be expensive. |
| 966 * @param {!chrome.automation.TreeChangeObserverFilter} filter |
| 967 * @param {function(!chrome.automation.TreeChange):void} observer A listener for |
| 968 * changes on the <code>AutomationNode</code> tree. |
| 969 * @see https://developer.chrome.com/extensions/automation#method-addTreeChangeO
bserver |
350 */ | 970 */ |
351 chrome.automation.addTreeChangeObserver = function(filter, observer) {}; | 971 chrome.automation.addTreeChangeObserver = function(filter, observer) {}; |
352 | 972 |
353 /** | 973 /** |
354 * @param {function(chrome.automation.TreeChange) : void} observer | 974 * Remove a tree change observer. |
| 975 * @param {function(!chrome.automation.TreeChange):void} observer A listener for |
| 976 * changes on the <code>AutomationNode</code> tree. |
| 977 * @see https://developer.chrome.com/extensions/automation#method-removeTreeChan
geObserver |
355 */ | 978 */ |
356 chrome.automation.removeTreeChangeObserver = function(observer) {}; | 979 chrome.automation.removeTreeChangeObserver = function(observer) {}; |
357 | 980 |
358 // | 981 /** |
359 // End auto generated externs; do not edit. | 982 * Sets the selection in a tree. This creates a selection in a single tree |
360 // | 983 * (anchorObject and focusObject must have the same root). Everything in the |
361 | 984 * tree between the two node/offset pairs gets included in the selection. The |
362 | 985 * anchor is where the user started the selection, while the focus is the point |
363 | 986 * at which the selection gets extended e.g. when dragging with a mouse or using |
364 /** | 987 * the keyboard. For nodes with the role staticText, the offset gives the |
365 * @type {chrome.automation.RoleType} | 988 * character offset within the value where the selection starts or ends, |
366 */ | 989 * respectively. |
367 chrome.automation.AutomationNode.prototype.role; | 990 * @param {!chrome.automation.SetDocumentSelectionParams} params |
368 | 991 * @see https://developer.chrome.com/extensions/automation#method-setDocumentSel
ection |
369 | 992 */ |
370 /** | 993 chrome.automation.setDocumentSelection = function(params) {}; |
371 * @type {!Object<chrome.automation.StateType, boolean>} | |
372 */ | |
373 chrome.automation.AutomationNode.prototype.state; | |
374 | |
375 | |
376 /** | |
377 * @type {chrome.automation.NameFromType} | |
378 */ | |
379 chrome.automation.AutomationNode.prototype.nameFrom; | |
380 | |
381 | |
382 /** | |
383 * @type {chrome.automation.DescriptionFromType} | |
384 */ | |
385 chrome.automation.AutomationNode.prototype.descriptionFrom; | |
386 | |
387 | |
388 /** | |
389 * @type {number} | |
390 */ | |
391 chrome.automation.AutomationNode.prototype.indexInParent; | |
392 | |
393 | |
394 /** | |
395 * @type {string} | |
396 */ | |
397 chrome.automation.AutomationNode.prototype.name; | |
398 | |
399 /** | |
400 * @type {string} | |
401 */ | |
402 chrome.automation.AutomationNode.prototype.description; | |
403 | |
404 | |
405 /** | |
406 * @type {string} | |
407 */ | |
408 chrome.automation.AutomationNode.prototype.url; | |
409 | |
410 | |
411 /** | |
412 * @type {string} | |
413 */ | |
414 chrome.automation.AutomationNode.prototype.docUrl; | |
415 | |
416 | |
417 /** | |
418 * @type {string} | |
419 */ | |
420 chrome.automation.AutomationNode.prototype.value; | |
421 | |
422 | |
423 /** | |
424 * @type {number} | |
425 */ | |
426 chrome.automation.AutomationNode.prototype.textSelStart; | |
427 | |
428 | |
429 /** | |
430 * @type {number} | |
431 */ | |
432 chrome.automation.AutomationNode.prototype.textSelEnd; | |
433 | |
434 | |
435 /** | |
436 * @type {Array<number>} | |
437 */ | |
438 chrome.automation.AutomationNode.prototype.wordStarts; | |
439 | |
440 | |
441 /** | |
442 * @type {Array<number>} | |
443 */ | |
444 chrome.automation.AutomationNode.prototype.wordEnds; | |
445 | |
446 | |
447 /** | |
448 * @type {chrome.automation.AutomationRootNode} | |
449 */ | |
450 chrome.automation.AutomationNode.prototype.root; | |
451 | |
452 | |
453 /** | |
454 * @type {chrome.automation.AutomationNode} | |
455 */ | |
456 chrome.automation.AutomationNode.prototype.firstChild; | |
457 | |
458 | |
459 /** | |
460 * @type {chrome.automation.AutomationNode} | |
461 */ | |
462 chrome.automation.AutomationNode.prototype.lastChild; | |
463 | |
464 | |
465 /** | |
466 * @type {chrome.automation.AutomationNode} | |
467 */ | |
468 chrome.automation.AutomationNode.prototype.nextSibling; | |
469 | |
470 | |
471 /** | |
472 * @type {chrome.automation.AutomationNode} | |
473 */ | |
474 chrome.automation.AutomationNode.prototype.previousSibling; | |
475 | |
476 | |
477 /** | |
478 * @type {chrome.automation.AutomationNode} | |
479 */ | |
480 chrome.automation.AutomationNode.prototype.parent; | |
481 | |
482 | |
483 /** | |
484 * @type {!Array<chrome.automation.AutomationNode>} | |
485 */ | |
486 chrome.automation.AutomationNode.prototype.children; | |
487 | |
488 | |
489 /** | |
490 * @type {{top: number, left: number, height: number, width: number}|undefined} | |
491 */ | |
492 chrome.automation.AutomationNode.prototype.location; | |
493 | |
494 | |
495 /** | |
496 * @param {number} start | |
497 * @param {number} end | |
498 * @return { | |
499 * ({top: number, left: number, height: number, width: number})|undefined} | |
500 */ | |
501 chrome.automation.AutomationNode.prototype.boundsForRange = | |
502 function(start, end) {}; | |
503 | |
504 | |
505 chrome.automation.AutomationNode.prototype.makeVisible = function() {}; | |
506 | |
507 | |
508 /** | |
509 * @param {chrome.automation.EventType} eventType | |
510 * @param {function(!chrome.automation.AutomationEvent) : void} callback | |
511 * @param {boolean} capture | |
512 */ | |
513 chrome.automation.AutomationNode.prototype.addEventListener = | |
514 function(eventType, callback, capture) {}; | |
515 | |
516 | |
517 /** | |
518 * @param {chrome.automation.EventType} eventType | |
519 * @param {function(!chrome.automation.AutomationEvent) : void} callback | |
520 * @param {boolean} capture | |
521 */ | |
522 chrome.automation.AutomationNode.prototype.removeEventListener = | |
523 function(eventType, callback, capture) {}; | |
524 | |
525 | |
526 /** | |
527 * @type {chrome.automation.AutomationNode} | |
528 */ | |
529 chrome.automation.TreeChange.prototype.target; | |
530 | |
531 | |
532 /** | |
533 * @type {chrome.automation.TreeChangeType} | |
534 */ | |
535 chrome.automation.TreeChange.prototype.type; | |
536 | |
537 | |
538 chrome.automation.AutomationNode.prototype.doDefault = function() {}; | |
539 | |
540 | |
541 chrome.automation.AutomationNode.prototype.focus = function() {}; | |
542 | |
543 | |
544 chrome.automation.AutomationNode.prototype.showContextMenu = function() {}; | |
545 | |
546 | |
547 chrome.automation.AutomationNode.prototype | |
548 .setSequentialFocusNavigationStartingPoint = function() {}; | |
549 | |
550 | |
551 /** | |
552 * @param {number} start | |
553 * @param {number} end | |
554 */ | |
555 chrome.automation.AutomationNode.prototype.setSelection = | |
556 function(start, end) {}; | |
557 | |
558 /** @type {string} */ | |
559 chrome.automation.AutomationNode.prototype.containerLiveStatus; | |
560 | |
561 /** @type {string} */ | |
562 chrome.automation.AutomationNode.prototype.containerLiveRelevant; | |
563 | |
564 /** @type {boolean} */ | |
565 chrome.automation.AutomationNode.prototype.containerLiveAtomic; | |
566 | |
567 /** @type {boolean} */ | |
568 chrome.automation.AutomationNode.prototype.containerLiveBusy; | |
569 | |
570 /** @type {string} */ | |
571 chrome.automation.AutomationNode.prototype.language; | |
572 | |
573 /** @type {string} */ | |
574 chrome.automation.AutomationNode.prototype.liveStatus; | |
575 | |
576 /** @type {string} */ | |
577 chrome.automation.AutomationNode.prototype.liveRelevant; | |
578 | |
579 /** @type {boolean} */ | |
580 chrome.automation.AutomationNode.prototype.liveAtomic; | |
581 | |
582 /** @type {boolean} */ | |
583 chrome.automation.AutomationNode.prototype.liveBusy; | |
584 | |
585 | |
586 /** | |
587 * @param {Object} findParams | |
588 */ | |
589 chrome.automation.AutomationNode.prototype.find = function(findParams) {}; | |
590 | |
591 /** | |
592 * @param {Object} findParams | |
593 * @return {Array<chrome.automation.AutomationNode>} | |
594 */ | |
595 chrome.automation.AutomationNode.prototype.findAll = function(findParams) {}; | |
596 | |
597 /** | |
598 * @type {string} | |
599 */ | |
600 chrome.automation.AutomationNode.prototype.inputType; | |
601 | |
602 /** | |
603 * @type {(chrome.automation.AutomationNode|undefined)} | |
604 */ | |
605 chrome.automation.AutomationNode.prototype.anchorObject; | |
606 | |
607 /** | |
608 * @param {{anchorObject: !chrome.automation.AutomationNode, | |
609 * anchorOffset: number, | |
610 * focusObject: !chrome.automation.AutomationNode, | |
611 * focusOffset: number}} selectionParams | |
612 */ | |
613 chrome.automation.setDocumentSelection = function(selectionParams) {}; | |
614 | |
615 /** | |
616 * @type {(number|undefined)} | |
617 */ | |
618 chrome.automation.anchorOffset; | |
619 | |
620 /** | |
621 * @type {(chrome.automation.AutomationNode|undefined)} | |
622 */ | |
623 chrome.automation.AutomationNode.prototype.focusObject; | |
624 | |
625 /** | |
626 * @type {(Array<number>|undefined)} | |
627 */ | |
628 chrome.automation.AutomationNode.prototype.lineBreaks; | |
629 | |
630 /** | |
631 * @type {(number|undefined)} | |
632 */ | |
633 chrome.automation.focusOffset; | |
634 | |
635 /** | |
636 * @type {(chrome.automation.AutomationNode|undefined)} | |
637 */ | |
638 chrome.automation.AutomationNode.prototype.activeDescendant; | |
639 | |
640 /** @type {number} */ | |
641 chrome.automation.AutomationNode.prototype.tableCellColumnIndex; | |
642 | |
643 /** @type {number} */ | |
644 chrome.automation.AutomationNode.prototype.tableCellRowIndex; | |
645 | |
646 /** @type {number} */ | |
647 chrome.automation.AutomationNode.prototype.tableColumnCount; | |
648 | |
649 /** @type {number} */ | |
650 chrome.automation.AutomationNode.prototype.tableRowCount; | |
651 | |
652 /** @type {number} */ | |
653 chrome.automation.AutomationNode.prototype.hierarchicalLevel; | |
654 | |
655 /** @type {Array<number>} */ | |
656 chrome.automation.AutomationNode.prototype.markerTypes; | |
657 /** @type {Array<number>} */ | |
658 chrome.automation.AutomationNode.prototype.markerStarts; | |
659 /** @type {Array<number>} */ | |
660 chrome.automation.AutomationNode.prototype.markerEnds; | |
661 | |
662 /** @type {boolean} */ | |
663 chrome.automation.AutomationNode.prototype.ariaReadonly; | |
664 | |
665 /** @type {chrome.automation.AutomationNode} */ | |
666 chrome.automation.AutomationNode.prototype.nextOnLine; | |
667 /** @type {chrome.automation.AutomationNode} */ | |
668 chrome.automation.AutomationNode.prototype.previousOnLine; | |
669 | |
670 /** @type {Object<string, string>} */ | |
671 chrome.automation.AutomationNode.prototype.htmlAttributes; | |
672 | |
673 /** | |
674 * @extends {chrome.automation.AutomationNode} | |
675 * @constructor | |
676 */ | |
677 chrome.automation.AutomationRootNode = function() {}; | |
678 | |
679 /** | |
680 * @type {chrome.automation.AutomationNode} | |
681 */ | |
682 chrome.automation.AutomationRootNode.prototype.anchorObject; | |
683 | |
684 /** | |
685 * @type {number} | |
686 */ | |
687 chrome.automation.AutomationRootNode.prototype.anchorOffset; | |
688 | |
689 /** | |
690 * @type {chrome.automation.AutomationNode} | |
691 */ | |
692 chrome.automation.AutomationRootNode.prototype.focusObject; | |
693 | |
694 /** | |
695 * @type {number} | |
696 */ | |
697 chrome.automation.AutomationRootNode.prototype.focusOffset; | |
OLD | NEW |