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

Side by Side Diff: third_party/closure_compiler/externs/automation.js

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

Powered by Google App Engine
This is Rietveld 408576698