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

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

Issue 258063008: Revert "Rename experimental.accessibility to accessibilityPrivate" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 7 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 | Annotate | Revision Log
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_service.h" 15 #include "chrome/browser/infobars/infobar_service.h"
16 #include "chrome/browser/profiles/profile.h" 16 #include "chrome/browser/profiles/profile.h"
17 #include "chrome/common/extensions/api/accessibility_private.h" 17 #include "chrome/common/extensions/api/experimental_accessibility.h"
18 #include "components/infobars/core/infobar.h" 18 #include "components/infobars/core/infobar.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 accessibility_private = 28 namespace experimental_accessibility =
29 extensions::api::accessibility_private; 29 extensions::api::experimental_accessibility;
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 accessibility_private::OnWindowOpened::kEventName, 132 experimental_accessibility::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 accessibility_private::OnControlFocused::kEventName, 142 experimental_accessibility::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 accessibility_private::OnControlAction::kEventName, 150 experimental_accessibility::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 accessibility_private::OnTextChanged::kEventName, 158 experimental_accessibility::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 accessibility_private::OnMenuOpened::kEventName, 166 experimental_accessibility::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 accessibility_private::OnMenuClosed::kEventName, 174 experimental_accessibility::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 accessibility_private::OnChromeVoxLoadStateChanged::kEventName, 186 experimental_accessibility::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 13 matching lines...) Expand all
210 return; 210 return;
211 extensions::EventRouter* event_router = extensions::EventRouter::Get(profile); 211 extensions::EventRouter* event_router = extensions::EventRouter::Get(profile);
212 if (!event_router) 212 if (!event_router)
213 return; 213 return;
214 214
215 scoped_ptr<extensions::Event> event(new extensions::Event( 215 scoped_ptr<extensions::Event> event(new extensions::Event(
216 event_name, event_args.Pass())); 216 event_name, event_args.Pass()));
217 event_router->BroadcastEvent(event.Pass()); 217 event_router->BroadcastEvent(event.Pass());
218 } 218 }
219 219
220 bool AccessibilityPrivateSetAccessibilityEnabledFunction::RunImpl() { 220 bool AccessibilitySetAccessibilityEnabledFunction::RunImpl() {
221 bool enabled; 221 bool enabled;
222 EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &enabled)); 222 EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &enabled));
223 ExtensionAccessibilityEventRouter::GetInstance() 223 ExtensionAccessibilityEventRouter::GetInstance()
224 ->SetAccessibilityEnabled(enabled); 224 ->SetAccessibilityEnabled(enabled);
225 return true; 225 return true;
226 } 226 }
227 227
228 bool AccessibilityPrivateSetNativeAccessibilityEnabledFunction::RunImpl() { 228 bool AccessibilitySetNativeAccessibilityEnabledFunction::RunImpl() {
229 bool enabled; 229 bool enabled;
230 EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &enabled)); 230 EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &enabled));
231 if (enabled) { 231 if (enabled) {
232 content::BrowserAccessibilityState::GetInstance()-> 232 content::BrowserAccessibilityState::GetInstance()->
233 EnableAccessibility(); 233 EnableAccessibility();
234 } else { 234 } else {
235 content::BrowserAccessibilityState::GetInstance()-> 235 content::BrowserAccessibilityState::GetInstance()->
236 DisableAccessibility(); 236 DisableAccessibility();
237 } 237 }
238 return true; 238 return true;
239 } 239 }
240 240
241 bool AccessibilityPrivateGetFocusedControlFunction::RunImpl() { 241 bool AccessibilityGetFocusedControlFunction::RunImpl() {
242 // Get the serialized dict from the last focused control and return it. 242 // Get the serialized dict from the last focused control and return it.
243 // However, if the dict is empty, that means we haven't seen any focus 243 // However, if the dict is empty, that means we haven't seen any focus
244 // events yet, so return null instead. 244 // events yet, so return null instead.
245 ExtensionAccessibilityEventRouter *accessibility_event_router = 245 ExtensionAccessibilityEventRouter *accessibility_event_router =
246 ExtensionAccessibilityEventRouter::GetInstance(); 246 ExtensionAccessibilityEventRouter::GetInstance();
247 base::DictionaryValue *last_focused_control_dict = 247 base::DictionaryValue *last_focused_control_dict =
248 accessibility_event_router->last_focused_control_dict(); 248 accessibility_event_router->last_focused_control_dict();
249 if (last_focused_control_dict->size()) { 249 if (last_focused_control_dict->size()) {
250 SetResult(last_focused_control_dict->DeepCopyWithoutEmptyChildren()); 250 SetResult(last_focused_control_dict->DeepCopyWithoutEmptyChildren());
251 } else { 251 } else {
252 SetResult(base::Value::CreateNullValue()); 252 SetResult(base::Value::CreateNullValue());
253 } 253 }
254 return true; 254 return true;
255 } 255 }
256 256
257 bool AccessibilityPrivateGetAlertsForTabFunction::RunImpl() { 257 bool AccessibilityGetAlertsForTabFunction::RunImpl() {
258 int tab_id; 258 int tab_id;
259 EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &tab_id)); 259 EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &tab_id));
260 260
261 TabStripModel* tab_strip = NULL; 261 TabStripModel* tab_strip = NULL;
262 content::WebContents* contents = NULL; 262 content::WebContents* contents = NULL;
263 int tab_index = -1; 263 int tab_index = -1;
264 if (!extensions::ExtensionTabUtil::GetTabById(tab_id, 264 if (!extensions::ExtensionTabUtil::GetTabById(tab_id,
265 GetProfile(), 265 GetProfile(),
266 include_incognito(), 266 include_incognito(),
267 NULL, 267 NULL,
(...skipping 18 matching lines...) Expand all
286 const base::string16 message_text = 286 const base::string16 message_text =
287 confirm_infobar_delegate->GetMessageText(); 287 confirm_infobar_delegate->GetMessageText();
288 alert_value->SetString(keys::kMessageKey, message_text); 288 alert_value->SetString(keys::kMessageKey, message_text);
289 alerts_value->Append(alert_value); 289 alerts_value->Append(alert_value);
290 } 290 }
291 } 291 }
292 292
293 SetResult(alerts_value); 293 SetResult(alerts_value);
294 return true; 294 return true;
295 } 295 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698