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