OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/chromeos/login/managed/locally_managed_user_creation_sc
reen.h" | 5 #include "chrome/browser/chromeos/login/managed/locally_managed_user_creation_sc
reen.h" |
6 | 6 |
7 #include "ash/desktop_background/desktop_background_controller.h" | 7 #include "ash/desktop_background/desktop_background_controller.h" |
8 #include "ash/shell.h" | 8 #include "ash/shell.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/rand_util.h" | 10 #include "base/rand_util.h" |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 controller_.reset(); | 184 controller_.reset(); |
185 controller_.reset(new LocallyManagedUserCreationController(this, manager_id)); | 185 controller_.reset(new LocallyManagedUserCreationController(this, manager_id)); |
186 | 186 |
187 ExistingUserController::current_controller()-> | 187 ExistingUserController::current_controller()-> |
188 Login(UserContext(manager_id, | 188 Login(UserContext(manager_id, |
189 manager_password, | 189 manager_password, |
190 std::string() /* auth_code */)); | 190 std::string() /* auth_code */)); |
191 } | 191 } |
192 | 192 |
193 void LocallyManagedUserCreationScreen::CreateManagedUser( | 193 void LocallyManagedUserCreationScreen::CreateManagedUser( |
194 const string16& display_name, | 194 const base::string16& display_name, |
195 const std::string& managed_user_password) { | 195 const std::string& managed_user_password) { |
196 DCHECK(controller_.get()); | 196 DCHECK(controller_.get()); |
197 int image; | 197 int image; |
198 if (selected_image_ == User::kExternalImageIndex) | 198 if (selected_image_ == User::kExternalImageIndex) |
199 // TODO(dzhioev): crbug/249660 | 199 // TODO(dzhioev): crbug/249660 |
200 image = LocallyManagedUserCreationController::kDummyAvatarIndex; | 200 image = LocallyManagedUserCreationController::kDummyAvatarIndex; |
201 else | 201 else |
202 image = selected_image_; | 202 image = selected_image_; |
203 controller_->SetUpCreation(display_name, managed_user_password, image); | 203 controller_->SetUpCreation(display_name, managed_user_password, image); |
204 controller_->StartCreation(); | 204 controller_->StartCreation(); |
205 } | 205 } |
206 | 206 |
207 void LocallyManagedUserCreationScreen::ImportManagedUser( | 207 void LocallyManagedUserCreationScreen::ImportManagedUser( |
208 const std::string& user_id) { | 208 const std::string& user_id) { |
209 DCHECK(controller_.get()); | 209 DCHECK(controller_.get()); |
210 DCHECK(existing_users_.get()); | 210 DCHECK(existing_users_.get()); |
211 VLOG(1) << "Importing user " << user_id; | 211 VLOG(1) << "Importing user " << user_id; |
212 DictionaryValue* user_info; | 212 DictionaryValue* user_info; |
213 if (!existing_users_->GetDictionary(user_id, &user_info)) { | 213 if (!existing_users_->GetDictionary(user_id, &user_info)) { |
214 LOG(ERROR) << "Can not import non-existing user " << user_id; | 214 LOG(ERROR) << "Can not import non-existing user " << user_id; |
215 return; | 215 return; |
216 } | 216 } |
217 string16 display_name; | 217 base::string16 display_name; |
218 std::string master_key; | 218 std::string master_key; |
219 std::string avatar; | 219 std::string avatar; |
220 bool exists; | 220 bool exists; |
221 int avatar_index = LocallyManagedUserCreationController::kDummyAvatarIndex; | 221 int avatar_index = LocallyManagedUserCreationController::kDummyAvatarIndex; |
222 user_info->GetString(ManagedUserSyncService::kName, &display_name); | 222 user_info->GetString(ManagedUserSyncService::kName, &display_name); |
223 user_info->GetString(ManagedUserSyncService::kMasterKey, &master_key); | 223 user_info->GetString(ManagedUserSyncService::kMasterKey, &master_key); |
224 user_info->GetString(ManagedUserSyncService::kChromeOsAvatar, &avatar); | 224 user_info->GetString(ManagedUserSyncService::kChromeOsAvatar, &avatar); |
225 user_info->GetBoolean(kUserExists, &exists); | 225 user_info->GetBoolean(kUserExists, &exists); |
226 | 226 |
227 // We should not get here with existing user selected, so just display error. | 227 // We should not get here with existing user selected, so just display error. |
(...skipping 23 matching lines...) Expand all Loading... |
251 const std::string& user_id, | 251 const std::string& user_id, |
252 const std::string& password) { | 252 const std::string& password) { |
253 DCHECK(controller_.get()); | 253 DCHECK(controller_.get()); |
254 DCHECK(existing_users_.get()); | 254 DCHECK(existing_users_.get()); |
255 VLOG(1) << "Importing user " << user_id; | 255 VLOG(1) << "Importing user " << user_id; |
256 DictionaryValue* user_info; | 256 DictionaryValue* user_info; |
257 if (!existing_users_->GetDictionary(user_id, &user_info)) { | 257 if (!existing_users_->GetDictionary(user_id, &user_info)) { |
258 LOG(ERROR) << "Can not import non-existing user " << user_id; | 258 LOG(ERROR) << "Can not import non-existing user " << user_id; |
259 return; | 259 return; |
260 } | 260 } |
261 string16 display_name; | 261 base::string16 display_name; |
262 std::string master_key; | 262 std::string master_key; |
263 std::string avatar; | 263 std::string avatar; |
264 bool exists; | 264 bool exists; |
265 int avatar_index = LocallyManagedUserCreationController::kDummyAvatarIndex; | 265 int avatar_index = LocallyManagedUserCreationController::kDummyAvatarIndex; |
266 user_info->GetString(ManagedUserSyncService::kName, &display_name); | 266 user_info->GetString(ManagedUserSyncService::kName, &display_name); |
267 user_info->GetString(ManagedUserSyncService::kMasterKey, &master_key); | 267 user_info->GetString(ManagedUserSyncService::kMasterKey, &master_key); |
268 user_info->GetString(ManagedUserSyncService::kChromeOsAvatar, &avatar); | 268 user_info->GetString(ManagedUserSyncService::kChromeOsAvatar, &avatar); |
269 user_info->GetBoolean(kUserExists, &exists); | 269 user_info->GetBoolean(kUserExists, &exists); |
270 | 270 |
271 // We should not get here with existing user selected, so just display error. | 271 // We should not get here with existing user selected, so just display error. |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 } | 326 } |
327 | 327 |
328 void LocallyManagedUserCreationScreen::OnActorDestroyed( | 328 void LocallyManagedUserCreationScreen::OnActorDestroyed( |
329 LocallyManagedUserCreationScreenHandler* actor) { | 329 LocallyManagedUserCreationScreenHandler* actor) { |
330 if (actor_ == actor) | 330 if (actor_ == actor) |
331 actor_ = NULL; | 331 actor_ = NULL; |
332 } | 332 } |
333 | 333 |
334 void LocallyManagedUserCreationScreen::OnCreationError( | 334 void LocallyManagedUserCreationScreen::OnCreationError( |
335 LocallyManagedUserCreationController::ErrorCode code) { | 335 LocallyManagedUserCreationController::ErrorCode code) { |
336 string16 title; | 336 base::string16 title; |
337 string16 message; | 337 base::string16 message; |
338 string16 button; | 338 base::string16 button; |
339 // TODO(antrim) : find out which errors do we really have. | 339 // TODO(antrim) : find out which errors do we really have. |
340 // We might reuse some error messages from ordinary user flow. | 340 // We might reuse some error messages from ordinary user flow. |
341 switch (code) { | 341 switch (code) { |
342 case LocallyManagedUserCreationController::CRYPTOHOME_NO_MOUNT: | 342 case LocallyManagedUserCreationController::CRYPTOHOME_NO_MOUNT: |
343 case LocallyManagedUserCreationController::CRYPTOHOME_FAILED_MOUNT: | 343 case LocallyManagedUserCreationController::CRYPTOHOME_FAILED_MOUNT: |
344 case LocallyManagedUserCreationController::CRYPTOHOME_FAILED_TPM: | 344 case LocallyManagedUserCreationController::CRYPTOHOME_FAILED_TPM: |
345 title = l10n_util::GetStringUTF16( | 345 title = l10n_util::GetStringUTF16( |
346 IDS_CREATE_LOCALLY_MANAGED_USER_TPM_ERROR_TITLE); | 346 IDS_CREATE_LOCALLY_MANAGED_USER_TPM_ERROR_TITLE); |
347 message = l10n_util::GetStringUTF16( | 347 message = l10n_util::GetStringUTF16( |
348 IDS_CREATE_LOCALLY_MANAGED_USER_TPM_ERROR); | 348 IDS_CREATE_LOCALLY_MANAGED_USER_TPM_ERROR); |
(...skipping 24 matching lines...) Expand all Loading... |
373 } | 373 } |
374 | 374 |
375 void LocallyManagedUserCreationScreen::OnLongCreationWarning() { | 375 void LocallyManagedUserCreationScreen::OnLongCreationWarning() { |
376 if (actor_) { | 376 if (actor_) { |
377 actor_->ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( | 377 actor_->ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( |
378 IDS_PROFILES_CREATE_MANAGED_JUST_SIGNED_IN)); | 378 IDS_PROFILES_CREATE_MANAGED_JUST_SIGNED_IN)); |
379 } | 379 } |
380 } | 380 } |
381 | 381 |
382 bool LocallyManagedUserCreationScreen::FindUserByDisplayName( | 382 bool LocallyManagedUserCreationScreen::FindUserByDisplayName( |
383 const string16& display_name, | 383 const base::string16& display_name, |
384 std::string *out_id) const { | 384 std::string *out_id) const { |
385 if (!existing_users_.get()) | 385 if (!existing_users_.get()) |
386 return false; | 386 return false; |
387 for (base::DictionaryValue::Iterator it(*existing_users_.get()); | 387 for (base::DictionaryValue::Iterator it(*existing_users_.get()); |
388 !it.IsAtEnd(); it.Advance()) { | 388 !it.IsAtEnd(); it.Advance()) { |
389 const base::DictionaryValue* user_info = | 389 const base::DictionaryValue* user_info = |
390 static_cast<const base::DictionaryValue*>(&it.value()); | 390 static_cast<const base::DictionaryValue*>(&it.value()); |
391 string16 user_display_name; | 391 base::string16 user_display_name; |
392 if (user_info->GetString(ManagedUserSyncService::kName, | 392 if (user_info->GetString(ManagedUserSyncService::kName, |
393 &user_display_name)) { | 393 &user_display_name)) { |
394 if (display_name == user_display_name) { | 394 if (display_name == user_display_name) { |
395 if (out_id) | 395 if (out_id) |
396 *out_id = it.key(); | 396 *out_id = it.key(); |
397 return true; | 397 return true; |
398 } | 398 } |
399 } | 399 } |
400 } | 400 } |
401 return false; | 401 return false; |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 local_copy->SetString( | 479 local_copy->SetString( |
480 ManagedUserSyncService::kChromeOsAvatar, | 480 ManagedUserSyncService::kChromeOsAvatar, |
481 ManagedUserSyncService::BuildAvatarString(i)); | 481 ManagedUserSyncService::BuildAvatarString(i)); |
482 local_copy->SetBoolean(kRandomAvatarKey, true); | 482 local_copy->SetBoolean(kRandomAvatarKey, true); |
483 ui_copy->SetString(kAvatarURLKey, GetDefaultImageUrl(i)); | 483 ui_copy->SetString(kAvatarURLKey, GetDefaultImageUrl(i)); |
484 } | 484 } |
485 | 485 |
486 local_copy->SetBoolean(kUserExists, false); | 486 local_copy->SetBoolean(kUserExists, false); |
487 ui_copy->SetBoolean(kUserExists, false); | 487 ui_copy->SetBoolean(kUserExists, false); |
488 | 488 |
489 string16 display_name; | 489 base::string16 display_name; |
490 local_copy->GetString(ManagedUserSyncService::kName, &display_name); | 490 local_copy->GetString(ManagedUserSyncService::kName, &display_name); |
491 | 491 |
492 if (supervised_user_manager->FindBySyncId(it.key())) { | 492 if (supervised_user_manager->FindBySyncId(it.key())) { |
493 local_copy->SetBoolean(kUserExists, true); | 493 local_copy->SetBoolean(kUserExists, true); |
494 ui_copy->SetBoolean(kUserExists, true); | 494 ui_copy->SetBoolean(kUserExists, true); |
495 local_copy->SetString(kUserConflict, kUserConflictImported); | 495 local_copy->SetString(kUserConflict, kUserConflictImported); |
496 ui_copy->SetString(kUserConflict, kUserConflictImported); | 496 ui_copy->SetString(kUserConflict, kUserConflictImported); |
497 } else if (supervised_user_manager->FindByDisplayName(display_name)) { | 497 } else if (supervised_user_manager->FindByDisplayName(display_name)) { |
498 local_copy->SetBoolean(kUserExists, true); | 498 local_copy->SetBoolean(kUserExists, true); |
499 ui_copy->SetBoolean(kUserExists, true); | 499 ui_copy->SetBoolean(kUserExists, true); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
552 selected_image_ = User::kExternalImageIndex; | 552 selected_image_ = User::kExternalImageIndex; |
553 } else { | 553 } else { |
554 NOTREACHED() << "Unexpected image type: " << image_type; | 554 NOTREACHED() << "Unexpected image type: " << image_type; |
555 } | 555 } |
556 } | 556 } |
557 | 557 |
558 void LocallyManagedUserCreationScreen::OnImageAccepted() { | 558 void LocallyManagedUserCreationScreen::OnImageAccepted() { |
559 } | 559 } |
560 | 560 |
561 } // namespace chromeos | 561 } // namespace chromeos |
OLD | NEW |