Index: chrome/browser/ui/webui/chromeos/login/locally_managed_user_creation_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/locally_managed_user_creation_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/locally_managed_user_creation_screen_handler.cc |
deleted file mode 100644 |
index a09a04852934ec2ef43d5ec5c52202647ae5d745..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/webui/chromeos/login/locally_managed_user_creation_screen_handler.cc |
+++ /dev/null |
@@ -1,455 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/ui/webui/chromeos/login/locally_managed_user_creation_screen_handler.h" |
- |
-#include "ash/audio/sounds.h" |
-#include "base/strings/utf_string_conversions.h" |
-#include "base/values.h" |
-#include "chrome/browser/chromeos/login/managed/locally_managed_user_creation_flow.h" |
-#include "chrome/browser/chromeos/login/screens/user_selection_screen.h" |
-#include "chrome/browser/chromeos/login/users/supervised_user_manager.h" |
-#include "chrome/browser/chromeos/login/users/user_manager.h" |
-#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" |
-#include "chrome/browser/chromeos/settings/cros_settings.h" |
-#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" |
-#include "chrome/common/url_constants.h" |
-#include "chromeos/audio/chromeos_sounds.h" |
-#include "components/user_manager/user_type.h" |
-#include "google_apis/gaia/gaia_auth_util.h" |
-#include "grit/browser_resources.h" |
-#include "grit/generated_resources.h" |
-#include "net/base/data_url.h" |
-#include "net/base/escape.h" |
-#include "ui/base/l10n/l10n_util.h" |
-#include "ui/base/resource/resource_bundle.h" |
- |
-const char kJsScreenPath[] = "login.LocallyManagedUserCreationScreen"; |
- |
-namespace chromeos { |
- |
-LocallyManagedUserCreationScreenHandler:: |
-LocallyManagedUserCreationScreenHandler() |
- : BaseScreenHandler(kJsScreenPath), |
- delegate_(NULL) { |
- ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
- media::SoundsManager* manager = media::SoundsManager::Get(); |
- manager->Initialize(SOUND_OBJECT_DELETE, |
- bundle.GetRawDataResource(IDR_SOUND_OBJECT_DELETE_WAV)); |
- manager->Initialize(SOUND_CAMERA_SNAP, |
- bundle.GetRawDataResource(IDR_SOUND_CAMERA_SNAP_WAV)); |
-} |
- |
-LocallyManagedUserCreationScreenHandler:: |
- ~LocallyManagedUserCreationScreenHandler() { |
- if (delegate_) { |
- delegate_->OnActorDestroyed(this); |
- } |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::DeclareLocalizedValues( |
- LocalizedValuesBuilder* builder) { |
- builder->Add( |
- "managedUserCreationFlowRetryButtonTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_ERROR_RETRY_BUTTON_TITLE); |
- builder->Add( |
- "managedUserCreationFlowCancelButtonTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_ERROR_CANCEL_BUTTON_TITLE); |
- builder->Add( |
- "managedUserCreationFlowGotitButtonTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_GOT_IT_BUTTON_TITLE); |
- |
- builder->Add("createManagedUserIntroTextTitle", |
- IDS_CREATE_LOCALLY_MANAGED_INTRO_TEXT_TITLE); |
- builder->Add("createManagedUserIntroAlternateText", |
- IDS_CREATE_LOCALLY_MANAGED_INTRO_ALTERNATE_TEXT); |
- builder->Add("createManagedUserIntroText1", |
- IDS_CREATE_LOCALLY_MANAGED_INTRO_TEXT_1); |
- builder->Add("createManagedUserIntroManagerItem1", |
- IDS_CREATE_LOCALLY_MANAGED_INTRO_MANAGER_ITEM_1); |
- builder->Add("createManagedUserIntroManagerItem2", |
- IDS_CREATE_LOCALLY_MANAGED_INTRO_MANAGER_ITEM_2); |
- builder->Add("createManagedUserIntroManagerItem3", |
- IDS_CREATE_LOCALLY_MANAGED_INTRO_MANAGER_ITEM_3); |
- builder->Add("createManagedUserIntroText2", |
- IDS_CREATE_LOCALLY_MANAGED_INTRO_TEXT_2); |
- builder->AddF("createManagedUserIntroText3", |
- IDS_CREATE_LOCALLY_MANAGED_INTRO_TEXT_3, |
- base::UTF8ToUTF16(chrome::kSupervisedUserManagementDisplayURL)); |
- |
- builder->Add("createManagedUserPickManagerTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PICK_MANAGER_TITLE); |
- builder->AddF("createManagedUserPickManagerTitleExplanation", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PICK_MANAGER_EXPLANATION, |
- base::UTF8ToUTF16(chrome::kSupervisedUserManagementDisplayURL)); |
- builder->Add("createManagedUserManagerPasswordHint", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_MANAGER_PASSWORD_HINT); |
- builder->Add("createManagedUserWrongManagerPasswordText", |
- IDS_CREATE_LOCALLY_MANAGED_USER_MANAGER_PASSWORD_ERROR); |
- |
- builder->Add("createManagedUserNameTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_ACCOUNT_NAME_TITLE); |
- builder->Add("createManagedUserNameAccessibleTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_SETUP_ACCESSIBLE_TITLE); |
- builder->Add("createManagedUserNameExplanation", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_ACCOUNT_NAME_EXPLANATION); |
- builder->Add("createManagedUserNameHint", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_ACCOUNT_NAME_HINT); |
- builder->Add("createManagedUserPasswordTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_TITLE); |
- builder->Add("createManagedUserPasswordExplanation", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_EXPLANATION); |
- builder->Add("createManagedUserPasswordHint", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_HINT); |
- builder->Add("createManagedUserPasswordConfirmHint", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_CONFIRM_HINT); |
- builder->Add("managedUserCreationFlowProceedButtonTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_CONTINUE_BUTTON_TEXT); |
- builder->Add("managedUserCreationFlowStartButtonTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_START_BUTTON_TEXT); |
- builder->Add("managedUserCreationFlowPrevButtonTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PREVIOUS_BUTTON_TEXT); |
- builder->Add("managedUserCreationFlowNextButtonTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_NEXT_BUTTON_TEXT); |
- builder->Add("managedUserCreationFlowHandleErrorButtonTitle", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_HANDLE_ERROR_BUTTON_TEXT); |
- builder->Add("createManagedUserPasswordMismatchError", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_MISMATCH_ERROR); |
- |
- builder->Add("createManagedUserCreatedText1", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATED_1_TEXT_1); |
- builder->Add("createManagedUserCreatedText2", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATED_1_TEXT_2); |
- builder->Add("createManagedUserCreatedText3", |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATED_1_TEXT_3); |
- |
- builder->Add("importExistingSupervisedUserTitle", |
- IDS_IMPORT_EXISTING_SUPERVISED_USER_TITLE); |
- builder->Add("importExistingSupervisedUserText", |
- IDS_IMPORT_EXISTING_SUPERVISED_USER_TEXT); |
- builder->Add("managedUserCreationFlowImportButtonTitle", |
- IDS_IMPORT_EXISTING_SUPERVISED_USER_OK); |
- builder->Add("importSupervisedUserLink", |
- IDS_PROFILES_IMPORT_EXISTING_SUPERVISED_USER_LINK); |
- builder->Add("createSupervisedUserLink", |
- IDS_CREATE_NEW_USER_LINK); |
- builder->Add("importBubbleText", IDS_SUPERVISED_USER_IMPORT_BUBBLE_TEXT); |
- builder->Add("importUserExists", IDS_SUPERVISED_USER_IMPORT_USER_EXIST); |
- builder->Add("importUsernameExists", |
- IDS_SUPERVISED_USER_IMPORT_USERNAME_EXIST); |
- |
- builder->Add("managementURL", chrome::kSupervisedUserManagementDisplayURL); |
- |
- // TODO(antrim) : this is an explicit code duplications with UserImageScreen. |
- // It should be removed by issue 251179. |
- builder->Add("takePhoto", IDS_OPTIONS_CHANGE_PICTURE_TAKE_PHOTO); |
- builder->Add("discardPhoto", IDS_OPTIONS_CHANGE_PICTURE_DISCARD_PHOTO); |
- builder->Add("flipPhoto", IDS_OPTIONS_CHANGE_PICTURE_FLIP_PHOTO); |
- builder->Add("photoFlippedAccessibleText", |
- IDS_OPTIONS_PHOTO_FLIP_ACCESSIBLE_TEXT); |
- builder->Add("photoFlippedBackAccessibleText", |
- IDS_OPTIONS_PHOTO_FLIPBACK_ACCESSIBLE_TEXT); |
- builder->Add("photoCaptureAccessibleText", |
- IDS_OPTIONS_PHOTO_CAPTURE_ACCESSIBLE_TEXT); |
- builder->Add("photoDiscardAccessibleText", |
- IDS_OPTIONS_PHOTO_DISCARD_ACCESSIBLE_TEXT); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::Initialize() {} |
- |
-void LocallyManagedUserCreationScreenHandler::RegisterMessages() { |
- AddCallback("finishLocalManagedUserCreation", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleFinishLocalManagedUserCreation); |
- AddCallback("abortLocalManagedUserCreation", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleAbortLocalManagedUserCreation); |
- AddCallback("checkLocallyManagedUserName", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleCheckLocallyManagedUserName); |
- AddCallback("authenticateManagerInLocallyManagedUserCreationFlow", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleAuthenticateManager); |
- AddCallback("specifyLocallyManagedUserCreationFlowUserData", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleCreateManagedUser); |
- AddCallback("managerSelectedOnLocallyManagedUserCreationFlow", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleManagerSelected); |
- AddCallback("userSelectedForImportInManagedUserCreationFlow", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleImportUserSelected); |
- AddCallback("importSupervisedUser", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleImportSupervisedUser); |
- AddCallback("importSupervisedUserWithPassword", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleImportSupervisedUserWithPassword); |
- |
- |
- // TODO(antrim) : this is an explicit code duplications with UserImageScreen. |
- // It should be removed by issue 251179. |
- AddCallback("supervisedUserGetImages", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleGetImages); |
- |
- AddCallback("supervisedUserPhotoTaken", |
- &LocallyManagedUserCreationScreenHandler::HandlePhotoTaken); |
- AddCallback("supervisedUserTakePhoto", |
- &LocallyManagedUserCreationScreenHandler::HandleTakePhoto); |
- AddCallback("supervisedUserDiscardPhoto", |
- &LocallyManagedUserCreationScreenHandler::HandleDiscardPhoto); |
- AddCallback("supervisedUserSelectImage", |
- &LocallyManagedUserCreationScreenHandler::HandleSelectImage); |
- AddCallback("currentSupervisedUserPage", |
- &LocallyManagedUserCreationScreenHandler:: |
- HandleCurrentSupervisedUserPage); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::PrepareToShow() {} |
- |
-void LocallyManagedUserCreationScreenHandler::Show() { |
- scoped_ptr<base::DictionaryValue> data(new base::DictionaryValue()); |
- scoped_ptr<base::ListValue> users_list(new base::ListValue()); |
- const UserList& users = UserManager::Get()->GetUsers(); |
- std::string owner; |
- chromeos::CrosSettings::Get()->GetString(chromeos::kDeviceOwner, &owner); |
- |
- for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { |
- if ((*it)->GetType() != user_manager::USER_TYPE_REGULAR) |
- continue; |
- bool is_owner = ((*it)->email() == owner); |
- base::DictionaryValue* user_dict = new base::DictionaryValue(); |
- UserSelectionScreen::FillUserDictionary( |
- *it, |
- is_owner, |
- false /* is_signin_to_add */, |
- ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
- user_dict); |
- users_list->Append(user_dict); |
- } |
- data->Set("managers", users_list.release()); |
- ShowScreen(OobeUI::kScreenManagedUserCreationFlow, data.get()); |
- |
- if (!delegate_) |
- return; |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::Hide() { |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::ShowIntroPage() { |
- CallJS("showIntroPage"); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::ShowManagerPasswordError() { |
- CallJS("showManagerPasswordError"); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::ShowStatusMessage( |
- bool is_progress, |
- const base::string16& message) { |
- if (is_progress) |
- CallJS("showProgress", message); |
- else |
- CallJS("showStatusError", message); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::ShowUsernamePage() { |
- CallJS("showUsernamePage"); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::ShowTutorialPage() { |
- CallJS("showTutorialPage"); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::ShowErrorPage( |
- const base::string16& title, |
- const base::string16& message, |
- const base::string16& button_text) { |
- CallJS("showErrorPage", title, message, button_text); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::SetDelegate(Delegate* delegate) { |
- delegate_ = delegate; |
-} |
- |
-void LocallyManagedUserCreationScreenHandler:: |
- HandleFinishLocalManagedUserCreation() { |
- delegate_->FinishFlow(); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler:: |
- HandleAbortLocalManagedUserCreation() { |
- delegate_->AbortFlow(); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandleManagerSelected( |
- const std::string& manager_id) { |
- if (!delegate_) |
- return; |
- WallpaperManager::Get()->SetUserWallpaperNow(manager_id); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandleImportUserSelected( |
- const std::string& user_id) { |
- if (!delegate_) |
- return; |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandleCheckLocallyManagedUserName( |
- const base::string16& name) { |
- std::string user_id; |
- if (NULL != UserManager::Get()->GetSupervisedUserManager()-> |
- FindByDisplayName(base::CollapseWhitespace(name, true))) { |
- CallJS("managedUserNameError", name, |
- l10n_util::GetStringUTF16( |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_USERNAME_ALREADY_EXISTS)); |
- } else if (net::EscapeForHTML(name) != name) { |
- CallJS("managedUserNameError", name, |
- l10n_util::GetStringUTF16( |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_ILLEGAL_USERNAME)); |
- } else if (delegate_ && delegate_->FindUserByDisplayName( |
- base::CollapseWhitespace(name, true), &user_id)) { |
- CallJS("managedUserSuggestImport", name, user_id); |
- } else { |
- CallJS("managedUserNameOk", name); |
- } |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandleCreateManagedUser( |
- const base::string16& new_raw_user_name, |
- const std::string& new_user_password) { |
- if (!delegate_) |
- return; |
- const base::string16 new_user_name = |
- base::CollapseWhitespace(new_raw_user_name, true); |
- if (NULL != UserManager::Get()->GetSupervisedUserManager()-> |
- FindByDisplayName(new_user_name)) { |
- CallJS("managedUserNameError", new_user_name, |
- l10n_util::GetStringFUTF16( |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_USERNAME_ALREADY_EXISTS, |
- new_user_name)); |
- return; |
- } |
- if (net::EscapeForHTML(new_user_name) != new_user_name) { |
- CallJS("managedUserNameError", new_user_name, |
- l10n_util::GetStringUTF16( |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_ILLEGAL_USERNAME)); |
- return; |
- } |
- |
- if (new_user_password.length() == 0) { |
- CallJS("showPasswordError", |
- l10n_util::GetStringUTF16( |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATE_PASSWORD_TOO_SHORT)); |
- return; |
- } |
- |
- ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); |
- |
- delegate_->CreateManagedUser(new_user_name, new_user_password); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandleImportSupervisedUser( |
- const std::string& user_id) { |
- if (!delegate_) |
- return; |
- |
- ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); |
- |
- delegate_->ImportManagedUser(user_id); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler:: |
- HandleImportSupervisedUserWithPassword( |
- const std::string& user_id, |
- const std::string& password) { |
- if (!delegate_) |
- return; |
- |
- ShowStatusMessage(true /* progress */, l10n_util::GetStringUTF16( |
- IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_CREATION_PROGRESS_MESSAGE)); |
- |
- delegate_->ImportManagedUserWithPassword(user_id, password); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandleAuthenticateManager( |
- const std::string& raw_manager_username, |
- const std::string& manager_password) { |
- const std::string manager_username = |
- gaia::SanitizeEmail(raw_manager_username); |
- |
- UserFlow* flow = new LocallyManagedUserCreationFlow(manager_username); |
- UserManager::Get()->SetUserFlow(manager_username, flow); |
- |
- delegate_->AuthenticateManager(manager_username, manager_password); |
-} |
- |
-// TODO(antrim) : this is an explicit code duplications with UserImageScreen. |
-// It should be removed by issue 251179. |
-void LocallyManagedUserCreationScreenHandler::HandleGetImages() { |
- base::ListValue image_urls; |
- for (int i = kFirstDefaultImageIndex; i < kDefaultImagesCount; ++i) { |
- scoped_ptr<base::DictionaryValue> image_data(new base::DictionaryValue); |
- image_data->SetString("url", GetDefaultImageUrl(i)); |
- image_data->SetString( |
- "author", l10n_util::GetStringUTF16(kDefaultImageAuthorIDs[i])); |
- image_data->SetString( |
- "website", l10n_util::GetStringUTF16(kDefaultImageWebsiteIDs[i])); |
- image_data->SetString("title", GetDefaultImageDescription(i)); |
- image_urls.Append(image_data.release()); |
- } |
- CallJS("setDefaultImages", image_urls); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandlePhotoTaken |
- (const std::string& image_url) { |
- std::string mime_type, charset, raw_data; |
- if (!net::DataURL::Parse(GURL(image_url), &mime_type, &charset, &raw_data)) |
- NOTREACHED(); |
- DCHECK_EQ("image/png", mime_type); |
- |
- if (delegate_) |
- delegate_->OnPhotoTaken(raw_data); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandleTakePhoto() { |
- ash::PlaySystemSoundIfSpokenFeedback(SOUND_CAMERA_SNAP); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandleDiscardPhoto() { |
- ash::PlaySystemSoundIfSpokenFeedback(SOUND_OBJECT_DELETE); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandleSelectImage( |
- const std::string& image_url, |
- const std::string& image_type) { |
- if (delegate_) |
- delegate_->OnImageSelected(image_type, image_url); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::HandleCurrentSupervisedUserPage( |
- const std::string& page) { |
- if (delegate_) |
- delegate_->OnPageSelected(page); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::ShowPage( |
- const std::string& page) { |
- CallJS("showPage", page); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::SetCameraPresent(bool present) { |
- CallJS("setCameraPresent", present); |
-} |
- |
-void LocallyManagedUserCreationScreenHandler::ShowExistingManagedUsers( |
- const base::ListValue* users) { |
- CallJS("setExistingManagedUsers", *users); |
-} |
- |
-} // namespace chromeos |