| 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 #include "chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen
_handler.h" | 5 #include "chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen
_handler.h" |
| 6 | 6 |
| 7 #include "ash/audio/sounds.h" | 7 #include "ash/audio/sounds.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "base/values.h" | 9 #include "base/values.h" |
| 10 #include "chrome/browser/chromeos/login/screens/user_selection_screen.h" | 10 #include "chrome/browser/chromeos/login/screens/user_selection_screen.h" |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 SupervisedUserCreationScreenHandler::~SupervisedUserCreationScreenHandler() { | 43 SupervisedUserCreationScreenHandler::~SupervisedUserCreationScreenHandler() { |
| 44 if (delegate_) { | 44 if (delegate_) { |
| 45 delegate_->OnActorDestroyed(this); | 45 delegate_->OnActorDestroyed(this); |
| 46 } | 46 } |
| 47 } | 47 } |
| 48 | 48 |
| 49 void SupervisedUserCreationScreenHandler::DeclareLocalizedValues( | 49 void SupervisedUserCreationScreenHandler::DeclareLocalizedValues( |
| 50 LocalizedValuesBuilder* builder) { | 50 LocalizedValuesBuilder* builder) { |
| 51 builder->Add( | 51 builder->Add( |
| 52 "supervisedUserCreationFlowRetryButtonTitle", | 52 "supervisedUserCreationFlowRetryButtonTitle", |
| 53 IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_ERROR_RETRY_BUTTON_TITLE); | 53 IDS_CREATE_SUPERVISED_USER_CREATION_ERROR_RETRY_BUTTON_TITLE); |
| 54 builder->Add( | 54 builder->Add( |
| 55 "supervisedUserCreationFlowCancelButtonTitle", | 55 "supervisedUserCreationFlowCancelButtonTitle", |
| 56 IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_ERROR_CANCEL_BUTTON_TITLE); | 56 IDS_CREATE_SUPERVISED_USER_CREATION_ERROR_CANCEL_BUTTON_TITLE); |
| 57 builder->Add( | 57 builder->Add( |
| 58 "supervisedUserCreationFlowGotitButtonTitle", | 58 "supervisedUserCreationFlowGotitButtonTitle", |
| 59 IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_GOT_IT_BUTTON_TITLE); | 59 IDS_CREATE_SUPERVISED_USER_CREATION_GOT_IT_BUTTON_TITLE); |
| 60 | 60 |
| 61 builder->Add("createSupervisedUserIntroTextTitle", | 61 builder->Add("createSupervisedUserIntroTextTitle", |
| 62 IDS_CREATE_LOCALLY_MANAGED_INTRO_TEXT_TITLE); | 62 IDS_CREATE_SUPERVISED_INTRO_TEXT_TITLE); |
| 63 builder->Add("createSupervisedUserIntroAlternateText", | 63 builder->Add("createSupervisedUserIntroAlternateText", |
| 64 IDS_CREATE_LOCALLY_MANAGED_INTRO_ALTERNATE_TEXT); | 64 IDS_CREATE_SUPERVISED_INTRO_ALTERNATE_TEXT); |
| 65 builder->Add("createSupervisedUserIntroText1", | 65 builder->Add("createSupervisedUserIntroText1", |
| 66 IDS_CREATE_LOCALLY_MANAGED_INTRO_TEXT_1); | 66 IDS_CREATE_SUPERVISED_INTRO_TEXT_1); |
| 67 builder->Add("createSupervisedUserIntroManagerItem1", | 67 builder->Add("createSupervisedUserIntroManagerItem1", |
| 68 IDS_CREATE_LOCALLY_MANAGED_INTRO_MANAGER_ITEM_1); | 68 IDS_CREATE_SUPERVISED_INTRO_MANAGER_ITEM_1); |
| 69 builder->Add("createSupervisedUserIntroManagerItem2", | 69 builder->Add("createSupervisedUserIntroManagerItem2", |
| 70 IDS_CREATE_LOCALLY_MANAGED_INTRO_MANAGER_ITEM_2); | 70 IDS_CREATE_SUPERVISED_INTRO_MANAGER_ITEM_2); |
| 71 builder->Add("createSupervisedUserIntroManagerItem3", | 71 builder->Add("createSupervisedUserIntroManagerItem3", |
| 72 IDS_CREATE_LOCALLY_MANAGED_INTRO_MANAGER_ITEM_3); | 72 IDS_CREATE_SUPERVISED_INTRO_MANAGER_ITEM_3); |
| 73 builder->Add("createSupervisedUserIntroText2", | 73 builder->Add("createSupervisedUserIntroText2", |
| 74 IDS_CREATE_LOCALLY_MANAGED_INTRO_TEXT_2); | 74 IDS_CREATE_SUPERVISED_INTRO_TEXT_2); |
| 75 builder->AddF("createSupervisedUserIntroText3", | 75 builder->AddF("createSupervisedUserIntroText3", |
| 76 IDS_CREATE_LOCALLY_MANAGED_INTRO_TEXT_3, | 76 IDS_CREATE_SUPERVISED_INTRO_TEXT_3, |
| 77 base::UTF8ToUTF16(chrome::kSupervisedUserManagementDisplayURL)); | 77 base::UTF8ToUTF16(chrome::kSupervisedUserManagementDisplayURL)); |
| 78 | 78 |
| 79 builder->Add("createSupervisedUserPickManagerTitle", | 79 builder->Add("createSupervisedUserPickManagerTitle", |
| 80 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PICK_MANAGER_TITLE); | 80 IDS_CREATE_SUPERVISED_USER_CREATE_PICK_MANAGER_TITLE); |
| 81 builder->AddF("createSupervisedUserPickManagerTitleExplanation", | 81 builder->AddF("createSupervisedUserPickManagerTitleExplanation", |
| 82 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PICK_MANAGER_EXPLANATION, | 82 IDS_CREATE_SUPERVISED_USER_CREATE_PICK_MANAGER_EXPLANATION, |
| 83 base::UTF8ToUTF16(chrome::kSupervisedUserManagementDisplayURL)); | 83 base::UTF8ToUTF16(chrome::kSupervisedUserManagementDisplayURL)); |
| 84 builder->Add("createSupervisedUserManagerPasswordHint", | 84 builder->Add("createSupervisedUserManagerPasswordHint", |
| 85 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_MANAGER_PASSWORD_HINT); | 85 IDS_CREATE_SUPERVISED_USER_CREATE_MANAGER_PASSWORD_HINT); |
| 86 builder->Add("createSupervisedUserWrongManagerPasswordText", | 86 builder->Add("createSupervisedUserWrongManagerPasswordText", |
| 87 IDS_CREATE_LOCALLY_MANAGED_USER_MANAGER_PASSWORD_ERROR); | 87 IDS_CREATE_SUPERVISED_USER_MANAGER_PASSWORD_ERROR); |
| 88 | 88 |
| 89 builder->Add("createSupervisedUserNameTitle", | 89 builder->Add("createSupervisedUserNameTitle", |
| 90 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_ACCOUNT_NAME_TITLE); | 90 IDS_CREATE_SUPERVISED_USER_CREATE_ACCOUNT_NAME_TITLE); |
| 91 builder->Add("createSupervisedUserNameAccessibleTitle", | 91 builder->Add("createSupervisedUserNameAccessibleTitle", |
| 92 IDS_CREATE_LOCALLY_MANAGED_USER_SETUP_ACCESSIBLE_TITLE); | 92 IDS_CREATE_SUPERVISED_USER_SETUP_ACCESSIBLE_TITLE); |
| 93 builder->Add("createSupervisedUserNameExplanation", | 93 builder->Add("createSupervisedUserNameExplanation", |
| 94 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_ACCOUNT_NAME_EXPLANATION); | 94 IDS_CREATE_SUPERVISED_USER_CREATE_ACCOUNT_NAME_EXPLANATION); |
| 95 builder->Add("createSupervisedUserNameHint", | 95 builder->Add("createSupervisedUserNameHint", |
| 96 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_ACCOUNT_NAME_HINT); | 96 IDS_CREATE_SUPERVISED_USER_CREATE_ACCOUNT_NAME_HINT); |
| 97 builder->Add("createSupervisedUserPasswordTitle", | 97 builder->Add("createSupervisedUserPasswordTitle", |
| 98 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_TITLE); | 98 IDS_CREATE_SUPERVISED_USER_CREATE_PASSWORD_TITLE); |
| 99 builder->Add("createSupervisedUserPasswordExplanation", | 99 builder->Add("createSupervisedUserPasswordExplanation", |
| 100 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_EXPLANATION); | 100 IDS_CREATE_SUPERVISED_USER_CREATE_PASSWORD_EXPLANATION); |
| 101 builder->Add("createSupervisedUserPasswordHint", | 101 builder->Add("createSupervisedUserPasswordHint", |
| 102 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_HINT); | 102 IDS_CREATE_SUPERVISED_USER_CREATE_PASSWORD_HINT); |
| 103 builder->Add("createSupervisedUserPasswordConfirmHint", | 103 builder->Add("createSupervisedUserPasswordConfirmHint", |
| 104 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_CONFIRM_HINT); | 104 IDS_CREATE_SUPERVISED_USER_CREATE_PASSWORD_CONFIRM_HINT); |
| 105 builder->Add("supervisedUserCreationFlowProceedButtonTitle", | 105 builder->Add("supervisedUserCreationFlowProceedButtonTitle", |
| 106 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_CONTINUE_BUTTON_TEXT); | 106 IDS_CREATE_SUPERVISED_USER_CREATE_CONTINUE_BUTTON_TEXT); |
| 107 builder->Add("supervisedUserCreationFlowStartButtonTitle", | 107 builder->Add("supervisedUserCreationFlowStartButtonTitle", |
| 108 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_START_BUTTON_TEXT); | 108 IDS_CREATE_SUPERVISED_USER_CREATE_START_BUTTON_TEXT); |
| 109 builder->Add("supervisedUserCreationFlowPrevButtonTitle", | 109 builder->Add("supervisedUserCreationFlowPrevButtonTitle", |
| 110 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PREVIOUS_BUTTON_TEXT); | 110 IDS_CREATE_SUPERVISED_USER_CREATE_PREVIOUS_BUTTON_TEXT); |
| 111 builder->Add("supervisedUserCreationFlowNextButtonTitle", | 111 builder->Add("supervisedUserCreationFlowNextButtonTitle", |
| 112 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_NEXT_BUTTON_TEXT); | 112 IDS_CREATE_SUPERVISED_USER_CREATE_NEXT_BUTTON_TEXT); |
| 113 builder->Add("supervisedUserCreationFlowHandleErrorButtonTitle", | 113 builder->Add("supervisedUserCreationFlowHandleErrorButtonTitle", |
| 114 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_HANDLE_ERROR_BUTTON_TEXT); | 114 IDS_CREATE_SUPERVISED_USER_CREATE_HANDLE_ERROR_BUTTON_TEXT); |
| 115 builder->Add("createSupervisedUserPasswordMismatchError", | 115 builder->Add("createSupervisedUserPasswordMismatchError", |
| 116 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_MISMATCH_ERROR); | 116 IDS_CREATE_SUPERVISED_USER_CREATE_PASSWORD_MISMATCH_ERROR); |
| 117 | 117 |
| 118 builder->Add("createSupervisedUserCreatedText1", | 118 builder->Add("createSupervisedUserCreatedText1", |
| 119 IDS_CREATE_LOCALLY_MANAGED_USER_CREATED_1_TEXT_1); | 119 IDS_CREATE_SUPERVISED_USER_CREATED_1_TEXT_1); |
| 120 builder->Add("createSupervisedUserCreatedText2", | 120 builder->Add("createSupervisedUserCreatedText2", |
| 121 IDS_CREATE_LOCALLY_MANAGED_USER_CREATED_1_TEXT_2); | 121 IDS_CREATE_SUPERVISED_USER_CREATED_1_TEXT_2); |
| 122 builder->Add("createSupervisedUserCreatedText3", | 122 builder->Add("createSupervisedUserCreatedText3", |
| 123 IDS_CREATE_LOCALLY_MANAGED_USER_CREATED_1_TEXT_3); | 123 IDS_CREATE_SUPERVISED_USER_CREATED_1_TEXT_3); |
| 124 | 124 |
| 125 builder->Add("importExistingSupervisedUserTitle", | 125 builder->Add("importExistingSupervisedUserTitle", |
| 126 IDS_IMPORT_EXISTING_SUPERVISED_USER_TITLE); | 126 IDS_IMPORT_EXISTING_SUPERVISED_USER_TITLE); |
| 127 builder->Add("importExistingSupervisedUserText", | 127 builder->Add("importExistingSupervisedUserText", |
| 128 IDS_IMPORT_EXISTING_SUPERVISED_USER_TEXT); | 128 IDS_IMPORT_EXISTING_SUPERVISED_USER_TEXT); |
| 129 builder->Add("supervisedUserCreationFlowImportButtonTitle", | 129 builder->Add("supervisedUserCreationFlowImportButtonTitle", |
| 130 IDS_IMPORT_EXISTING_SUPERVISED_USER_OK); | 130 IDS_IMPORT_EXISTING_SUPERVISED_USER_OK); |
| 131 builder->Add("importSupervisedUserLink", | 131 builder->Add("importSupervisedUserLink", |
| 132 IDS_PROFILES_IMPORT_EXISTING_SUPERVISED_USER_LINK); | 132 IDS_PROFILES_IMPORT_EXISTING_SUPERVISED_USER_LINK); |
| 133 builder->Add("createSupervisedUserLink", | 133 builder->Add("createSupervisedUserLink", |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 return; | 297 return; |
| 298 } | 298 } |
| 299 | 299 |
| 300 void SupervisedUserCreationScreenHandler::HandleCheckSupervisedUserName( | 300 void SupervisedUserCreationScreenHandler::HandleCheckSupervisedUserName( |
| 301 const base::string16& name) { | 301 const base::string16& name) { |
| 302 std::string user_id; | 302 std::string user_id; |
| 303 if (NULL != UserManager::Get()->GetSupervisedUserManager()-> | 303 if (NULL != UserManager::Get()->GetSupervisedUserManager()-> |
| 304 FindByDisplayName(base::CollapseWhitespace(name, true))) { | 304 FindByDisplayName(base::CollapseWhitespace(name, true))) { |
| 305 CallJS("supervisedUserNameError", name, | 305 CallJS("supervisedUserNameError", name, |
| 306 l10n_util::GetStringUTF16( | 306 l10n_util::GetStringUTF16( |
| 307 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_USERNAME_ALREADY_EXISTS)); | 307 IDS_CREATE_SUPERVISED_USER_CREATE_USERNAME_ALREADY_EXISTS)); |
| 308 } else if (net::EscapeForHTML(name) != name) { | 308 } else if (net::EscapeForHTML(name) != name) { |
| 309 CallJS("supervisedUserNameError", name, | 309 CallJS("supervisedUserNameError", name, |
| 310 l10n_util::GetStringUTF16( | 310 l10n_util::GetStringUTF16( |
| 311 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_ILLEGAL_USERNAME)); | 311 IDS_CREATE_SUPERVISED_USER_CREATE_ILLEGAL_USERNAME)); |
| 312 } else if (delegate_ && delegate_->FindUserByDisplayName( | 312 } else if (delegate_ && delegate_->FindUserByDisplayName( |
| 313 base::CollapseWhitespace(name, true), &user_id)) { | 313 base::CollapseWhitespace(name, true), &user_id)) { |
| 314 CallJS("supervisedUserSuggestImport", name, user_id); | 314 CallJS("supervisedUserSuggestImport", name, user_id); |
| 315 } else { | 315 } else { |
| 316 CallJS("supervisedUserNameOk", name); | 316 CallJS("supervisedUserNameOk", name); |
| 317 } | 317 } |
| 318 } | 318 } |
| 319 | 319 |
| 320 void SupervisedUserCreationScreenHandler::HandleCreateSupervisedUser( | 320 void SupervisedUserCreationScreenHandler::HandleCreateSupervisedUser( |
| 321 const base::string16& new_raw_user_name, | 321 const base::string16& new_raw_user_name, |
| 322 const std::string& new_user_password) { | 322 const std::string& new_user_password) { |
| 323 if (!delegate_) | 323 if (!delegate_) |
| 324 return; | 324 return; |
| 325 const base::string16 new_user_name = | 325 const base::string16 new_user_name = |
| 326 base::CollapseWhitespace(new_raw_user_name, true); | 326 base::CollapseWhitespace(new_raw_user_name, true); |
| 327 if (NULL != UserManager::Get()->GetSupervisedUserManager()-> | 327 if (NULL != UserManager::Get()->GetSupervisedUserManager()-> |
| 328 FindByDisplayName(new_user_name)) { | 328 FindByDisplayName(new_user_name)) { |
| 329 CallJS("supervisedUserNameError", new_user_name, | 329 CallJS("supervisedUserNameError", new_user_name, |
| 330 l10n_util::GetStringFUTF16( | 330 l10n_util::GetStringFUTF16( |
| 331 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_USERNAME_ALREADY_EXISTS, | 331 IDS_CREATE_SUPERVISED_USER_CREATE_USERNAME_ALREADY_EXISTS, |
| 332 new_user_name)); | 332 new_user_name)); |
| 333 return; | 333 return; |
| 334 } | 334 } |
| 335 if (net::EscapeForHTML(new_user_name) != new_user_name) { | 335 if (net::EscapeForHTML(new_user_name) != new_user_name) { |
| 336 CallJS("supervisedUserNameError", new_user_name, | 336 CallJS("supervisedUserNameError", new_user_name, |
| 337 l10n_util::GetStringUTF16( | 337 l10n_util::GetStringUTF16( |
| 338 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_ILLEGAL_USERNAME)); | 338 IDS_CREATE_SUPERVISED_USER_CREATE_ILLEGAL_USERNAME)); |
| 339 return; | 339 return; |
| 340 } | 340 } |
| 341 | 341 |
| 342 if (new_user_password.length() == 0) { | 342 if (new_user_password.length() == 0) { |
| 343 CallJS("showPasswordError", | 343 CallJS("showPasswordError", |
| 344 l10n_util::GetStringUTF16( | 344 l10n_util::GetStringUTF16( |
| 345 IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_TOO_SHORT)); | 345 IDS_CREATE_SUPERVISED_USER_CREATE_PASSWORD_TOO_SHORT)); |
| 346 return; | 346 return; |
| 347 } | 347 } |
| 348 | 348 |
| 349 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( | 349 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( |
| 350 IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); | 350 IDS_CREATE_SUPERVISED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); |
| 351 | 351 |
| 352 delegate_->CreateSupervisedUser(new_user_name, new_user_password); | 352 delegate_->CreateSupervisedUser(new_user_name, new_user_password); |
| 353 } | 353 } |
| 354 | 354 |
| 355 void SupervisedUserCreationScreenHandler::HandleImportSupervisedUser( | 355 void SupervisedUserCreationScreenHandler::HandleImportSupervisedUser( |
| 356 const std::string& user_id) { | 356 const std::string& user_id) { |
| 357 if (!delegate_) | 357 if (!delegate_) |
| 358 return; | 358 return; |
| 359 | 359 |
| 360 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( | 360 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( |
| 361 IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); | 361 IDS_CREATE_SUPERVISED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); |
| 362 | 362 |
| 363 delegate_->ImportSupervisedUser(user_id); | 363 delegate_->ImportSupervisedUser(user_id); |
| 364 } | 364 } |
| 365 | 365 |
| 366 void SupervisedUserCreationScreenHandler:: | 366 void SupervisedUserCreationScreenHandler:: |
| 367 HandleImportSupervisedUserWithPassword( | 367 HandleImportSupervisedUserWithPassword( |
| 368 const std::string& user_id, | 368 const std::string& user_id, |
| 369 const std::string& password) { | 369 const std::string& password) { |
| 370 if (!delegate_) | 370 if (!delegate_) |
| 371 return; | 371 return; |
| 372 | 372 |
| 373 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( | 373 ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( |
| 374 IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); | 374 IDS_CREATE_SUPERVISED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); |
| 375 | 375 |
| 376 delegate_->ImportSupervisedUserWithPassword(user_id, password); | 376 delegate_->ImportSupervisedUserWithPassword(user_id, password); |
| 377 } | 377 } |
| 378 | 378 |
| 379 void SupervisedUserCreationScreenHandler::HandleAuthenticateManager( | 379 void SupervisedUserCreationScreenHandler::HandleAuthenticateManager( |
| 380 const std::string& raw_manager_username, | 380 const std::string& raw_manager_username, |
| 381 const std::string& manager_password) { | 381 const std::string& manager_password) { |
| 382 const std::string manager_username = | 382 const std::string manager_username = |
| 383 gaia::SanitizeEmail(raw_manager_username); | 383 gaia::SanitizeEmail(raw_manager_username); |
| 384 | 384 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 void SupervisedUserCreationScreenHandler::SetCameraPresent(bool present) { | 449 void SupervisedUserCreationScreenHandler::SetCameraPresent(bool present) { |
| 450 CallJS("setCameraPresent", present); | 450 CallJS("setCameraPresent", present); |
| 451 } | 451 } |
| 452 | 452 |
| 453 void SupervisedUserCreationScreenHandler::ShowExistingSupervisedUsers( | 453 void SupervisedUserCreationScreenHandler::ShowExistingSupervisedUsers( |
| 454 const base::ListValue* users) { | 454 const base::ListValue* users) { |
| 455 CallJS("setExistingSupervisedUsers", *users); | 455 CallJS("setExistingSupervisedUsers", *users); |
| 456 } | 456 } |
| 457 | 457 |
| 458 } // namespace chromeos | 458 } // namespace chromeos |
| OLD | NEW |