Index: third_party/closure_compiler/externs/automation.js |
diff --git a/third_party/closure_compiler/externs/automation.js b/third_party/closure_compiler/externs/automation.js |
index fd080cbb1195544e0318db209ba24e453fdde400..02560822ce0d9624b2c3bd9096cda1b72454c26a 100644 |
--- a/third_party/closure_compiler/externs/automation.js |
+++ b/third_party/closure_compiler/externs/automation.js |
@@ -1,14 +1,12 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
// This file was generated by: |
-// tools/json_schema_compiler/compiler.py -g externs |
-// chrome/common/extensions/api/automation.idl |
-// |
-// Further edits were applied by hand due to bugs / limitations in |
-// json_schema_compiler. |
-// |
+// tools/json_schema_compiler/compiler.py. |
+// NOTE: The format of types has changed. 'FooType' is now |
+// 'chrome.automation.FooType'. |
+// Please run the closure compiler before committing changes. |
// See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md |
/** @fileoverview Externs generated from namespace: automation */ |
@@ -20,247 +18,251 @@ chrome.automation = {}; |
/** |
* @enum {string} |
+ * @see https://developer.chrome.com/extensions/automation#type-EventType |
*/ |
chrome.automation.EventType = { |
- activedescendantchanged: '', |
- alert: '', |
- ariaAttributeChanged: '', |
- autocorrectionOccured: '', |
- blur: '', |
- checkedStateChanged: '', |
- childrenChanged: '', |
- documentSelectionChanged: '', |
- expandedChanged: '', |
- focus: '', |
- hide: '', |
- hover: '', |
- invalidStatusChanged: '', |
- layoutComplete: '', |
- liveRegionChanged: '', |
- loadComplete: '', |
- locationChanged: '', |
- menuEnd: '', |
- menuListItemSelected: '', |
- menuListValueChanged: '', |
- menuPopupEnd: '', |
- menuPopupStart: '', |
- menuStart: '', |
- mouseCanceled: '', |
- mouseDragged: '', |
- mouseMoved: '', |
- mousePressed: '', |
- mouseReleased: '', |
- rowCollapsed: '', |
- rowCountChanged: '', |
- rowExpanded: '', |
- scrollPositionChanged: '', |
- scrolledToAnchor: '', |
- selectedChildrenChanged: '', |
- selection: '', |
- selectionAdd: '', |
- selectionRemove: '', |
- show: '', |
- textChanged: '', |
- textSelectionChanged: '', |
- treeChanged: '', |
- valueChanged: '', |
+ ACTIVEDESCENDANTCHANGED: 'activedescendantchanged', |
+ ALERT: 'alert', |
+ ARIA_ATTRIBUTE_CHANGED: 'ariaAttributeChanged', |
+ AUTOCORRECTION_OCCURED: 'autocorrectionOccured', |
+ BLUR: 'blur', |
+ CHECKED_STATE_CHANGED: 'checkedStateChanged', |
+ CHILDREN_CHANGED: 'childrenChanged', |
+ CLICKED: 'clicked', |
+ DOCUMENT_SELECTION_CHANGED: 'documentSelectionChanged', |
+ EXPANDED_CHANGED: 'expandedChanged', |
+ FOCUS: 'focus', |
+ IMAGE_FRAME_UPDATED: 'imageFrameUpdated', |
+ HIDE: 'hide', |
+ HOVER: 'hover', |
+ INVALID_STATUS_CHANGED: 'invalidStatusChanged', |
+ LAYOUT_COMPLETE: 'layoutComplete', |
+ LIVE_REGION_CREATED: 'liveRegionCreated', |
+ LIVE_REGION_CHANGED: 'liveRegionChanged', |
+ LOAD_COMPLETE: 'loadComplete', |
+ LOCATION_CHANGED: 'locationChanged', |
+ MEDIA_STARTED_PLAYING: 'mediaStartedPlaying', |
+ MEDIA_STOPPED_PLAYING: 'mediaStoppedPlaying', |
+ MENU_END: 'menuEnd', |
+ MENU_LIST_ITEM_SELECTED: 'menuListItemSelected', |
+ MENU_LIST_VALUE_CHANGED: 'menuListValueChanged', |
+ MENU_POPUP_END: 'menuPopupEnd', |
+ MENU_POPUP_START: 'menuPopupStart', |
+ MENU_START: 'menuStart', |
+ MOUSE_CANCELED: 'mouseCanceled', |
+ MOUSE_DRAGGED: 'mouseDragged', |
+ MOUSE_MOVED: 'mouseMoved', |
+ MOUSE_PRESSED: 'mousePressed', |
+ MOUSE_RELEASED: 'mouseReleased', |
+ ROW_COLLAPSED: 'rowCollapsed', |
+ ROW_COUNT_CHANGED: 'rowCountChanged', |
+ ROW_EXPANDED: 'rowExpanded', |
+ SCROLL_POSITION_CHANGED: 'scrollPositionChanged', |
+ SCROLLED_TO_ANCHOR: 'scrolledToAnchor', |
+ SELECTED_CHILDREN_CHANGED: 'selectedChildrenChanged', |
+ SELECTION: 'selection', |
+ SELECTION_ADD: 'selectionAdd', |
+ SELECTION_REMOVE: 'selectionRemove', |
+ SHOW: 'show', |
+ TEXT_CHANGED: 'textChanged', |
+ TEXT_SELECTION_CHANGED: 'textSelectionChanged', |
+ TREE_CHANGED: 'treeChanged', |
+ VALUE_CHANGED: 'valueChanged', |
}; |
/** |
* @enum {string} |
+ * @see https://developer.chrome.com/extensions/automation#type-RoleType |
*/ |
chrome.automation.RoleType = { |
- alertDialog: '', |
- alert: '', |
- annotation: '', |
- application: '', |
- article: '', |
- banner: '', |
- blockquote: '', |
- busyIndicator: '', |
- button: '', |
- buttonDropDown: '', |
- canvas: '', |
- caption: '', |
- cell: '', |
- checkBox: '', |
- client: '', |
- colorWell: '', |
- columnHeader: '', |
- column: '', |
- comboBox: '', |
- complementary: '', |
- contentInfo: '', |
- date: '', |
- dateTime: '', |
- definition: '', |
- descriptionListDetail: '', |
- descriptionList: '', |
- descriptionListTerm: '', |
- desktop: '', |
- details: '', |
- dialog: '', |
- directory: '', |
- disclosureTriangle: '', |
- div: '', |
- document: '', |
- embeddedObject: '', |
- figcaption: '', |
- figure: '', |
- footer: '', |
- form: '', |
- grid: '', |
- group: '', |
- heading: '', |
- iframe: '', |
- iframePresentational: '', |
- ignored: '', |
- imageMapLink: '', |
- imageMap: '', |
- image: '', |
- inlineTextBox: '', |
- labelText: '', |
- legend: '', |
- lineBreak: '', |
- link: '', |
- listBoxOption: '', |
- listBox: '', |
- listItem: '', |
- listMarker: '', |
- list: '', |
- locationBar: '', |
- log: '', |
- main: '', |
- marquee: '', |
- math: '', |
- menuBar: '', |
- menuButton: '', |
- menuItem: '', |
- menuItemCheckBox: '', |
- menuItemRadio: '', |
- menuListOption: '', |
- menuListPopup: '', |
- menu: '', |
- meter: '', |
- navigation: '', |
- note: '', |
- outline: '', |
- pane: '', |
- paragraph: '', |
- popUpButton: '', |
- pre: '', |
- presentational: '', |
- progressIndicator: '', |
- radioButton: '', |
- radioGroup: '', |
- region: '', |
- rootWebArea: '', |
- rowHeader: '', |
- row: '', |
- ruby: '', |
- ruler: '', |
- svgRoot: '', |
- scrollArea: '', |
- scrollBar: '', |
- seamlessWebArea: '', |
- search: '', |
- searchBox: '', |
- slider: '', |
- sliderThumb: '', |
- spinButtonPart: '', |
- spinButton: '', |
- splitter: '', |
- staticText: '', |
- status: '', |
- switch: '', |
- tabGroup: '', |
- tabList: '', |
- tabPanel: '', |
- tab: '', |
- tableHeaderContainer: '', |
- table: '', |
- textField: '', |
- time: '', |
- timer: '', |
- titleBar: '', |
- toggleButton: '', |
- toolbar: '', |
- treeGrid: '', |
- treeItem: '', |
- tree: '', |
- unknown: '', |
- tooltip: '', |
- webArea: '', |
- webView: '', |
- window: '', |
+ ABBR: 'abbr', |
+ ALERT_DIALOG: 'alertDialog', |
+ ALERT: 'alert', |
+ ANNOTATION: 'annotation', |
+ APPLICATION: 'application', |
+ ARTICLE: 'article', |
+ AUDIO: 'audio', |
+ BANNER: 'banner', |
+ BLOCKQUOTE: 'blockquote', |
+ BUSY_INDICATOR: 'busyIndicator', |
+ BUTTON: 'button', |
+ BUTTON_DROP_DOWN: 'buttonDropDown', |
+ CANVAS: 'canvas', |
+ CAPTION: 'caption', |
+ CELL: 'cell', |
+ CHECK_BOX: 'checkBox', |
+ CLIENT: 'client', |
+ COLOR_WELL: 'colorWell', |
+ COLUMN_HEADER: 'columnHeader', |
+ COLUMN: 'column', |
+ COMBO_BOX: 'comboBox', |
+ COMPLEMENTARY: 'complementary', |
+ CONTENT_INFO: 'contentInfo', |
+ DATE: 'date', |
+ DATE_TIME: 'dateTime', |
+ DEFINITION: 'definition', |
+ DESCRIPTION_LIST_DETAIL: 'descriptionListDetail', |
+ DESCRIPTION_LIST: 'descriptionList', |
+ DESCRIPTION_LIST_TERM: 'descriptionListTerm', |
+ DESKTOP: 'desktop', |
+ DETAILS: 'details', |
+ DIALOG: 'dialog', |
+ DIRECTORY: 'directory', |
+ DISCLOSURE_TRIANGLE: 'disclosureTriangle', |
+ DIV: 'div', |
+ DOCUMENT: 'document', |
+ EMBEDDED_OBJECT: 'embeddedObject', |
+ FEED: 'feed', |
+ FIGCAPTION: 'figcaption', |
+ FIGURE: 'figure', |
+ FOOTER: 'footer', |
+ FORM: 'form', |
+ GRID: 'grid', |
+ GROUP: 'group', |
+ HEADING: 'heading', |
+ IFRAME: 'iframe', |
+ IFRAME_PRESENTATIONAL: 'iframePresentational', |
+ IGNORED: 'ignored', |
+ IMAGE_MAP_LINK: 'imageMapLink', |
+ IMAGE_MAP: 'imageMap', |
+ IMAGE: 'image', |
+ INLINE_TEXT_BOX: 'inlineTextBox', |
+ INPUT_TIME: 'inputTime', |
+ LABEL_TEXT: 'labelText', |
+ LEGEND: 'legend', |
+ LINE_BREAK: 'lineBreak', |
+ LINK: 'link', |
+ LIST_BOX_OPTION: 'listBoxOption', |
+ LIST_BOX: 'listBox', |
+ LIST_ITEM: 'listItem', |
+ LIST_MARKER: 'listMarker', |
+ LIST: 'list', |
+ LOCATION_BAR: 'locationBar', |
+ LOG: 'log', |
+ MAIN: 'main', |
+ MARK: 'mark', |
+ MARQUEE: 'marquee', |
+ MATH: 'math', |
+ MENU_BAR: 'menuBar', |
+ MENU_BUTTON: 'menuButton', |
+ MENU_ITEM: 'menuItem', |
+ MENU_ITEM_CHECK_BOX: 'menuItemCheckBox', |
+ MENU_ITEM_RADIO: 'menuItemRadio', |
+ MENU_LIST_OPTION: 'menuListOption', |
+ MENU_LIST_POPUP: 'menuListPopup', |
+ MENU: 'menu', |
+ METER: 'meter', |
+ NAVIGATION: 'navigation', |
+ NOTE: 'note', |
+ OUTLINE: 'outline', |
+ PANE: 'pane', |
+ PARAGRAPH: 'paragraph', |
+ POP_UP_BUTTON: 'popUpButton', |
+ PRE: 'pre', |
+ PRESENTATIONAL: 'presentational', |
+ PROGRESS_INDICATOR: 'progressIndicator', |
+ RADIO_BUTTON: 'radioButton', |
+ RADIO_GROUP: 'radioGroup', |
+ REGION: 'region', |
+ ROOT_WEB_AREA: 'rootWebArea', |
+ ROW_HEADER: 'rowHeader', |
+ ROW: 'row', |
+ RUBY: 'ruby', |
+ RULER: 'ruler', |
+ SVG_ROOT: 'svgRoot', |
+ SCROLL_AREA: 'scrollArea', |
+ SCROLL_BAR: 'scrollBar', |
+ SEAMLESS_WEB_AREA: 'seamlessWebArea', |
+ SEARCH: 'search', |
+ SEARCH_BOX: 'searchBox', |
+ SLIDER: 'slider', |
+ SLIDER_THUMB: 'sliderThumb', |
+ SPIN_BUTTON_PART: 'spinButtonPart', |
+ SPIN_BUTTON: 'spinButton', |
+ SPLITTER: 'splitter', |
+ STATIC_TEXT: 'staticText', |
+ STATUS: 'status', |
+ SWITCH: 'switch', |
+ TAB_GROUP: 'tabGroup', |
+ TAB_LIST: 'tabList', |
+ TAB_PANEL: 'tabPanel', |
+ TAB: 'tab', |
+ TABLE_HEADER_CONTAINER: 'tableHeaderContainer', |
+ TABLE: 'table', |
+ TERM: 'term', |
+ TEXT_FIELD: 'textField', |
+ TIME: 'time', |
+ TIMER: 'timer', |
+ TITLE_BAR: 'titleBar', |
+ TOGGLE_BUTTON: 'toggleButton', |
+ TOOLBAR: 'toolbar', |
+ TREE_GRID: 'treeGrid', |
+ TREE_ITEM: 'treeItem', |
+ TREE: 'tree', |
+ UNKNOWN: 'unknown', |
+ TOOLTIP: 'tooltip', |
+ VIDEO: 'video', |
+ WEB_AREA: 'webArea', |
+ WEB_VIEW: 'webView', |
+ WINDOW: 'window', |
}; |
/** |
* @enum {string} |
+ * @see https://developer.chrome.com/extensions/automation#type-StateType |
*/ |
chrome.automation.StateType = { |
- busy: '', |
- checked: '', |
- collapsed: '', |
- default: '', |
- disabled: '', |
- editable: '', |
- expanded: '', |
- focusable: '', |
- focused: '', |
- haspopup: '', |
- horizontal: '', |
- hovered: '', |
- indeterminate: '', |
- invisible: '', |
- linked: '', |
- multiline: '', |
- multiselectable: '', |
- offscreen: '', |
- pressed: '', |
- protected: '', |
- readOnly: '', |
- required: '', |
- richlyEditable: '', |
- selectable: '', |
- selected: '', |
- vertical: '', |
- visited: '', |
+ BUSY: 'busy', |
+ CHECKED: 'checked', |
+ COLLAPSED: 'collapsed', |
+ DEFAULT: 'default', |
+ DISABLED: 'disabled', |
+ EDITABLE: 'editable', |
+ EXPANDED: 'expanded', |
+ FOCUSABLE: 'focusable', |
+ FOCUSED: 'focused', |
+ HASPOPUP: 'haspopup', |
+ HORIZONTAL: 'horizontal', |
+ HOVERED: 'hovered', |
+ INVISIBLE: 'invisible', |
+ LINKED: 'linked', |
+ MULTILINE: 'multiline', |
+ MULTISELECTABLE: 'multiselectable', |
+ OFFSCREEN: 'offscreen', |
+ PRESSED: 'pressed', |
+ PROTECTED: 'protected', |
+ READ_ONLY: 'readOnly', |
+ REQUIRED: 'required', |
+ RICHLY_EDITABLE: 'richlyEditable', |
+ SELECTABLE: 'selectable', |
+ SELECTED: 'selected', |
+ VERTICAL: 'vertical', |
+ VISITED: 'visited', |
}; |
/** |
- * @enum {number} |
- */ |
-chrome.automation.NameFromType = { |
- 0: '', |
- 1: 'uninitialized', |
- 2: 'attribute', |
- 3: 'contents', |
- 4: 'placeholder', |
- 5: 'relatedElement', |
- 6: 'value' |
-}; |
- |
-/** |
- * @enum {number} |
+ * @enum {string} |
+ * @see https://developer.chrome.com/extensions/automation#type-TreeChangeType |
*/ |
-chrome.automation.DescriptionFromType = { |
- 0: '', |
- 1: 'uninitialized', |
- 2: 'attribute', |
- 3: 'contents', |
- 4: 'placeholder', |
- 5: 'relatedElement' |
+chrome.automation.TreeChangeType = { |
+ NODE_CREATED: 'nodeCreated', |
+ SUBTREE_CREATED: 'subtreeCreated', |
+ NODE_CHANGED: 'nodeChanged', |
+ TEXT_CHANGED: 'textChanged', |
+ NODE_REMOVED: 'nodeRemoved', |
}; |
/** |
* @enum {string} |
+ * @see https://developer.chrome.com/extensions/automation#type-NameFromType |
*/ |
-chrome.automation.TreeChangeType = { |
- nodeCreated: 'nodeCreated', |
- subtreeCreated: 'subtreeCreated', |
- nodeChanged: 'nodeChanged', |
- nodeRemoved: 'nodeRemoved', |
+chrome.automation.NameFromType = { |
+ UNINITIALIZED: 'uninitialized', |
+ ATTRIBUTE: 'attribute', |
+ CONTENTS: 'contents', |
+ PLACEHOLDER: 'placeholder', |
+ RELATED_ELEMENT: 'related_element', |
+ VALUE: 'value', |
}; |
/** |
@@ -270,6 +272,7 @@ chrome.automation.TreeChangeType = { |
* width: number, |
* height: number |
* }} |
+ * @see https://developer.chrome.com/extensions/automation#type-Rect |
*/ |
chrome.automation.Rect; |
@@ -279,419 +282,890 @@ chrome.automation.Rect; |
* state: (Object|undefined), |
* attributes: (Object|undefined) |
* }} |
+ * @see https://developer.chrome.com/extensions/automation#type-FindParams |
*/ |
chrome.automation.FindParams; |
/** |
+ * @typedef {{ |
+ * anchorObject: Object, |
+ * anchorOffset: number, |
+ * focusObject: Object, |
+ * focusOffset: number |
+ * }} |
+ * @see https://developer.chrome.com/extensions/automation#type-SetDocumentSelectionParams |
+ */ |
+chrome.automation.SetDocumentSelectionParams; |
+ |
+/** |
* @constructor |
- * @param {chrome.automation.EventType} type |
- * @param {chrome.automation.AutomationNode} node |
- * @param {string} eventFrom |
+ * @private |
+ * @see https://developer.chrome.com/extensions/automation#type-AutomationEvent |
*/ |
-chrome.automation.AutomationEvent = function(type, node, eventFrom) {}; |
+chrome.automation.AutomationEvent = function() {}; |
/** |
+ * The $(ref:automation.AutomationNode) to which the event was targeted. |
* @type {!chrome.automation.AutomationNode} |
+ * @see https://developer.chrome.com/extensions/automation#type-target |
*/ |
chrome.automation.AutomationEvent.prototype.target; |
/** |
+ * The type of the event. |
* @type {!chrome.automation.EventType} |
+ * @see https://developer.chrome.com/extensions/automation#type-type |
*/ |
chrome.automation.AutomationEvent.prototype.type; |
/** |
+ * The source of this event. |
* @type {string} |
+ * @see https://developer.chrome.com/extensions/automation#type-eventFrom |
*/ |
chrome.automation.AutomationEvent.prototype.eventFrom; |
/** |
* @type {number} |
+ * @see https://developer.chrome.com/extensions/automation#type-mouseX |
*/ |
chrome.automation.AutomationEvent.prototype.mouseX; |
/** |
* @type {number} |
+ * @see https://developer.chrome.com/extensions/automation#type-mouseY |
*/ |
chrome.automation.AutomationEvent.prototype.mouseY; |
+/** |
+ * Stops this event from further processing except for any remaining listeners |
+ * on $(ref:AutomationEvent.target). |
+ * @see https://developer.chrome.com/extensions/automation#method-stopPropagation |
+ */ |
chrome.automation.AutomationEvent.prototype.stopPropagation = function() {}; |
+ |
/** |
* @typedef {{ |
- * target: chrome.automation.AutomationNode, |
+ * target: !chrome.automation.AutomationNode, |
* type: !chrome.automation.TreeChangeType |
* }} |
+ * @see https://developer.chrome.com/extensions/automation#type-TreeChange |
*/ |
chrome.automation.TreeChange; |
/** |
+ * @enum {string} |
+ * @see https://developer.chrome.com/extensions/automation#type-TreeChangeObserverFilter |
+ */ |
+chrome.automation.TreeChangeObserverFilter = { |
+ NO_TREE_CHANGES: 'noTreeChanges', |
+ LIVE_REGION_TREE_CHANGES: 'liveRegionTreeChanges', |
+ TEXT_MARKER_CHANGES: 'textMarkerChanges', |
+ ALL_TREE_CHANGES: 'allTreeChanges', |
+}; |
+ |
+/** |
* @constructor |
+ * @private |
+ * @see https://developer.chrome.com/extensions/automation#type-AutomationNode |
*/ |
chrome.automation.AutomationNode = function() {}; |
+/** |
+ * The root node of the tree containing this AutomationNode. |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-root |
+ */ |
+chrome.automation.AutomationNode.prototype.root; |
/** |
- * @param {number} tabId |
- * @param {function(chrome.automation.AutomationNode):void} callback |
+ * Whether this AutomationNode is a root node. |
+ * @type {boolean} |
+ * @see https://developer.chrome.com/extensions/automation#type-isRootNode |
*/ |
-chrome.automation.getTree = function(tabId, callback) {}; |
+chrome.automation.AutomationNode.prototype.isRootNode; |
-/** @param {function(!chrome.automation.AutomationNode):void} callback */ |
-chrome.automation.getDesktop = function(callback) {}; |
+/** |
+ * The role of this node. |
+ * @type {(!chrome.automation.RoleType|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-role |
+ */ |
+chrome.automation.AutomationNode.prototype.role; |
-/** @param {function(!chrome.automation.AutomationNode):void} callback */ |
-chrome.automation.getFocus = function(callback) {}; |
+/** |
+ * The $(ref:automation.StateType)s describing this node. |
+ * @type {Object<chrome.automation.StateType, boolean>} |
+ * @see https://developer.chrome.com/extensions/automation#type-state |
+ */ |
+chrome.automation.AutomationNode.prototype.state; |
/** |
- * @param {string} filter |
- * @param {function(chrome.automation.TreeChange) : void} |
- * observer |
+ * The rendered location (as a bounding box) of this node in global screen coordinates. |
+ * @type {(!chrome.automation.Rect|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-location |
*/ |
-chrome.automation.addTreeChangeObserver = function(filter, observer) {}; |
+chrome.automation.AutomationNode.prototype.location; |
/** |
- * @param {function(chrome.automation.TreeChange) : void} observer |
+ * Computes the bounding box of a subrange of this node in global screen |
+ * coordinates. Returns the same as |location| if range information is not |
+ * available. The start and end indices are zero-based offsets into the node's |
+ * "name" string attribute. |
+ * @param {number} startIndex |
+ * @param {number} endIndex |
+ * @return {!chrome.automation.Rect} |
+ * @see https://developer.chrome.com/extensions/automation#method-boundsForRange |
*/ |
-chrome.automation.removeTreeChangeObserver = function(observer) {}; |
+chrome.automation.AutomationNode.prototype.boundsForRange = function(startIndex, endIndex) {}; |
-// |
-// End auto generated externs; do not edit. |
-// |
+/** |
+ * The purpose of the node, other than the role, if any. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-description |
+ */ |
+chrome.automation.AutomationNode.prototype.description; |
+/** |
+ * The placeholder for this text field, if any. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-placeholder |
+ */ |
+chrome.automation.AutomationNode.prototype.placeholder; |
+/** |
+ * The accessible name for this node, via the <a href="http://www.w3.org/TR/wai-aria/roles#namecalculation"> Accessible Name Calculation</a> process. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-name |
+ */ |
+chrome.automation.AutomationNode.prototype.name; |
/** |
- * @type {chrome.automation.RoleType} |
+ * The source of the name. |
+ * @type {(!chrome.automation.NameFromType|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-nameFrom |
*/ |
-chrome.automation.AutomationNode.prototype.role; |
+chrome.automation.AutomationNode.prototype.nameFrom; |
+/** |
+ * The value for this node: for example the <code>value</code> attribute of an <code><input> element. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-value |
+ */ |
+chrome.automation.AutomationNode.prototype.value; |
/** |
- * @type {!Object<chrome.automation.StateType, boolean>} |
+ * The HTML tag for this element, if this node is an HTML element. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-htmlTag |
*/ |
-chrome.automation.AutomationNode.prototype.state; |
+chrome.automation.AutomationNode.prototype.htmlTag; |
+/** |
+ * The level of a heading or tree item. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-hierarchicalLevel |
+ */ |
+chrome.automation.AutomationNode.prototype.hierarchicalLevel; |
/** |
- * @type {chrome.automation.NameFromType} |
+ * The start and end index of each word in an inline text box. |
+ * @type {(!Array<number>|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-wordStarts |
*/ |
-chrome.automation.AutomationNode.prototype.nameFrom; |
+chrome.automation.AutomationNode.prototype.wordStarts; |
+/** |
+ * @type {(!Array<number>|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-wordEnds |
+ */ |
+chrome.automation.AutomationNode.prototype.wordEnds; |
/** |
- * @type {chrome.automation.DescriptionFromType} |
+ * 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-controls</code></a>. |
+ * @type {(!Array<!chrome.automation.AutomationNode>|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-controls |
*/ |
-chrome.automation.AutomationNode.prototype.descriptionFrom; |
+chrome.automation.AutomationNode.prototype.controls; |
+/** |
+ * The nodes, if any, which form a description for this node. |
+ * @type {(!Array<!chrome.automation.AutomationNode>|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-describedBy |
+ */ |
+chrome.automation.AutomationNode.prototype.describedBy; |
/** |
- * @type {number} |
+ * 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>. |
+ * @type {(!Array<!chrome.automation.AutomationNode>|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-flowTo |
*/ |
-chrome.automation.AutomationNode.prototype.indexInParent; |
+chrome.automation.AutomationNode.prototype.flowTo; |
+/** |
+ * The nodes, if any, which form a label for this element. Generally, the text from these elements will also be exposed as the element's accessible name, via the $(ref:automation.AutomationNode.name) attribute. |
+ * @type {(!Array<!chrome.automation.AutomationNode>|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-labelledBy |
+ */ |
+chrome.automation.AutomationNode.prototype.labelledBy; |
/** |
- * @type {string} |
+ * The node referred to by <code>aria-activedescendant</code>, where applicable |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-activeDescendant |
*/ |
-chrome.automation.AutomationNode.prototype.name; |
+chrome.automation.AutomationNode.prototype.activeDescendant; |
/** |
- * @type {string} |
+ * The URL that this link will navigate to. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-url |
*/ |
-chrome.automation.AutomationNode.prototype.description; |
+chrome.automation.AutomationNode.prototype.url; |
+/** |
+ * The URL of this document. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-docUrl |
+ */ |
+chrome.automation.AutomationNode.prototype.docUrl; |
/** |
- * @type {string} |
+ * The title of this document. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-docTitle |
*/ |
-chrome.automation.AutomationNode.prototype.url; |
+chrome.automation.AutomationNode.prototype.docTitle; |
+/** |
+ * Whether this document has finished loading. |
+ * @type {(boolean|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-docLoaded |
+ */ |
+chrome.automation.AutomationNode.prototype.docLoaded; |
/** |
- * @type {string} |
+ * The proportion (out of 1.0) that this doc has completed loading. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-docLoadingProgress |
*/ |
-chrome.automation.AutomationNode.prototype.docUrl; |
+chrome.automation.AutomationNode.prototype.docLoadingProgress; |
+/** |
+ * Scrollable container attributes. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-scrollX |
+ */ |
+chrome.automation.AutomationNode.prototype.scrollX; |
/** |
- * @type {string} |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-scrollXMin |
*/ |
-chrome.automation.AutomationNode.prototype.value; |
+chrome.automation.AutomationNode.prototype.scrollXMin; |
+/** |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-scrollXMax |
+ */ |
+chrome.automation.AutomationNode.prototype.scrollXMax; |
/** |
- * @type {number} |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-scrollY |
*/ |
-chrome.automation.AutomationNode.prototype.textSelStart; |
+chrome.automation.AutomationNode.prototype.scrollY; |
+/** |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-scrollYMin |
+ */ |
+chrome.automation.AutomationNode.prototype.scrollYMin; |
/** |
- * @type {number} |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-scrollYMax |
+ */ |
+chrome.automation.AutomationNode.prototype.scrollYMax; |
+ |
+/** |
+ * The character index of the start of the selection within this editable text element; -1 if no selection. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-textSelStart |
+ */ |
+chrome.automation.AutomationNode.prototype.textSelStart; |
+ |
+/** |
+ * The character index of the end of the selection within this editable text element; -1 if no selection. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-textSelEnd |
*/ |
chrome.automation.AutomationNode.prototype.textSelEnd; |
+/** |
+ * The input type, like email or number. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-textInputType |
+ */ |
+chrome.automation.AutomationNode.prototype.textInputType; |
/** |
- * @type {Array<number>} |
+ * An array of indexes of the break between lines in editable text. |
+ * @type {!Array<number>} |
+ * @see https://developer.chrome.com/extensions/automation#type-lineBreaks |
*/ |
-chrome.automation.AutomationNode.prototype.wordStarts; |
+chrome.automation.AutomationNode.prototype.lineBreaks; |
+/** |
+ * An array of indexes of the start position of each text marker. |
+ * @type {!Array<number>} |
+ * @see https://developer.chrome.com/extensions/automation#type-markerStarts |
+ */ |
+chrome.automation.AutomationNode.prototype.markerStarts; |
/** |
- * @type {Array<number>} |
+ * An array of indexes of the end position of each text marker. |
+ * @type {!Array<number>} |
+ * @see https://developer.chrome.com/extensions/automation#type-markerEnds |
*/ |
-chrome.automation.AutomationNode.prototype.wordEnds; |
+chrome.automation.AutomationNode.prototype.markerEnds; |
+/** |
+ * An array of numerical types indicating the type of each text marker, such as a spelling error. |
+ * @type {!Array<number>} |
+ * @see https://developer.chrome.com/extensions/automation#type-markerTypes |
+ */ |
+chrome.automation.AutomationNode.prototype.markerTypes; |
/** |
- * @type {chrome.automation.AutomationRootNode} |
+ * The anchor node of the tree selection, if any. |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-anchorObject |
*/ |
-chrome.automation.AutomationNode.prototype.root; |
+chrome.automation.AutomationNode.prototype.anchorObject; |
+/** |
+ * The anchor offset of the tree selection, if any. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-anchorOffset |
+ */ |
+chrome.automation.AutomationNode.prototype.anchorOffset; |
/** |
- * @type {chrome.automation.AutomationNode} |
+ * The affinity of the tree selection anchor, if any. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-anchorAffinity |
*/ |
-chrome.automation.AutomationNode.prototype.firstChild; |
+chrome.automation.AutomationNode.prototype.anchorAffinity; |
+/** |
+ * The focus node of the tree selection, if any. |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-focusObject |
+ */ |
+chrome.automation.AutomationNode.prototype.focusObject; |
/** |
- * @type {chrome.automation.AutomationNode} |
+ * The focus offset of the tree selection, if any. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-focusOffset |
*/ |
-chrome.automation.AutomationNode.prototype.lastChild; |
+chrome.automation.AutomationNode.prototype.focusOffset; |
+/** |
+ * The affinity of the tree selection focus, if any. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-focusAffinity |
+ */ |
+chrome.automation.AutomationNode.prototype.focusAffinity; |
/** |
- * @type {chrome.automation.AutomationNode} |
+ * The current value for this range. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-valueForRange |
*/ |
-chrome.automation.AutomationNode.prototype.nextSibling; |
+chrome.automation.AutomationNode.prototype.valueForRange; |
+/** |
+ * The minimum possible value for this range. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-minValueForRange |
+ */ |
+chrome.automation.AutomationNode.prototype.minValueForRange; |
/** |
- * @type {chrome.automation.AutomationNode} |
+ * The maximum possible value for this range. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-maxValueForRange |
*/ |
-chrome.automation.AutomationNode.prototype.previousSibling; |
+chrome.automation.AutomationNode.prototype.maxValueForRange; |
+/** |
+ * The 1-based index of an item in a set. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-posInSet |
+ */ |
+chrome.automation.AutomationNode.prototype.posInSet; |
/** |
- * @type {chrome.automation.AutomationNode} |
+ * The number of items in a set; |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-setSize |
*/ |
-chrome.automation.AutomationNode.prototype.parent; |
+chrome.automation.AutomationNode.prototype.setSize; |
+/** |
+ * The number of rows in this table. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-tableRowCount |
+ */ |
+chrome.automation.AutomationNode.prototype.tableRowCount; |
/** |
- * @type {!Array<chrome.automation.AutomationNode>} |
+ * The number of columns in this table. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-tableColumnCount |
*/ |
-chrome.automation.AutomationNode.prototype.children; |
+chrome.automation.AutomationNode.prototype.tableColumnCount; |
+ |
+/** |
+ * The zero-based index of the column that this cell is in. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-tableCellColumnIndex |
+ */ |
+chrome.automation.AutomationNode.prototype.tableCellColumnIndex; |
+/** |
+ * The number of columns that this cell spans (default is 1). |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-tableCellColumnSpan |
+ */ |
+chrome.automation.AutomationNode.prototype.tableCellColumnSpan; |
/** |
- * @type {{top: number, left: number, height: number, width: number}|undefined} |
+ * The zero-based index of the row that this cell is in. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-tableCellRowIndex |
*/ |
-chrome.automation.AutomationNode.prototype.location; |
+chrome.automation.AutomationNode.prototype.tableCellRowIndex; |
+/** |
+ * The number of rows that this cell spans (default is 1). |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-tableCellRowSpan |
+ */ |
+chrome.automation.AutomationNode.prototype.tableCellRowSpan; |
/** |
- * @param {number} start |
- * @param {number} end |
- * @return { |
- * ({top: number, left: number, height: number, width: number})|undefined} |
+ * The corresponding column header for this cell. |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-tableColumnHeader |
*/ |
-chrome.automation.AutomationNode.prototype.boundsForRange = |
- function(start, end) {}; |
+chrome.automation.AutomationNode.prototype.tableColumnHeader; |
+/** |
+ * The corresponding row header for this cell. |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-tableRowHeader |
+ */ |
+chrome.automation.AutomationNode.prototype.tableRowHeader; |
-chrome.automation.AutomationNode.prototype.makeVisible = function() {}; |
+/** |
+ * The type of region if this is the root of a live region. Possible values are 'polite' and 'assertive'. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-liveStatus |
+ */ |
+chrome.automation.AutomationNode.prototype.liveStatus; |
+/** |
+ * The value of aria-relevant for a live region. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-liveRelevant |
+ */ |
+chrome.automation.AutomationNode.prototype.liveRelevant; |
/** |
- * @param {chrome.automation.EventType} eventType |
- * @param {function(!chrome.automation.AutomationEvent) : void} callback |
- * @param {boolean} capture |
+ * The value of aria-atomic for a live region. |
+ * @type {(boolean|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-liveAtomic |
*/ |
-chrome.automation.AutomationNode.prototype.addEventListener = |
- function(eventType, callback, capture) {}; |
+chrome.automation.AutomationNode.prototype.liveAtomic; |
+/** |
+ * The value of aria-busy for a live region. |
+ * @type {(boolean|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-liveBusy |
+ */ |
+chrome.automation.AutomationNode.prototype.liveBusy; |
/** |
- * @param {chrome.automation.EventType} eventType |
- * @param {function(!chrome.automation.AutomationEvent) : void} callback |
- * @param {boolean} capture |
+ * The type of live region if this node is inside a live region. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-containerLiveStatus |
*/ |
-chrome.automation.AutomationNode.prototype.removeEventListener = |
- function(eventType, callback, capture) {}; |
+chrome.automation.AutomationNode.prototype.containerLiveStatus; |
+/** |
+ * The value of aria-relevant if this node is inside a live region. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-containerLiveRelevant |
+ */ |
+chrome.automation.AutomationNode.prototype.containerLiveRelevant; |
/** |
- * @type {chrome.automation.AutomationNode} |
+ * The value of aria-atomic if this node is inside a live region. |
+ * @type {(boolean|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-containerLiveAtomic |
*/ |
-chrome.automation.TreeChange.prototype.target; |
+chrome.automation.AutomationNode.prototype.containerLiveAtomic; |
+/** |
+ * The value of aria-busy if this node is inside a live region. |
+ * @type {(boolean|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-containerLiveBusy |
+ */ |
+chrome.automation.AutomationNode.prototype.containerLiveBusy; |
/** |
- * @type {chrome.automation.TreeChangeType} |
+ * A map containing all HTML attributes and their values |
+ * @type {Object<string>} |
+ * @see https://developer.chrome.com/extensions/automation#type-htmlAttributes |
*/ |
-chrome.automation.TreeChange.prototype.type; |
+chrome.automation.AutomationNode.prototype.htmlAttributes; |
+/** |
+ * The input type of a text field, such as "text" or "email". |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-inputType |
+ */ |
+chrome.automation.AutomationNode.prototype.inputType; |
-chrome.automation.AutomationNode.prototype.doDefault = function() {}; |
+/** |
+ * The key that activates this widget. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-accessKey |
+ */ |
+chrome.automation.AutomationNode.prototype.accessKey; |
+/** |
+ * The value of the aria-invalid attribute, indicating the error type. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-ariaInvalidValue |
+ */ |
+chrome.automation.AutomationNode.prototype.ariaInvalidValue; |
-chrome.automation.AutomationNode.prototype.focus = function() {}; |
+/** |
+ * The value of the aria-readonly attribute, if applicable. |
+ * @type {(boolean|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-ariaReadonly |
+ */ |
+chrome.automation.AutomationNode.prototype.ariaReadonly; |
+/** |
+ * The CSS display attribute for this node, if applicable. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-display |
+ */ |
+chrome.automation.AutomationNode.prototype.display; |
-chrome.automation.AutomationNode.prototype.showContextMenu = function() {}; |
+/** |
+ * A data url with the contents of this object's image or thumbnail. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-imageDataUrl |
+ */ |
+chrome.automation.AutomationNode.prototype.imageDataUrl; |
+/** |
+ * The language code for this subtree. |
+ * @type {(string|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-language |
+ */ |
+chrome.automation.AutomationNode.prototype.language; |
-chrome.automation.AutomationNode.prototype |
- .setSequentialFocusNavigationStartingPoint = function() {}; |
+/** |
+ * If a checkbox or toggle button is in the mixed state. |
+ * @type {(boolean|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-buttonMixed |
+ */ |
+chrome.automation.AutomationNode.prototype.buttonMixed; |
+/** |
+ * The RGBA foreground color of this subtree, as an integer. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-color |
+ */ |
+chrome.automation.AutomationNode.prototype.color; |
/** |
- * @param {number} start |
- * @param {number} end |
+ * The RGBA background color of this subtree, as an integer. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-backgroundColor |
*/ |
-chrome.automation.AutomationNode.prototype.setSelection = |
- function(start, end) {}; |
+chrome.automation.AutomationNode.prototype.backgroundColor; |
-/** @type {string} */ |
-chrome.automation.AutomationNode.prototype.containerLiveStatus; |
+/** |
+ * The RGBA color of an input element whose value is a color. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-colorValue |
+ */ |
+chrome.automation.AutomationNode.prototype.colorValue; |
-/** @type {string} */ |
-chrome.automation.AutomationNode.prototype.containerLiveRelevant; |
+/** |
+ * Walking the tree. |
+ * @type {!Array<!chrome.automation.AutomationNode>} |
+ * @see https://developer.chrome.com/extensions/automation#type-children |
+ */ |
+chrome.automation.AutomationNode.prototype.children; |
-/** @type {boolean} */ |
-chrome.automation.AutomationNode.prototype.containerLiveAtomic; |
+/** |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-parent |
+ */ |
+chrome.automation.AutomationNode.prototype.parent; |
-/** @type {boolean} */ |
-chrome.automation.AutomationNode.prototype.containerLiveBusy; |
+/** |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-firstChild |
+ */ |
+chrome.automation.AutomationNode.prototype.firstChild; |
-/** @type {string} */ |
-chrome.automation.AutomationNode.prototype.language; |
+/** |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-lastChild |
+ */ |
+chrome.automation.AutomationNode.prototype.lastChild; |
-/** @type {string} */ |
-chrome.automation.AutomationNode.prototype.liveStatus; |
+/** |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-previousSibling |
+ */ |
+chrome.automation.AutomationNode.prototype.previousSibling; |
-/** @type {string} */ |
-chrome.automation.AutomationNode.prototype.liveRelevant; |
+/** |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-nextSibling |
+ */ |
+chrome.automation.AutomationNode.prototype.nextSibling; |
-/** @type {boolean} */ |
-chrome.automation.AutomationNode.prototype.liveAtomic; |
+/** |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-nextOnLine |
+ */ |
+chrome.automation.AutomationNode.prototype.nextOnLine; |
-/** @type {boolean} */ |
-chrome.automation.AutomationNode.prototype.liveBusy; |
+/** |
+ * @type {(!chrome.automation.AutomationNode|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-previousOnLine |
+ */ |
+chrome.automation.AutomationNode.prototype.previousOnLine; |
+/** |
+ * The index of this node in its parent node's list of children. If this is the root node, this will be undefined. |
+ * @type {(number|undefined)} |
+ * @see https://developer.chrome.com/extensions/automation#type-indexInParent |
+ */ |
+chrome.automation.AutomationNode.prototype.indexInParent; |
/** |
- * @param {Object} findParams |
+ * Does the default action based on this node's role. This is generally the same |
+ * action that would result from clicking the node such as expanding a treeitem, |
+ * toggling a checkbox, selecting a radiobutton, or activating a button. |
+ * @see https://developer.chrome.com/extensions/automation#method-doDefault |
*/ |
-chrome.automation.AutomationNode.prototype.find = function(findParams) {}; |
+chrome.automation.AutomationNode.prototype.doDefault = function() {}; |
/** |
- * @param {Object} findParams |
- * @return {Array<chrome.automation.AutomationNode>} |
+ * Places focus on this node. |
+ * @see https://developer.chrome.com/extensions/automation#method-focus |
*/ |
-chrome.automation.AutomationNode.prototype.findAll = function(findParams) {}; |
+chrome.automation.AutomationNode.prototype.focus = function() {}; |
/** |
- * @type {string} |
+ * Request a data url for the contents of an image, optionally resized. Pass |
+ * zero for maxWidth and/or maxHeight for the original size. |
+ * @param {number} maxWidth |
+ * @param {number} maxHeight |
+ * @see https://developer.chrome.com/extensions/automation#method-getImageData |
*/ |
-chrome.automation.AutomationNode.prototype.inputType; |
+chrome.automation.AutomationNode.prototype.getImageData = function(maxWidth, maxHeight) {}; |
/** |
- * @type {(chrome.automation.AutomationNode|undefined)} |
+ * Scrolls this node to make it visible. |
+ * @see https://developer.chrome.com/extensions/automation#method-makeVisible |
*/ |
-chrome.automation.AutomationNode.prototype.anchorObject; |
+chrome.automation.AutomationNode.prototype.makeVisible = function() {}; |
/** |
- * @param {{anchorObject: !chrome.automation.AutomationNode, |
- * anchorOffset: number, |
- * focusObject: !chrome.automation.AutomationNode, |
- * focusOffset: number}} selectionParams |
+ * Sets selection within a text field. |
+ * @param {number} startIndex |
+ * @param {number} endIndex |
+ * @see https://developer.chrome.com/extensions/automation#method-setSelection |
*/ |
-chrome.automation.setDocumentSelection = function(selectionParams) {}; |
+chrome.automation.AutomationNode.prototype.setSelection = function(startIndex, endIndex) {}; |
/** |
- * @type {(number|undefined)} |
+ * Clears focus and sets this node as the starting point for the next time the |
+ * user presses Tab or Shift+Tab. |
+ * @see https://developer.chrome.com/extensions/automation#method-setSequentialFocusNavigationStartingPoint |
*/ |
-chrome.automation.anchorOffset; |
+chrome.automation.AutomationNode.prototype.setSequentialFocusNavigationStartingPoint = function() {}; |
/** |
- * @type {(chrome.automation.AutomationNode|undefined)} |
+ * Show the context menu for this element, as if the user right-clicked. |
+ * @see https://developer.chrome.com/extensions/automation#method-showContextMenu |
*/ |
-chrome.automation.AutomationNode.prototype.focusObject; |
+chrome.automation.AutomationNode.prototype.showContextMenu = function() {}; |
/** |
- * @type {(Array<number>|undefined)} |
+ * Resume playing any media within this tree. |
+ * @see https://developer.chrome.com/extensions/automation#method-resumeMedia |
*/ |
-chrome.automation.AutomationNode.prototype.lineBreaks; |
+chrome.automation.AutomationNode.prototype.resumeMedia = function() {}; |
/** |
- * @type {(number|undefined)} |
+ * Start ducking any media within this tree. |
+ * @see https://developer.chrome.com/extensions/automation#method-startDuckingMedia |
*/ |
-chrome.automation.focusOffset; |
+chrome.automation.AutomationNode.prototype.startDuckingMedia = function() {}; |
/** |
- * @type {(chrome.automation.AutomationNode|undefined)} |
+ * Stop ducking any media within this tree. |
+ * @see https://developer.chrome.com/extensions/automation#method-stopDuckingMedia |
*/ |
-chrome.automation.AutomationNode.prototype.activeDescendant; |
+chrome.automation.AutomationNode.prototype.stopDuckingMedia = function() {}; |
-/** @type {number} */ |
-chrome.automation.AutomationNode.prototype.tableCellColumnIndex; |
+/** |
+ * Suspend any media playing within this tree. |
+ * @see https://developer.chrome.com/extensions/automation#method-suspendMedia |
+ */ |
+chrome.automation.AutomationNode.prototype.suspendMedia = function() {}; |
-/** @type {number} */ |
-chrome.automation.AutomationNode.prototype.tableCellRowIndex; |
+/** |
+ * Adds a listener for the given event type and event phase. |
+ * @param {!chrome.automation.EventType} eventType |
+ * @param {function(!chrome.automation.AutomationEvent):void} listener A |
+ * listener for events on an <code>AutomationNode</code>. |
+ * @param {boolean} capture |
+ * @see https://developer.chrome.com/extensions/automation#method-addEventListener |
+ */ |
+chrome.automation.AutomationNode.prototype.addEventListener = function(eventType, listener, capture) {}; |
-/** @type {number} */ |
-chrome.automation.AutomationNode.prototype.tableColumnCount; |
+/** |
+ * Removes a listener for the given event type and event phase. |
+ * @param {!chrome.automation.EventType} eventType |
+ * @param {function(!chrome.automation.AutomationEvent):void} listener A |
+ * listener for events on an <code>AutomationNode</code>. |
+ * @param {boolean} capture |
+ * @see https://developer.chrome.com/extensions/automation#method-removeEventListener |
+ */ |
+chrome.automation.AutomationNode.prototype.removeEventListener = function(eventType, listener, capture) {}; |
-/** @type {number} */ |
-chrome.automation.AutomationNode.prototype.tableRowCount; |
+/** |
+ * <p>Gets the first node in this node's subtree which matches the given CSS |
+ * selector and is within the same DOM context.</p><p>If this node doesn't |
+ * correspond directly with an HTML node in the DOM, querySelector will be run |
+ * on this node's nearest HTML node ancestor. Note that this may result in the |
+ * query returning a node which is not a descendant of this node.</p><p>If the |
+ * selector matches a node which doesn't directly correspond to an automation |
+ * node (for example an element within an ARIA widget, where the ARIA widget |
+ * forms one node of the automation tree, or an element which is hidden from |
+ * accessibility via hiding it using CSS or using aria-hidden), this will return |
+ * the nearest ancestor which does correspond to an automation node.</p> |
+ * @param {string} selector |
+ * @param {function(!chrome.automation.AutomationNode):void} callback Called |
+ * when the result for a <code>query</code> is available. |
+ * @see https://developer.chrome.com/extensions/automation#method-domQuerySelector |
+ */ |
+chrome.automation.AutomationNode.prototype.domQuerySelector = function(selector, callback) {}; |
-/** @type {number} */ |
-chrome.automation.AutomationNode.prototype.hierarchicalLevel; |
+/** |
+ * Finds the first AutomationNode in this node's subtree which matches the given |
+ * search parameters. |
+ * @param {!chrome.automation.FindParams} params |
+ * @return {!chrome.automation.AutomationNode} |
+ * @see https://developer.chrome.com/extensions/automation#method-find |
+ */ |
+chrome.automation.AutomationNode.prototype.find = function(params) {}; |
-/** @type {Array<number>} */ |
-chrome.automation.AutomationNode.prototype.markerTypes; |
-/** @type {Array<number>} */ |
-chrome.automation.AutomationNode.prototype.markerStarts; |
-/** @type {Array<number>} */ |
-chrome.automation.AutomationNode.prototype.markerEnds; |
+/** |
+ * Finds all the AutomationNodes in this node's subtree which matches the given |
+ * search parameters. |
+ * @param {!chrome.automation.FindParams} params |
+ * @return {!Array<!chrome.automation.AutomationNode>} |
+ * @see https://developer.chrome.com/extensions/automation#method-findAll |
+ */ |
+chrome.automation.AutomationNode.prototype.findAll = function(params) {}; |
-/** @type {boolean} */ |
-chrome.automation.AutomationNode.prototype.ariaReadonly; |
+/** |
+ * Returns whether this node matches the given $(ref:automation.FindParams). |
+ * @param {!chrome.automation.FindParams} params |
+ * @return {boolean} |
+ * @see https://developer.chrome.com/extensions/automation#method-matches |
+ */ |
+chrome.automation.AutomationNode.prototype.matches = function(params) {}; |
-/** @type {chrome.automation.AutomationNode} */ |
-chrome.automation.AutomationNode.prototype.nextOnLine; |
-/** @type {chrome.automation.AutomationNode} */ |
-chrome.automation.AutomationNode.prototype.previousOnLine; |
-/** @type {Object<string, string>} */ |
-chrome.automation.AutomationNode.prototype.htmlAttributes; |
+/** |
+ * Get the automation tree for the tab with the given tabId, or the current tab |
+ * if no tabID is given, enabling automation if necessary. Returns a tree with a |
+ * placeholder root node; listen for the "loadComplete" event to get a |
+ * notification that the tree has fully loaded (the previous root node reference |
+ * will stop working at or before this point). |
+ * @param {number} tabId |
+ * @param {function(!chrome.automation.AutomationNode):void} callback Called |
+ * when the <code>AutomationNode</code> for the page is available. |
+ * @see https://developer.chrome.com/extensions/automation#method-getTree |
+ */ |
+chrome.automation.getTree = function(tabId, callback) {}; |
/** |
- * @extends {chrome.automation.AutomationNode} |
- * @constructor |
+ * Get the automation tree for the whole desktop which consists of all on screen |
+ * views. Note this API is currently only supported on Chrome OS. |
+ * @param {function(!chrome.automation.AutomationNode):void} callback Called |
+ * when the <code>AutomationNode</code> for the page is available. |
+ * @see https://developer.chrome.com/extensions/automation#method-getDesktop |
*/ |
-chrome.automation.AutomationRootNode = function() {}; |
+chrome.automation.getDesktop = function(callback) {}; |
/** |
- * @type {chrome.automation.AutomationNode} |
+ * Get the automation node that currently has focus, globally. Will return null |
+ * if none of the nodes in any loaded trees have focus. |
+ * @param {function(!chrome.automation.AutomationNode):void} callback Called |
+ * with the <code>AutomationNode</code> that currently has focus. |
+ * @see https://developer.chrome.com/extensions/automation#method-getFocus |
*/ |
-chrome.automation.AutomationRootNode.prototype.anchorObject; |
+chrome.automation.getFocus = function(callback) {}; |
/** |
- * @type {number} |
+ * Add a tree change observer. Tree change observers are static/global, they |
+ * listen to changes across all trees. Pass a filter to determine what specific |
+ * tree changes to listen to, and note that listnening to all tree changes can |
+ * be expensive. |
+ * @param {!chrome.automation.TreeChangeObserverFilter} filter |
+ * @param {function(!chrome.automation.TreeChange):void} observer A listener for |
+ * changes on the <code>AutomationNode</code> tree. |
+ * @see https://developer.chrome.com/extensions/automation#method-addTreeChangeObserver |
*/ |
-chrome.automation.AutomationRootNode.prototype.anchorOffset; |
+chrome.automation.addTreeChangeObserver = function(filter, observer) {}; |
/** |
- * @type {chrome.automation.AutomationNode} |
+ * Remove a tree change observer. |
+ * @param {function(!chrome.automation.TreeChange):void} observer A listener for |
+ * changes on the <code>AutomationNode</code> tree. |
+ * @see https://developer.chrome.com/extensions/automation#method-removeTreeChangeObserver |
*/ |
-chrome.automation.AutomationRootNode.prototype.focusObject; |
+chrome.automation.removeTreeChangeObserver = function(observer) {}; |
/** |
- * @type {number} |
+ * Sets the selection in a tree. This creates a selection in a single tree |
+ * (anchorObject and focusObject must have the same root). Everything in the |
+ * tree between the two node/offset pairs gets included in the selection. The |
+ * anchor is where the user started the selection, while the focus is the point |
+ * at which the selection gets extended e.g. when dragging with a mouse or using |
+ * the keyboard. For nodes with the role staticText, the offset gives the |
+ * character offset within the value where the selection starts or ends, |
+ * respectively. |
+ * @param {!chrome.automation.SetDocumentSelectionParams} params |
+ * @see https://developer.chrome.com/extensions/automation#method-setDocumentSelection |
*/ |
-chrome.automation.AutomationRootNode.prototype.focusOffset; |
+chrome.automation.setDocumentSelection = function(params) {}; |