| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 | 5 |
| 6 /** | 6 /** |
| 7 * @fileoverview Definitions for the Chromium extensions API used by ChromeVox. | 7 * @fileoverview Definitions for the Chromium extensions API used by ChromeVox. |
| 8 * | 8 * |
| 9 * @externs | 9 * @externs |
| 10 */ | 10 */ |
| 11 | 11 |
| 12 | |
| 13 // TODO: Move these to //third_party/closure_compiler/externs. | |
| 14 | |
| 15 // Begin auto generated externs; do not edit. | |
| 16 // The following was generated from: | |
| 17 // | |
| 18 // python tools/json_schema_compiler/compiler.py | |
| 19 // -g externs | |
| 20 // chrome/common/extensions/api/automation.idl | |
| 21 | |
| 22 /** | |
| 23 * @const | |
| 24 */ | |
| 25 chrome.automation = {}; | |
| 26 | |
| 27 /** | |
| 28 * @enum {string} | |
| 29 */ | |
| 30 chrome.automation.EventType = { | |
| 31 activedescendantchanged: '', | |
| 32 alert: '', | |
| 33 ariaAttributeChanged: '', | |
| 34 autocorrectionOccured: '', | |
| 35 blur: '', | |
| 36 checkedStateChanged: '', | |
| 37 childrenChanged: '', | |
| 38 documentSelectionChanged: '', | |
| 39 expandedChanged: '', | |
| 40 focus: '', | |
| 41 hide: '', | |
| 42 hover: '', | |
| 43 invalidStatusChanged: '', | |
| 44 layoutComplete: '', | |
| 45 liveRegionChanged: '', | |
| 46 loadComplete: '', | |
| 47 locationChanged: '', | |
| 48 menuEnd: '', | |
| 49 menuListItemSelected: '', | |
| 50 menuListValueChanged: '', | |
| 51 menuPopupEnd: '', | |
| 52 menuPopupStart: '', | |
| 53 menuStart: '', | |
| 54 rowCollapsed: '', | |
| 55 rowCountChanged: '', | |
| 56 rowExpanded: '', | |
| 57 scrollPositionChanged: '', | |
| 58 scrolledToAnchor: '', | |
| 59 selectedChildrenChanged: '', | |
| 60 selection: '', | |
| 61 selectionAdd: '', | |
| 62 selectionRemove: '', | |
| 63 show: '', | |
| 64 textChanged: '', | |
| 65 textSelectionChanged: '', | |
| 66 treeChanged: '', | |
| 67 valueChanged: '', | |
| 68 }; | |
| 69 | |
| 70 /** | |
| 71 * @enum {string} | |
| 72 */ | |
| 73 chrome.automation.RoleType = { | |
| 74 alertDialog: '', | |
| 75 alert: '', | |
| 76 annotation: '', | |
| 77 application: '', | |
| 78 article: '', | |
| 79 banner: '', | |
| 80 blockquote: '', | |
| 81 busyIndicator: '', | |
| 82 button: '', | |
| 83 buttonDropDown: '', | |
| 84 canvas: '', | |
| 85 caption: '', | |
| 86 cell: '', | |
| 87 checkBox: '', | |
| 88 client: '', | |
| 89 colorWell: '', | |
| 90 columnHeader: '', | |
| 91 column: '', | |
| 92 comboBox: '', | |
| 93 complementary: '', | |
| 94 contentInfo: '', | |
| 95 date: '', | |
| 96 dateTime: '', | |
| 97 definition: '', | |
| 98 descriptionListDetail: '', | |
| 99 descriptionList: '', | |
| 100 descriptionListTerm: '', | |
| 101 desktop: '', | |
| 102 details: '', | |
| 103 dialog: '', | |
| 104 directory: '', | |
| 105 disclosureTriangle: '', | |
| 106 div: '', | |
| 107 document: '', | |
| 108 embeddedObject: '', | |
| 109 figcaption: '', | |
| 110 figure: '', | |
| 111 footer: '', | |
| 112 form: '', | |
| 113 grid: '', | |
| 114 group: '', | |
| 115 heading: '', | |
| 116 iframe: '', | |
| 117 iframePresentational: '', | |
| 118 ignored: '', | |
| 119 imageMapLink: '', | |
| 120 imageMap: '', | |
| 121 image: '', | |
| 122 inlineTextBox: '', | |
| 123 labelText: '', | |
| 124 legend: '', | |
| 125 lineBreak: '', | |
| 126 link: '', | |
| 127 listBoxOption: '', | |
| 128 listBox: '', | |
| 129 listItem: '', | |
| 130 listMarker: '', | |
| 131 list: '', | |
| 132 locationBar: '', | |
| 133 log: '', | |
| 134 main: '', | |
| 135 marquee: '', | |
| 136 math: '', | |
| 137 menuBar: '', | |
| 138 menuButton: '', | |
| 139 menuItem: '', | |
| 140 menuItemCheckBox: '', | |
| 141 menuItemRadio: '', | |
| 142 menuListOption: '', | |
| 143 menuListPopup: '', | |
| 144 menu: '', | |
| 145 meter: '', | |
| 146 navigation: '', | |
| 147 note: '', | |
| 148 outline: '', | |
| 149 pane: '', | |
| 150 paragraph: '', | |
| 151 popUpButton: '', | |
| 152 pre: '', | |
| 153 presentational: '', | |
| 154 progressIndicator: '', | |
| 155 radioButton: '', | |
| 156 radioGroup: '', | |
| 157 region: '', | |
| 158 rootWebArea: '', | |
| 159 rowHeader: '', | |
| 160 row: '', | |
| 161 ruby: '', | |
| 162 ruler: '', | |
| 163 svgRoot: '', | |
| 164 scrollArea: '', | |
| 165 scrollBar: '', | |
| 166 seamlessWebArea: '', | |
| 167 search: '', | |
| 168 searchBox: '', | |
| 169 slider: '', | |
| 170 sliderThumb: '', | |
| 171 spinButtonPart: '', | |
| 172 spinButton: '', | |
| 173 splitter: '', | |
| 174 staticText: '', | |
| 175 status: '', | |
| 176 switch: '', | |
| 177 tabGroup: '', | |
| 178 tabList: '', | |
| 179 tabPanel: '', | |
| 180 tab: '', | |
| 181 tableHeaderContainer: '', | |
| 182 table: '', | |
| 183 textField: '', | |
| 184 time: '', | |
| 185 timer: '', | |
| 186 titleBar: '', | |
| 187 toggleButton: '', | |
| 188 toolbar: '', | |
| 189 treeGrid: '', | |
| 190 treeItem: '', | |
| 191 tree: '', | |
| 192 unknown: '', | |
| 193 tooltip: '', | |
| 194 webArea: '', | |
| 195 webView: '', | |
| 196 window: '', | |
| 197 }; | |
| 198 | |
| 199 /** | |
| 200 * @enum {string} | |
| 201 */ | |
| 202 chrome.automation.StateType = { | |
| 203 busy: '', | |
| 204 checked: '', | |
| 205 collapsed: '', | |
| 206 default: '', | |
| 207 disabled: '', | |
| 208 editable: '', | |
| 209 expanded: '', | |
| 210 focusable: '', | |
| 211 focused: '', | |
| 212 haspopup: '', | |
| 213 horizontal: '', | |
| 214 hovered: '', | |
| 215 indeterminate: '', | |
| 216 invisible: '', | |
| 217 linked: '', | |
| 218 multiline: '', | |
| 219 multiselectable: '', | |
| 220 offscreen: '', | |
| 221 pressed: '', | |
| 222 protected: '', | |
| 223 readOnly: '', | |
| 224 required: '', | |
| 225 richlyEditable: '', | |
| 226 selectable: '', | |
| 227 selected: '', | |
| 228 vertical: '', | |
| 229 visited: '', | |
| 230 }; | |
| 231 | |
| 232 /** | |
| 233 * @enum {number} | |
| 234 */ | |
| 235 chrome.automation.NameFromType = { | |
| 236 0: '', | |
| 237 1: 'uninitialized', | |
| 238 2: 'attribute', | |
| 239 3: 'contents', | |
| 240 4: 'placeholder', | |
| 241 5: 'relatedElement', | |
| 242 6: 'value' | |
| 243 }; | |
| 244 | |
| 245 /** | |
| 246 * @enum {number} | |
| 247 */ | |
| 248 chrome.automation.DescriptionFromType = { | |
| 249 0: '', | |
| 250 1: 'uninitialized', | |
| 251 2: 'attribute', | |
| 252 3: 'contents', | |
| 253 4: 'placeholder', | |
| 254 5: 'relatedElement' | |
| 255 }; | |
| 256 | |
| 257 /** | |
| 258 * @enum {string} | |
| 259 */ | |
| 260 chrome.automation.TreeChangeType = { | |
| 261 nodeCreated: 'nodeCreated', | |
| 262 subtreeCreated: 'subtreeCreated', | |
| 263 nodeChanged: 'nodeChanged', | |
| 264 nodeRemoved: 'nodeRemoved', | |
| 265 }; | |
| 266 | |
| 267 /** | |
| 268 * @typedef {{ | |
| 269 * left: number, | |
| 270 * top: number, | |
| 271 * width: number, | |
| 272 * height: number | |
| 273 * }} | |
| 274 */ | |
| 275 chrome.automation.Rect; | |
| 276 | |
| 277 /** | |
| 278 * @typedef {{ | |
| 279 * role: (!chrome.automation.RoleType|undefined), | |
| 280 * state: (Object|undefined), | |
| 281 * attributes: (Object|undefined) | |
| 282 * }} | |
| 283 */ | |
| 284 chrome.automation.FindParams; | |
| 285 | |
| 286 /** | |
| 287 * @constructor | |
| 288 * @param {chrome.automation.EventType} type | |
| 289 * @param {chrome.automation.AutomationNode} node | |
| 290 * @param {string} eventFrom | |
| 291 */ | |
| 292 chrome.automation.AutomationEvent = function(type, node, eventFrom) {}; | |
| 293 | |
| 294 /** | |
| 295 * @type {!chrome.automation.AutomationNode} | |
| 296 */ | |
| 297 chrome.automation.AutomationEvent.prototype.target; | |
| 298 | |
| 299 /** | |
| 300 * @type {!chrome.automation.EventType} | |
| 301 */ | |
| 302 chrome.automation.AutomationEvent.prototype.type; | |
| 303 | |
| 304 /** | |
| 305 * @type {string} | |
| 306 */ | |
| 307 chrome.automation.AutomationEvent.prototype.eventFrom; | |
| 308 | |
| 309 chrome.automation.AutomationEvent.prototype.stopPropagation = function() {}; | |
| 310 | |
| 311 /** | |
| 312 * @typedef {{ | |
| 313 * target: chrome.automation.AutomationNode, | |
| 314 * type: !chrome.automation.TreeChangeType | |
| 315 * }} | |
| 316 */ | |
| 317 chrome.automation.TreeChange; | |
| 318 | |
| 319 /** | |
| 320 * @constructor | |
| 321 */ | |
| 322 chrome.automation.AutomationNode = function() {}; | |
| 323 | |
| 324 | |
| 325 /** | |
| 326 * @param {number} tabId | |
| 327 * @param {function(chrome.automation.AutomationNode):void} callback | |
| 328 */ | |
| 329 chrome.automation.getTree = function(tabId, callback) {}; | |
| 330 | |
| 331 /** @param {function(!chrome.automation.AutomationNode):void} callback */ | |
| 332 chrome.automation.getDesktop = function(callback) {}; | |
| 333 | |
| 334 /** @param {function(!chrome.automation.AutomationNode):void} callback */ | |
| 335 chrome.automation.getFocus = function(callback) {}; | |
| 336 | |
| 337 /** | |
| 338 * @param {string} filter | |
| 339 * @param {function(chrome.automation.TreeChange) : void} | |
| 340 * observer | |
| 341 */ | |
| 342 chrome.automation.addTreeChangeObserver = function(filter, observer) {}; | |
| 343 | |
| 344 /** | |
| 345 * @param {function(chrome.automation.TreeChange) : void} observer | |
| 346 */ | |
| 347 chrome.automation.removeTreeChangeObserver = function(observer) {}; | |
| 348 | |
| 349 // | |
| 350 // End auto generated externs; do not edit. | |
| 351 // | |
| 352 | |
| 353 | |
| 354 | |
| 355 /** | |
| 356 * @type {chrome.automation.RoleType} | |
| 357 */ | |
| 358 chrome.automation.AutomationNode.prototype.role; | |
| 359 | |
| 360 | |
| 361 /** | |
| 362 * @type {!Object<chrome.automation.StateType, boolean>} | |
| 363 */ | |
| 364 chrome.automation.AutomationNode.prototype.state; | |
| 365 | |
| 366 | |
| 367 /** | |
| 368 * @type {chrome.automation.NameFromType} | |
| 369 */ | |
| 370 chrome.automation.AutomationNode.prototype.nameFrom; | |
| 371 | |
| 372 | |
| 373 /** | |
| 374 * @type {chrome.automation.DescriptionFromType} | |
| 375 */ | |
| 376 chrome.automation.AutomationNode.prototype.descriptionFrom; | |
| 377 | |
| 378 | |
| 379 /** | |
| 380 * @type {number} | |
| 381 */ | |
| 382 chrome.automation.AutomationNode.prototype.indexInParent; | |
| 383 | |
| 384 | |
| 385 /** | |
| 386 * @type {string} | |
| 387 */ | |
| 388 chrome.automation.AutomationNode.prototype.name; | |
| 389 | |
| 390 /** | |
| 391 * @type {string} | |
| 392 */ | |
| 393 chrome.automation.AutomationNode.prototype.description; | |
| 394 | |
| 395 | |
| 396 /** | |
| 397 * @type {string} | |
| 398 */ | |
| 399 chrome.automation.AutomationNode.prototype.url; | |
| 400 | |
| 401 | |
| 402 /** | |
| 403 * @type {string} | |
| 404 */ | |
| 405 chrome.automation.AutomationNode.prototype.docUrl; | |
| 406 | |
| 407 | |
| 408 /** | |
| 409 * @type {string} | |
| 410 */ | |
| 411 chrome.automation.AutomationNode.prototype.value; | |
| 412 | |
| 413 | |
| 414 /** | |
| 415 * @type {number} | |
| 416 */ | |
| 417 chrome.automation.AutomationNode.prototype.textSelStart; | |
| 418 | |
| 419 | |
| 420 /** | |
| 421 * @type {number} | |
| 422 */ | |
| 423 chrome.automation.AutomationNode.prototype.textSelEnd; | |
| 424 | |
| 425 | |
| 426 /** | |
| 427 * @type {Array<number>} | |
| 428 */ | |
| 429 chrome.automation.AutomationNode.prototype.wordStarts; | |
| 430 | |
| 431 | |
| 432 /** | |
| 433 * @type {Array<number>} | |
| 434 */ | |
| 435 chrome.automation.AutomationNode.prototype.wordEnds; | |
| 436 | |
| 437 | |
| 438 /** | |
| 439 * @type {chrome.automation.AutomationRootNode} | |
| 440 */ | |
| 441 chrome.automation.AutomationNode.prototype.root; | |
| 442 | |
| 443 | |
| 444 /** | |
| 445 * @type {chrome.automation.AutomationNode} | |
| 446 */ | |
| 447 chrome.automation.AutomationNode.prototype.firstChild; | |
| 448 | |
| 449 | |
| 450 /** | |
| 451 * @type {chrome.automation.AutomationNode} | |
| 452 */ | |
| 453 chrome.automation.AutomationNode.prototype.lastChild; | |
| 454 | |
| 455 | |
| 456 /** | |
| 457 * @type {chrome.automation.AutomationNode} | |
| 458 */ | |
| 459 chrome.automation.AutomationNode.prototype.nextSibling; | |
| 460 | |
| 461 | |
| 462 /** | |
| 463 * @type {chrome.automation.AutomationNode} | |
| 464 */ | |
| 465 chrome.automation.AutomationNode.prototype.previousSibling; | |
| 466 | |
| 467 | |
| 468 /** | |
| 469 * @type {chrome.automation.AutomationNode} | |
| 470 */ | |
| 471 chrome.automation.AutomationNode.prototype.parent; | |
| 472 | |
| 473 | |
| 474 /** | |
| 475 * @type {!Array<chrome.automation.AutomationNode>} | |
| 476 */ | |
| 477 chrome.automation.AutomationNode.prototype.children; | |
| 478 | |
| 479 | |
| 480 /** | |
| 481 * @type {{top: number, left: number, height: number, width: number}|undefined} | |
| 482 */ | |
| 483 chrome.automation.AutomationNode.prototype.location; | |
| 484 | |
| 485 | |
| 486 /** | |
| 487 * @param {number} start | |
| 488 * @param {number} end | |
| 489 * @return { | |
| 490 * ({top: number, left: number, height: number, width: number})|undefined} | |
| 491 */ | |
| 492 chrome.automation.AutomationNode.prototype.boundsForRange = | |
| 493 function(start, end) {}; | |
| 494 | |
| 495 | |
| 496 chrome.automation.AutomationNode.prototype.makeVisible = function() {}; | |
| 497 | |
| 498 | |
| 499 /** | |
| 500 * @param {chrome.automation.EventType} eventType | |
| 501 * @param {function(!chrome.automation.AutomationEvent) : void} callback | |
| 502 * @param {boolean} capture | |
| 503 */ | |
| 504 chrome.automation.AutomationNode.prototype.addEventListener = | |
| 505 function(eventType, callback, capture) {}; | |
| 506 | |
| 507 | |
| 508 /** | |
| 509 * @param {chrome.automation.EventType} eventType | |
| 510 * @param {function(!chrome.automation.AutomationEvent) : void} callback | |
| 511 * @param {boolean} capture | |
| 512 */ | |
| 513 chrome.automation.AutomationNode.prototype.removeEventListener = | |
| 514 function(eventType, callback, capture) {}; | |
| 515 | |
| 516 | |
| 517 /** | |
| 518 * @type {chrome.automation.AutomationNode} | |
| 519 */ | |
| 520 chrome.automation.TreeChange.prototype.target; | |
| 521 | |
| 522 | |
| 523 /** | |
| 524 * @type {chrome.automation.TreeChangeType} | |
| 525 */ | |
| 526 chrome.automation.TreeChange.prototype.type; | |
| 527 | |
| 528 | |
| 529 chrome.automation.AutomationNode.prototype.doDefault = function() {}; | |
| 530 | |
| 531 | |
| 532 chrome.automation.AutomationNode.prototype.focus = function() {}; | |
| 533 | |
| 534 | |
| 535 chrome.automation.AutomationNode.prototype.showContextMenu = function() {}; | |
| 536 | |
| 537 | |
| 538 chrome.automation.AutomationNode.prototype | |
| 539 .setSequentialFocusNavigationStartingPoint = function() {}; | |
| 540 | |
| 541 | |
| 542 /** | |
| 543 * @param {number} start | |
| 544 * @param {number} end | |
| 545 */ | |
| 546 chrome.automation.AutomationNode.prototype.setSelection = | |
| 547 function(start, end) {}; | |
| 548 | |
| 549 /** @type {string} */ | |
| 550 chrome.automation.AutomationNode.prototype.containerLiveStatus; | |
| 551 | |
| 552 /** @type {string} */ | |
| 553 chrome.automation.AutomationNode.prototype.containerLiveRelevant; | |
| 554 | |
| 555 /** @type {boolean} */ | |
| 556 chrome.automation.AutomationNode.prototype.containerLiveAtomic; | |
| 557 | |
| 558 /** @type {boolean} */ | |
| 559 chrome.automation.AutomationNode.prototype.containerLiveBusy; | |
| 560 | |
| 561 /** @type {string} */ | |
| 562 chrome.automation.AutomationNode.prototype.language; | |
| 563 | |
| 564 /** @type {string} */ | |
| 565 chrome.automation.AutomationNode.prototype.liveStatus; | |
| 566 | |
| 567 /** @type {string} */ | |
| 568 chrome.automation.AutomationNode.prototype.liveRelevant; | |
| 569 | |
| 570 /** @type {boolean} */ | |
| 571 chrome.automation.AutomationNode.prototype.liveAtomic; | |
| 572 | |
| 573 /** @type {boolean} */ | |
| 574 chrome.automation.AutomationNode.prototype.liveBusy; | |
| 575 | |
| 576 | |
| 577 /** | |
| 578 * @param {Object} findParams | |
| 579 */ | |
| 580 chrome.automation.AutomationNode.prototype.find = function(findParams) {}; | |
| 581 | |
| 582 /** | |
| 583 * @param {Object} findParams | |
| 584 * @return {Array<chrome.automation.AutomationNode>} | |
| 585 */ | |
| 586 chrome.automation.AutomationNode.prototype.findAll = function(findParams) {}; | |
| 587 | |
| 588 /** | |
| 589 * @type {string} | |
| 590 */ | |
| 591 chrome.automation.AutomationNode.prototype.inputType; | |
| 592 | |
| 593 /** | |
| 594 * @type {(chrome.automation.AutomationNode|undefined)} | |
| 595 */ | |
| 596 chrome.automation.AutomationNode.prototype.anchorObject; | |
| 597 | |
| 598 /** | |
| 599 * @param {{anchorObject: !chrome.automation.AutomationNode, | |
| 600 * anchorOffset: number, | |
| 601 * focusObject: !chrome.automation.AutomationNode, | |
| 602 * focusOffset: number}} selectionParams | |
| 603 */ | |
| 604 chrome.automation.setDocumentSelection = function(selectionParams) {}; | |
| 605 | |
| 606 /** | |
| 607 * @type {(number|undefined)} | |
| 608 */ | |
| 609 chrome.automation.anchorOffset; | |
| 610 | |
| 611 /** | |
| 612 * @type {(chrome.automation.AutomationNode|undefined)} | |
| 613 */ | |
| 614 chrome.automation.AutomationNode.prototype.focusObject; | |
| 615 | |
| 616 /** | |
| 617 * @type {(Array<number>|undefined)} | |
| 618 */ | |
| 619 chrome.automation.AutomationNode.prototype.lineBreaks; | |
| 620 | |
| 621 /** | |
| 622 * @type {(number|undefined)} | |
| 623 */ | |
| 624 chrome.automation.focusOffset; | |
| 625 | |
| 626 /** | |
| 627 * @type {(chrome.automation.AutomationNode|undefined)} | |
| 628 */ | |
| 629 chrome.automation.AutomationNode.prototype.activeDescendant; | |
| 630 | |
| 631 /** @type {number} */ | |
| 632 chrome.automation.AutomationNode.prototype.tableCellColumnIndex; | |
| 633 | |
| 634 /** @type {number} */ | |
| 635 chrome.automation.AutomationNode.prototype.tableCellRowIndex; | |
| 636 | |
| 637 /** @type {number} */ | |
| 638 chrome.automation.AutomationNode.prototype.tableColumnCount; | |
| 639 | |
| 640 /** @type {number} */ | |
| 641 chrome.automation.AutomationNode.prototype.tableRowCount; | |
| 642 | |
| 643 /** @type {number} */ | |
| 644 chrome.automation.AutomationNode.prototype.hierarchicalLevel; | |
| 645 | |
| 646 /** @type {Array<number>} */ | |
| 647 chrome.automation.AutomationNode.prototype.markerTypes; | |
| 648 /** @type {Array<number>} */ | |
| 649 chrome.automation.AutomationNode.prototype.markerStarts; | |
| 650 /** @type {Array<number>} */ | |
| 651 chrome.automation.AutomationNode.prototype.markerEnds; | |
| 652 | |
| 653 /** @type {boolean} */ | |
| 654 chrome.automation.AutomationNode.prototype.ariaReadonly; | |
| 655 | |
| 656 /** @type {chrome.automation.AutomationNode} */ | |
| 657 chrome.automation.AutomationNode.prototype.nextOnLine; | |
| 658 /** @type {chrome.automation.AutomationNode} */ | |
| 659 chrome.automation.AutomationNode.prototype.previousOnLine; | |
| 660 | |
| 661 /** @type {Object<string, string>} */ | |
| 662 chrome.automation.AutomationNode.prototype.htmlAttributes; | |
| 663 | |
| 664 /** | |
| 665 * @extends {chrome.automation.AutomationNode} | |
| 666 * @constructor | |
| 667 */ | |
| 668 chrome.automation.AutomationRootNode = function() {}; | |
| 669 | |
| 670 /** | |
| 671 * @type {chrome.automation.AutomationNode} | |
| 672 */ | |
| 673 chrome.automation.AutomationRootNode.prototype.anchorObject; | |
| 674 | |
| 675 /** | |
| 676 * @type {number} | |
| 677 */ | |
| 678 chrome.automation.AutomationRootNode.prototype.anchorOffset; | |
| 679 | |
| 680 /** | |
| 681 * @type {chrome.automation.AutomationNode} | |
| 682 */ | |
| 683 chrome.automation.AutomationRootNode.prototype.focusObject; | |
| 684 | |
| 685 /** | |
| 686 * @type {number} | |
| 687 */ | |
| 688 chrome.automation.AutomationRootNode.prototype.focusOffset; | |
| 689 | |
| 690 /** @type {function() : !Object} */ | 12 /** @type {function() : !Object} */ |
| 691 chrome.app.getDetails; | 13 chrome.app.getDetails; |
| OLD | NEW |