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

Side by Side Diff: chrome/browser/accessibility/accessibility_extension_api.cc

Issue 106973003: Rename experimental.accessibility to accessibilityPrivate (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix failing tests Created 6 years, 8 months 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chrome/browser/accessibility/accessibility_extension_api.h" 5 #include "chrome/browser/accessibility/accessibility_extension_api.h"
6 6
7 #include "base/json/json_writer.h" 7 #include "base/json/json_writer.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/accessibility/accessibility_extension_api_constants.h" 10 #include "chrome/browser/accessibility/accessibility_extension_api_constants.h"
11 #include "chrome/browser/extensions/api/tabs/tabs_constants.h" 11 #include "chrome/browser/extensions/api/tabs/tabs_constants.h"
12 #include "chrome/browser/extensions/extension_service.h" 12 #include "chrome/browser/extensions/extension_service.h"
13 #include "chrome/browser/extensions/extension_tab_util.h" 13 #include "chrome/browser/extensions/extension_tab_util.h"
14 #include "chrome/browser/infobars/confirm_infobar_delegate.h" 14 #include "chrome/browser/infobars/confirm_infobar_delegate.h"
15 #include "chrome/browser/infobars/infobar.h" 15 #include "chrome/browser/infobars/infobar.h"
16 #include "chrome/browser/infobars/infobar_service.h" 16 #include "chrome/browser/infobars/infobar_service.h"
17 #include "chrome/browser/profiles/profile.h" 17 #include "chrome/browser/profiles/profile.h"
18 #include "chrome/common/extensions/api/experimental_accessibility.h" 18 #include "chrome/common/extensions/api/accessibility_private.h"
19 #include "content/public/browser/browser_accessibility_state.h" 19 #include "content/public/browser/browser_accessibility_state.h"
20 #include "extensions/browser/event_router.h" 20 #include "extensions/browser/event_router.h"
21 #include "extensions/browser/extension_host.h" 21 #include "extensions/browser/extension_host.h"
22 #include "extensions/browser/extension_system.h" 22 #include "extensions/browser/extension_system.h"
23 #include "extensions/browser/lazy_background_task_queue.h" 23 #include "extensions/browser/lazy_background_task_queue.h"
24 #include "extensions/common/error_utils.h" 24 #include "extensions/common/error_utils.h"
25 #include "extensions/common/manifest_handlers/background_info.h" 25 #include "extensions/common/manifest_handlers/background_info.h"
26 26
27 namespace keys = extension_accessibility_api_constants; 27 namespace keys = extension_accessibility_api_constants;
28 namespace experimental_accessibility = 28 namespace accessibility_private =
29 extensions::api::experimental_accessibility; 29 extensions::api::accessibility_private;
30 30
31 // Returns the AccessibilityControlInfo serialized into a JSON string, 31 // Returns the AccessibilityControlInfo serialized into a JSON string,
32 // consisting of an array of a single object of type AccessibilityObject, 32 // consisting of an array of a single object of type AccessibilityObject,
33 // as defined in the accessibility extension api's json schema. 33 // as defined in the accessibility extension api's json schema.
34 scoped_ptr<base::ListValue> ControlInfoToEventArguments( 34 scoped_ptr<base::ListValue> ControlInfoToEventArguments(
35 const AccessibilityEventInfo* info) { 35 const AccessibilityEventInfo* info) {
36 base::DictionaryValue* dict = new base::DictionaryValue(); 36 base::DictionaryValue* dict = new base::DictionaryValue();
37 info->SerializeToDict(dict); 37 info->SerializeToDict(dict);
38 38
39 scoped_ptr<base::ListValue> args(new base::ListValue()); 39 scoped_ptr<base::ListValue> args(new base::ListValue());
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 break; 122 break;
123 default: 123 default:
124 NOTREACHED(); 124 NOTREACHED();
125 } 125 }
126 } 126 }
127 127
128 void ExtensionAccessibilityEventRouter::OnWindowOpened( 128 void ExtensionAccessibilityEventRouter::OnWindowOpened(
129 const AccessibilityWindowInfo* info) { 129 const AccessibilityWindowInfo* info) {
130 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info)); 130 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info));
131 DispatchEvent(info->profile(), 131 DispatchEvent(info->profile(),
132 experimental_accessibility::OnWindowOpened::kEventName, 132 accessibility_private::OnWindowOpened::kEventName,
133 args.Pass()); 133 args.Pass());
134 } 134 }
135 135
136 void ExtensionAccessibilityEventRouter::OnControlFocused( 136 void ExtensionAccessibilityEventRouter::OnControlFocused(
137 const AccessibilityControlInfo* info) { 137 const AccessibilityControlInfo* info) {
138 last_focused_control_dict_.Clear(); 138 last_focused_control_dict_.Clear();
139 info->SerializeToDict(&last_focused_control_dict_); 139 info->SerializeToDict(&last_focused_control_dict_);
140 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info)); 140 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info));
141 DispatchEvent(info->profile(), 141 DispatchEvent(info->profile(),
142 experimental_accessibility::OnControlFocused::kEventName, 142 accessibility_private::OnControlFocused::kEventName,
143 args.Pass()); 143 args.Pass());
144 } 144 }
145 145
146 void ExtensionAccessibilityEventRouter::OnControlAction( 146 void ExtensionAccessibilityEventRouter::OnControlAction(
147 const AccessibilityControlInfo* info) { 147 const AccessibilityControlInfo* info) {
148 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info)); 148 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info));
149 DispatchEvent(info->profile(), 149 DispatchEvent(info->profile(),
150 experimental_accessibility::OnControlAction::kEventName, 150 accessibility_private::OnControlAction::kEventName,
151 args.Pass()); 151 args.Pass());
152 } 152 }
153 153
154 void ExtensionAccessibilityEventRouter::OnTextChanged( 154 void ExtensionAccessibilityEventRouter::OnTextChanged(
155 const AccessibilityControlInfo* info) { 155 const AccessibilityControlInfo* info) {
156 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info)); 156 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info));
157 DispatchEvent(info->profile(), 157 DispatchEvent(info->profile(),
158 experimental_accessibility::OnTextChanged::kEventName, 158 accessibility_private::OnTextChanged::kEventName,
159 args.Pass()); 159 args.Pass());
160 } 160 }
161 161
162 void ExtensionAccessibilityEventRouter::OnMenuOpened( 162 void ExtensionAccessibilityEventRouter::OnMenuOpened(
163 const AccessibilityMenuInfo* info) { 163 const AccessibilityMenuInfo* info) {
164 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info)); 164 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info));
165 DispatchEvent(info->profile(), 165 DispatchEvent(info->profile(),
166 experimental_accessibility::OnMenuOpened::kEventName, 166 accessibility_private::OnMenuOpened::kEventName,
167 args.Pass()); 167 args.Pass());
168 } 168 }
169 169
170 void ExtensionAccessibilityEventRouter::OnMenuClosed( 170 void ExtensionAccessibilityEventRouter::OnMenuClosed(
171 const AccessibilityMenuInfo* info) { 171 const AccessibilityMenuInfo* info) {
172 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info)); 172 scoped_ptr<base::ListValue> args(ControlInfoToEventArguments(info));
173 DispatchEvent(info->profile(), 173 DispatchEvent(info->profile(),
174 experimental_accessibility::OnMenuClosed::kEventName, 174 accessibility_private::OnMenuClosed::kEventName,
175 args.Pass()); 175 args.Pass());
176 } 176 }
177 177
178 void ExtensionAccessibilityEventRouter::OnChromeVoxLoadStateChanged( 178 void ExtensionAccessibilityEventRouter::OnChromeVoxLoadStateChanged(
179 Profile* profile, 179 Profile* profile,
180 bool loading, 180 bool loading,
181 bool make_announcements) { 181 bool make_announcements) {
182 scoped_ptr<base::ListValue> event_args(new base::ListValue()); 182 scoped_ptr<base::ListValue> event_args(new base::ListValue());
183 event_args->Append(base::Value::CreateBooleanValue(loading)); 183 event_args->Append(base::Value::CreateBooleanValue(loading));
184 event_args->Append(base::Value::CreateBooleanValue(make_announcements)); 184 event_args->Append(base::Value::CreateBooleanValue(make_announcements));
185 ExtensionAccessibilityEventRouter::DispatchEventToChromeVox(profile, 185 ExtensionAccessibilityEventRouter::DispatchEventToChromeVox(profile,
186 experimental_accessibility::OnChromeVoxLoadStateChanged::kEventName, 186 accessibility_private::OnChromeVoxLoadStateChanged::kEventName,
187 event_args.Pass()); 187 event_args.Pass());
188 } 188 }
189 189
190 // Static. 190 // Static.
191 void ExtensionAccessibilityEventRouter::DispatchEventToChromeVox( 191 void ExtensionAccessibilityEventRouter::DispatchEventToChromeVox(
192 Profile* profile, 192 Profile* profile,
193 const char* event_name, 193 const char* event_name,
194 scoped_ptr<base::ListValue> event_args) { 194 scoped_ptr<base::ListValue> event_args) {
195 extensions::ExtensionSystem* system = 195 extensions::ExtensionSystem* system =
196 extensions::ExtensionSystem::Get(profile); 196 extensions::ExtensionSystem::Get(profile);
(...skipping 11 matching lines...) Expand all
208 scoped_ptr<base::ListValue> event_args) { 208 scoped_ptr<base::ListValue> event_args) {
209 if (enabled_ && profile && 209 if (enabled_ && profile &&
210 extensions::ExtensionSystem::Get(profile)->event_router()) { 210 extensions::ExtensionSystem::Get(profile)->event_router()) {
211 scoped_ptr<extensions::Event> event(new extensions::Event( 211 scoped_ptr<extensions::Event> event(new extensions::Event(
212 event_name, event_args.Pass())); 212 event_name, event_args.Pass()));
213 extensions::ExtensionSystem::Get(profile)->event_router()-> 213 extensions::ExtensionSystem::Get(profile)->event_router()->
214 BroadcastEvent(event.Pass()); 214 BroadcastEvent(event.Pass());
215 } 215 }
216 } 216 }
217 217
218 bool AccessibilitySetAccessibilityEnabledFunction::RunImpl() { 218 bool AccessibilityPrivateSetAccessibilityEnabledFunction::RunImpl() {
219 bool enabled; 219 bool enabled;
220 EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &enabled)); 220 EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &enabled));
221 ExtensionAccessibilityEventRouter::GetInstance() 221 ExtensionAccessibilityEventRouter::GetInstance()
222 ->SetAccessibilityEnabled(enabled); 222 ->SetAccessibilityEnabled(enabled);
223 return true; 223 return true;
224 } 224 }
225 225
226 bool AccessibilitySetNativeAccessibilityEnabledFunction::RunImpl() { 226 bool AccessibilityPrivateSetNativeAccessibilityEnabledFunction::RunImpl() {
227 bool enabled; 227 bool enabled;
228 EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &enabled)); 228 EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &enabled));
229 if (enabled) { 229 if (enabled) {
230 content::BrowserAccessibilityState::GetInstance()-> 230 content::BrowserAccessibilityState::GetInstance()->
231 EnableAccessibility(); 231 EnableAccessibility();
232 } else { 232 } else {
233 content::BrowserAccessibilityState::GetInstance()-> 233 content::BrowserAccessibilityState::GetInstance()->
234 DisableAccessibility(); 234 DisableAccessibility();
235 } 235 }
236 return true; 236 return true;
237 } 237 }
238 238
239 bool AccessibilityGetFocusedControlFunction::RunImpl() { 239 bool AccessibilityPrivateGetFocusedControlFunction::RunImpl() {
240 // Get the serialized dict from the last focused control and return it. 240 // Get the serialized dict from the last focused control and return it.
241 // However, if the dict is empty, that means we haven't seen any focus 241 // However, if the dict is empty, that means we haven't seen any focus
242 // events yet, so return null instead. 242 // events yet, so return null instead.
243 ExtensionAccessibilityEventRouter *accessibility_event_router = 243 ExtensionAccessibilityEventRouter *accessibility_event_router =
244 ExtensionAccessibilityEventRouter::GetInstance(); 244 ExtensionAccessibilityEventRouter::GetInstance();
245 base::DictionaryValue *last_focused_control_dict = 245 base::DictionaryValue *last_focused_control_dict =
246 accessibility_event_router->last_focused_control_dict(); 246 accessibility_event_router->last_focused_control_dict();
247 if (last_focused_control_dict->size()) { 247 if (last_focused_control_dict->size()) {
248 SetResult(last_focused_control_dict->DeepCopyWithoutEmptyChildren()); 248 SetResult(last_focused_control_dict->DeepCopyWithoutEmptyChildren());
249 } else { 249 } else {
250 SetResult(base::Value::CreateNullValue()); 250 SetResult(base::Value::CreateNullValue());
251 } 251 }
252 return true; 252 return true;
253 } 253 }
254 254
255 bool AccessibilityGetAlertsForTabFunction::RunImpl() { 255 bool AccessibilityPrivateGetAlertsForTabFunction::RunImpl() {
256 int tab_id; 256 int tab_id;
257 EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &tab_id)); 257 EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &tab_id));
258 258
259 TabStripModel* tab_strip = NULL; 259 TabStripModel* tab_strip = NULL;
260 content::WebContents* contents = NULL; 260 content::WebContents* contents = NULL;
261 int tab_index = -1; 261 int tab_index = -1;
262 if (!extensions::ExtensionTabUtil::GetTabById(tab_id, 262 if (!extensions::ExtensionTabUtil::GetTabById(tab_id,
263 GetProfile(), 263 GetProfile(),
264 include_incognito(), 264 include_incognito(),
265 NULL, 265 NULL,
(...skipping 18 matching lines...) Expand all
284 const base::string16 message_text = 284 const base::string16 message_text =
285 confirm_infobar_delegate->GetMessageText(); 285 confirm_infobar_delegate->GetMessageText();
286 alert_value->SetString(keys::kMessageKey, message_text); 286 alert_value->SetString(keys::kMessageKey, message_text);
287 alerts_value->Append(alert_value); 287 alerts_value->Append(alert_value);
288 } 288 }
289 } 289 }
290 290
291 SetResult(alerts_value); 291 SetResult(alerts_value);
292 return true; 292 return true;
293 } 293 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698