Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(638)

Unified Diff: third_party/closure_compiler/externs/automation.js

Issue 2650733002: Revert of Update json_schema_compiler to handle the Automation extension API (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 02560822ce0d9624b2c3bd9096cda1b72454c26a..fd080cbb1195544e0318db209ba24e453fdde400 100644
--- a/third_party/closure_compiler/externs/automation.js
+++ b/third_party/closure_compiler/externs/automation.js
@@ -1,12 +1,14 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
+// Copyright 2016 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.
-// NOTE: The format of types has changed. 'FooType' is now
-// 'chrome.automation.FooType'.
-// Please run the closure compiler before committing changes.
+// 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.
+//
// See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md
/** @fileoverview Externs generated from namespace: automation */
@@ -18,251 +20,247 @@
/**
* @enum {string}
- * @see https://developer.chrome.com/extensions/automation#type-EventType
*/
chrome.automation.EventType = {
- 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',
+ 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: '',
};
/**
* @enum {string}
- * @see https://developer.chrome.com/extensions/automation#type-RoleType
*/
chrome.automation.RoleType = {
- 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',
+ 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: '',
};
/**
* @enum {string}
- * @see https://developer.chrome.com/extensions/automation#type-StateType
*/
chrome.automation.StateType = {
- 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',
+ 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: '',
};
/**
+ * @enum {number}
+ */
+chrome.automation.NameFromType = {
+ 0: '',
+ 1: 'uninitialized',
+ 2: 'attribute',
+ 3: 'contents',
+ 4: 'placeholder',
+ 5: 'relatedElement',
+ 6: 'value'
+};
+
+/**
+ * @enum {number}
+ */
+chrome.automation.DescriptionFromType = {
+ 0: '',
+ 1: 'uninitialized',
+ 2: 'attribute',
+ 3: 'contents',
+ 4: 'placeholder',
+ 5: 'relatedElement'
+};
+
+/**
* @enum {string}
- * @see https://developer.chrome.com/extensions/automation#type-TreeChangeType
*/
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.NameFromType = {
- UNINITIALIZED: 'uninitialized',
- ATTRIBUTE: 'attribute',
- CONTENTS: 'contents',
- PLACEHOLDER: 'placeholder',
- RELATED_ELEMENT: 'related_element',
- VALUE: 'value',
+ nodeCreated: 'nodeCreated',
+ subtreeCreated: 'subtreeCreated',
+ nodeChanged: 'nodeChanged',
+ nodeRemoved: 'nodeRemoved',
};
/**
@@ -272,7 +270,6 @@
* width: number,
* height: number
* }}
- * @see https://developer.chrome.com/extensions/automation#type-Rect
*/
chrome.automation.Rect;
@@ -282,890 +279,419 @@
* state: (Object|undefined),
* attributes: (Object|undefined)
* }}
- * @see https://developer.chrome.com/extensions/automation#type-FindParams
*/
chrome.automation.FindParams;
/**
+ * @constructor
+ * @param {chrome.automation.EventType} type
+ * @param {chrome.automation.AutomationNode} node
+ * @param {string} eventFrom
+ */
+chrome.automation.AutomationEvent = function(type, node, eventFrom) {};
+
+/**
+ * @type {!chrome.automation.AutomationNode}
+ */
+chrome.automation.AutomationEvent.prototype.target;
+
+/**
+ * @type {!chrome.automation.EventType}
+ */
+chrome.automation.AutomationEvent.prototype.type;
+
+/**
+ * @type {string}
+ */
+chrome.automation.AutomationEvent.prototype.eventFrom;
+
+/**
+ * @type {number}
+ */
+chrome.automation.AutomationEvent.prototype.mouseX;
+
+/**
+ * @type {number}
+ */
+chrome.automation.AutomationEvent.prototype.mouseY;
+
+chrome.automation.AutomationEvent.prototype.stopPropagation = function() {};
+
+/**
* @typedef {{
- * anchorObject: Object,
- * anchorOffset: number,
- * focusObject: Object,
- * focusOffset: number
- * }}
- * @see https://developer.chrome.com/extensions/automation#type-SetDocumentSelectionParams
- */
-chrome.automation.SetDocumentSelectionParams;
-
-/**
- * @constructor
- * @private
- * @see https://developer.chrome.com/extensions/automation#type-AutomationEvent
- */
-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
+
+/**
+ * @param {number} tabId
+ * @param {function(chrome.automation.AutomationNode):void} callback
+ */
+chrome.automation.getTree = function(tabId, callback) {};
+
+/** @param {function(!chrome.automation.AutomationNode):void} callback */
+chrome.automation.getDesktop = function(callback) {};
+
+/** @param {function(!chrome.automation.AutomationNode):void} callback */
+chrome.automation.getFocus = function(callback) {};
+
+/**
+ * @param {string} filter
+ * @param {function(chrome.automation.TreeChange) : void}
+ * observer
+ */
+chrome.automation.addTreeChangeObserver = function(filter, observer) {};
+
+/**
+ * @param {function(chrome.automation.TreeChange) : void} observer
+ */
+chrome.automation.removeTreeChangeObserver = function(observer) {};
+
+//
+// End auto generated externs; do not edit.
+//
+
+
+
+/**
+ * @type {chrome.automation.RoleType}
+ */
+chrome.automation.AutomationNode.prototype.role;
+
+
+/**
+ * @type {!Object<chrome.automation.StateType, boolean>}
+ */
+chrome.automation.AutomationNode.prototype.state;
+
+
+/**
+ * @type {chrome.automation.NameFromType}
+ */
+chrome.automation.AutomationNode.prototype.nameFrom;
+
+
+/**
+ * @type {chrome.automation.DescriptionFromType}
+ */
+chrome.automation.AutomationNode.prototype.descriptionFrom;
+
+
+/**
+ * @type {number}
+ */
+chrome.automation.AutomationNode.prototype.indexInParent;
+
+
+/**
+ * @type {string}
+ */
+chrome.automation.AutomationNode.prototype.name;
+
+/**
+ * @type {string}
+ */
+chrome.automation.AutomationNode.prototype.description;
+
+
+/**
+ * @type {string}
+ */
+chrome.automation.AutomationNode.prototype.url;
+
+
+/**
+ * @type {string}
+ */
+chrome.automation.AutomationNode.prototype.docUrl;
+
+
+/**
+ * @type {string}
+ */
+chrome.automation.AutomationNode.prototype.value;
+
+
+/**
+ * @type {number}
+ */
+chrome.automation.AutomationNode.prototype.textSelStart;
+
+
+/**
+ * @type {number}
+ */
+chrome.automation.AutomationNode.prototype.textSelEnd;
+
+
+/**
+ * @type {Array<number>}
+ */
+chrome.automation.AutomationNode.prototype.wordStarts;
+
+
+/**
+ * @type {Array<number>}
+ */
+chrome.automation.AutomationNode.prototype.wordEnds;
+
+
+/**
+ * @type {chrome.automation.AutomationRootNode}
*/
chrome.automation.AutomationNode.prototype.root;
-/**
- * Whether this AutomationNode is a root node.
- * @type {boolean}
- * @see https://developer.chrome.com/extensions/automation#type-isRootNode
- */
-chrome.automation.AutomationNode.prototype.isRootNode;
-
-/**
- * The role of this node.
- * @type {(!chrome.automation.RoleType|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-role
- */
-chrome.automation.AutomationNode.prototype.role;
-
-/**
- * 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;
-
-/**
- * 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
+
+/**
+ * @type {chrome.automation.AutomationNode}
+ */
+chrome.automation.AutomationNode.prototype.firstChild;
+
+
+/**
+ * @type {chrome.automation.AutomationNode}
+ */
+chrome.automation.AutomationNode.prototype.lastChild;
+
+
+/**
+ * @type {chrome.automation.AutomationNode}
+ */
+chrome.automation.AutomationNode.prototype.nextSibling;
+
+
+/**
+ * @type {chrome.automation.AutomationNode}
+ */
+chrome.automation.AutomationNode.prototype.previousSibling;
+
+
+/**
+ * @type {chrome.automation.AutomationNode}
+ */
+chrome.automation.AutomationNode.prototype.parent;
+
+
+/**
+ * @type {!Array<chrome.automation.AutomationNode>}
+ */
+chrome.automation.AutomationNode.prototype.children;
+
+
+/**
+ * @type {{top: number, left: number, height: number, width: number}|undefined}
*/
chrome.automation.AutomationNode.prototype.location;
-/**
- * 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.AutomationNode.prototype.boundsForRange = function(startIndex, endIndex) {};
-
-/**
- * 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;
-
-/**
- * The source of the name.
- * @type {(!chrome.automation.NameFromType|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-nameFrom
- */
-chrome.automation.AutomationNode.prototype.nameFrom;
-
-/**
- * The value for this node: for example the <code>value</code> attribute of an <code>&lt;input&gt; element.
- * @type {(string|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-value
- */
-chrome.automation.AutomationNode.prototype.value;
-
-/**
- * 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.htmlTag;
-
-/**
- * The level of a heading or tree item.
+
+/**
+ * @param {number} start
+ * @param {number} end
+ * @return {
+ * ({top: number, left: number, height: number, width: number})|undefined}
+ */
+chrome.automation.AutomationNode.prototype.boundsForRange =
+ function(start, end) {};
+
+
+chrome.automation.AutomationNode.prototype.makeVisible = function() {};
+
+
+/**
+ * @param {chrome.automation.EventType} eventType
+ * @param {function(!chrome.automation.AutomationEvent) : void} callback
+ * @param {boolean} capture
+ */
+chrome.automation.AutomationNode.prototype.addEventListener =
+ function(eventType, callback, capture) {};
+
+
+/**
+ * @param {chrome.automation.EventType} eventType
+ * @param {function(!chrome.automation.AutomationEvent) : void} callback
+ * @param {boolean} capture
+ */
+chrome.automation.AutomationNode.prototype.removeEventListener =
+ function(eventType, callback, capture) {};
+
+
+/**
+ * @type {chrome.automation.AutomationNode}
+ */
+chrome.automation.TreeChange.prototype.target;
+
+
+/**
+ * @type {chrome.automation.TreeChangeType}
+ */
+chrome.automation.TreeChange.prototype.type;
+
+
+chrome.automation.AutomationNode.prototype.doDefault = function() {};
+
+
+chrome.automation.AutomationNode.prototype.focus = function() {};
+
+
+chrome.automation.AutomationNode.prototype.showContextMenu = function() {};
+
+
+chrome.automation.AutomationNode.prototype
+ .setSequentialFocusNavigationStartingPoint = function() {};
+
+
+/**
+ * @param {number} start
+ * @param {number} end
+ */
+chrome.automation.AutomationNode.prototype.setSelection =
+ function(start, end) {};
+
+/** @type {string} */
+chrome.automation.AutomationNode.prototype.containerLiveStatus;
+
+/** @type {string} */
+chrome.automation.AutomationNode.prototype.containerLiveRelevant;
+
+/** @type {boolean} */
+chrome.automation.AutomationNode.prototype.containerLiveAtomic;
+
+/** @type {boolean} */
+chrome.automation.AutomationNode.prototype.containerLiveBusy;
+
+/** @type {string} */
+chrome.automation.AutomationNode.prototype.language;
+
+/** @type {string} */
+chrome.automation.AutomationNode.prototype.liveStatus;
+
+/** @type {string} */
+chrome.automation.AutomationNode.prototype.liveRelevant;
+
+/** @type {boolean} */
+chrome.automation.AutomationNode.prototype.liveAtomic;
+
+/** @type {boolean} */
+chrome.automation.AutomationNode.prototype.liveBusy;
+
+
+/**
+ * @param {Object} findParams
+ */
+chrome.automation.AutomationNode.prototype.find = function(findParams) {};
+
+/**
+ * @param {Object} findParams
+ * @return {Array<chrome.automation.AutomationNode>}
+ */
+chrome.automation.AutomationNode.prototype.findAll = function(findParams) {};
+
+/**
+ * @type {string}
+ */
+chrome.automation.AutomationNode.prototype.inputType;
+
+/**
+ * @type {(chrome.automation.AutomationNode|undefined)}
+ */
+chrome.automation.AutomationNode.prototype.anchorObject;
+
+/**
+ * @param {{anchorObject: !chrome.automation.AutomationNode,
+ * anchorOffset: number,
+ * focusObject: !chrome.automation.AutomationNode,
+ * focusOffset: number}} selectionParams
+ */
+chrome.automation.setDocumentSelection = function(selectionParams) {};
+
+/**
* @type {(number|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-hierarchicalLevel
- */
+ */
+chrome.automation.anchorOffset;
+
+/**
+ * @type {(chrome.automation.AutomationNode|undefined)}
+ */
+chrome.automation.AutomationNode.prototype.focusObject;
+
+/**
+ * @type {(Array<number>|undefined)}
+ */
+chrome.automation.AutomationNode.prototype.lineBreaks;
+
+/**
+ * @type {(number|undefined)}
+ */
+chrome.automation.focusOffset;
+
+/**
+ * @type {(chrome.automation.AutomationNode|undefined)}
+ */
+chrome.automation.AutomationNode.prototype.activeDescendant;
+
+/** @type {number} */
+chrome.automation.AutomationNode.prototype.tableCellColumnIndex;
+
+/** @type {number} */
+chrome.automation.AutomationNode.prototype.tableCellRowIndex;
+
+/** @type {number} */
+chrome.automation.AutomationNode.prototype.tableColumnCount;
+
+/** @type {number} */
+chrome.automation.AutomationNode.prototype.tableRowCount;
+
+/** @type {number} */
chrome.automation.AutomationNode.prototype.hierarchicalLevel;
-/**
- * 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.wordStarts;
-
-/**
- * @type {(!Array<number>|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-wordEnds
- */
-chrome.automation.AutomationNode.prototype.wordEnds;
-
-/**
- * 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.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;
-
-/**
- * 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.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;
-
-/**
- * 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.activeDescendant;
-
-/**
- * The URL that this link will navigate to.
- * @type {(string|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-url
- */
-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;
-
-/**
- * The title of this document.
- * @type {(string|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-docTitle
- */
-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;
-
-/**
- * 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.docLoadingProgress;
-
-/**
- * Scrollable container attributes.
- * @type {(number|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-scrollX
- */
-chrome.automation.AutomationNode.prototype.scrollX;
-
-/**
- * @type {(number|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-scrollXMin
- */
-chrome.automation.AutomationNode.prototype.scrollXMin;
-
-/**
- * @type {(number|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-scrollXMax
- */
-chrome.automation.AutomationNode.prototype.scrollXMax;
-
-/**
- * @type {(number|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-scrollY
- */
-chrome.automation.AutomationNode.prototype.scrollY;
-
-/**
- * @type {(number|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-scrollYMin
- */
-chrome.automation.AutomationNode.prototype.scrollYMin;
-
-/**
- * @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;
-
-/**
- * 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.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
- */
+/** @type {Array<number>} */
+chrome.automation.AutomationNode.prototype.markerTypes;
+/** @type {Array<number>} */
chrome.automation.AutomationNode.prototype.markerStarts;
-
-/**
- * An array of indexes of the end position of each text marker.
- * @type {!Array<number>}
- * @see https://developer.chrome.com/extensions/automation#type-markerEnds
- */
+/** @type {Array<number>} */
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;
-
-/**
- * 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.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;
-
-/**
- * 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.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;
-
-/**
- * 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.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;
-
-/**
- * The current value for this range.
- * @type {(number|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-valueForRange
- */
-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;
-
-/**
- * The maximum possible value for this range.
- * @type {(number|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-maxValueForRange
- */
-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;
-
-/**
- * The number of items in a set;
- * @type {(number|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-setSize
- */
-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;
-
-/**
- * The number of columns in this table.
- * @type {(number|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-tableColumnCount
- */
-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;
-
-/**
- * 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.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;
-
-/**
- * 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.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;
-
-/**
- * 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;
-
-/**
- * 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.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;
-
-/**
- * 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.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;
-
-/**
- * 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.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;
-
-/**
- * A map containing all HTML attributes and their values
- * @type {Object<string>}
- * @see https://developer.chrome.com/extensions/automation#type-htmlAttributes
- */
+/** @type {boolean} */
+chrome.automation.AutomationNode.prototype.ariaReadonly;
+
+/** @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;
/**
- * 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;
-
-/**
- * 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;
-
-/**
- * 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;
-
-/**
- * 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;
-
-/**
- * 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;
-
-/**
- * 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.backgroundColor;
-
-/**
- * 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;
-
-/**
- * Walking the tree.
- * @type {!Array<!chrome.automation.AutomationNode>}
- * @see https://developer.chrome.com/extensions/automation#type-children
- */
-chrome.automation.AutomationNode.prototype.children;
-
-/**
- * @type {(!chrome.automation.AutomationNode|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-parent
- */
-chrome.automation.AutomationNode.prototype.parent;
-
-/**
- * @type {(!chrome.automation.AutomationNode|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-firstChild
- */
-chrome.automation.AutomationNode.prototype.firstChild;
-
-/**
- * @type {(!chrome.automation.AutomationNode|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-lastChild
- */
-chrome.automation.AutomationNode.prototype.lastChild;
-
-/**
- * @type {(!chrome.automation.AutomationNode|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-previousSibling
- */
-chrome.automation.AutomationNode.prototype.previousSibling;
-
-/**
- * @type {(!chrome.automation.AutomationNode|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-nextSibling
- */
-chrome.automation.AutomationNode.prototype.nextSibling;
-
-/**
- * @type {(!chrome.automation.AutomationNode|undefined)}
- * @see https://developer.chrome.com/extensions/automation#type-nextOnLine
- */
-chrome.automation.AutomationNode.prototype.nextOnLine;
-
-/**
- * @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;
-
-/**
- * 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.doDefault = function() {};
-
-/**
- * Places focus on this node.
- * @see https://developer.chrome.com/extensions/automation#method-focus
- */
-chrome.automation.AutomationNode.prototype.focus = function() {};
-
-/**
- * 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.getImageData = function(maxWidth, maxHeight) {};
-
-/**
- * Scrolls this node to make it visible.
- * @see https://developer.chrome.com/extensions/automation#method-makeVisible
- */
-chrome.automation.AutomationNode.prototype.makeVisible = function() {};
-
-/**
- * Sets selection within a text field.
- * @param {number} startIndex
- * @param {number} endIndex
- * @see https://developer.chrome.com/extensions/automation#method-setSelection
- */
-chrome.automation.AutomationNode.prototype.setSelection = function(startIndex, endIndex) {};
-
-/**
- * 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.AutomationNode.prototype.setSequentialFocusNavigationStartingPoint = function() {};
-
-/**
- * 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.showContextMenu = function() {};
-
-/**
- * Resume playing any media within this tree.
- * @see https://developer.chrome.com/extensions/automation#method-resumeMedia
- */
-chrome.automation.AutomationNode.prototype.resumeMedia = function() {};
-
-/**
- * Start ducking any media within this tree.
- * @see https://developer.chrome.com/extensions/automation#method-startDuckingMedia
- */
-chrome.automation.AutomationNode.prototype.startDuckingMedia = function() {};
-
-/**
- * Stop ducking any media within this tree.
- * @see https://developer.chrome.com/extensions/automation#method-stopDuckingMedia
- */
-chrome.automation.AutomationNode.prototype.stopDuckingMedia = function() {};
-
-/**
- * Suspend any media playing within this tree.
- * @see https://developer.chrome.com/extensions/automation#method-suspendMedia
- */
-chrome.automation.AutomationNode.prototype.suspendMedia = function() {};
-
-/**
- * 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) {};
-
-/**
- * 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) {};
-
-/**
- * <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) {};
-
-/**
- * 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) {};
-
-/**
- * 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) {};
-
-/**
- * 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) {};
-
-
-/**
- * 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) {};
-
-/**
- * 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.getDesktop = function(callback) {};
-
-/**
- * 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.getFocus = function(callback) {};
-
-/**
- * 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.addTreeChangeObserver = function(filter, observer) {};
-
-/**
- * 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.removeTreeChangeObserver = function(observer) {};
-
-/**
- * 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.setDocumentSelection = function(params) {};
+ * @extends {chrome.automation.AutomationNode}
+ * @constructor
+ */
+chrome.automation.AutomationRootNode = function() {};
+
+/**
+ * @type {chrome.automation.AutomationNode}
+ */
+chrome.automation.AutomationRootNode.prototype.anchorObject;
+
+/**
+ * @type {number}
+ */
+chrome.automation.AutomationRootNode.prototype.anchorOffset;
+
+/**
+ * @type {chrome.automation.AutomationNode}
+ */
+chrome.automation.AutomationRootNode.prototype.focusObject;
+
+/**
+ * @type {number}
+ */
+chrome.automation.AutomationRootNode.prototype.focusOffset;
« no previous file with comments | « chrome/test/data/extensions/api_test/automation/tests/tabs/sanity_check.js ('k') | tools/json_schema_compiler/idl_schema.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698