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 * @fileoverview Accesses Chrome's tabs extension API and gives | 6 * @fileoverview Accesses Chrome's tabs extension API and gives |
7 * feedback for events that happen in the "Chrome of Chrome". | 7 * feedback for events that happen in the "Chrome of Chrome". |
8 */ | 8 */ |
9 | 9 |
10 goog.provide('cvox.TabsApiHandler'); | 10 goog.provide('cvox.TabsApiHandler'); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 */ | 55 */ |
56 onCreated: function(tab) { | 56 onCreated: function(tab) { |
57 if (!cvox.ChromeVox.isActive) { | 57 if (!cvox.ChromeVox.isActive) { |
58 return; | 58 return; |
59 } | 59 } |
60 this.tts_.speak(this.msg_('chrome_tab_created'), | 60 this.tts_.speak(this.msg_('chrome_tab_created'), |
61 cvox.QueueMode.FLUSH, | 61 cvox.QueueMode.FLUSH, |
62 cvox.AbstractTts.PERSONALITY_ANNOUNCEMENT); | 62 cvox.AbstractTts.PERSONALITY_ANNOUNCEMENT); |
63 this.braille_.write( | 63 this.braille_.write( |
64 cvox.NavBraille.fromText(this.msg_('chrome_tab_created'))); | 64 cvox.NavBraille.fromText(this.msg_('chrome_tab_created'))); |
65 this.earcons_.playEarcon(cvox.AbstractEarcons.OBJECT_OPEN); | 65 this.earcons_.playEarcon(cvox.Earcon.OBJECT_OPEN); |
66 }, | 66 }, |
67 | 67 |
68 /** | 68 /** |
69 * Handles chrome.tabs.onRemoved. | 69 * Handles chrome.tabs.onRemoved. |
70 * @param {Object} tab | 70 * @param {Object} tab |
71 */ | 71 */ |
72 onRemoved: function(tab) { | 72 onRemoved: function(tab) { |
73 if (!cvox.ChromeVox.isActive) { | 73 if (!cvox.ChromeVox.isActive) { |
74 return; | 74 return; |
75 } | 75 } |
76 this.earcons_.playEarcon(cvox.AbstractEarcons.OBJECT_CLOSE); | 76 this.earcons_.playEarcon(cvox.Earcon.OBJECT_CLOSE); |
77 }, | 77 }, |
78 | 78 |
79 /** | 79 /** |
80 * Handles chrome.tabs.onActivated. | 80 * Handles chrome.tabs.onActivated. |
81 * @param {Object} activeInfo | 81 * @param {Object} activeInfo |
82 */ | 82 */ |
83 onActivated: function(activeInfo) { | 83 onActivated: function(activeInfo) { |
84 if (!cvox.ChromeVox.isActive) { | 84 if (!cvox.ChromeVox.isActive) { |
85 return; | 85 return; |
86 } | 86 } |
87 chrome.tabs.get(activeInfo.tabId, function(tab) { | 87 chrome.tabs.get(activeInfo.tabId, function(tab) { |
88 this.lastActiveTabLoaded_ = tab.status == 'complete'; | 88 this.lastActiveTabLoaded_ = tab.status == 'complete'; |
89 if (tab.status == 'loading') { | 89 if (tab.status == 'loading') { |
90 return; | 90 return; |
91 } | 91 } |
92 var title = tab.title ? tab.title : tab.url; | 92 var title = tab.title ? tab.title : tab.url; |
93 this.tts_.speak(this.msg_('chrome_tab_selected', | 93 this.tts_.speak(this.msg_('chrome_tab_selected', |
94 [title]), | 94 [title]), |
95 cvox.QueueMode.FLUSH, | 95 cvox.QueueMode.FLUSH, |
96 cvox.AbstractTts.PERSONALITY_ANNOUNCEMENT); | 96 cvox.AbstractTts.PERSONALITY_ANNOUNCEMENT); |
97 this.braille_.write( | 97 this.braille_.write( |
98 cvox.NavBraille.fromText(this.msg_('chrome_tab_selected', [title]))); | 98 cvox.NavBraille.fromText(this.msg_('chrome_tab_selected', [title]))); |
99 this.earcons_.playEarcon(cvox.AbstractEarcons.OBJECT_SELECT); | 99 this.earcons_.playEarcon(cvox.Earcon.OBJECT_SELECT); |
100 }.bind(this)); | 100 }.bind(this)); |
101 }, | 101 }, |
102 | 102 |
103 /** | 103 /** |
104 * Handles chrome.tabs.onUpdated. | 104 * Handles chrome.tabs.onUpdated. |
105 * @param {number} tabId | 105 * @param {number} tabId |
106 * @param {Object} selectInfo | 106 * @param {Object} selectInfo |
107 */ | 107 */ |
108 onUpdated: function(tabId, selectInfo) { | 108 onUpdated: function(tabId, selectInfo) { |
109 if (!cvox.ChromeVox.isActive) { | 109 if (!cvox.ChromeVox.isActive) { |
110 return; | 110 return; |
111 } | 111 } |
112 chrome.tabs.get(tabId, function(tab) { | 112 chrome.tabs.get(tabId, function(tab) { |
113 if (!tab.active) { | 113 if (!tab.active) { |
114 return; | 114 return; |
115 } | 115 } |
116 if (tab.status == 'loading') { | 116 if (tab.status == 'loading') { |
117 this.lastActiveTabLoaded_ = false; | 117 this.lastActiveTabLoaded_ = false; |
118 this.earcons_.playEarcon(cvox.AbstractEarcons.BUSY_PROGRESS_LOOP); | 118 this.earcons_.playEarcon(cvox.Earcon.BUSY_PROGRESS_LOOP); |
119 } else if (!this.lastActiveTabLoaded_) { | 119 } else if (!this.lastActiveTabLoaded_) { |
120 this.lastActiveTabLoaded_ = true; | 120 this.lastActiveTabLoaded_ = true; |
121 this.earcons_.playEarcon(cvox.AbstractEarcons.TASK_SUCCESS); | 121 this.earcons_.playEarcon(cvox.Earcon.TASK_SUCCESS); |
122 } | 122 } |
123 }.bind(this)); | 123 }.bind(this)); |
124 }, | 124 }, |
125 | 125 |
126 /** | 126 /** |
127 * Handles chrome.windows.onFocusChanged. | 127 * Handles chrome.windows.onFocusChanged. |
128 * @param {number} windowId | 128 * @param {number} windowId |
129 */ | 129 */ |
130 onFocusChanged: function(windowId) { | 130 onFocusChanged: function(windowId) { |
131 if (!cvox.ChromeVox.isActive) { | 131 if (!cvox.ChromeVox.isActive) { |
132 return; | 132 return; |
133 } | 133 } |
134 if (windowId == chrome.windows.WINDOW_ID_NONE) { | 134 if (windowId == chrome.windows.WINDOW_ID_NONE) { |
135 return; | 135 return; |
136 } | 136 } |
137 chrome.windows.get(windowId, function(window) { | 137 chrome.windows.get(windowId, function(window) { |
138 chrome.tabs.query({active: true, windowId: windowId}, function(tabs) { | 138 chrome.tabs.query({active: true, windowId: windowId}, function(tabs) { |
139 var msgId = window.incognito ? 'chrome_incognito_window_selected' : | 139 var msgId = window.incognito ? 'chrome_incognito_window_selected' : |
140 'chrome_normal_window_selected'; | 140 'chrome_normal_window_selected'; |
141 var tab = tabs[0] || {}; | 141 var tab = tabs[0] || {}; |
142 var title = tab.title ? tab.title : tab.url; | 142 var title = tab.title ? tab.title : tab.url; |
143 this.tts_.speak(this.msg_(msgId, [title]), | 143 this.tts_.speak(this.msg_(msgId, [title]), |
144 cvox.QueueMode.FLUSH, | 144 cvox.QueueMode.FLUSH, |
145 cvox.AbstractTts.PERSONALITY_ANNOUNCEMENT); | 145 cvox.AbstractTts.PERSONALITY_ANNOUNCEMENT); |
146 this.braille_.write( | 146 this.braille_.write( |
147 cvox.NavBraille.fromText(this.msg_(msgId, [title]))); | 147 cvox.NavBraille.fromText(this.msg_(msgId, [title]))); |
148 this.earcons_.playEarcon(cvox.AbstractEarcons.OBJECT_SELECT); | 148 this.earcons_.playEarcon(cvox.Earcon.OBJECT_SELECT); |
149 }.bind(this)); | 149 }.bind(this)); |
150 }.bind(this)); | 150 }.bind(this)); |
151 } | 151 } |
152 }; | 152 }; |
OLD | NEW |