OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 * @fileoverview Handles automation from a tabs automation node. | 6 * @fileoverview Handles automation from a tabs automation node. |
7 */ | 7 */ |
8 | 8 |
9 goog.provide('TabsAutomationHandler'); | 9 goog.provide('TabsAutomationHandler'); |
10 | 10 |
| 11 goog.require('CustomAutomationEvent'); |
11 goog.require('DesktopAutomationHandler'); | 12 goog.require('DesktopAutomationHandler'); |
12 | 13 |
13 goog.scope(function() { | 14 goog.scope(function() { |
14 var EventType = chrome.automation.EventType; | 15 var EventType = chrome.automation.EventType; |
15 var RoleType = chrome.automation.RoleType; | 16 var RoleType = chrome.automation.RoleType; |
| 17 var StateType = chrome.automation.StateType; |
16 | 18 |
17 /** | 19 /** |
18 * @param {!chrome.automation.AutomationNode} tabRoot | 20 * @param {!chrome.automation.AutomationNode} tabRoot |
19 * @constructor | 21 * @constructor |
20 * @extends {DesktopAutomationHandler} | 22 * @extends {DesktopAutomationHandler} |
21 */ | 23 */ |
22 TabsAutomationHandler = function(tabRoot) { | 24 TabsAutomationHandler = function(tabRoot) { |
23 DesktopAutomationHandler.call(this, tabRoot); | 25 DesktopAutomationHandler.call(this, tabRoot); |
24 | 26 |
25 if (tabRoot.role != RoleType.rootWebArea) | 27 if (tabRoot.role != RoleType.ROOT_WEB_AREA) |
26 throw new Error('Expected rootWebArea node but got ' + tabRoot.role); | 28 throw new Error('Expected rootWebArea node but got ' + tabRoot.role); |
27 | 29 |
28 // When the root is focused, simulate what happens on a load complete. | 30 // When the root is focused, simulate what happens on a load complete. |
29 if (tabRoot.state.focused) { | 31 if (tabRoot.state[StateType.FOCUSED]) { |
30 this.onLoadComplete( | 32 var event = new CustomAutomationEvent( |
31 new chrome.automation.AutomationEvent(EventType.loadComplete, tabRoot, | 33 EventType.LOAD_COMPLETE, tabRoot, 'page'); |
32 'page')); | 34 this.onLoadComplete(event); |
33 } | 35 } |
34 }; | 36 }; |
35 | 37 |
36 TabsAutomationHandler.prototype = { | 38 TabsAutomationHandler.prototype = { |
37 __proto__: DesktopAutomationHandler.prototype, | 39 __proto__: DesktopAutomationHandler.prototype, |
38 | 40 |
39 /** @override */ | 41 /** @override */ |
40 didHandleEvent_: function(evt) { | 42 didHandleEvent_: function(evt) { |
41 evt.stopPropagation(); | 43 evt.stopPropagation(); |
42 }, | 44 }, |
43 | 45 |
44 /** @override */ | 46 /** @override */ |
45 onLoadComplete: function(evt) { | 47 onLoadComplete: function(evt) { |
46 var focused = evt.target.find({state: {focused: true}}) || evt.target; | 48 var focused = evt.target.find({state: {focused: true}}) || evt.target; |
47 this.onFocus(new chrome.automation.AutomationEvent( | 49 var event = new CustomAutomationEvent( |
48 EventType.focus, focused, evt.eventFrom)); | 50 EventType.FOCUS, focused, evt.eventFrom); |
| 51 this.onFocus(event); |
49 } | 52 } |
50 }; | 53 }; |
51 | 54 |
52 }); // goog.scope | 55 }); // goog.scope |
OLD | NEW |