// Copyright 2018 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', FOCUS_CONTEXT: 'focusContext', IMAGE_FRAME_UPDATED: 'imageFrameUpdated', HIDE: 'hide', HIT_TEST_RESULT: 'hitTestResult', 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', STATE_CHANGED: 'stateChanged', 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: 'alert', ALERT_DIALOG: 'alertDialog', ANCHOR: 'anchor', ANNOTATION: 'annotation', APPLICATION: 'application', ARTICLE: 'article', AUDIO: 'audio', BANNER: 'banner', BLOCKQUOTE: 'blockquote', BUTTON: 'button', CANVAS: 'canvas', CAPTION: 'caption', CARET: 'caret', CELL: 'cell', CHECK_BOX: 'checkBox', CLIENT: 'client', COLOR_WELL: 'colorWell', COLUMN: 'column', COLUMN_HEADER: 'columnHeader', COMBO_BOX_GROUPING: 'comboBoxGrouping', COMBO_BOX_MENU_BUTTON: 'comboBoxMenuButton', COMPLEMENTARY: 'complementary', CONTENT_INFO: 'contentInfo', DATE: 'date', DATE_TIME: 'dateTime', DEFINITION: 'definition', DESCRIPTION_LIST: 'descriptionList', DESCRIPTION_LIST_DETAIL: 'descriptionListDetail', DESCRIPTION_LIST_TERM: 'descriptionListTerm', DESKTOP: 'desktop', DETAILS: 'details', DIALOG: 'dialog', DIRECTORY: 'directory', DISCLOSURE_TRIANGLE: 'disclosureTriangle', DOC_ABSTRACT: 'docAbstract', DOC_ACKNOWLEDGMENTS: 'docAcknowledgments', DOC_AFTERWORD: 'docAfterword', DOC_APPENDIX: 'docAppendix', DOC_BACK_LINK: 'docBackLink', DOC_BIBLIO_ENTRY: 'docBiblioEntry', DOC_BIBLIOGRAPHY: 'docBibliography', DOC_BIBLIO_REF: 'docBiblioRef', DOC_CHAPTER: 'docChapter', DOC_COLOPHON: 'docColophon', DOC_CONCLUSION: 'docConclusion', DOC_COVER: 'docCover', DOC_CREDIT: 'docCredit', DOC_CREDITS: 'docCredits', DOC_DEDICATION: 'docDedication', DOC_ENDNOTE: 'docEndnote', DOC_ENDNOTES: 'docEndnotes', DOC_EPIGRAPH: 'docEpigraph', DOC_EPILOGUE: 'docEpilogue', DOC_ERRATA: 'docErrata', DOC_EXAMPLE: 'docExample', DOC_FOOTNOTE: 'docFootnote', DOC_FOREWORD: 'docForeword', DOC_GLOSSARY: 'docGlossary', DOC_GLOSS_REF: 'docGlossRef', DOC_INDEX: 'docIndex', DOC_INTRODUCTION: 'docIntroduction', DOC_NOTE_REF: 'docNoteRef', DOC_NOTICE: 'docNotice', DOC_PAGE_BREAK: 'docPageBreak', DOC_PAGE_LIST: 'docPageList', DOC_PART: 'docPart', DOC_PREFACE: 'docPreface', DOC_PROLOGUE: 'docPrologue', DOC_PULLQUOTE: 'docPullquote', DOC_QNA: 'docQna', DOC_SUBTITLE: 'docSubtitle', DOC_TIP: 'docTip', DOC_TOC: 'docToc', DOCUMENT: 'document', EMBEDDED_OBJECT: 'embeddedObject', FEED: 'feed', FIGCAPTION: 'figcaption', FIGURE: 'figure', FOOTER: 'footer', FORM: 'form', GENERIC_CONTAINER: 'genericContainer', GRAPHICS_DOCUMENT: 'graphicsDocument', GRAPHICS_OBJECT: 'graphicsObject', GRAPHICS_SYMBOL: 'graphicsSymbol', GRID: 'grid', GROUP: 'group', HEADING: 'heading', IFRAME: 'iframe', IFRAME_PRESENTATIONAL: 'iframePresentational', IGNORED: 'ignored', IMAGE: 'image', IMAGE_MAP: 'imageMap', INLINE_TEXT_BOX: 'inlineTextBox', INPUT_TIME: 'inputTime', LABEL_TEXT: 'labelText', LAYOUT_TABLE: 'layoutTable', LAYOUT_TABLE_CELL: 'layoutTableCell', LAYOUT_TABLE_COLUMN: 'layoutTableColumn', LAYOUT_TABLE_ROW: 'layoutTableRow', LEGEND: 'legend', LINE_BREAK: 'lineBreak', LINK: 'link', LIST: 'list', LIST_BOX: 'listBox', LIST_BOX_OPTION: 'listBoxOption', LIST_ITEM: 'listItem', LIST_MARKER: 'listMarker', LOCATION_BAR: 'locationBar', LOG: 'log', MAIN: 'main', MARK: 'mark', MARQUEE: 'marquee', MATH: 'math', MENU: 'menu', 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', METER: 'meter', NAVIGATION: 'navigation', NOTE: 'note', 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: 'row', ROW_HEADER: 'rowHeader', RUBY: 'ruby', SCROLL_BAR: 'scrollBar', SCROLL_VIEW: 'scrollView', SEARCH: 'search', SEARCH_BOX: 'searchBox', SLIDER: 'slider', SLIDER_THUMB: 'sliderThumb', SPIN_BUTTON: 'spinButton', SPLITTER: 'splitter', STATIC_TEXT: 'staticText', STATUS: 'status', SVG_ROOT: 'svgRoot', SWITCH: 'switch', TAB: 'tab', TAB_LIST: 'tabList', TAB_PANEL: 'tabPanel', TABLE: 'table', TABLE_HEADER_CONTAINER: 'tableHeaderContainer', TERM: 'term', TEXT_FIELD: 'textField', TEXT_FIELD_WITH_COMBO_BOX: 'textFieldWithComboBox', TIME: 'time', TIMER: 'timer', TITLE_BAR: 'titleBar', TOGGLE_BUTTON: 'toggleButton', TOOLBAR: 'toolbar', TOOLTIP: 'tooltip', TREE: 'tree', TREE_GRID: 'treeGrid', TREE_ITEM: 'treeItem', UNKNOWN: 'unknown', VIDEO: 'video', WEB_AREA: 'webArea', WEB_VIEW: 'webView', WINDOW: 'window', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/automation#type-StateType */ chrome.automation.StateType = { COLLAPSED: 'collapsed', DEFAULT: 'default', EDITABLE: 'editable', EXPANDED: 'expanded', FOCUSABLE: 'focusable', FOCUSED: 'focused', HAS_POPUP: 'hasPopup', HORIZONTAL: 'horizontal', HOVERED: 'hovered', IGNORED: 'ignored', INVISIBLE: 'invisible', LINKED: 'linked', MULTILINE: 'multiline', MULTISELECTABLE: 'multiselectable', OFFSCREEN: 'offscreen', PROTECTED: 'protected', REQUIRED: 'required', RICHLY_EDITABLE: 'richlyEditable', VERTICAL: 'vertical', VISITED: 'visited', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/automation#type-ActionType */ chrome.automation.ActionType = { BLUR: 'blur', CLEAR_ACCESSIBILITY_FOCUS: 'clearAccessibilityFocus', CUSTOM_ACTION: 'customAction', DECREMENT: 'decrement', DO_DEFAULT: 'doDefault', FOCUS: 'focus', GET_IMAGE_DATA: 'getImageData', HIT_TEST: 'hitTest', INCREMENT: 'increment', LOAD_INLINE_TEXT_BOXES: 'loadInlineTextBoxes', REPLACE_SELECTED_TEXT: 'replaceSelectedText', SCROLL_BACKWARD: 'scrollBackward', SCROLL_DOWN: 'scrollDown', SCROLL_FORWARD: 'scrollForward', SCROLL_LEFT: 'scrollLeft', SCROLL_RIGHT: 'scrollRight', SCROLL_TO_MAKE_VISIBLE: 'scrollToMakeVisible', SCROLL_TO_POINT: 'scrollToPoint', SCROLL_UP: 'scrollUp', SET_ACCESSIBILITY_FOCUS: 'setAccessibilityFocus', SET_SCROLL_OFFSET: 'setScrollOffset', SET_SELECTION: 'setSelection', SET_SEQUENTIAL_FOCUS_NAVIGATION_STARTING_POINT: 'setSequentialFocusNavigationStartingPoint', SET_VALUE: 'setValue', SHOW_CONTEXT_MENU: 'showContextMenu', }; /** * @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', SUBTREE_UPDATE_END: 'subtreeUpdateEnd', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/automation#type-NameFromType */ chrome.automation.NameFromType = { UNINITIALIZED: 'uninitialized', ATTRIBUTE: 'attribute', ATTRIBUTE_EXPLICITLY_EMPTY: 'attributeExplicitlyEmpty', CONTENTS: 'contents', PLACEHOLDER: 'placeholder', RELATED_ELEMENT: 'relatedElement', VALUE: 'value', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/automation#type-Restriction */ chrome.automation.Restriction = { DISABLED: 'disabled', READ_ONLY: 'readOnly', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/automation#type-HasPopup */ chrome.automation.HasPopup = { TRUE: 'true', MENU: 'menu', LISTBOX: 'listbox', TREE: 'tree', GRID: 'grid', DIALOG: 'dialog', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/automation#type-DefaultActionVerb */ chrome.automation.DefaultActionVerb = { ACTIVATE: 'activate', CHECK: 'check', CLICK: 'click', CLICK_ANCESTOR: 'clickAncestor', JUMP: 'jump', OPEN: 'open', PRESS: 'press', SELECT: 'select', UNCHECK: 'uncheck', }; /** * @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', }; /** * @typedef {{ * id: number, * description: string * }} * @see https://developer.chrome.com/extensions/automation#type-CustomAction */ chrome.automation.CustomAction; /** * @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} * @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 location (as a bounding box) of this node in global screen coordinates without applying any clipping from ancestors. * @type {(!chrome.automation.Rect|undefined)} * @see https://developer.chrome.com/extensions/automation#type-unclippedLocation */ chrome.automation.AutomationNode.prototype.unclippedLocation; /** * 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 role description for this node. * @type {(string|undefined)} * @see https://developer.chrome.com/extensions/automation#type-roleDescription */ chrome.automation.AutomationNode.prototype.roleDescription; /** * The accessible name for this node, via the Accessible Name Calculation 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 value attribute of an <input> 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|undefined)} * @see https://developer.chrome.com/extensions/automation#type-wordStarts */ chrome.automation.AutomationNode.prototype.wordStarts; /** * @type {(!Array|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 aria-controls. * @type {(!Array|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|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 aria-flowto. * @type {(!Array|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|undefined)} * @see https://developer.chrome.com/extensions/automation#type-labelledBy */ chrome.automation.AutomationNode.prototype.labelledBy; /** * The node referred to by aria-activedescendant, 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; /** * A node that provides more details about the current node. * @type {(!chrome.automation.AutomationNode|undefined)} * @see https://developer.chrome.com/extensions/automation#type-details */ chrome.automation.AutomationNode.prototype.details; /** * A node that provides an error message for a current node. * @type {(!chrome.automation.AutomationNode|undefined)} * @see https://developer.chrome.com/extensions/automation#type-errorMessage */ chrome.automation.AutomationNode.prototype.errorMessage; /** * Reverse relationship for details. * @type {(!Array|undefined)} * @see https://developer.chrome.com/extensions/automation#type-detailsFor */ chrome.automation.AutomationNode.prototype.detailsFor; /** * Reverse relationship for errorMessage. * @type {(!Array|undefined)} * @see https://developer.chrome.com/extensions/automation#type-errorMessageFor */ chrome.automation.AutomationNode.prototype.errorMessageFor; /** * Reverse relationship for controls. * @type {(!Array|undefined)} * @see https://developer.chrome.com/extensions/automation#type-controlledBy */ chrome.automation.AutomationNode.prototype.controlledBy; /** * Reverse relationship for describedBy. * @type {(!Array|undefined)} * @see https://developer.chrome.com/extensions/automation#type-descriptionFor */ chrome.automation.AutomationNode.prototype.descriptionFor; /** * Reverse relationship for flowTo. * @type {(!Array|undefined)} * @see https://developer.chrome.com/extensions/automation#type-flowFrom */ chrome.automation.AutomationNode.prototype.flowFrom; /** * Reverse relationship for labelledBy. * @type {(!Array|undefined)} * @see https://developer.chrome.com/extensions/automation#type-labelFor */ chrome.automation.AutomationNode.prototype.labelFor; /** * An array of standard actions available on this node. * @type {(!Array|undefined)} * @see https://developer.chrome.com/extensions/automation#type-standardActions */ chrome.automation.AutomationNode.prototype.standardActions; /** * An array of custom actions. * @type {(!Array|undefined)} * @see https://developer.chrome.com/extensions/automation#type-customActions */ chrome.automation.AutomationNode.prototype.customActions; /** * The action taken by calling doDefault. * @type {(!chrome.automation.DefaultActionVerb|undefined)} * @see https://developer.chrome.com/extensions/automation#type-defaultActionVerb */ chrome.automation.AutomationNode.prototype.defaultActionVerb; /** * 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} * @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} * @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} * @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} * @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 column index of this column node. * @type {(number|undefined)} * @see https://developer.chrome.com/extensions/automation#type-tableColumnIndex */ chrome.automation.AutomationNode.prototype.tableColumnIndex; /** * The row index of this row node. * @type {(number|undefined)} * @see https://developer.chrome.com/extensions/automation#type-tableRowIndex */ chrome.automation.AutomationNode.prototype.tableRowIndex; /** * 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 or any other element. * @type {(boolean|undefined)} * @see https://developer.chrome.com/extensions/automation#type-busy */ chrome.automation.AutomationNode.prototype.busy; /** * 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; /** * Aria auto complete. * @type {(string|undefined)} * @see https://developer.chrome.com/extensions/automation#type-autoComplete */ chrome.automation.AutomationNode.prototype.autoComplete; /** * The name of the programmatic backing object. * @type {(string|undefined)} * @see https://developer.chrome.com/extensions/automation#type-className */ chrome.automation.AutomationNode.prototype.className; /** * Marks this subtree as modal. * @type {(boolean|undefined)} * @see https://developer.chrome.com/extensions/automation#type-modal */ chrome.automation.AutomationNode.prototype.modal; /** * A map containing all HTML attributes and their values * @type {Object} * @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 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; /** * Indicates the availability and type of interactive popup element true - the popup is a menu menu - the popup is a menu listbox - the popup is a listbox tree - the popup is a tree grid - the popup is a grid dialog - the popup is a dialog * @type {(string|undefined)} * @see https://developer.chrome.com/extensions/automation#type-hasPopup */ chrome.automation.AutomationNode.prototype.hasPopup; /** * Input restriction, if any, such as readonly or disabled: undefined - enabled control or other object that is not disabled Restriction.DISABLED - disallows input in itself + any descendants Restriction.READONLY - allow focus/selection but not input * @type {(string|undefined)} * @see https://developer.chrome.com/extensions/automation#type-restriction */ chrome.automation.AutomationNode.prototype.restriction; /** * Tri-state describing checkbox or radio button: 'false' | 'true' | 'mixed' * @type {(string|undefined)} * @see https://developer.chrome.com/extensions/automation#type-checked */ chrome.automation.AutomationNode.prototype.checked; /** * 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; /** * Indicates node text is bold. * @type {boolean} * @see https://developer.chrome.com/extensions/automation#type-bold */ chrome.automation.AutomationNode.prototype.bold; /** * Indicates node text is italic. * @type {boolean} * @see https://developer.chrome.com/extensions/automation#type-italic */ chrome.automation.AutomationNode.prototype.italic; /** * Indicates node text is underline. * @type {boolean} * @see https://developer.chrome.com/extensions/automation#type-underline */ chrome.automation.AutomationNode.prototype.underline; /** * Indicates node text is line through. * @type {boolean} * @see https://developer.chrome.com/extensions/automation#type-lineThrough */ chrome.automation.AutomationNode.prototype.lineThrough; /** * Indicates whether this node is selected, unselected, or neither. * @type {(boolean|undefined)} * @see https://developer.chrome.com/extensions/automation#type-selected */ chrome.automation.AutomationNode.prototype.selected; /** * Walking the tree. * @type {!Array} * @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-previousOnLine */ chrome.automation.AutomationNode.prototype.previousOnLine; /** * @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-previousFocus */ chrome.automation.AutomationNode.prototype.previousFocus; /** * @type {(!chrome.automation.AutomationNode|undefined)} * @see https://developer.chrome.com/extensions/automation#type-nextFocus */ chrome.automation.AutomationNode.prototype.nextFocus; /** * 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) {}; /** * Does a $(ref:automation.AutomationNode.hitTest), and receives a callback with * the resulting hit node. * @param {number} x * @param {number} y * @param {function(!chrome.automation.AutomationNode):void} callback * @see https://developer.chrome.com/extensions/automation#method-hitTestWithReply */ chrome.automation.AutomationNode.prototype.hitTestWithReply = function(x, y, callback) {}; /** * Scrolls this node to make it visible. * @see https://developer.chrome.com/extensions/automation#method-makeVisible */ chrome.automation.AutomationNode.prototype.makeVisible = function() {}; /** * Performs custom action. * @param {number} customActionId * @see https://developer.chrome.com/extensions/automation#method-performCustomAction */ chrome.automation.AutomationNode.prototype.performCustomAction = function(customActionId) {}; /** * Convenience method to perform a standard action supported by this node. For * actions requiring additional arguments, call the specific binding e.g. * setSelection. * @param {!chrome.automation.ActionType} actionType * @see https://developer.chrome.com/extensions/automation#method-performStandardAction */ chrome.automation.AutomationNode.prototype.performStandardAction = function(actionType) {}; /** * Replaces the selected text within a text field. * @param {string} value * @see https://developer.chrome.com/extensions/automation#method-replaceSelectedText */ chrome.automation.AutomationNode.prototype.replaceSelectedText = function(value) {}; /** * 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() {}; /** * Sets the value of a text field. * @param {string} value * @see https://developer.chrome.com/extensions/automation#method-setValue */ chrome.automation.AutomationNode.prototype.setValue = function(value) {}; /** * 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() {}; /** * Scrolls this scrollable container backward. * @param {function(boolean):void} callback Callback called for actions with a * response. * @see https://developer.chrome.com/extensions/automation#method-scrollBackward */ chrome.automation.AutomationNode.prototype.scrollBackward = function(callback) {}; /** * Scrolls this scrollable container forward. * @param {function(boolean):void} callback Callback called for actions with a * response. * @see https://developer.chrome.com/extensions/automation#method-scrollForward */ chrome.automation.AutomationNode.prototype.scrollForward = function(callback) {}; /** * Scrolls this scrollable container up. * @param {function(boolean):void} callback Callback called for actions with a * response. * @see https://developer.chrome.com/extensions/automation#method-scrollUp */ chrome.automation.AutomationNode.prototype.scrollUp = function(callback) {}; /** * Scrolls this scrollable container down. * @param {function(boolean):void} callback Callback called for actions with a * response. * @see https://developer.chrome.com/extensions/automation#method-scrollDown */ chrome.automation.AutomationNode.prototype.scrollDown = function(callback) {}; /** * Scrolls this scrollable container left. * @param {function(boolean):void} callback Callback called for actions with a * response. * @see https://developer.chrome.com/extensions/automation#method-scrollLeft */ chrome.automation.AutomationNode.prototype.scrollLeft = function(callback) {}; /** * Scrolls this scrollable container right. * @param {function(boolean):void} callback Callback called for actions with a * response. * @see https://developer.chrome.com/extensions/automation#method-scrollRight */ chrome.automation.AutomationNode.prototype.scrollRight = function(callback) {}; /** * 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 AutomationNode. * @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 AutomationNode. * @param {boolean} capture * @see https://developer.chrome.com/extensions/automation#method-removeEventListener */ chrome.automation.AutomationNode.prototype.removeEventListener = function(eventType, listener, capture) {}; /** *

Gets the first node in this node's subtree which matches the given CSS * selector and is within the same DOM context.

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.

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.

* @param {string} selector * @param {function(!chrome.automation.AutomationNode):void} callback Called * when the result for a query 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} * @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 AutomationNode 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 AutomationNode 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 AutomationNode 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 AutomationNode 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 AutomationNode 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) {};