blob: d5a52e2a2b12db50f352e81dcb57997aebf9299e [file] [log] [blame]
// 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.
// 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 */
/**
* @const
*/
chrome.automation = {};
/**
* @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',
};
/**
* @enum {string}
* @see https://developer.chrome.com/extensions/automation#type-RoleType
*/
chrome.automation.RoleType = {
ABBR: 'abbr',
ALERT_DIALOG: 'alertDialog',
ALERT: 'alert',
ANCHOR: 'anchor',
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: '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 {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: 'relatedElement',
VALUE: 'value',
};
/**
* @typedef {{
* left: number,
* top: number,
* width: number,
* height: number
* }}
* @see https://developer.chrome.com/extensions/automation#type-Rect
*/
chrome.automation.Rect;
/**
* @typedef {{
* role: (!chrome.automation.RoleType|undefined),
* 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
* @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,
* 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;
/**
* 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
*/
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.
* @type {(number|undefined)}
* @see https://developer.chrome.com/extensions/automation#type-hierarchicalLevel
*/
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 target of an in-page link.
* @type {(!chrome.automation.AutomationNode|undefined)}
* @see https://developer.chrome.com/extensions/automation#type-inPageLinkTarget
*/
chrome.automation.AutomationNode.prototype.inPageLinkTarget;
/**
* 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
*/
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
*/
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 as specified in the DOM.
* @type {(number|undefined)}
* @see https://developer.chrome.com/extensions/automation#type-tableRowCount
*/
chrome.automation.AutomationNode.prototype.tableRowCount;
/**
* The number of rows in this table as specified by the page author.
* @type {(number|undefined)}
* @see https://developer.chrome.com/extensions/automation#type-ariaRowCount
*/
chrome.automation.AutomationNode.prototype.ariaRowCount;
/**
* The number of columns in this table as specified in the DOM.
* @type {(number|undefined)}
* @see https://developer.chrome.com/extensions/automation#type-tableColumnCount
*/
chrome.automation.AutomationNode.prototype.tableColumnCount;
/**
* The number of columns in this table as specified by the page author.
* @type {(number|undefined)}
* @see https://developer.chrome.com/extensions/automation#type-ariaColumnCount
*/
chrome.automation.AutomationNode.prototype.ariaColumnCount;
/**
* The zero-based index of the column that this cell is in as specified in the DOM.
* @type {(number|undefined)}
* @see https://developer.chrome.com/extensions/automation#type-tableCellColumnIndex
*/
chrome.automation.AutomationNode.prototype.tableCellColumnIndex;
/**
* The ARIA column index as specified by the page author.
* @type {(number|undefined)}
* @see https://developer.chrome.com/extensions/automation#type-ariaCellColumnIndex
*/
chrome.automation.AutomationNode.prototype.ariaCellColumnIndex;
/**
* 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 as specified in the DOM.
* @type {(number|undefined)}
* @see https://developer.chrome.com/extensions/automation#type-tableCellRowIndex
*/
chrome.automation.AutomationNode.prototype.tableCellRowIndex;
/**
* The ARIA row index as specified by the page author.
* @type {(number|undefined)}
* @see https://developer.chrome.com/extensions/automation#type-ariaCellRowIndex
*/
chrome.automation.AutomationNode.prototype.ariaCellRowIndex;
/**
* 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
*/
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) {};
/**
* Does a hit test of the given global screen coordinates, and fires eventToFire
* on the resulting object.
* @param {number} x
* @param {number} y
* @param {!chrome.automation.EventType} eventToFire
* @see https://developer.chrome.com/extensions/automation#method-hitTest
*/
chrome.automation.AutomationNode.prototype.hitTest = function(x, y, eventToFire) {};
/**
* 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) {};