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

Side by Side Diff: chrome/browser/automation/testing_automation_provider_chromeos.cc

Issue 106433007: Update some uses of Value in chrome/browser to use the base:: namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 12 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/automation/testing_automation_provider.h" 5 #include "chrome/browser/automation/testing_automation_provider.h"
6 6
7 #include "ash/new_window_delegate.h" 7 #include "ash/new_window_delegate.h"
8 #include "ash/shell.h" 8 #include "ash/shell.h"
9 #include "ash/system/tray/system_tray_delegate.h" 9 #include "ash/system/tray/system_tray_delegate.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 } // namespace 71 } // namespace
72 72
73 #if defined(OS_CHROMEOS) 73 #if defined(OS_CHROMEOS)
74 void TestingAutomationProvider::PowerChanged( 74 void TestingAutomationProvider::PowerChanged(
75 const power_manager::PowerSupplyProperties& proto) { 75 const power_manager::PowerSupplyProperties& proto) {
76 power_supply_properties_ = proto; 76 power_supply_properties_ = proto;
77 } 77 }
78 #endif 78 #endif
79 79
80 void TestingAutomationProvider::AcceptOOBENetworkScreen( 80 void TestingAutomationProvider::AcceptOOBENetworkScreen(
81 DictionaryValue* args, 81 base::DictionaryValue* args,
82 IPC::Message* reply_message) { 82 IPC::Message* reply_message) {
83 WizardController* wizard_controller = WizardController::default_controller(); 83 WizardController* wizard_controller = WizardController::default_controller();
84 if (!wizard_controller || wizard_controller->current_screen()->GetName() != 84 if (!wizard_controller || wizard_controller->current_screen()->GetName() !=
85 WizardController::kNetworkScreenName) { 85 WizardController::kNetworkScreenName) {
86 AutomationJSONReply(this, reply_message).SendError( 86 AutomationJSONReply(this, reply_message).SendError(
87 "Network screen not active."); 87 "Network screen not active.");
88 return; 88 return;
89 } 89 }
90 // Observer will delete itself. 90 // Observer will delete itself.
91 new WizardControllerObserver(wizard_controller, this, reply_message); 91 new WizardControllerObserver(wizard_controller, this, reply_message);
92 wizard_controller->GetNetworkScreen()->OnContinuePressed(); 92 wizard_controller->GetNetworkScreen()->OnContinuePressed();
93 } 93 }
94 94
95 void TestingAutomationProvider::AcceptOOBEEula(DictionaryValue* args, 95 void TestingAutomationProvider::AcceptOOBEEula(base::DictionaryValue* args,
96 IPC::Message* reply_message) { 96 IPC::Message* reply_message) {
97 bool accepted; 97 bool accepted;
98 bool usage_stats_reporting; 98 bool usage_stats_reporting;
99 if (!args->GetBoolean("accepted", &accepted) || 99 if (!args->GetBoolean("accepted", &accepted) ||
100 !args->GetBoolean("usage_stats_reporting", &usage_stats_reporting)) { 100 !args->GetBoolean("usage_stats_reporting", &usage_stats_reporting)) {
101 AutomationJSONReply(this, reply_message).SendError( 101 AutomationJSONReply(this, reply_message).SendError(
102 "Invalid or missing args."); 102 "Invalid or missing args.");
103 return; 103 return;
104 } 104 }
105 105
106 WizardController* wizard_controller = WizardController::default_controller(); 106 WizardController* wizard_controller = WizardController::default_controller();
107 if (!wizard_controller || wizard_controller->current_screen()->GetName() != 107 if (!wizard_controller || wizard_controller->current_screen()->GetName() !=
108 WizardController::kEulaScreenName) { 108 WizardController::kEulaScreenName) {
109 AutomationJSONReply(this, reply_message).SendError( 109 AutomationJSONReply(this, reply_message).SendError(
110 "EULA screen not active."); 110 "EULA screen not active.");
111 return; 111 return;
112 } 112 }
113 // Observer will delete itself. 113 // Observer will delete itself.
114 new WizardControllerObserver(wizard_controller, this, reply_message); 114 new WizardControllerObserver(wizard_controller, this, reply_message);
115 wizard_controller->GetEulaScreen()->OnExit(accepted, usage_stats_reporting); 115 wizard_controller->GetEulaScreen()->OnExit(accepted, usage_stats_reporting);
116 } 116 }
117 117
118 void TestingAutomationProvider::CancelOOBEUpdate(DictionaryValue* args, 118 void TestingAutomationProvider::CancelOOBEUpdate(base::DictionaryValue* args,
119 IPC::Message* reply_message) { 119 IPC::Message* reply_message) {
120 if (chromeos::StartupUtils::IsOobeCompleted()) { 120 if (chromeos::StartupUtils::IsOobeCompleted()) {
121 // Update already finished. 121 // Update already finished.
122 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 122 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue);
123 return_value->SetString("next_screen", 123 return_value->SetString("next_screen",
124 WizardController::kLoginScreenName); 124 WizardController::kLoginScreenName);
125 AutomationJSONReply(this, reply_message).SendSuccess(return_value.get()); 125 AutomationJSONReply(this, reply_message).SendSuccess(return_value.get());
126 return; 126 return;
127 } 127 }
128 WizardController* wizard_controller = WizardController::default_controller(); 128 WizardController* wizard_controller = WizardController::default_controller();
129 if (!wizard_controller || wizard_controller->current_screen()->GetName() != 129 if (!wizard_controller || wizard_controller->current_screen()->GetName() !=
130 WizardController::kUpdateScreenName) { 130 WizardController::kUpdateScreenName) {
131 AutomationJSONReply(this, reply_message).SendError( 131 AutomationJSONReply(this, reply_message).SendError(
132 "Update screen not active."); 132 "Update screen not active.");
133 return; 133 return;
134 } 134 }
135 // Observer will delete itself. 135 // Observer will delete itself.
136 new WizardControllerObserver(wizard_controller, this, reply_message); 136 new WizardControllerObserver(wizard_controller, this, reply_message);
137 wizard_controller->GetUpdateScreen()->CancelUpdate(); 137 wizard_controller->GetUpdateScreen()->CancelUpdate();
138 } 138 }
139 139
140 void TestingAutomationProvider::GetLoginInfo(DictionaryValue* args, 140 void TestingAutomationProvider::GetLoginInfo(base::DictionaryValue* args,
141 IPC::Message* reply_message) { 141 IPC::Message* reply_message) {
142 AutomationJSONReply reply(this, reply_message); 142 AutomationJSONReply reply(this, reply_message);
143 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 143 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue);
144 144
145 const UserManager* user_manager = UserManager::Get(); 145 const UserManager* user_manager = UserManager::Get();
146 if (!user_manager) 146 if (!user_manager)
147 reply.SendError("No user manager!"); 147 reply.SendError("No user manager!");
148 const chromeos::ScreenLocker* screen_locker = 148 const chromeos::ScreenLocker* screen_locker =
149 chromeos::ScreenLocker::default_screen_locker(); 149 chromeos::ScreenLocker::default_screen_locker();
150 150
151 return_value->SetString("login_ui_type", "webui"); 151 return_value->SetString("login_ui_type", "webui");
152 return_value->SetBoolean("is_owner", user_manager->IsCurrentUserOwner()); 152 return_value->SetBoolean("is_owner", user_manager->IsCurrentUserOwner());
153 return_value->SetBoolean("is_logged_in", user_manager->IsUserLoggedIn()); 153 return_value->SetBoolean("is_logged_in", user_manager->IsUserLoggedIn());
(...skipping 16 matching lines...) Expand all
170 return_value->SetInteger("user_image", user->image_index()); 170 return_value->SetInteger("user_image", user->image_index());
171 break; 171 break;
172 } 172 }
173 } 173 }
174 174
175 reply.SendSuccess(return_value.get()); 175 reply.SendSuccess(return_value.get());
176 } 176 }
177 177
178 // See the note under LoginAsGuest(). CreateAccount() causes a login as guest. 178 // See the note under LoginAsGuest(). CreateAccount() causes a login as guest.
179 void TestingAutomationProvider::ShowCreateAccountUI( 179 void TestingAutomationProvider::ShowCreateAccountUI(
180 DictionaryValue* args, IPC::Message* reply_message) { 180 base::DictionaryValue* args, IPC::Message* reply_message) {
181 ExistingUserController* controller = 181 ExistingUserController* controller =
182 ExistingUserController::current_controller(); 182 ExistingUserController::current_controller();
183 // Return immediately, since we're going to die before the login is finished. 183 // Return immediately, since we're going to die before the login is finished.
184 AutomationJSONReply(this, reply_message).SendSuccess(NULL); 184 AutomationJSONReply(this, reply_message).SendSuccess(NULL);
185 controller->CreateAccount(); 185 controller->CreateAccount();
186 } 186 }
187 187
188 // Logging in as guest will cause session_manager to restart Chrome with new 188 // Logging in as guest will cause session_manager to restart Chrome with new
189 // flags. If you used EnableChromeTesting, you will have to call it again. 189 // flags. If you used EnableChromeTesting, you will have to call it again.
190 void TestingAutomationProvider::LoginAsGuest(DictionaryValue* args, 190 void TestingAutomationProvider::LoginAsGuest(base::DictionaryValue* args,
191 IPC::Message* reply_message) { 191 IPC::Message* reply_message) {
192 ExistingUserController* controller = 192 ExistingUserController* controller =
193 ExistingUserController::current_controller(); 193 ExistingUserController::current_controller();
194 // Return immediately, since we're going to die before the login is finished. 194 // Return immediately, since we're going to die before the login is finished.
195 AutomationJSONReply(this, reply_message).SendSuccess(NULL); 195 AutomationJSONReply(this, reply_message).SendSuccess(NULL);
196 controller->LoginAsGuest(); 196 controller->LoginAsGuest();
197 } 197 }
198 198
199 void TestingAutomationProvider::SubmitLoginForm(DictionaryValue* args, 199 void TestingAutomationProvider::SubmitLoginForm(base::DictionaryValue* args,
200 IPC::Message* reply_message) { 200 IPC::Message* reply_message) {
201 AutomationJSONReply reply(this, reply_message); 201 AutomationJSONReply reply(this, reply_message);
202 202
203 std::string username, password; 203 std::string username, password;
204 if (!args->GetString("username", &username) || 204 if (!args->GetString("username", &username) ||
205 !args->GetString("password", &password)) { 205 !args->GetString("password", &password)) {
206 reply.SendError("Invalid or missing args."); 206 reply.SendError("Invalid or missing args.");
207 return; 207 return;
208 } 208 }
209 209
210 chromeos::ExistingUserController* controller = 210 chromeos::ExistingUserController* controller =
211 chromeos::ExistingUserController::current_controller(); 211 chromeos::ExistingUserController::current_controller();
212 if (!controller) { 212 if (!controller) {
213 reply.SendError("Unable to access ExistingUserController"); 213 reply.SendError("Unable to access ExistingUserController");
214 return; 214 return;
215 } 215 }
216 216
217 // WebUI login. 217 // WebUI login.
218 chromeos::WebUILoginDisplay* webui_login_display = 218 chromeos::WebUILoginDisplay* webui_login_display =
219 static_cast<chromeos::WebUILoginDisplay*>(controller->login_display()); 219 static_cast<chromeos::WebUILoginDisplay*>(controller->login_display());
220 VLOG(2) << "TestingAutomationProvider::SubmitLoginForm " 220 VLOG(2) << "TestingAutomationProvider::SubmitLoginForm "
221 << "ShowSigninScreenForCreds(" << username << ", " << password << ")"; 221 << "ShowSigninScreenForCreds(" << username << ", " << password << ")";
222 222
223 webui_login_display->ShowSigninScreenForCreds(username, password); 223 webui_login_display->ShowSigninScreenForCreds(username, password);
224 reply.SendSuccess(NULL); 224 reply.SendSuccess(NULL);
225 } 225 }
226 226
227 void TestingAutomationProvider::AddLoginEventObserver( 227 void TestingAutomationProvider::AddLoginEventObserver(
228 DictionaryValue* args, IPC::Message* reply_message) { 228 base::DictionaryValue* args, IPC::Message* reply_message) {
229 ExistingUserController* controller = 229 ExistingUserController* controller =
230 ExistingUserController::current_controller(); 230 ExistingUserController::current_controller();
231 AutomationJSONReply reply(this, reply_message); 231 AutomationJSONReply reply(this, reply_message);
232 if (!controller) { 232 if (!controller) {
233 // This may happen due to SkipToLogin not being called. 233 // This may happen due to SkipToLogin not being called.
234 reply.SendError("Unable to access ExistingUserController"); 234 reply.SendError("Unable to access ExistingUserController");
235 return; 235 return;
236 } 236 }
237 237
238 if (!automation_event_queue_.get()) 238 if (!automation_event_queue_.get())
239 automation_event_queue_.reset(new AutomationEventQueue); 239 automation_event_queue_.reset(new AutomationEventQueue);
240 240
241 int observer_id = automation_event_queue_->AddObserver( 241 int observer_id = automation_event_queue_->AddObserver(
242 new LoginEventObserver(automation_event_queue_.get(), this)); 242 new LoginEventObserver(automation_event_queue_.get(), this));
243 243
244 // Return the observer's id. 244 // Return the observer's id.
245 DictionaryValue return_value; 245 base::DictionaryValue return_value;
246 return_value.SetInteger("observer_id", observer_id); 246 return_value.SetInteger("observer_id", observer_id);
247 reply.SendSuccess(&return_value); 247 reply.SendSuccess(&return_value);
248 } 248 }
249 249
250 void TestingAutomationProvider::SignOut(DictionaryValue* args, 250 void TestingAutomationProvider::SignOut(base::DictionaryValue* args,
251 IPC::Message* reply_message) { 251 IPC::Message* reply_message) {
252 ash::Shell::GetInstance()->system_tray_delegate()->SignOut(); 252 ash::Shell::GetInstance()->system_tray_delegate()->SignOut();
253 // Sign out has the side effect of restarting the session_manager 253 // Sign out has the side effect of restarting the session_manager
254 // and chrome, thereby severing the automation channel, so it's 254 // and chrome, thereby severing the automation channel, so it's
255 // not really necessary to send a reply back. The next line is 255 // not really necessary to send a reply back. The next line is
256 // for consistency with other methods. 256 // for consistency with other methods.
257 AutomationJSONReply(this, reply_message).SendSuccess(NULL); 257 AutomationJSONReply(this, reply_message).SendSuccess(NULL);
258 } 258 }
259 259
260 void TestingAutomationProvider::PickUserImage(DictionaryValue* args, 260 void TestingAutomationProvider::PickUserImage(base::DictionaryValue* args,
261 IPC::Message* reply_message) { 261 IPC::Message* reply_message) {
262 std::string image_type; 262 std::string image_type;
263 int image_number = -1; 263 int image_number = -1;
264 if (!args->GetString("image", &image_type) 264 if (!args->GetString("image", &image_type)
265 && !args->GetInteger("image", &image_number)) { 265 && !args->GetInteger("image", &image_number)) {
266 AutomationJSONReply(this, reply_message).SendError( 266 AutomationJSONReply(this, reply_message).SendError(
267 "Invalid or missing args."); 267 "Invalid or missing args.");
268 return; 268 return;
269 } 269 }
270 WizardController* wizard_controller = WizardController::default_controller(); 270 WizardController* wizard_controller = WizardController::default_controller();
(...skipping 17 matching lines...) Expand all
288 chromeos::GetDefaultImageUrl(image_number), image_type, true); 288 chromeos::GetDefaultImageUrl(image_number), image_type, true);
289 image_screen->OnImageAccepted(); 289 image_screen->OnImageAccepted();
290 } else { 290 } else {
291 AutomationJSONReply(this, reply_message).SendError( 291 AutomationJSONReply(this, reply_message).SendError(
292 "Invalid or missing args."); 292 "Invalid or missing args.");
293 delete observer; 293 delete observer;
294 return; 294 return;
295 } 295 }
296 } 296 }
297 297
298 void TestingAutomationProvider::SkipToLogin(DictionaryValue* args, 298 void TestingAutomationProvider::SkipToLogin(base::DictionaryValue* args,
299 IPC::Message* reply_message) { 299 IPC::Message* reply_message) {
300 bool skip_post_login_screens; 300 bool skip_post_login_screens;
301 // The argument name is a legacy. If set to |true|, this argument causes any 301 // The argument name is a legacy. If set to |true|, this argument causes any
302 // screens that may otherwise be shown after login (registration, Terms of 302 // screens that may otherwise be shown after login (registration, Terms of
303 // Service, user image selection) to be skipped. 303 // Service, user image selection) to be skipped.
304 if (!args->GetBoolean("skip_image_selection", &skip_post_login_screens)) { 304 if (!args->GetBoolean("skip_image_selection", &skip_post_login_screens)) {
305 AutomationJSONReply reply(this, reply_message); 305 AutomationJSONReply reply(this, reply_message);
306 reply.SendError("Invalid or missing args."); 306 reply.SendError("Invalid or missing args.");
307 return; 307 return;
308 } 308 }
309 if (skip_post_login_screens) 309 if (skip_post_login_screens)
310 WizardController::SkipPostLoginScreensForTesting(); 310 WizardController::SkipPostLoginScreensForTesting();
311 311
312 WizardController* wizard_controller = WizardController::default_controller(); 312 WizardController* wizard_controller = WizardController::default_controller();
313 if (!wizard_controller) { 313 if (!wizard_controller) {
314 AutomationJSONReply reply(this, reply_message); 314 AutomationJSONReply reply(this, reply_message);
315 if (ExistingUserController::current_controller()) { 315 if (ExistingUserController::current_controller()) {
316 // Already at login screen. 316 // Already at login screen.
317 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 317 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue);
318 return_value->SetString("next_screen", 318 return_value->SetString("next_screen",
319 WizardController::kLoginScreenName); 319 WizardController::kLoginScreenName);
320 reply.SendSuccess(return_value.get()); 320 reply.SendSuccess(return_value.get());
321 } else { 321 } else {
322 reply.SendError("OOBE not active."); 322 reply.SendError("OOBE not active.");
323 } 323 }
324 return; 324 return;
325 } 325 }
326 326
327 // Observer will delete itself. 327 // Observer will delete itself.
328 WizardControllerObserver* observer = 328 WizardControllerObserver* observer =
329 new WizardControllerObserver(wizard_controller, this, reply_message); 329 new WizardControllerObserver(wizard_controller, this, reply_message);
330 observer->set_screen_to_wait_for(WizardController::kLoginScreenName); 330 observer->set_screen_to_wait_for(WizardController::kLoginScreenName);
331 wizard_controller->SkipToLoginForTesting(chromeos::LoginScreenContext()); 331 wizard_controller->SkipToLoginForTesting(chromeos::LoginScreenContext());
332 } 332 }
333 333
334 void TestingAutomationProvider::GetOOBEScreenInfo(DictionaryValue* args, 334 void TestingAutomationProvider::GetOOBEScreenInfo(base::DictionaryValue* args,
335 IPC::Message* reply_message) { 335 IPC::Message* reply_message) {
336 static const char kScreenNameKey[] = "screen_name"; 336 static const char kScreenNameKey[] = "screen_name";
337 AutomationJSONReply reply(this, reply_message); 337 AutomationJSONReply reply(this, reply_message);
338 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 338 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue);
339 339
340 WizardController* wizard_controller = WizardController::default_controller(); 340 WizardController* wizard_controller = WizardController::default_controller();
341 if (wizard_controller) { 341 if (wizard_controller) {
342 if (wizard_controller->login_screen_started()) { 342 if (wizard_controller->login_screen_started()) {
343 return_value->SetString(kScreenNameKey, 343 return_value->SetString(kScreenNameKey,
344 WizardController::kLoginScreenName); 344 WizardController::kLoginScreenName);
345 } else { 345 } else {
346 return_value->SetString(kScreenNameKey, 346 return_value->SetString(kScreenNameKey,
347 wizard_controller->current_screen()->GetName()); 347 wizard_controller->current_screen()->GetName());
348 } 348 }
349 } else if (ExistingUserController::current_controller()) { 349 } else if (ExistingUserController::current_controller()) {
350 return_value->SetString(kScreenNameKey, WizardController::kLoginScreenName); 350 return_value->SetString(kScreenNameKey, WizardController::kLoginScreenName);
351 } else { 351 } else {
352 // Already logged in. 352 // Already logged in.
353 reply.SendSuccess(NULL); 353 reply.SendSuccess(NULL);
354 return; 354 return;
355 } 355 }
356 reply.SendSuccess(return_value.get()); 356 reply.SendSuccess(return_value.get());
357 } 357 }
358 358
359 void TestingAutomationProvider::LockScreen(DictionaryValue* args, 359 void TestingAutomationProvider::LockScreen(base::DictionaryValue* args,
360 IPC::Message* reply_message) { 360 IPC::Message* reply_message) {
361 new ScreenLockUnlockObserver(this, reply_message, true); 361 new ScreenLockUnlockObserver(this, reply_message, true);
362 DBusThreadManager::Get()->GetSessionManagerClient()->RequestLockScreen(); 362 DBusThreadManager::Get()->GetSessionManagerClient()->RequestLockScreen();
363 } 363 }
364 364
365 void TestingAutomationProvider::UnlockScreen(DictionaryValue* args, 365 void TestingAutomationProvider::UnlockScreen(base::DictionaryValue* args,
366 IPC::Message* reply_message) { 366 IPC::Message* reply_message) {
367 std::string password; 367 std::string password;
368 if (!args->GetString("password", &password)) { 368 if (!args->GetString("password", &password)) {
369 AutomationJSONReply(this, reply_message).SendError( 369 AutomationJSONReply(this, reply_message).SendError(
370 "Invalid or missing args."); 370 "Invalid or missing args.");
371 return; 371 return;
372 } 372 }
373 373
374 chromeos::ScreenLocker* screen_locker = 374 chromeos::ScreenLocker* screen_locker =
375 chromeos::ScreenLocker::default_screen_locker(); 375 chromeos::ScreenLocker::default_screen_locker();
376 if (!screen_locker) { 376 if (!screen_locker) {
377 AutomationJSONReply(this, reply_message).SendError( 377 AutomationJSONReply(this, reply_message).SendError(
378 "No default screen locker. Are you sure the screen is locked?"); 378 "No default screen locker. Are you sure the screen is locked?");
379 return; 379 return;
380 } 380 }
381 381
382 new ScreenUnlockObserver(this, reply_message); 382 new ScreenUnlockObserver(this, reply_message);
383 screen_locker->AuthenticateByPassword(password); 383 screen_locker->AuthenticateByPassword(password);
384 } 384 }
385 385
386 // Signing out could have undesirable side effects: session_manager is 386 // Signing out could have undesirable side effects: session_manager is
387 // killed, so its children, including chrome and the window manager, will 387 // killed, so its children, including chrome and the window manager, will
388 // also be killed. Anything owned by chronos will probably be killed. 388 // also be killed. Anything owned by chronos will probably be killed.
389 void TestingAutomationProvider::SignoutInScreenLocker( 389 void TestingAutomationProvider::SignoutInScreenLocker(
390 DictionaryValue* args, IPC::Message* reply_message) { 390 base::DictionaryValue* args, IPC::Message* reply_message) {
391 AutomationJSONReply reply(this, reply_message); 391 AutomationJSONReply reply(this, reply_message);
392 chromeos::ScreenLocker* screen_locker = 392 chromeos::ScreenLocker* screen_locker =
393 chromeos::ScreenLocker::default_screen_locker(); 393 chromeos::ScreenLocker::default_screen_locker();
394 if (!screen_locker) { 394 if (!screen_locker) {
395 reply.SendError( 395 reply.SendError(
396 "No default screen locker. Are you sure the screen is locked?"); 396 "No default screen locker. Are you sure the screen is locked?");
397 return; 397 return;
398 } 398 }
399 399
400 // Send success before stopping session because if we're a child of 400 // Send success before stopping session because if we're a child of
401 // session manager then we'll die when the session is stopped. 401 // session manager then we'll die when the session is stopped.
402 reply.SendSuccess(NULL); 402 reply.SendSuccess(NULL);
403 screen_locker->Signout(); 403 screen_locker->Signout();
404 } 404 }
405 405
406 void TestingAutomationProvider::GetBatteryInfo(DictionaryValue* args, 406 void TestingAutomationProvider::GetBatteryInfo(base::DictionaryValue* args,
407 IPC::Message* reply_message) { 407 IPC::Message* reply_message) {
408 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 408 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue);
409 409
410 const bool battery_is_present = power_supply_properties_.battery_state() != 410 const bool battery_is_present = power_supply_properties_.battery_state() !=
411 power_manager::PowerSupplyProperties_BatteryState_NOT_PRESENT; 411 power_manager::PowerSupplyProperties_BatteryState_NOT_PRESENT;
412 const bool line_power_on = power_supply_properties_.external_power() != 412 const bool line_power_on = power_supply_properties_.external_power() !=
413 power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED; 413 power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED;
414 414
415 return_value->SetBoolean("battery_is_present", battery_is_present); 415 return_value->SetBoolean("battery_is_present", battery_is_present);
416 return_value->SetBoolean("line_power_on", line_power_on); 416 return_value->SetBoolean("line_power_on", line_power_on);
417 417
418 if (battery_is_present) { 418 if (battery_is_present) {
(...skipping 10 matching lines...) Expand all
429 int64 time = power_supply_properties_.battery_time_to_empty_sec(); 429 int64 time = power_supply_properties_.battery_time_to_empty_sec();
430 if (time > 0) 430 if (time > 0)
431 return_value->SetInteger("battery_seconds_to_empty", time); 431 return_value->SetInteger("battery_seconds_to_empty", time);
432 } 432 }
433 } 433 }
434 434
435 AutomationJSONReply(this, reply_message).SendSuccess(return_value.get()); 435 AutomationJSONReply(this, reply_message).SendSuccess(return_value.get());
436 } 436 }
437 437
438 void TestingAutomationProvider::ExecuteJavascriptInOOBEWebUI( 438 void TestingAutomationProvider::ExecuteJavascriptInOOBEWebUI(
439 DictionaryValue* args, IPC::Message* reply_message) { 439 base::DictionaryValue* args, IPC::Message* reply_message) {
440 std::string javascript, frame_xpath; 440 std::string javascript, frame_xpath;
441 if (!args->GetString("javascript", &javascript)) { 441 if (!args->GetString("javascript", &javascript)) {
442 AutomationJSONReply(this, reply_message) 442 AutomationJSONReply(this, reply_message)
443 .SendError("'javascript' missing or invalid"); 443 .SendError("'javascript' missing or invalid");
444 return; 444 return;
445 } 445 }
446 if (!args->GetString("frame_xpath", &frame_xpath)) { 446 if (!args->GetString("frame_xpath", &frame_xpath)) {
447 AutomationJSONReply(this, reply_message) 447 AutomationJSONReply(this, reply_message)
448 .SendError("'frame_xpath' missing or invalid"); 448 .SendError("'frame_xpath' missing or invalid");
449 return; 449 return;
(...skipping 23 matching lines...) Expand all
473 webui_host->GetOobeUI()->web_ui()->GetWebContents(); 473 webui_host->GetOobeUI()->web_ui()->GetWebContents();
474 474
475 new DomOperationMessageSender(this, reply_message, true); 475 new DomOperationMessageSender(this, reply_message, true);
476 ExecuteJavascriptInRenderViewFrame(ASCIIToUTF16(frame_xpath), 476 ExecuteJavascriptInRenderViewFrame(ASCIIToUTF16(frame_xpath),
477 ASCIIToUTF16(javascript), 477 ASCIIToUTF16(javascript),
478 reply_message, 478 reply_message,
479 web_contents->GetRenderViewHost()); 479 web_contents->GetRenderViewHost());
480 } 480 }
481 481
482 void TestingAutomationProvider::EnableSpokenFeedback( 482 void TestingAutomationProvider::EnableSpokenFeedback(
483 DictionaryValue* args, IPC::Message* reply_message) { 483 base::DictionaryValue* args, IPC::Message* reply_message) {
484 AutomationJSONReply reply(this, reply_message); 484 AutomationJSONReply reply(this, reply_message);
485 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 485 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue);
486 bool enabled; 486 bool enabled;
487 if (!args->GetBoolean("enabled", &enabled)) { 487 if (!args->GetBoolean("enabled", &enabled)) {
488 reply.SendError("Invalid or missing args."); 488 reply.SendError("Invalid or missing args.");
489 return; 489 return;
490 } 490 }
491 chromeos::AccessibilityManager::Get()->EnableSpokenFeedback( 491 chromeos::AccessibilityManager::Get()->EnableSpokenFeedback(
492 enabled, ash::A11Y_NOTIFICATION_NONE); 492 enabled, ash::A11Y_NOTIFICATION_NONE);
493 493
494 reply.SendSuccess(return_value.get()); 494 reply.SendSuccess(return_value.get());
495 } 495 }
496 496
497 void TestingAutomationProvider::IsSpokenFeedbackEnabled( 497 void TestingAutomationProvider::IsSpokenFeedbackEnabled(
498 DictionaryValue* args, IPC::Message* reply_message) { 498 base::DictionaryValue* args, IPC::Message* reply_message) {
499 AutomationJSONReply reply(this, reply_message); 499 AutomationJSONReply reply(this, reply_message);
500 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 500 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue);
501 return_value->SetBoolean( 501 return_value->SetBoolean(
502 "spoken_feedback", 502 "spoken_feedback",
503 chromeos::AccessibilityManager::Get()->IsSpokenFeedbackEnabled()); 503 chromeos::AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
504 reply.SendSuccess(return_value.get()); 504 reply.SendSuccess(return_value.get());
505 } 505 }
506 506
507 void TestingAutomationProvider::GetTimeInfo(Browser* browser, 507 void TestingAutomationProvider::GetTimeInfo(Browser* browser,
508 DictionaryValue* args, 508 base::DictionaryValue* args,
509 IPC::Message* reply_message) { 509 IPC::Message* reply_message) {
510 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 510 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue);
511 base::Time time(base::Time::Now()); 511 base::Time time(base::Time::Now());
512 bool use_24hour_clock = browser && browser->profile()->GetPrefs()->GetBoolean( 512 bool use_24hour_clock = browser && browser->profile()->GetPrefs()->GetBoolean(
513 prefs::kUse24HourClock); 513 prefs::kUse24HourClock);
514 base::HourClockType hour_clock_type = 514 base::HourClockType hour_clock_type =
515 use_24hour_clock ? base::k24HourClock : base::k12HourClock; 515 use_24hour_clock ? base::k24HourClock : base::k12HourClock;
516 base::string16 display_time = base::TimeFormatTimeOfDayWithHourClockType( 516 base::string16 display_time = base::TimeFormatTimeOfDayWithHourClockType(
517 time, hour_clock_type, base::kDropAmPm); 517 time, hour_clock_type, base::kDropAmPm);
518 base::string16 timezone = 518 base::string16 timezone =
519 chromeos::system::TimezoneSettings::GetInstance()->GetCurrentTimezoneID(); 519 chromeos::system::TimezoneSettings::GetInstance()->GetCurrentTimezoneID();
520 return_value->SetString("display_time", display_time); 520 return_value->SetString("display_time", display_time);
521 return_value->SetString("display_date", base::TimeFormatFriendlyDate(time)); 521 return_value->SetString("display_date", base::TimeFormatFriendlyDate(time));
522 return_value->SetString("timezone", timezone); 522 return_value->SetString("timezone", timezone);
523 AutomationJSONReply(this, reply_message).SendSuccess(return_value.get()); 523 AutomationJSONReply(this, reply_message).SendSuccess(return_value.get());
524 } 524 }
525 525
526 void TestingAutomationProvider::GetTimeInfo(DictionaryValue* args, 526 void TestingAutomationProvider::GetTimeInfo(base::DictionaryValue* args,
527 IPC::Message* reply_message) { 527 IPC::Message* reply_message) {
528 GetTimeInfo(NULL, args, reply_message); 528 GetTimeInfo(NULL, args, reply_message);
529 } 529 }
530 530
531 void TestingAutomationProvider::SetTimezone(DictionaryValue* args, 531 void TestingAutomationProvider::SetTimezone(base::DictionaryValue* args,
532 IPC::Message* reply_message) { 532 IPC::Message* reply_message) {
533 AutomationJSONReply reply(this, reply_message); 533 AutomationJSONReply reply(this, reply_message);
534 std::string timezone_id; 534 std::string timezone_id;
535 if (!args->GetString("timezone", &timezone_id)) { 535 if (!args->GetString("timezone", &timezone_id)) {
536 reply.SendError("Invalid or missing args."); 536 reply.SendError("Invalid or missing args.");
537 return; 537 return;
538 } 538 }
539 chromeos::CrosSettings* settings = chromeos::CrosSettings::Get(); 539 chromeos::CrosSettings* settings = chromeos::CrosSettings::Get();
540 settings->SetString(chromeos::kSystemTimezone, timezone_id); 540 settings->SetString(chromeos::kSystemTimezone, timezone_id);
541 reply.SendSuccess(NULL); 541 reply.SendSuccess(NULL);
542 } 542 }
543 543
544 void TestingAutomationProvider::UpdateCheck( 544 void TestingAutomationProvider::UpdateCheck(
545 DictionaryValue* args, 545 base::DictionaryValue* args,
546 IPC::Message* reply_message) { 546 IPC::Message* reply_message) {
547 AutomationJSONReply* reply = new AutomationJSONReply(this, reply_message); 547 AutomationJSONReply* reply = new AutomationJSONReply(this, reply_message);
548 DBusThreadManager::Get()->GetUpdateEngineClient() 548 DBusThreadManager::Get()->GetUpdateEngineClient()
549 ->RequestUpdateCheck(base::Bind(UpdateCheckCallback, reply)); 549 ->RequestUpdateCheck(base::Bind(UpdateCheckCallback, reply));
550 } 550 }
551 551
552 void TestingAutomationProvider::GetVolumeInfo(DictionaryValue* args, 552 void TestingAutomationProvider::GetVolumeInfo(base::DictionaryValue* args,
553 IPC::Message* reply_message) { 553 IPC::Message* reply_message) {
554 AutomationJSONReply reply(this, reply_message); 554 AutomationJSONReply reply(this, reply_message);
555 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 555 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue);
556 chromeos::CrasAudioHandler* audio_handler = chromeos::CrasAudioHandler::Get(); 556 chromeos::CrasAudioHandler* audio_handler = chromeos::CrasAudioHandler::Get();
557 if (!audio_handler) { 557 if (!audio_handler) {
558 reply.SendError("CrasAudioHandler not initialized."); 558 reply.SendError("CrasAudioHandler not initialized.");
559 return; 559 return;
560 } 560 }
561 return_value->SetDouble("volume", audio_handler->GetOutputVolumePercent()); 561 return_value->SetDouble("volume", audio_handler->GetOutputVolumePercent());
562 return_value->SetBoolean("is_mute", audio_handler->IsOutputMuted()); 562 return_value->SetBoolean("is_mute", audio_handler->IsOutputMuted());
563 reply.SendSuccess(return_value.get()); 563 reply.SendSuccess(return_value.get());
564 } 564 }
565 565
566 void TestingAutomationProvider::SetVolume(DictionaryValue* args, 566 void TestingAutomationProvider::SetVolume(base::DictionaryValue* args,
567 IPC::Message* reply_message) { 567 IPC::Message* reply_message) {
568 AutomationJSONReply reply(this, reply_message); 568 AutomationJSONReply reply(this, reply_message);
569 double volume_percent; 569 double volume_percent;
570 if (!args->GetDouble("volume", &volume_percent)) { 570 if (!args->GetDouble("volume", &volume_percent)) {
571 reply.SendError("Invalid or missing args."); 571 reply.SendError("Invalid or missing args.");
572 return; 572 return;
573 } 573 }
574 chromeos::CrasAudioHandler* audio_handler = chromeos::CrasAudioHandler::Get(); 574 chromeos::CrasAudioHandler* audio_handler = chromeos::CrasAudioHandler::Get();
575 if (!audio_handler) { 575 if (!audio_handler) {
576 reply.SendError("CrasAudioHandler not initialized."); 576 reply.SendError("CrasAudioHandler not initialized.");
577 return; 577 return;
578 } 578 }
579 audio_handler->SetOutputVolumePercent(volume_percent); 579 audio_handler->SetOutputVolumePercent(volume_percent);
580 reply.SendSuccess(NULL); 580 reply.SendSuccess(NULL);
581 } 581 }
582 582
583 void TestingAutomationProvider::SetMute(DictionaryValue* args, 583 void TestingAutomationProvider::SetMute(base::DictionaryValue* args,
584 IPC::Message* reply_message) { 584 IPC::Message* reply_message) {
585 AutomationJSONReply reply(this, reply_message); 585 AutomationJSONReply reply(this, reply_message);
586 bool mute; 586 bool mute;
587 if (!args->GetBoolean("mute", &mute)) { 587 if (!args->GetBoolean("mute", &mute)) {
588 reply.SendError("Invalid or missing args."); 588 reply.SendError("Invalid or missing args.");
589 return; 589 return;
590 } 590 }
591 chromeos::CrasAudioHandler* audio_handler = chromeos::CrasAudioHandler::Get(); 591 chromeos::CrasAudioHandler* audio_handler = chromeos::CrasAudioHandler::Get();
592 if (!audio_handler) { 592 if (!audio_handler) {
593 reply.SendError("CrasAudioHandler not initialized."); 593 reply.SendError("CrasAudioHandler not initialized.");
594 return; 594 return;
595 } 595 }
596 audio_handler->SetOutputMute(mute); 596 audio_handler->SetOutputMute(mute);
597 reply.SendSuccess(NULL); 597 reply.SendSuccess(NULL);
598 } 598 }
599 599
600 void TestingAutomationProvider::OpenCrosh(DictionaryValue* args, 600 void TestingAutomationProvider::OpenCrosh(base::DictionaryValue* args,
601 IPC::Message* reply_message) { 601 IPC::Message* reply_message) {
602 new NavigationNotificationObserver( 602 new NavigationNotificationObserver(
603 NULL, this, reply_message, 1, false, true); 603 NULL, this, reply_message, 1, false, true);
604 ash::Shell::GetInstance()->new_window_delegate()->OpenCrosh(); 604 ash::Shell::GetInstance()->new_window_delegate()->OpenCrosh();
605 } 605 }
606 606
607 void TestingAutomationProvider::AddChromeosObservers() { 607 void TestingAutomationProvider::AddChromeosObservers() {
608 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> 608 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
609 AddObserver(this); 609 AddObserver(this);
610 } 610 }
611 611
612 void TestingAutomationProvider::RemoveChromeosObservers() { 612 void TestingAutomationProvider::RemoveChromeosObservers() {
613 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> 613 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
614 RemoveObserver(this); 614 RemoveObserver(this);
615 } 615 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698