diff options
author | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-23 14:51:59 +0000 |
---|---|---|
committer | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-23 14:51:59 +0000 |
commit | 2fda997ecb56189df96c01b5fd78c277c7da6ac3 (patch) | |
tree | 301a25d8f2366ec2f516571df2c5e478c9988c14 /chrome/browser | |
parent | 147bb4254d86e64c9577b08694c41cf82cc06c60 (diff) | |
download | chromium_src-2fda997ecb56189df96c01b5fd78c277c7da6ac3.zip chromium_src-2fda997ecb56189df96c01b5fd78c277c7da6ac3.tar.gz chromium_src-2fda997ecb56189df96c01b5fd78c277c7da6ac3.tar.bz2 |
[cros] Move User class to user_manager component.
Depends on https://codereview.chromium.org/400973002/
BUG=387614
TBR=zelidrag@chromium.org,derat@chromium.org,stevenjb@chromium.org
Review URL: https://codereview.chromium.org/398753004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284925 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
159 files changed, 1075 insertions, 1460 deletions
diff --git a/chrome/browser/browsing_data/DEPS b/chrome/browser/browsing_data/DEPS new file mode 100644 index 0000000..42a8243 --- /dev/null +++ b/chrome/browser/browsing_data/DEPS @@ -0,0 +1,3 @@ +include_rules = [ + "+components/user_manager", +] diff --git a/chrome/browser/browsing_data/browsing_data_remover.cc b/chrome/browser/browsing_data/browsing_data_remover.cc index 2cc1fcf..540a575 100644 --- a/chrome/browser/browsing_data/browsing_data_remover.cc +++ b/chrome/browser/browsing_data/browsing_data_remover.cc @@ -76,12 +76,12 @@ #include "webkit/common/quota/quota_types.h" #if defined(OS_CHROMEOS) -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chromeos/attestation/attestation_constants.h" #include "chromeos/dbus/cryptohome_client.h" #include "chromeos/dbus/dbus_thread_manager.h" +#include "components/user_manager/user.h" #endif #if defined(ENABLE_EXTENSIONS) @@ -658,7 +658,7 @@ void BrowsingDataRemover::RemoveImpl(int remove_mask, pepper_flash_settings_manager_->DeauthorizeContentLicenses(prefs); #if defined(OS_CHROMEOS) // On Chrome OS, also delete any content protection platform keys. - chromeos::User* user = + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile_); if (!user) { LOG(WARNING) << "Failed to find user for current profile."; diff --git a/chrome/browser/chromeos/DEPS b/chrome/browser/chromeos/DEPS index 8383863..f128a59 100644 --- a/chrome/browser/chromeos/DEPS +++ b/chrome/browser/chromeos/DEPS @@ -1,6 +1,7 @@ include_rules = [ "+components/pairing", "+components/onc", + "+components/user_manager", "+cros", "+dbus", "+device/bluetooth", diff --git a/chrome/browser/chromeos/attestation/platform_verification_flow.cc b/chrome/browser/chromeos/attestation/platform_verification_flow.cc index f95ebeb..83abc0b 100644 --- a/chrome/browser/chromeos/attestation/platform_verification_flow.cc +++ b/chrome/browser/chromeos/attestation/platform_verification_flow.cc @@ -13,7 +13,6 @@ #include "chrome/browser/chromeos/attestation/attestation_ca_client.h" #include "chrome/browser/chromeos/attestation/attestation_signed_data.pb.h" #include "chrome/browser/chromeos/attestation/platform_verification_dialog.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/chromeos/settings/cros_settings.h" #include "chrome/browser/content_settings/host_content_settings_map.h" @@ -25,6 +24,7 @@ #include "chromeos/dbus/cryptohome_client.h" #include "chromeos/dbus/dbus_thread_manager.h" #include "components/pref_registry/pref_registry_syncable.h" +#include "components/user_manager/user.h" #include "components/user_prefs/user_prefs.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/browser_thread.h" @@ -87,7 +87,8 @@ class DefaultDelegate : public PlatformVerificationFlow::Delegate { return url; } - virtual User* GetUser(content::WebContents* web_contents) OVERRIDE { + virtual user_manager::User* GetUser( + content::WebContents* web_contents) OVERRIDE { return ProfileHelper::Get()->GetUserByProfile( Profile::FromBrowserContext(web_contents->GetBrowserContext())); } @@ -254,7 +255,7 @@ void PlatformVerificationFlow::OnConsentResponse( // At this point all user interaction is complete and we can proceed with the // certificate request. - chromeos::User* user = delegate_->GetUser(context.web_contents); + user_manager::User* user = delegate_->GetUser(context.web_contents); if (!user) { ReportError(context.callback, INTERNAL_ERROR); LOG(ERROR) << "Profile does not map to a valid user."; diff --git a/chrome/browser/chromeos/attestation/platform_verification_flow.h b/chrome/browser/chromeos/attestation/platform_verification_flow.h index 5fb4a4e..8c50312 100644 --- a/chrome/browser/chromeos/attestation/platform_verification_flow.h +++ b/chrome/browser/chromeos/attestation/platform_verification_flow.h @@ -26,6 +26,10 @@ namespace cryptohome { class AsyncMethodCaller; } +namespace user_manager { +class User; +} + namespace user_prefs { class PrefRegistrySyncable; } @@ -34,7 +38,6 @@ namespace chromeos { class CryptohomeClient; class UserManager; -class User; namespace attestation { @@ -104,7 +107,7 @@ class PlatformVerificationFlow // Gets the user associated with the given |web_contents|. NULL may be // returned. - virtual User* GetUser(content::WebContents* web_contents) = 0; + virtual user_manager::User* GetUser(content::WebContents* web_contents) = 0; // Gets the content settings map associated with the given |web_contents|. virtual HostContentSettingsMap* GetContentSettings( diff --git a/chrome/browser/chromeos/attestation/platform_verification_flow_unittest.cc b/chrome/browser/chromeos/attestation/platform_verification_flow_unittest.cc index 20b5f28..668b522 100644 --- a/chrome/browser/chromeos/attestation/platform_verification_flow_unittest.cc +++ b/chrome/browser/chromeos/attestation/platform_verification_flow_unittest.cc @@ -89,7 +89,8 @@ class FakeDelegate : public PlatformVerificationFlow::Delegate { return url_; } - virtual User* GetUser(content::WebContents* web_contents) OVERRIDE { + virtual user_manager::User* GetUser( + content::WebContents* web_contents) OVERRIDE { return mock_user_manager_.GetActiveUser(); } diff --git a/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc b/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc index 7019093..717e495 100644 --- a/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc +++ b/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc @@ -4,20 +4,20 @@ #include "chrome/browser/chromeos/background/ash_user_wallpaper_delegate.h" -#include "ash/shell.h" #include "ash/desktop_background/user_wallpaper_delegate.h" +#include "ash/shell.h" #include "ash/wm/window_animations.h" #include "base/command_line.h" #include "base/logging.h" #include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chromeos/extensions/wallpaper_manager_util.h" #include "chrome/browser/chromeos/login/startup_utils.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" #include "chrome/browser/chromeos/login/wizard_controller.h" #include "chromeos/chromeos_switches.h" #include "chromeos/login/login_state.h" +#include "components/user_manager/user.h" #include "content/public/browser/notification_service.h" namespace chromeos { @@ -105,7 +105,8 @@ class UserWallpaperDelegate : public ash::UserWallpaperDelegate { user_type != LoginState::LOGGED_IN_USER_SUPERVISED) { return false; } - const User* user = chromeos::UserManager::Get()->GetActiveUser(); + const user_manager::User* user = + chromeos::UserManager::Get()->GetActiveUser(); if (!user) return false; if (chromeos::WallpaperManager::Get()->IsPolicyControlled(user->email())) diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc index 88028bc..cbee9ef 100644 --- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc +++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc @@ -48,7 +48,6 @@ #include "chrome/browser/chromeos/login/login_wizard.h" #include "chrome/browser/chromeos/login/session/user_session_manager.h" #include "chrome/browser/chromeos/login/startup_utils.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" #include "chrome/browser/chromeos/login/wizard_controller.h" @@ -104,6 +103,7 @@ #include "chromeos/tpm_token_loader.h" #include "components/metrics/metrics_service.h" #include "components/session_manager/core/session_manager.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/power_save_blocker.h" @@ -499,7 +499,8 @@ void SetGuestLocale(Profile* const profile) { scoped_ptr<locale_util::SwitchLanguageCallback> callback( new locale_util::SwitchLanguageCallback(base::Bind( &GuestLanguageSetCallbackData::Callback, base::Passed(data.Pass())))); - User* const user = ProfileHelper::Get()->GetUserByProfile(profile); + user_manager::User* const user = + ProfileHelper::Get()->GetUserByProfile(profile); UserSessionManager::GetInstance()->RespectLocalePreference( profile, user, callback.Pass()); } diff --git a/chrome/browser/chromeos/drive/file_system_util.cc b/chrome/browser/chromeos/drive/file_system_util.cc index 5990113..ca85c52 100644 --- a/chrome/browser/chromeos/drive/file_system_util.cc +++ b/chrome/browser/chromeos/drive/file_system_util.cc @@ -121,7 +121,7 @@ base::FilePath GetDriveMountPointPath(Profile* profile) { // enabled. In that case, we fall back to use UserManager (it basically just // returns currently active users's hash in such a case.) I still try // ProfileHelper first because it works better in tests. - chromeos::User* const user = + user_manager::User* const user = chromeos::UserManager::IsInitialized() ? chromeos::ProfileHelper::Get()->GetUserByProfile( profile->GetOriginalProfile()) diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc index 9691914..3d18efe 100644 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc @@ -856,7 +856,7 @@ bool FileBrowserPrivateRequestDriveShareFunction::RunAsync() { if (!owner_file_system) return false; - const chromeos::User* const user = + const user_manager::User* const user = chromeos::ProfileHelper::Get()->GetUserByProfile(GetProfile()); if (!user || !user->is_logged_in()) return false; diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc index 41783b3..9fe6e35 100644 --- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc @@ -75,7 +75,7 @@ GetLoggedInProfileInfoList(content::WebContents* contents) { if (original_profiles.count(profile)) continue; original_profiles.insert(profile); - const chromeos::User* const user = + const user_manager::User* const user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); if (!user || !user->is_logged_in()) continue; @@ -108,12 +108,11 @@ GetLoggedInProfileInfoList(content::WebContents* contents) { } // namespace bool FileBrowserPrivateLogoutUserForReauthenticationFunction::RunSync() { - chromeos::User* user = + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(GetProfile()); if (user) { chromeos::UserManager::Get()->SaveUserOAuthStatus( - user->email(), - chromeos::User::OAUTH2_TOKEN_STATUS_INVALID); + user->email(), user_manager::User::OAUTH2_TOKEN_STATUS_INVALID); } chrome::AttemptUserExit(); diff --git a/chrome/browser/chromeos/extensions/first_run_private_api.cc b/chrome/browser/chromeos/extensions/first_run_private_api.cc index 43db16d..144127b 100644 --- a/chrome/browser/chromeos/extensions/first_run_private_api.cc +++ b/chrome/browser/chromeos/extensions/first_run_private_api.cc @@ -6,9 +6,9 @@ #include "base/metrics/histogram.h" #include "chrome/browser/chromeos/first_run/first_run.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/profile_manager.h" +#include "components/user_manager/user.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" @@ -17,7 +17,7 @@ bool FirstRunPrivateGetLocalizedStringsFunction::RunSync() { UMA_HISTOGRAM_COUNTS("CrosFirstRun.DialogShown", 1); base::DictionaryValue* localized_strings = new base::DictionaryValue(); - chromeos::User* user = + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(GetProfile()); if (!user->GetGivenName().empty()) { localized_strings->SetString( diff --git a/chrome/browser/chromeos/extensions/wallpaper_api.cc b/chrome/browser/chromeos/extensions/wallpaper_api.cc index b8327fc7..e8b93f0 100644 --- a/chrome/browser/chromeos/extensions/wallpaper_api.cc +++ b/chrome/browser/chromeos/extensions/wallpaper_api.cc @@ -12,13 +12,13 @@ #include "base/strings/stringprintf.h" #include "base/threading/worker_pool.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/extensions/extension_constants.h" #include "chrome/common/pref_names.h" +#include "components/user_manager/user.h" #include "net/base/load_flags.h" #include "net/http/http_status_code.h" #include "net/url_request/url_fetcher.h" @@ -143,7 +143,7 @@ void WallpaperSetWallpaperFunction::OnWallpaperDecoded( user_id_hash_, params_->details.name, layout, - chromeos::User::CUSTOMIZED, + user_manager::User::CUSTOMIZED, image, update_wallpaper); unsafe_wallpaper_decoder_ = NULL; diff --git a/chrome/browser/chromeos/extensions/wallpaper_private_api.cc b/chrome/browser/chromeos/extensions/wallpaper_private_api.cc index 09e9c7f..8642388 100644 --- a/chrome/browser/chromeos/extensions/wallpaper_private_api.cc +++ b/chrome/browser/chromeos/extensions/wallpaper_private_api.cc @@ -22,12 +22,12 @@ #include "base/strings/stringprintf.h" #include "base/threading/worker_pool.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/pref_names.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" #include "extensions/browser/event_router.h" #include "grit/app_locale_settings.h" @@ -377,12 +377,9 @@ void WallpaperPrivateSetWallpaperIfExistsFunction::OnWallpaperDecoded( user_id_, image, layout, update_wallpaper); bool is_persistent = !chromeos::UserManager::Get()->IsCurrentUserNonCryptohomeDataEphemeral(); - chromeos::WallpaperInfo info = { - params->url, - layout, - chromeos::User::ONLINE, - base::Time::Now().LocalMidnight() - }; + chromeos::WallpaperInfo info = {params->url, layout, + user_manager::User::ONLINE, + base::Time::Now().LocalMidnight()}; wallpaper_manager->SetUserWallpaperInfo(user_id_, info, is_persistent); SetResult(new base::FundamentalValue(true)); Profile* profile = Profile::FromBrowserContext(browser_context()); @@ -491,12 +488,9 @@ void WallpaperPrivateSetWallpaperFunction::SetDecodedWallpaper( bool is_persistent = !chromeos::UserManager::Get()->IsCurrentUserNonCryptohomeDataEphemeral(); - chromeos::WallpaperInfo info = { - params->url, - layout, - chromeos::User::ONLINE, - base::Time::Now().LocalMidnight() - }; + chromeos::WallpaperInfo info = {params->url, layout, + user_manager::User::ONLINE, + base::Time::Now().LocalMidnight()}; Profile* profile = Profile::FromBrowserContext(browser_context()); // This API is only available to the component wallpaper picker. We do not // need to show the app's name if it is the component wallpaper picker. So set @@ -521,12 +515,10 @@ bool WallpaperPrivateResetWallpaperFunction::RunAsync() { std::string user_id = user_manager->GetActiveUser()->email(); wallpaper_manager->RemoveUserWallpaperInfo(user_id); - chromeos::WallpaperInfo info = { - "", - ash::WALLPAPER_LAYOUT_CENTER, - chromeos::User::DEFAULT, - base::Time::Now().LocalMidnight() - }; + chromeos::WallpaperInfo info = {std::string(), + ash::WALLPAPER_LAYOUT_CENTER, + user_manager::User::DEFAULT, + base::Time::Now().LocalMidnight()}; bool is_persistent = !user_manager->IsCurrentUserNonCryptohomeDataEphemeral(); wallpaper_manager->SetUserWallpaperInfo(user_id, info, is_persistent); @@ -584,7 +576,7 @@ void WallpaperPrivateSetCustomWallpaperFunction::OnWallpaperDecoded( user_id_hash_, params->file_name, layout, - chromeos::User::CUSTOMIZED, + user_manager::User::CUSTOMIZED, image, update_wallpaper); unsafe_wallpaper_decoder_ = NULL; @@ -655,7 +647,7 @@ bool WallpaperPrivateSetCustomWallpaperLayoutFunction::RunAsync() { chromeos::WallpaperManager::Get(); chromeos::WallpaperInfo info; wallpaper_manager->GetLoggedInUserWallpaperInfo(&info); - if (info.type != chromeos::User::CUSTOMIZED) { + if (info.type != user_manager::User::CUSTOMIZED) { SetError("Only custom wallpaper can change layout."); SendResponse(false); return false; diff --git a/chrome/browser/chromeos/file_manager/path_util.cc b/chrome/browser/chromeos/file_manager/path_util.cc index 78b1e726..8896bfe 100644 --- a/chrome/browser/chromeos/file_manager/path_util.cc +++ b/chrome/browser/chromeos/file_manager/path_util.cc @@ -8,11 +8,11 @@ #include "base/logging.h" #include "base/sys_info.h" #include "chrome/browser/chromeos/drive/file_system_util.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/download/download_prefs.h" #include "chrome/browser/profiles/profile.h" +#include "components/user_manager/user.h" #include "net/base/escape.h" namespace file_manager { @@ -36,10 +36,10 @@ base::FilePath GetDownloadsFolderForProfile(Profile* profile) { // $HOME/Downloads for ease for accessing local files for debugging. if (!base::SysInfo::IsRunningOnChromeOS() && chromeos::UserManager::IsInitialized()) { - const chromeos::User* const user = + const user_manager::User* const user = chromeos::ProfileHelper::Get()->GetUserByProfile( profile->GetOriginalProfile()); - const chromeos::User* const primary_user = + const user_manager::User* const primary_user = chromeos::UserManager::Get()->GetPrimaryUser(); if (user == primary_user) return DownloadPrefs::GetDefaultDownloadDirectory(); @@ -77,7 +77,7 @@ bool MigratePathFromOldFormat(Profile* profile, // migration when multi-profile flag is enabled and then disabled, or (2) in // some edge cases (crbug.com/356322) that u-<hash> path is temporarily used. if (chromeos::UserManager::IsInitialized()) { - const chromeos::User* const user = + const user_manager::User* const user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); if (user) { const base::FilePath hashed_downloads = @@ -106,7 +106,7 @@ std::string GetDownloadsMountPointName(Profile* profile) { // to "Downloads". Note that some profiles (like login or test profiles) // are not associated with an user account. In that case, no suffix is added // because such a profile never belongs to a multi-profile session. - chromeos::User* const user = + user_manager::User* const user = chromeos::UserManager::IsInitialized() ? chromeos::ProfileHelper::Get()->GetUserByProfile( profile->GetOriginalProfile()) diff --git a/chrome/browser/chromeos/file_system_provider/mount_path_util.cc b/chrome/browser/chromeos/file_system_provider/mount_path_util.cc index 3f20f3a..0456a7e 100644 --- a/chrome/browser/chromeos/file_system_provider/mount_path_util.cc +++ b/chrome/browser/chromeos/file_system_provider/mount_path_util.cc @@ -11,11 +11,11 @@ #include "chrome/browser/browser_process.h" #include "chrome/browser/chromeos/file_system_provider/provided_file_system.h" #include "chrome/browser/chromeos/file_system_provider/service.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" using content::BrowserThread; @@ -50,7 +50,7 @@ std::string EscapeFileSystemId(const std::string& file_system_id) { base::FilePath GetMountPath(Profile* profile, const std::string& extension_id, const std::string& file_system_id) { - chromeos::User* const user = + user_manager::User* const user = chromeos::UserManager::IsInitialized() ? chromeos::ProfileHelper::Get()->GetUserByProfile( profile->GetOriginalProfile()) diff --git a/chrome/browser/chromeos/first_run/first_run.cc b/chrome/browser/chromeos/first_run/first_run.cc index f35d0d1..7ac58d7 100644 --- a/chrome/browser/chromeos/first_run/first_run.cc +++ b/chrome/browser/chromeos/first_run/first_run.cc @@ -61,7 +61,7 @@ class DialogLauncher : public content::NotificationObserver { const content::NotificationSource& source, const content::NotificationDetails& details) OVERRIDE { DCHECK(type == chrome::NOTIFICATION_SESSION_STARTED); - DCHECK(content::Details<const User>(details).ptr() == + DCHECK(content::Details<const user_manager::User>(details).ptr() == ProfileHelper::Get()->GetUserByProfile(profile_)); CommandLine* command_line = CommandLine::ForCurrentProcess(); bool launched_in_test = command_line->HasSwitch(::switches::kTestType); diff --git a/chrome/browser/chromeos/login/app_launch_signin_screen.cc b/chrome/browser/chromeos/login/app_launch_signin_screen.cc index fb8766e..c963d8e 100644 --- a/chrome/browser/chromeos/login/app_launch_signin_screen.cc +++ b/chrome/browser/chromeos/login/app_launch_signin_screen.cc @@ -41,13 +41,13 @@ void AppLaunchSigninScreen::Show() { void AppLaunchSigninScreen::InitOwnerUserList() { UserManager* user_manager = GetUserManager(); const std::string& owner_email = user_manager->GetOwnerEmail(); - const UserList& all_users = user_manager->GetUsers(); + const user_manager::UserList& all_users = user_manager->GetUsers(); owner_user_list_.clear(); - for (UserList::const_iterator it = all_users.begin(); + for (user_manager::UserList::const_iterator it = all_users.begin(); it != all_users.end(); ++it) { - User* user = *it; + user_manager::User* user = *it; if (user->email() == owner_email) { owner_user_list_.push_back(user); break; @@ -141,7 +141,7 @@ void AppLaunchSigninScreen::ShowSigninScreenForCreds( NOTREACHED(); } -const UserList& AppLaunchSigninScreen::GetUsers() const { +const user_manager::UserList& AppLaunchSigninScreen::GetUsers() const { if (test_user_manager_) { return test_user_manager_->GetUsers(); } @@ -189,9 +189,11 @@ void AppLaunchSigninScreen::OnAuthSuccess(const UserContext& user_context) { void AppLaunchSigninScreen::HandleGetUsers() { base::ListValue users_list; - const UserList& users = GetUsers(); + const user_manager::UserList& users = GetUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { ScreenlockBridge::LockHandler::AuthType initial_auth_type = UserSelectionScreen::ShouldForceOnlineSignIn(*it) ? ScreenlockBridge::LockHandler::ONLINE_SIGN_IN diff --git a/chrome/browser/chromeos/login/app_launch_signin_screen.h b/chrome/browser/chromeos/login/app_launch_signin_screen.h index da9c860..2a89f04 100644 --- a/chrome/browser/chromeos/login/app_launch_signin_screen.h +++ b/chrome/browser/chromeos/login/app_launch_signin_screen.h @@ -9,11 +9,11 @@ #include "base/memory/ref_counted.h" #include "chrome/browser/chromeos/login/auth/authenticator.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/signin/screenlock_bridge.h" #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" #include "chromeos/login/auth/auth_status_consumer.h" +#include "components/user_manager/user.h" namespace chromeos { @@ -70,7 +70,7 @@ class AppLaunchSigninScreen : public SigninScreenHandlerDelegate, LoginDisplayWebUIHandler* webui_handler) OVERRIDE; virtual void ShowSigninScreenForCreds(const std::string& username, const std::string& password); - virtual const UserList& GetUsers() const OVERRIDE; + virtual const user_manager::UserList& GetUsers() const OVERRIDE; virtual bool IsShowGuest() const OVERRIDE; virtual bool IsShowUsers() const OVERRIDE; virtual bool IsSigninInProgress() const OVERRIDE; @@ -94,7 +94,7 @@ class AppLaunchSigninScreen : public SigninScreenHandlerDelegate, scoped_refptr<Authenticator> authenticator_; // This list should have at most one user, and that user should be the owner. - UserList owner_user_list_; + user_manager::UserList owner_user_list_; static UserManager* test_user_manager_; diff --git a/chrome/browser/chromeos/login/auth/parallel_authenticator_unittest.cc b/chrome/browser/chromeos/login/auth/parallel_authenticator_unittest.cc index d542e31..3c5f9e8 100644 --- a/chrome/browser/chromeos/login/auth/parallel_authenticator_unittest.cc +++ b/chrome/browser/chromeos/login/auth/parallel_authenticator_unittest.cc @@ -16,7 +16,6 @@ #include "chrome/browser/chromeos/login/auth/mock_url_fetchers.h" #include "chrome/browser/chromeos/login/auth/test_attempt_state.h" #include "chrome/browser/chromeos/login/users/fake_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/ownership/owner_settings_service.h" #include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h" @@ -36,6 +35,7 @@ #include "chromeos/login/auth/key.h" #include "chromeos/login/auth/mock_auth_status_consumer.h" #include "chromeos/login/auth/user_context.h" +#include "components/user_manager/user.h" #include "content/public/test/test_browser_thread_bundle.h" #include "crypto/nss_util.h" #include "crypto/nss_util_internal.h" @@ -124,7 +124,8 @@ class ParallelAuthenticatorTest : public testing::Test { owner_key_util_(new MockOwnerKeyUtil) { user_context_.SetKey(Key("fakepass")); user_context_.SetUserIDHash("me_nowhere_com_hash"); - const User* user = user_manager_->AddUser(user_context_.GetUserID()); + const user_manager::User* user = + user_manager_->AddUser(user_context_.GetUserID()); profile_.set_profile_name(user_context_.GetUserID()); ProfileHelper::Get()->SetUserToProfileMappingForTesting(user, &profile_); diff --git a/chrome/browser/chromeos/login/crash_restore_browsertest.cc b/chrome/browser/chromeos/login/crash_restore_browsertest.cc index e4eb822..a5fa609 100644 --- a/chrome/browser/chromeos/login/crash_restore_browsertest.cc +++ b/chrome/browser/chromeos/login/crash_restore_browsertest.cc @@ -9,7 +9,6 @@ #include "base/memory/ref_counted.h" #include "base/run_loop.h" #include "chrome/browser/chromeos/login/session/user_session_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/test/base/in_process_browser_test.h" #include "chromeos/chromeos_switches.h" @@ -17,6 +16,7 @@ #include "chromeos/dbus/fake_dbus_thread_manager.h" #include "chromeos/dbus/fake_session_manager_client.h" #include "chromeos/dbus/session_manager_client.h" +#include "components/user_manager/user.h" #include "content/public/test/test_utils.h" #include "testing/gmock/include/gmock/gmock.h" #include "third_party/cros_system_api/dbus/service_constants.h" @@ -60,7 +60,7 @@ class CrashRestoreSimpleTest : public InProcessBrowserTest { IN_PROC_BROWSER_TEST_F(CrashRestoreSimpleTest, RestoreSessionForOneUser) { UserManager* user_manager = UserManager::Get(); - User* user = user_manager->GetActiveUser(); + user_manager::User* user = user_manager->GetActiveUser(); ASSERT_TRUE(user); EXPECT_EQ(kUserId1, user->email()); EXPECT_EQ(CryptohomeClient::GetStubSanitizedUsername(kUserId1), @@ -133,12 +133,12 @@ IN_PROC_BROWSER_TEST_F(CrashRestoreComplexTest, RestoreSessionForThreeUsers) { // User that is last in the user sessions map becomes active. This behavior // will become better defined once each user gets a separate user desktop. UserManager* user_manager = UserManager::Get(); - User* user = user_manager->GetActiveUser(); + user_manager::User* user = user_manager->GetActiveUser(); ASSERT_TRUE(user); EXPECT_EQ(kUserId3, user->email()); EXPECT_EQ(CryptohomeClient::GetStubSanitizedUsername(kUserId3), user->username_hash()); - const UserList& users = user_manager->GetLoggedInUsers(); + const user_manager::UserList& users = user_manager->GetLoggedInUsers(); ASSERT_EQ(3UL, users.size()); // User that becomes active moves to the beginning of the list. diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc index 5630d4e..8f0070c 100644 --- a/chrome/browser/chromeos/login/existing_user_controller.cc +++ b/chrome/browser/chromeos/login/existing_user_controller.cc @@ -184,19 +184,22 @@ ExistingUserController::ExistingUserController(LoginDisplayHost* host) base::Unretained(this))); } -void ExistingUserController::Init(const UserList& users) { +void ExistingUserController::Init(const user_manager::UserList& users) { time_init_ = base::Time::Now(); UpdateLoginDisplay(users); ConfigurePublicSessionAutoLogin(); } -void ExistingUserController::UpdateLoginDisplay(const UserList& users) { +void ExistingUserController::UpdateLoginDisplay( + const user_manager::UserList& users) { bool show_users_on_signin; - UserList filtered_users; + user_manager::UserList filtered_users; cros_settings_->GetBoolean(kAccountsPrefShowUserNamesOnSignIn, &show_users_on_signin); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { // TODO(xiyuan): Clean user profile whose email is not in whitelist. bool meets_supervised_requirements = (*it)->GetType() != user_manager::USER_TYPE_SUPERVISED || @@ -287,7 +290,8 @@ void ExistingUserController::Observe( } if (type != chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED) return; - login_display_->OnUserImageChanged(*content::Details<User>(details).ptr()); + login_display_->OnUserImageChanged( + *content::Details<user_manager::User>(details).ptr()); } //////////////////////////////////////////////////////////////////////////////// @@ -572,7 +576,7 @@ void ExistingUserController::LoginAsPublicAccount( // If there is no public account with the given |username|, logging in is not // possible. - const User* user = UserManager::Get()->FindUser(username); + const user_manager::User* user = UserManager::Get()->FindUser(username); if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT) { // Re-enable clicking on other windows. login_display_->SetUIEnabled(true); @@ -993,7 +997,7 @@ void ExistingUserController::ConfigurePublicSessionAutoLogin() { } } - const User* user = + const user_manager::User* user = UserManager::Get()->FindUser(public_session_auto_login_username_); if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT) public_session_auto_login_username_.clear(); @@ -1132,7 +1136,7 @@ void ExistingUserController::ShowError(int error_id, if (error_id == IDS_LOGIN_ERROR_AUTHENTICATING) { if (num_login_attempts_ > 1) { - const User* user = + const user_manager::User* user = UserManager::Get()->FindUser(last_login_attempt_username_); if (user && (user->GetType() == user_manager::USER_TYPE_SUPERVISED)) error_id = IDS_LOGIN_ERROR_AUTHENTICATING_2ND_TIME_SUPERVISED; @@ -1147,8 +1151,7 @@ void ExistingUserController::ShowGaiaPasswordChanged( // Invalidate OAuth token, since it can't be correct after password is // changed. UserManager::Get()->SaveUserOAuthStatus( - username, - User::OAUTH2_TOKEN_STATUS_INVALID); + username, user_manager::User::OAUTH2_TOKEN_STATUS_INVALID); login_display_->SetUIEnabled(true); login_display_->ShowGaiaPasswordChanged(username); diff --git a/chrome/browser/chromeos/login/existing_user_controller.h b/chrome/browser/chromeos/login/existing_user_controller.h index d36764d..ed8cb7e 100644 --- a/chrome/browser/chromeos/login/existing_user_controller.h +++ b/chrome/browser/chromeos/login/existing_user_controller.h @@ -20,9 +20,9 @@ #include "chrome/browser/chromeos/login/auth/login_performer.h" #include "chrome/browser/chromeos/login/login_utils.h" #include "chrome/browser/chromeos/login/ui/login_display.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/settings/cros_settings.h" #include "chrome/browser/chromeos/settings/device_settings_service.h" +#include "components/user_manager/user.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" #include "ui/gfx/rect.h" @@ -60,7 +60,7 @@ class ExistingUserController : public LoginDisplay::Delegate, } // Creates and shows login UI for known users. - void Init(const UserList& users); + void Init(const user_manager::UserList& users); // Tells the controller to enter the Enterprise Enrollment screen when // appropriate. @@ -219,7 +219,7 @@ class ExistingUserController : public LoginDisplay::Delegate, } // Updates the |login_display_| attached to this controller. - void UpdateLoginDisplay(const UserList& users); + void UpdateLoginDisplay(const user_manager::UserList& users); // Sends an accessibility alert event to extension listeners. void SendAccessibilityAlert(const std::string& alert_text); diff --git a/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc b/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc index 5c6b26d..4772ee7 100644 --- a/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc +++ b/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc @@ -21,7 +21,6 @@ #include "chrome/browser/chromeos/login/ui/mock_login_display.h" #include "chrome/browser/chromeos/login/ui/mock_login_display_host.h" #include "chrome/browser/chromeos/login/users/mock_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" @@ -43,6 +42,7 @@ #include "components/policy/core/common/cloud/cloud_policy_store.h" #include "components/policy/core/common/cloud/mock_cloud_policy_store.h" #include "components/policy/core/common/cloud/policy_builder.h" +#include "components/user_manager/user.h" #include "content/public/test/mock_notification_observer.h" #include "content/public/test/test_utils.h" #include "google_apis/gaia/mock_url_fetcher_factory.h" @@ -168,7 +168,7 @@ class ExistingUserControllerTest : public policy::DevicePolicyCrosBrowserTest { existing_user_controller_.reset( new ExistingUserController(mock_login_display_host_.get())); ASSERT_EQ(existing_user_controller(), existing_user_controller_.get()); - existing_user_controller_->Init(UserList()); + existing_user_controller_->Init(user_manager::UserList()); profile_prepared_cb_ = base::Bind(&ExistingUserController::OnProfilePrepared, base::Unretained(existing_user_controller()), diff --git a/chrome/browser/chromeos/login/fake_login_utils.cc b/chrome/browser/chromeos/login/fake_login_utils.cc index cd2f4ee..f450979 100644 --- a/chrome/browser/chromeos/login/fake_login_utils.cc +++ b/chrome/browser/chromeos/login/fake_login_utils.cc @@ -11,7 +11,6 @@ #include "chrome/browser/chromeos/login/ui/login_display_host.h" #include "chrome/browser/chromeos/login/user_flow.h" #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/first_run/first_run.h" @@ -20,6 +19,7 @@ #include "chrome/common/pref_names.h" #include "chrome/test/base/testing_profile.h" #include "chromeos/login/auth/user_context.h" +#include "components/user_manager/user.h" #include "content/public/browser/notification_service.h" #include "testing/gtest/include/gtest/gtest.h" @@ -61,7 +61,8 @@ void FakeLoginUtils::PrepareProfile(const UserContext& user_context, LoginUtils::Delegate* delegate) { UserManager::Get()->UserLoggedIn( user_context.GetUserID(), user_context.GetUserIDHash(), false); - User* user = UserManager::Get()->FindUserAndModify(user_context.GetUserID()); + user_manager::User* user = + UserManager::Get()->FindUserAndModify(user_context.GetUserID()); DCHECK(user); // Make sure that we get the real Profile instead of the login Profile. @@ -71,7 +72,7 @@ void FakeLoginUtils::PrepareProfile(const UserContext& user_context, user_context.GetUserID()); if (UserManager::Get()->IsLoggedInAsSupervisedUser()) { - User* active_user = UserManager::Get()->GetActiveUser(); + user_manager::User* active_user = UserManager::Get()->GetActiveUser(); std::string supervised_user_sync_id = UserManager::Get()->GetSupervisedUserManager()-> GetUserSyncId(active_user->email()); diff --git a/chrome/browser/chromeos/login/lock/screen_locker.cc b/chrome/browser/chromeos/login/lock/screen_locker.cc index 6afa626..5e0471c 100644 --- a/chrome/browser/chromeos/login/lock/screen_locker.cc +++ b/chrome/browser/chromeos/login/lock/screen_locker.cc @@ -129,7 +129,7 @@ ScreenLocker* ScreenLocker::screen_locker_ = NULL; ////////////////////////////////////////////////////////////////////////////// // ScreenLocker, public: -ScreenLocker::ScreenLocker(const UserList& users) +ScreenLocker::ScreenLocker(const user_manager::UserList& users) : users_(users), locked_(false), start_time_(base::Time::Now()), @@ -202,7 +202,8 @@ void ScreenLocker::OnAuthSuccess(const UserContext& user_context) { UMA_HISTOGRAM_TIMES("ScreenLocker.AuthenticationSuccessTime", delta); } - const User* user = UserManager::Get()->FindUser(user_context.GetUserID()); + const user_manager::User* user = + UserManager::Get()->FindUser(user_context.GetUserID()); if (user) { if (!user->is_active()) UserManager::Get()->SwitchActiveUser(user_context.GetUserID()); @@ -250,7 +251,8 @@ void ScreenLocker::Authenticate(const UserContext& user_context) { delegate_->OnAuthenticate(); // Special case: supervised users. Use special authenticator. - if (const User* user = FindUnlockUser(user_context.GetUserID())) { + if (const user_manager::User* user = + FindUnlockUser(user_context.GetUserID())) { if (user->GetType() == user_manager::USER_TYPE_SUPERVISED) { UserContext updated_context = UserManager::Get() ->GetSupervisedUserManager() @@ -278,9 +280,12 @@ void ScreenLocker::Authenticate(const UserContext& user_context) { user_context)); } -const User* ScreenLocker::FindUnlockUser(const std::string& user_id) { - const User* unlock_user = NULL; - for (UserList::const_iterator it = users_.begin(); it != users_.end(); ++it) { +const user_manager::User* ScreenLocker::FindUnlockUser( + const std::string& user_id) { + const user_manager::User* unlock_user = NULL; + for (user_manager::UserList::const_iterator it = users_.begin(); + it != users_.end(); + ++it) { if ((*it)->email() == user_id) { unlock_user = *it; break; @@ -484,7 +489,9 @@ content::WebUI* ScreenLocker::GetAssociatedWebUI() { } bool ScreenLocker::IsUserLoggedIn(const std::string& username) { - for (UserList::const_iterator it = users_.begin(); it != users_.end(); ++it) { + for (user_manager::UserList::const_iterator it = users_.begin(); + it != users_.end(); + ++it) { if ((*it)->email() == username) return true; } diff --git a/chrome/browser/chromeos/login/lock/screen_locker.h b/chrome/browser/chromeos/login/lock/screen_locker.h index 0e29daa..333e2af 100644 --- a/chrome/browser/chromeos/login/lock/screen_locker.h +++ b/chrome/browser/chromeos/login/lock/screen_locker.h @@ -16,9 +16,9 @@ #include "chrome/browser/chromeos/login/help_app_launcher.h" #include "chrome/browser/chromeos/login/lock/screen_locker_delegate.h" #include "chrome/browser/chromeos/login/ui/login_display.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chromeos/login/auth/auth_status_consumer.h" #include "chromeos/login/auth/user_context.h" +#include "components/user_manager/user.h" #include "ui/base/accelerators/accelerator.h" namespace content { @@ -47,7 +47,7 @@ class WebUIScreenLockerTester; // instance of itself which will be deleted when the system is unlocked. class ScreenLocker : public AuthStatusConsumer { public: - explicit ScreenLocker(const UserList& users); + explicit ScreenLocker(const user_manager::UserList& users); // Returns the default instance if it has been created. static ScreenLocker* default_screen_locker() { @@ -90,7 +90,7 @@ class ScreenLocker : public AuthStatusConsumer { ScreenLockerDelegate* delegate() const { return delegate_.get(); } // Returns the users to authenticate. - const UserList& users() const { return users_; } + const user_manager::UserList& users() const { return users_; } // Allow a AuthStatusConsumer to listen for // the same login events that ScreenLocker does. @@ -144,13 +144,13 @@ class ScreenLocker : public AuthStatusConsumer { bool IsUserLoggedIn(const std::string& username); // Looks up user in unlock user list. - const User* FindUnlockUser(const std::string& user_id); + const user_manager::User* FindUnlockUser(const std::string& user_id); // ScreenLockerDelegate instance in use. scoped_ptr<ScreenLockerDelegate> delegate_; // Users that can unlock the device. - UserList users_; + user_manager::UserList users_; // Used to authenticate the user to unlock. scoped_refptr<Authenticator> authenticator_; diff --git a/chrome/browser/chromeos/login/lock/webui_screen_locker.cc b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc index a0b0144..55db8de 100644 --- a/chrome/browser/chromeos/login/lock/webui_screen_locker.cc +++ b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc @@ -17,12 +17,12 @@ #include "chrome/browser/chromeos/login/helper.h" #include "chrome/browser/chromeos/login/lock/screen_locker.h" #include "chrome/browser/chromeos/login/ui/webui_login_display.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" #include "chrome/common/url_constants.h" #include "chromeos/dbus/dbus_thread_manager.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_types.h" @@ -210,7 +210,8 @@ void WebUIScreenLocker::Observe( const content::NotificationDetails& details) { switch (type) { case chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED: { - const User& user = *content::Details<User>(details).ptr(); + const user_manager::User& user = + *content::Details<user_manager::User>(details).ptr(); login_display_->OnUserImageChanged(user); break; } diff --git a/chrome/browser/chromeos/login/login_manager_test.cc b/chrome/browser/chromeos/login/login_manager_test.cc index 89c8fd9..95c9416 100644 --- a/chrome/browser/chromeos/login/login_manager_test.cc +++ b/chrome/browser/chromeos/login/login_manager_test.cc @@ -10,11 +10,11 @@ #include "chrome/browser/chromeos/login/existing_user_controller.h" #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" #include "chrome/browser/chromeos/login/ui/webui_login_view.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chromeos/chromeos_switches.h" #include "chromeos/login/auth/key.h" #include "chromeos/login/auth/user_context.h" +#include "components/user_manager/user.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/web_contents.h" #include "content/public/test/browser_test_utils.h" @@ -67,7 +67,8 @@ void LoginManagerTest::SetExpectedCredentials(const UserContext& user_context) { bool LoginManagerTest::TryToLogin(const UserContext& user_context) { if (!AddUserToSession(user_context)) return false; - if (const User* active_user = UserManager::Get()->GetActiveUser()) + if (const user_manager::User* active_user = + UserManager::Get()->GetActiveUser()) return active_user->email() == user_context.GetUserID(); return false; } @@ -83,9 +84,11 @@ bool LoginManagerTest::AddUserToSession(const UserContext& user_context) { content::WindowedNotificationObserver( chrome::NOTIFICATION_SESSION_STARTED, content::NotificationService::AllSources()).Wait(); - const UserList& logged_users = UserManager::Get()->GetLoggedInUsers(); - for (UserList::const_iterator it = logged_users.begin(); - it != logged_users.end(); ++it) { + const user_manager::UserList& logged_users = + UserManager::Get()->GetLoggedInUsers(); + for (user_manager::UserList::const_iterator it = logged_users.begin(); + it != logged_users.end(); + ++it) { if ((*it)->email() == user_context.GetUserID()) return true; } diff --git a/chrome/browser/chromeos/login/login_utils.cc b/chrome/browser/chromeos/login/login_utils.cc index 199e718..1ae7755 100644 --- a/chrome/browser/chromeos/login/login_utils.cc +++ b/chrome/browser/chromeos/login/login_utils.cc @@ -49,7 +49,6 @@ #include "chrome/browser/chromeos/login/ui/input_events_blocker.h" #include "chrome/browser/chromeos/login/ui/login_display_host.h" #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/chromeos/settings/cros_settings.h" @@ -78,6 +77,7 @@ #include "chromeos/login/auth/user_context.h" #include "chromeos/settings/cros_settings_names.h" #include "components/signin/core/browser/signin_manager.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/notification_service.h" #include "google_apis/gaia/gaia_auth_consumer.h" @@ -309,7 +309,8 @@ void LoginUtilsImpl::DoBrowserLaunch(Profile* profile, if (browser_shutdown::IsTryingToQuit()) return; - User* const user = ProfileHelper::Get()->GetUserByProfile(profile); + user_manager::User* const user = + ProfileHelper::Get()->GetUserByProfile(profile); scoped_ptr<DoBrowserLaunchOnLocaleLoadedData> data( new DoBrowserLaunchOnLocaleLoadedData(this, profile, login_host)); diff --git a/chrome/browser/chromeos/login/saml/saml_browsertest.cc b/chrome/browser/chromeos/login/saml/saml_browsertest.cc index cfdd3f3..a45fba4 100644 --- a/chrome/browser/chromeos/login/saml/saml_browsertest.cc +++ b/chrome/browser/chromeos/login/saml/saml_browsertest.cc @@ -18,7 +18,6 @@ #include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h" #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" #include "chrome/browser/chromeos/login/ui/webui_login_display.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/lifetime/application_lifetime.h" @@ -30,6 +29,7 @@ #include "components/policy/core/common/mock_configuration_policy_provider.h" #include "components/policy/core/common/policy_map.h" #include "components/policy/core/common/policy_types.h" +#include "components/user_manager/user.h" #include "content/public/browser/web_contents.h" #include "content/public/test/browser_test_utils.h" #include "content/public/test/test_utils.h" @@ -528,7 +528,7 @@ IN_PROC_BROWSER_TEST_F(SamlTest, UseAutenticatedUserEmailAddress) { content::WindowedNotificationObserver( chrome::NOTIFICATION_SESSION_STARTED, content::NotificationService::AllSources()).Wait(); - const User* user = UserManager::Get()->GetActiveUser(); + const user_manager::User* user = UserManager::Get()->GetActiveUser(); ASSERT_TRUE(user); EXPECT_EQ(kFirstSAMLUserEmail, user->email()); } @@ -644,10 +644,10 @@ void SAMLPolicyTest::SetUpOnMainThread() { SamlTest::SetUpOnMainThread(); // Pretend that the test users' OAuth tokens are valid. - UserManager::Get()->SaveUserOAuthStatus(kFirstSAMLUserEmail, - User::OAUTH2_TOKEN_STATUS_VALID); - UserManager::Get()->SaveUserOAuthStatus(kNonSAMLUserEmail, - User::OAUTH2_TOKEN_STATUS_VALID); + UserManager::Get()->SaveUserOAuthStatus( + kFirstSAMLUserEmail, user_manager::User::OAUTH2_TOKEN_STATUS_VALID); + UserManager::Get()->SaveUserOAuthStatus( + kNonSAMLUserEmail, user_manager::User::OAUTH2_TOKEN_STATUS_VALID); } void SAMLPolicyTest::SetSAMLOfflineSigninTimeLimitPolicy(int limit) { diff --git a/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.cc b/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.cc index a5042e7..8922981 100644 --- a/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.cc +++ b/chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.cc @@ -13,12 +13,12 @@ #include "base/prefs/pref_service.h" #include "base/time/clock.h" #include "base/time/time.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/pref_names.h" #include "components/pref_registry/pref_registry_syncable.h" +#include "components/user_manager/user.h" namespace chromeos { @@ -43,7 +43,8 @@ void SAMLOfflineSigninLimiter::RegisterProfilePrefs( void SAMLOfflineSigninLimiter::SignedIn(UserContext::AuthFlow auth_flow) { PrefService* prefs = profile_->GetPrefs(); - const User* user = ProfileHelper::Get()->GetUserByProfile(profile_); + const user_manager::User* user = + ProfileHelper::Get()->GetUserByProfile(profile_); if (!user) { NOTREACHED(); return; @@ -140,7 +141,7 @@ void SAMLOfflineSigninLimiter::UpdateLimit() { } void SAMLOfflineSigninLimiter::ForceOnlineLogin() { - User* user = ProfileHelper::Get()->GetUserByProfile(profile_); + user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile_); if (!user) { NOTREACHED(); return; diff --git a/chrome/browser/chromeos/login/screens/user_image_screen.cc b/chrome/browser/chromeos/login/screens/user_image_screen.cc index cc67f0f..8fa186b 100644 --- a/chrome/browser/chromeos/login/screens/user_image_screen.cc +++ b/chrome/browser/chromeos/login/screens/user_image_screen.cc @@ -31,6 +31,7 @@ #include "components/policy/core/common/policy_map.h" #include "components/policy/core/common/policy_namespace.h" #include "components/policy/core/common/policy_service.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_image/default_user_images.h" #include "components/user_manager/user_image/user_image.h" #include "content/public/browser/browser_thread.h" @@ -64,7 +65,7 @@ UserImageScreen::UserImageScreen(ScreenObserver* screen_observer, : WizardScreen(screen_observer), actor_(actor), accept_photo_after_decoding_(false), - selected_image_(User::kInvalidImageIndex), + selected_image_(user_manager::User::USER_IMAGE_INVALID), profile_picture_enabled_(false), profile_picture_data_url_(url::kAboutBlankURL), profile_picture_absent_(false), @@ -165,14 +166,14 @@ void UserImageScreen::OnImageSelected(const std::string& image_type, } if (image_url.empty()) return; - int user_image_index = User::kInvalidImageIndex; + int user_image_index = user_manager::User::USER_IMAGE_INVALID; if (image_type == "default" && user_manager::IsDefaultImageUrl(image_url, &user_image_index)) { selected_image_ = user_image_index; } else if (image_type == "camera") { - selected_image_ = User::kExternalImageIndex; + selected_image_ = user_manager::User::USER_IMAGE_EXTERNAL; } else if (image_type == "profile") { - selected_image_ = User::kProfileImageIndex; + selected_image_ = user_manager::User::USER_IMAGE_PROFILE; } else { NOTREACHED() << "Unexpected image type: " << image_type; } @@ -182,7 +183,7 @@ void UserImageScreen::OnImageAccepted() { UserImageManager* image_manager = GetUserImageManager(); int uma_index = 0; switch (selected_image_) { - case User::kExternalImageIndex: + case user_manager::User::USER_IMAGE_EXTERNAL: // Photo decoding may not have been finished yet. if (user_photo_.isNull()) { accept_photo_after_decoding_ = true; @@ -192,7 +193,7 @@ void UserImageScreen::OnImageAccepted() { user_manager::UserImage::CreateAndEncode(user_photo_)); uma_index = user_manager::kHistogramImageFromCamera; break; - case User::kProfileImageIndex: + case user_manager::User::USER_IMAGE_PROFILE: image_manager->SaveUserImageFromProfileImage(); uma_index = user_manager::kHistogramImageFromProfile; break; @@ -247,7 +248,7 @@ void UserImageScreen::PrepareToShow() { actor_->PrepareToShow(); } -const User* UserImageScreen::GetUser() { +const user_manager::User* UserImageScreen::GetUser() { if (user_id_.empty()) return UserManager::Get()->GetLoggedInUser(); return UserManager::Get()->FindUser(user_id_); diff --git a/chrome/browser/chromeos/login/screens/user_image_screen.h b/chrome/browser/chromeos/login/screens/user_image_screen.h index 1376df3..d8e3259 100644 --- a/chrome/browser/chromeos/login/screens/user_image_screen.h +++ b/chrome/browser/chromeos/login/screens/user_image_screen.h @@ -11,8 +11,8 @@ #include "chrome/browser/chromeos/login/screens/user_image_screen_actor.h" #include "chrome/browser/chromeos/login/screens/wizard_screen.h" #include "chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/image_decoder.h" +#include "components/user_manager/user.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" @@ -93,7 +93,7 @@ class UserImageScreen: public WizardScreen, const base::Value* current); // Returns current user. - const User* GetUser(); + const user_manager::User* GetUser(); // Returns UserImageManager for the current user. UserImageManager* GetUserImageManager(); diff --git a/chrome/browser/chromeos/login/screens/user_selection_screen.cc b/chrome/browser/chromeos/login/screens/user_selection_screen.cc index 8e12c9b..45e3270 100644 --- a/chrome/browser/chromeos/login/screens/user_selection_screen.cc +++ b/chrome/browser/chromeos/login/screens/user_selection_screen.cc @@ -55,7 +55,7 @@ UserSelectionScreen::~UserSelectionScreen() { // static void UserSelectionScreen::FillUserDictionary( - User* user, + user_manager::User* user, bool is_owner, bool is_signin_to_add, ScreenlockBridge::LockHandler::AuthType auth_type, @@ -101,7 +101,8 @@ void UserSelectionScreen::FillUserDictionary( } // static -bool UserSelectionScreen::ShouldForceOnlineSignIn(const User* user) { +bool UserSelectionScreen::ShouldForceOnlineSignIn( + const user_manager::User* user) { // Public sessions are always allowed to log in offline. // Supervised user are allowed to log in offline if their OAuth token status // is unknown or valid. @@ -113,14 +114,15 @@ bool UserSelectionScreen::ShouldForceOnlineSignIn(const User* user) { if (user->is_logged_in()) return false; - const User::OAuthTokenStatus token_status = user->oauth_token_status(); + const user_manager::User::OAuthTokenStatus token_status = + user->oauth_token_status(); const bool is_supervised_user = user->GetType() == user_manager::USER_TYPE_SUPERVISED; const bool is_public_session = user->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT; if (is_supervised_user && - token_status == User::OAUTH_TOKEN_STATUS_UNKNOWN) { + token_status == user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN) { return false; } @@ -128,15 +130,16 @@ bool UserSelectionScreen::ShouldForceOnlineSignIn(const User* user) { return false; return user->force_online_signin() || - (token_status == User::OAUTH2_TOKEN_STATUS_INVALID) || - (token_status == User::OAUTH_TOKEN_STATUS_UNKNOWN); + (token_status == user_manager::User::OAUTH2_TOKEN_STATUS_INVALID) || + (token_status == user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN); } void UserSelectionScreen::SetHandler(LoginDisplayWebUIHandler* handler) { handler_ = handler; } -void UserSelectionScreen::Init(const UserList& users, bool show_guest) { +void UserSelectionScreen::Init(const user_manager::UserList& users, + bool show_guest) { users_ = users; show_guest_ = show_guest; @@ -147,7 +150,8 @@ void UserSelectionScreen::Init(const UserList& users, bool show_guest) { } void UserSelectionScreen::OnBeforeUserRemoved(const std::string& username) { - for (UserList::iterator it = users_.begin(); it != users_.end(); ++it) { + for (user_manager::UserList::iterator it = users_.begin(); it != users_.end(); + ++it) { if ((*it)->email() == username) { users_.erase(it); break; @@ -162,14 +166,14 @@ void UserSelectionScreen::OnUserRemoved(const std::string& username) { handler_->OnUserRemoved(username); } -void UserSelectionScreen::OnUserImageChanged(const User& user) { +void UserSelectionScreen::OnUserImageChanged(const user_manager::User& user) { if (!handler_) return; handler_->OnUserImageChanged(user); // TODO(antrim) : updateUserImage(user.email()) } -const UserList& UserSelectionScreen::GetUsers() const { +const user_manager::UserList& UserSelectionScreen::GetUsers() const { return users_; } @@ -190,17 +194,18 @@ void UserSelectionScreen::OnUserActivity(const ui::Event* event) { } // static -const UserList UserSelectionScreen::PrepareUserListForSending( - const UserList& users, +const user_manager::UserList UserSelectionScreen::PrepareUserListForSending( + const user_manager::UserList& users, std::string owner, bool is_signin_to_add) { - - UserList users_to_send; + user_manager::UserList users_to_send; bool has_owner = owner.size() > 0; size_t max_non_owner_users = has_owner ? kMaxUsers - 1 : kMaxUsers; size_t non_owner_count = 0; - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { const std::string& user_id = (*it)->email(); bool is_owner = (user_id == owner); bool is_public_account = @@ -226,7 +231,7 @@ const UserList UserSelectionScreen::PrepareUserListForSending( void UserSelectionScreen::SendUserList() { base::ListValue users_list; - const UserList& users = GetUsers(); + const user_manager::UserList& users = GetUsers(); // TODO(nkostylev): Move to a separate method in UserManager. // http://crbug.com/230852 @@ -240,13 +245,12 @@ void UserSelectionScreen::SendUserList() { g_browser_process->platform_part()->browser_policy_connector_chromeos(); bool is_enterprise_managed = connector->IsEnterpriseManaged(); - const UserList users_to_send = PrepareUserListForSending(users, - owner, - is_signin_to_add); + const user_manager::UserList users_to_send = + PrepareUserListForSending(users, owner, is_signin_to_add); user_auth_type_map_.clear(); - for (UserList::const_iterator it = users_to_send.begin(); + for (user_manager::UserList::const_iterator it = users_to_send.begin(); it != users_to_send.end(); ++it) { const std::string& user_id = (*it)->email(); diff --git a/chrome/browser/chromeos/login/screens/user_selection_screen.h b/chrome/browser/chromeos/login/screens/user_selection_screen.h index 84244c2..36ddcf7 100644 --- a/chrome/browser/chromeos/login/screens/user_selection_screen.h +++ b/chrome/browser/chromeos/login/screens/user_selection_screen.h @@ -12,8 +12,8 @@ #include "base/compiler_specific.h" #include "base/timer/timer.h" #include "base/values.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/signin/screenlock_bridge.h" +#include "components/user_manager/user.h" #include "ui/wm/core/user_activity_observer.h" namespace chromeos { @@ -26,16 +26,16 @@ class UserSelectionScreen : public wm::UserActivityObserver { UserSelectionScreen(); virtual ~UserSelectionScreen(); - static const UserList PrepareUserListForSending( - const UserList& users, + static const user_manager::UserList PrepareUserListForSending( + const user_manager::UserList& users, std::string owner, bool is_signin_to_add); void SetHandler(LoginDisplayWebUIHandler* handler); - void Init(const UserList& users, bool show_guest); - const UserList& GetUsers() const; - void OnUserImageChanged(const User& user); + void Init(const user_manager::UserList& users, bool show_guest); + const user_manager::UserList& GetUsers() const; + void OnUserImageChanged(const user_manager::User& user); void OnBeforeUserRemoved(const std::string& username); void OnUserRemoved(const std::string& username); @@ -52,20 +52,20 @@ class UserSelectionScreen : public wm::UserActivityObserver { // Fills |user_dict| with information about |user|. static void FillUserDictionary( - User* user, + user_manager::User* user, bool is_owner, bool is_signin_to_add, ScreenlockBridge::LockHandler::AuthType auth_type, base::DictionaryValue* user_dict); // Determines if user auth status requires online sign in. - static bool ShouldForceOnlineSignIn(const User* user); + static bool ShouldForceOnlineSignIn(const user_manager::User* user); private: LoginDisplayWebUIHandler* handler_; // Set of Users that are visible. - UserList users_; + user_manager::UserList users_; // Whether to show guest login. bool show_guest_; diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc index 9fe5a4e..18b77ec 100644 --- a/chrome/browser/chromeos/login/session/user_session_manager.cc +++ b/chrome/browser/chromeos/login/session/user_session_manager.cc @@ -31,7 +31,6 @@ #include "chrome/browser/chromeos/login/signin/oauth2_login_manager.h" #include "chrome/browser/chromeos/login/signin/oauth2_login_manager_factory.h" #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" @@ -57,6 +56,7 @@ #include "chromeos/network/portal_detector/network_portal_detector_strategy.h" #include "components/session_manager/core/session_manager.h" #include "components/signin/core/browser/signin_manager_base.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/notification_service.h" @@ -242,7 +242,8 @@ void UserSessionManager::RestoreAuthenticationSession(Profile* user_profile) { return; } - User* user = ProfileHelper::Get()->GetUserByProfile(user_profile); + user_manager::User* user = + ProfileHelper::Get()->GetUserByProfile(user_profile); DCHECK(user); if (!net::NetworkChangeNotifier::IsOffline()) { pending_signin_restore_sessions_.erase(user->email()); @@ -325,7 +326,7 @@ void UserSessionManager::SetAppModeChromeClientOAuthInfo( bool UserSessionManager::RespectLocalePreference( Profile* profile, - const User* user, + const user_manager::User* user, scoped_ptr<locale_util::SwitchLanguageCallback> callback) const { // TODO(alemate): http://crbug.com/288941 : Respect preferred language list in // the Google user profile. @@ -411,17 +412,18 @@ void UserSessionManager::RemoveSessionStateObserver( void UserSessionManager::OnSessionRestoreStateChanged( Profile* user_profile, OAuth2LoginManager::SessionRestoreState state) { - User::OAuthTokenStatus user_status = User::OAUTH_TOKEN_STATUS_UNKNOWN; + user_manager::User::OAuthTokenStatus user_status = + user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN; OAuth2LoginManager* login_manager = OAuth2LoginManagerFactory::GetInstance()->GetForProfile(user_profile); bool connection_error = false; switch (state) { case OAuth2LoginManager::SESSION_RESTORE_DONE: - user_status = User::OAUTH2_TOKEN_STATUS_VALID; + user_status = user_manager::User::OAUTH2_TOKEN_STATUS_VALID; break; case OAuth2LoginManager::SESSION_RESTORE_FAILED: - user_status = User::OAUTH2_TOKEN_STATUS_INVALID; + user_status = user_manager::User::OAUTH2_TOKEN_STATUS_INVALID; break; case OAuth2LoginManager::SESSION_RESTORE_CONNECTION_FAILED: connection_error = true; @@ -456,7 +458,7 @@ void UserSessionManager::OnNewRefreshTokenAvaiable(Profile* user_profile) { // Mark user auth token status as valid. UserManager::Get()->SaveUserOAuthStatus( UserManager::Get()->GetLoggedInUser()->email(), - User::OAUTH2_TOKEN_STATUS_VALID); + user_manager::User::OAUTH2_TOKEN_STATUS_VALID); VLOG(1) << "Exiting after new refresh token fetched"; @@ -480,8 +482,10 @@ void UserSessionManager::OnConnectionTypeChanged( } // Need to iterate over all users and their OAuth2 session state. - const UserList& users = user_manager->GetLoggedInUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + const user_manager::UserList& users = user_manager->GetLoggedInUsers(); + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { if (!(*it)->is_profile_created()) continue; @@ -599,7 +603,7 @@ void UserSessionManager::InitProfilePreferences(Profile* profile, SetFirstLoginPrefs(profile->GetPrefs()); if (UserManager::Get()->IsLoggedInAsSupervisedUser()) { - User* active_user = UserManager::Get()->GetActiveUser(); + user_manager::User* active_user = UserManager::Get()->GetActiveUser(); std::string supervised_user_sync_id = UserManager::Get()->GetSupervisedUserManager()-> GetUserSyncId(active_user->email()); @@ -700,7 +704,8 @@ void UserSessionManager::FinalizePrepareProfile(Profile* profile) { InitializeCertsForPrimaryUser(profile); // Initialize RLZ only for primary user. - const User* user = ProfileHelper::Get()->GetUserByProfile(profile); + const user_manager::User* user = + ProfileHelper::Get()->GetUserByProfile(profile); if (user_manager->GetPrimaryUser() == user) InitRlz(profile); @@ -810,7 +815,7 @@ void UserSessionManager::InitializeCertsForPrimaryUser(Profile* profile) { // Now that the user profile has been initialized // |GetNSSCertDatabaseForProfile| is safe to be used. UserManager* user_manager = UserManager::Get(); - const User* primary_user = user_manager->GetPrimaryUser(); + const user_manager::User* primary_user = user_manager->GetPrimaryUser(); if (user_manager->IsUserLoggedIn() && primary_user && profile == ProfileHelper::Get()->GetProfileByUser(primary_user) && @@ -863,12 +868,13 @@ void UserSessionManager::RestorePendingUserSessions() { pending_user_sessions_.erase(user_id); // Check that this user is not logged in yet. - UserList logged_in_users = UserManager::Get()->GetLoggedInUsers(); + user_manager::UserList logged_in_users = + UserManager::Get()->GetLoggedInUsers(); bool user_already_logged_in = false; - for (UserList::const_iterator it = logged_in_users.begin(); + for (user_manager::UserList::const_iterator it = logged_in_users.begin(); it != logged_in_users.end(); ++it) { - const User* user = (*it); + const user_manager::User* user = (*it); if (user->email() == user_id) { user_already_logged_in = true; break; diff --git a/chrome/browser/chromeos/login/session/user_session_manager.h b/chrome/browser/chromeos/login/session/user_session_manager.h index b370267..7328b9b 100644 --- a/chrome/browser/chromeos/login/session/user_session_manager.h +++ b/chrome/browser/chromeos/login/session/user_session_manager.h @@ -14,9 +14,9 @@ #include "chrome/browser/chromeos/base/locale_util.h" #include "chrome/browser/chromeos/login/auth/authenticator.h" #include "chrome/browser/chromeos/login/signin/oauth2_login_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chromeos/dbus/session_manager_client.h" #include "chromeos/login/auth/user_context.h" +#include "components/user_manager/user.h" #include "net/base/network_change_notifier.h" class PrefRegistrySimple; @@ -128,7 +128,7 @@ class UserSessionManager // Returns true if callback will be called. bool RespectLocalePreference( Profile* profile, - const User* user, + const user_manager::User* user, scoped_ptr<locale_util::SwitchLanguageCallback> callback) const; void AddSessionStateObserver(UserSessionStateObserver* observer); diff --git a/chrome/browser/chromeos/login/signin/auth_sync_observer.cc b/chrome/browser/chromeos/login/signin/auth_sync_observer.cc index c2ced0b..f780776 100644 --- a/chrome/browser/chromeos/login/signin/auth_sync_observer.cc +++ b/chrome/browser/chromeos/login/signin/auth_sync_observer.cc @@ -48,7 +48,7 @@ void AuthSyncObserver::OnStateChanged() { UserManager::Get()->IsLoggedInAsSupervisedUser()); ProfileSyncService* sync_service = ProfileSyncServiceFactory::GetForProfile(profile_); - User* user = ProfileHelper::Get()->GetUserByProfile(profile_); + user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile_); GoogleServiceAuthError::State state = sync_service->GetAuthError().state(); if (state != GoogleServiceAuthError::NONE && @@ -63,11 +63,12 @@ void AuthSyncObserver::OnStateChanged() { std::string email = user->email(); DCHECK(!email.empty()); // TODO(nkostyelv): Change observer after active user has changed. - User::OAuthTokenStatus old_status = user->oauth_token_status(); - UserManager::Get()->SaveUserOAuthStatus(email, - User::OAUTH2_TOKEN_STATUS_INVALID); + user_manager::User::OAuthTokenStatus old_status = + user->oauth_token_status(); + UserManager::Get()->SaveUserOAuthStatus( + email, user_manager::User::OAUTH2_TOKEN_STATUS_INVALID); if (user->GetType() == user_manager::USER_TYPE_SUPERVISED && - old_status != User::OAUTH2_TOKEN_STATUS_INVALID) { + old_status != user_manager::User::OAUTH2_TOKEN_STATUS_INVALID) { // Attempt to restore token from file. UserManager::Get()->GetSupervisedUserManager()->LoadSupervisedUserToken( profile_, @@ -78,12 +79,12 @@ void AuthSyncObserver::OnStateChanged() { } } else if (state == GoogleServiceAuthError::NONE) { if (user->GetType() == user_manager::USER_TYPE_SUPERVISED && - user->oauth_token_status() == User::OAUTH2_TOKEN_STATUS_INVALID) { + user->oauth_token_status() == + user_manager::User::OAUTH2_TOKEN_STATUS_INVALID) { LOG(ERROR) << "Got an incorrectly invalidated token case, restoring token status."; UserManager::Get()->SaveUserOAuthStatus( - user->email(), - User::OAUTH2_TOKEN_STATUS_VALID); + user->email(), user_manager::User::OAUTH2_TOKEN_STATUS_VALID); content::RecordAction( base::UserMetricsAction("ManagedUsers_Chromeos_Sync_Recovered")); } diff --git a/chrome/browser/chromeos/login/signin/oauth2_browsertest.cc b/chrome/browser/chromeos/login/signin/oauth2_browsertest.cc index 45da4cc..00677ec 100644 --- a/chrome/browser/chromeos/login/signin/oauth2_browsertest.cc +++ b/chrome/browser/chromeos/login/signin/oauth2_browsertest.cc @@ -14,7 +14,6 @@ #include "chrome/browser/chromeos/login/signin/oauth2_login_manager_factory.h" #include "chrome/browser/chromeos/login/signin_specifics.h" #include "chrome/browser/chromeos/login/test/oobe_base_test.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/extensions/extension_test_message_listener.h" @@ -31,6 +30,7 @@ #include "chromeos/login/auth/key.h" #include "chromeos/login/auth/user_context.h" #include "components/signin/core/browser/profile_oauth2_token_service.h" +#include "components/user_manager/user.h" #include "content/public/browser/notification_service.h" #include "content/public/test/browser_test_utils.h" #include "extensions/browser/process_manager.h" @@ -169,7 +169,7 @@ class OAuth2Test : public OobeBaseTest { JsExpect("!!document.querySelector('#pod-row')"); EXPECT_EQ(GetOAuthStatusFromLocalState(kTestAccountId), - User::OAUTH2_TOKEN_STATUS_VALID); + user_manager::User::OAUTH2_TOKEN_STATUS_VALID); EXPECT_TRUE(TryToLogin(kTestAccountId, kTestAccountPassword)); Profile* profile = ProfileManager::GetPrimaryUserProfile(); @@ -183,7 +183,7 @@ class OAuth2Test : public OobeBaseTest { EXPECT_TRUE(token_service->RefreshTokenIsAvailable(kTestAccountId)); EXPECT_EQ(GetOAuthStatusFromLocalState(kTestAccountId), - User::OAUTH2_TOKEN_STATUS_VALID); + user_manager::User::OAUTH2_TOKEN_STATUS_VALID); } bool TryToLogin(const std::string& username, @@ -191,26 +191,27 @@ class OAuth2Test : public OobeBaseTest { if (!AddUserToSession(username, password)) return false; - if (const User* active_user = UserManager::Get()->GetActiveUser()) + if (const user_manager::User* active_user = + UserManager::Get()->GetActiveUser()) return active_user->email() == username; return false; } - User::OAuthTokenStatus GetOAuthStatusFromLocalState( + user_manager::User::OAuthTokenStatus GetOAuthStatusFromLocalState( const std::string& user_id) const { PrefService* local_state = g_browser_process->local_state(); const base::DictionaryValue* prefs_oauth_status = local_state->GetDictionary("OAuthTokenStatus"); - int oauth_token_status = User::OAUTH_TOKEN_STATUS_UNKNOWN; + int oauth_token_status = user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN; if (prefs_oauth_status && prefs_oauth_status->GetIntegerWithoutPathExpansion( user_id, &oauth_token_status)) { - User::OAuthTokenStatus result = - static_cast<User::OAuthTokenStatus>(oauth_token_status); + user_manager::User::OAuthTokenStatus result = + static_cast<user_manager::User::OAuthTokenStatus>(oauth_token_status); return result; } - return User::OAUTH_TOKEN_STATUS_UNKNOWN; + return user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN; } protected: @@ -237,9 +238,11 @@ class OAuth2Test : public OobeBaseTest { content::WindowedNotificationObserver( chrome::NOTIFICATION_SESSION_STARTED, content::NotificationService::AllSources()).Wait(); - const UserList& logged_users = UserManager::Get()->GetLoggedInUsers(); - for (UserList::const_iterator it = logged_users.begin(); - it != logged_users.end(); ++it) { + const user_manager::UserList& logged_users = + UserManager::Get()->GetLoggedInUsers(); + for (user_manager::UserList::const_iterator it = logged_users.begin(); + it != logged_users.end(); + ++it) { if ((*it)->email() == username) return true; } @@ -407,7 +410,7 @@ IN_PROC_BROWSER_TEST_F(OAuth2Test, PRE_PRE_PRE_MergeSession) { EXPECT_TRUE(token_service->RefreshTokenIsAvailable(kTestAccountId)); EXPECT_EQ(GetOAuthStatusFromLocalState(kTestAccountId), - User::OAUTH2_TOKEN_STATUS_VALID); + user_manager::User::OAUTH2_TOKEN_STATUS_VALID); scoped_refptr<CookieReader> cookie_reader(new CookieReader()); cookie_reader->ReadCookies(profile()); @@ -460,7 +463,7 @@ IN_PROC_BROWSER_TEST_F(OAuth2Test, MergeSession) { JsExpect("!!document.querySelector('#pod-row')"); EXPECT_EQ(GetOAuthStatusFromLocalState(kTestAccountId), - User::OAUTH2_TOKEN_STATUS_VALID); + user_manager::User::OAUTH2_TOKEN_STATUS_VALID); EXPECT_TRUE(TryToLogin(kTestAccountId, kTestAccountPassword)); @@ -468,7 +471,7 @@ IN_PROC_BROWSER_TEST_F(OAuth2Test, MergeSession) { WaitForMergeSessionCompletion(OAuth2LoginManager::SESSION_RESTORE_FAILED); EXPECT_EQ(GetOAuthStatusFromLocalState(kTestAccountId), - User::OAUTH2_TOKEN_STATUS_INVALID); + user_manager::User::OAUTH2_TOKEN_STATUS_INVALID); } diff --git a/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc b/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc index 451c0ec..d6f5c92 100644 --- a/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc +++ b/chrome/browser/chromeos/login/signin/oauth2_login_manager.cc @@ -109,8 +109,8 @@ void OAuth2LoginManager::RestoreSessionFromSavedTokens() { // and OnRefreshTokenAvailable is not called. Flagging it here would // cause user to go through Gaia in next login to obtain a new refresh // token. - UserManager::Get()->SaveUserOAuthStatus(primary_account_id, - User::OAUTH_TOKEN_STATUS_UNKNOWN); + UserManager::Get()->SaveUserOAuthStatus( + primary_account_id, user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN); token_service->LoadCredentials(primary_account_id); } @@ -145,8 +145,8 @@ void OAuth2LoginManager::OnRefreshTokenAvailable( // Only restore session cookies for the primary account in the profile. if (GetPrimaryAccountId() == account_id) { // Token is loaded. Undo the flagging before token loading. - UserManager::Get()->SaveUserOAuthStatus(account_id, - User::OAUTH2_TOKEN_STATUS_VALID); + UserManager::Get()->SaveUserOAuthStatus( + account_id, user_manager::User::OAUTH2_TOKEN_STATUS_VALID); VerifySessionCookies(); } } diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc b/chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc index efc47ca..9088804 100644 --- a/chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc +++ b/chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc @@ -13,11 +13,11 @@ #include "base/threading/sequenced_worker_pool.h" #include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h" #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chromeos/cryptohome/signed_secret.pb.h" #include "chromeos/login/auth/key.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" #include "crypto/hmac.h" #include "crypto/random.h" @@ -223,7 +223,8 @@ bool SupervisedUserAuthentication::NeedPasswordChange( void SupervisedUserAuthentication::ScheduleSupervisedPasswordChange( const std::string& supervised_user_id, const base::DictionaryValue* password_data) { - const User* user = UserManager::Get()->FindUser(supervised_user_id); + const user_manager::User* user = + UserManager::Get()->FindUser(supervised_user_id); base::FilePath profile_path = ProfileHelper::GetProfilePathByUserIdHash( user->username_hash()); JSONFileValueSerializer serializer(profile_path.Append(kPasswordUpdateFile)); @@ -280,7 +281,7 @@ void SupervisedUserAuthentication::LoadPasswordUpdateData( const std::string& user_id, const PasswordDataCallback& success_callback, const base::Closure& failure_callback) { - const User* user = UserManager::Get()->FindUser(user_id); + const user_manager::User* user = UserManager::Get()->FindUser(user_id); base::FilePath profile_path = ProfileHelper::GetProfilePathByUserIdHash(user->username_hash()); PostTaskAndReplyWithResult( diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc b/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc index 13765e1..56211fc 100644 --- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc +++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc @@ -18,7 +18,6 @@ #include "chrome/browser/chromeos/login/supervised/supervised_user_authentication.h" #include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h" #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/lifetime/application_lifetime.h" #include "chrome/browser/sync/profile_sync_service.h" @@ -28,6 +27,7 @@ #include "chromeos/dbus/session_manager_client.h" #include "chromeos/login/auth/key.h" #include "chromeos/login/auth/user_context.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/user_metrics.h" #include "crypto/random.h" @@ -368,8 +368,9 @@ void SupervisedUserCreationControllerNew::OnSupervisedUserFilesStored( } // Assume that new token is valid. It will be automatically invalidated if // sync service fails to use it. - UserManager::Get()->SaveUserOAuthStatus(creation_context_->local_user_id, - User::OAUTH2_TOKEN_STATUS_VALID); + UserManager::Get()->SaveUserOAuthStatus( + creation_context_->local_user_id, + user_manager::User::OAUTH2_TOKEN_STATUS_VALID); stage_ = TOKEN_WRITTEN; diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.cc b/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.cc index 8fe3603..85c2a0f 100644 --- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.cc +++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.cc @@ -51,14 +51,14 @@ bool SupervisedUserCreationFlow::ShouldSkipPostLoginScreens() { } void SupervisedUserCreationFlow::HandleOAuthTokenStatusChange( - User::OAuthTokenStatus status) { - if (status == User::OAUTH_TOKEN_STATUS_UNKNOWN) + user_manager::User::OAuthTokenStatus status) { + if (status == user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN) return; - if (status == User::OAUTH2_TOKEN_STATUS_INVALID) { + if (status == user_manager::User::OAUTH2_TOKEN_STATUS_INVALID) { GetScreen(host())->ShowManagerInconsistentStateErrorScreen(); return; } - DCHECK(status == User::OAUTH2_TOKEN_STATUS_VALID); + DCHECK(status == user_manager::User::OAUTH2_TOKEN_STATUS_VALID); // We expect that LaunchExtraSteps is called by this time (local // authentication happens before oauth token validation). token_validated_ = true; diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.h b/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.h index 3509896..5d06382 100644 --- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.h +++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.h @@ -9,7 +9,7 @@ #include "base/compiler_specific.h" #include "base/strings/string16.h" #include "chrome/browser/chromeos/login/user_flow.h" -#include "chrome/browser/chromeos/login/users/user.h" +#include "components/user_manager/user.h" class Profile; @@ -28,8 +28,8 @@ class SupervisedUserCreationFlow : public ExtendedUserFlow { virtual bool HandleLoginFailure(const AuthFailure& failure) OVERRIDE; virtual void HandleLoginSuccess(const UserContext& context) OVERRIDE; virtual bool HandlePasswordChangeDetected() OVERRIDE; - virtual void HandleOAuthTokenStatusChange(User::OAuthTokenStatus status) - OVERRIDE; + virtual void HandleOAuthTokenStatusChange( + user_manager::User::OAuthTokenStatus status) OVERRIDE; virtual void LaunchExtraSteps(Profile* profile) OVERRIDE; private: // Display name for user being created. diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc b/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc index e8d4c24..fb6e18a 100644 --- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc +++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc @@ -27,6 +27,7 @@ #include "chromeos/login/auth/key.h" #include "chromeos/login/auth/user_context.h" #include "chromeos/network/network_state.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_image/user_image.h" #include "content/public/browser/browser_thread.h" #include "grit/generated_resources.h" @@ -207,7 +208,7 @@ void SupervisedUserCreationScreen::CreateSupervisedUser( const std::string& supervised_user_password) { DCHECK(controller_.get()); int image; - if (selected_image_ == User::kExternalImageIndex) + if (selected_image_ == user_manager::User::USER_IMAGE_EXTERNAL) // TODO(dzhioev): crbug/249660 image = SupervisedUserCreationController::kDummyAvatarIndex; else @@ -445,7 +446,7 @@ void SupervisedUserCreationScreen::ApplyPicture() { UserManager* user_manager = UserManager::Get(); UserImageManager* image_manager = user_manager->GetUserImageManager(user_id); switch (selected_image_) { - case User::kExternalImageIndex: + case user_manager::User::USER_IMAGE_EXTERNAL: // Photo decoding may not have been finished yet. if (user_photo_.isNull()) { apply_photo_after_decoding_ = true; @@ -454,7 +455,7 @@ void SupervisedUserCreationScreen::ApplyPicture() { image_manager->SaveUserImage( user_manager::UserImage::CreateAndEncode(user_photo_)); break; - case User::kProfileImageIndex: + case user_manager::User::USER_IMAGE_PROFILE: NOTREACHED() << "Supervised users have no profile pictures"; break; default: @@ -582,12 +583,12 @@ void SupervisedUserCreationScreen::OnImageSelected( const std::string& image_url) { if (image_url.empty()) return; - int user_image_index = User::kInvalidImageIndex; + int user_image_index = user_manager::User::USER_IMAGE_INVALID; if (image_type == "default" && user_manager::IsDefaultImageUrl(image_url, &user_image_index)) { selected_image_ = user_image_index; } else if (image_type == "camera") { - selected_image_ = User::kExternalImageIndex; + selected_image_ = user_manager::User::USER_IMAGE_EXTERNAL; } else { NOTREACHED() << "Unexpected image type: " << image_type; } diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.cc b/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.cc index 0d68aac..43ce73f 100644 --- a/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.cc +++ b/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.cc @@ -55,7 +55,7 @@ bool SupervisedUserLoginFlow::HandlePasswordChangeDetected() { } void SupervisedUserLoginFlow::HandleOAuthTokenStatusChange( - User::OAuthTokenStatus status) { + user_manager::User::OAuthTokenStatus status) { } void SupervisedUserLoginFlow::OnSyncSetupDataLoaded( diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.h b/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.h index 0d7ddff5..ea6969d9 100644 --- a/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.h +++ b/chrome/browser/chromeos/login/supervised/supervised_user_login_flow.h @@ -30,8 +30,8 @@ class SupervisedUserLoginFlow virtual bool HandleLoginFailure(const AuthFailure& failure) OVERRIDE; virtual void HandleLoginSuccess(const UserContext& context) OVERRIDE; virtual bool HandlePasswordChangeDetected() OVERRIDE; - virtual void HandleOAuthTokenStatusChange(User::OAuthTokenStatus status) - OVERRIDE; + virtual void HandleOAuthTokenStatusChange( + user_manager::User::OAuthTokenStatus status) OVERRIDE; virtual void LaunchExtraSteps(Profile* profile) OVERRIDE; // ExtendedAuthenticator::NewAuthStatusConsumer overrides. diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_password_browsertest.cc b/chrome/browser/chromeos/login/supervised/supervised_user_password_browsertest.cc index 670960e..8f2d64c 100644 --- a/chrome/browser/chromeos/login/supervised/supervised_user_password_browsertest.cc +++ b/chrome/browser/chromeos/login/supervised/supervised_user_password_browsertest.cc @@ -78,7 +78,7 @@ IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest, DISABLED_PRE_PasswordChangeFromUserTest) { SigninAsSupervisedUser(true, 0, kTestSupervisedUserDisplayName); - const User* user = UserManager::Get()->GetUsers().at(0); + const user_manager::User* user = UserManager::Get()->GetUsers().at(0); std::string sync_id = UserManager::Get()->GetSupervisedUserManager()->GetUserSyncId( user->email()); @@ -123,7 +123,8 @@ IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest, // update, and performs migration. IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest, DISABLED_PRE_PasswordChangeFromManagerTest) { - const User* supervised_user = UserManager::Get()->GetUsers().at(0); + const user_manager::User* supervised_user = + UserManager::Get()->GetUsers().at(0); SigninAsManager(1); @@ -189,7 +190,7 @@ IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest, DISABLED_PRE_PRE_PasswordChangeUserAndManagerTest) { SigninAsSupervisedUser(true, 0, kTestSupervisedUserDisplayName); - const User* user = UserManager::Get()->GetUsers().at(0); + const user_manager::User* user = UserManager::Get()->GetUsers().at(0); std::string sync_id = UserManager::Get()->GetSupervisedUserManager()->GetUserSyncId( user->email()); @@ -211,7 +212,8 @@ IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest, // performs the migration. IN_PROC_BROWSER_TEST_F(SupervisedUserPasswordTest, DISABLED_PRE_PasswordChangeUserAndManagerTest) { - const User* supervised_user = UserManager::Get()->GetUsers().at(0); + const user_manager::User* supervised_user = + UserManager::Get()->GetUsers().at(0); SigninAsManager(1); diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_test_base.cc b/chrome/browser/chromeos/login/supervised/supervised_user_test_base.cc index b61de97..1b6645f 100644 --- a/chrome/browser/chromeos/login/supervised/supervised_user_test_base.cc +++ b/chrome/browser/chromeos/login/supervised/supervised_user_test_base.cc @@ -304,8 +304,8 @@ void SupervisedUserTestBase::StartFlowLoginAsManager() { login_observer.Wait(); // OAuth token is valid. - UserManager::Get()->SaveUserOAuthStatus(kTestManager, - User::OAUTH2_TOKEN_STATUS_VALID); + UserManager::Get()->SaveUserOAuthStatus( + kTestManager, user_manager::User::OAUTH2_TOKEN_STATUS_VALID); base::RunLoop().RunUntilIdle(); // Check the page have changed. @@ -364,7 +364,8 @@ void SupervisedUserTestBase::SigninAsSupervisedUser( ASSERT_EQ(3UL, UserManager::Get()->GetUsers().size()); // Created supervised user have to be first in a list. - const User* user = UserManager::Get()->GetUsers().at(user_index); + const user_manager::User* user = + UserManager::Get()->GetUsers().at(user_index); ASSERT_EQ(base::UTF8ToUTF16(expected_display_name), user->display_name()); LoginUser(user->email()); if (check_homedir_calls) @@ -383,7 +384,8 @@ void SupervisedUserTestBase::SigninAsManager(int user_index) { ASSERT_EQ(3UL, UserManager::Get()->GetUsers().size()); // Created supervised user have to be first in a list. - const User* user = UserManager::Get()->GetUsers().at(user_index); + const user_manager::User* user = + UserManager::Get()->GetUsers().at(user_index); LoginUser(user->email()); Profile* profile = ProfileHelper::Get()->GetProfileByUser(user); shared_settings_adapter_.reset( @@ -399,7 +401,8 @@ void SupervisedUserTestBase::RemoveSupervisedUser( ASSERT_EQ(original_user_count, UserManager::Get()->GetUsers().size()); // Created supervised user have to be first in a list. - const User* user = UserManager::Get()->GetUsers().at(user_index); + const user_manager::User* user = + UserManager::Get()->GetUsers().at(user_index); ASSERT_EQ(base::UTF8ToUTF16(expected_display_name), user->display_name()); // Open pod menu. diff --git a/chrome/browser/chromeos/login/ui/login_display.h b/chrome/browser/chromeos/login/ui/login_display.h index c16cd17..d8e51e4 100644 --- a/chrome/browser/chromeos/login/ui/login_display.h +++ b/chrome/browser/chromeos/login/ui/login_display.h @@ -13,8 +13,8 @@ #include "chrome/browser/chromeos/login/help_app_launcher.h" #include "chrome/browser/chromeos/login/signin_specifics.h" #include "chrome/browser/chromeos/login/users/remove_user_delegate.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" +#include "components/user_manager/user.h" #include "ui/gfx/image/image.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/rect.h" @@ -104,7 +104,7 @@ class LoginDisplay : public RemoveUserDelegate { // Initializes login UI with the user pods based on list of known users and // guest, new user pods if those are enabled. - virtual void Init(const UserList& users, + virtual void Init(const user_manager::UserList& users, bool show_guest, bool show_users, bool show_new_user) = 0; @@ -115,7 +115,7 @@ class LoginDisplay : public RemoveUserDelegate { // Called when user image has been changed. // |user| contains updated user. - virtual void OnUserImageChanged(const User& user) = 0; + virtual void OnUserImageChanged(const user_manager::User& user) = 0; // Changes enabled state of the UI. virtual void SetUIEnabled(bool is_enabled) = 0; diff --git a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc index 0610d5b..e777358 100644 --- a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc +++ b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc @@ -622,7 +622,8 @@ void LoginDisplayHostImpl::StartSignInScreen( } DVLOG(1) << "Starting sign in screen"; - const chromeos::UserList& users = chromeos::UserManager::Get()->GetUsers(); + const user_manager::UserList& users = + chromeos::UserManager::Get()->GetUsers(); // Fix for users who updated device and thus never passed register screen. // If we already have users, we assume that it is not a second part of diff --git a/chrome/browser/chromeos/login/ui/mock_login_display.cc b/chrome/browser/chromeos/login/ui/mock_login_display.cc index bec3338..30b0ba8 100644 --- a/chrome/browser/chromeos/login/ui/mock_login_display.cc +++ b/chrome/browser/chromeos/login/ui/mock_login_display.cc @@ -5,8 +5,8 @@ #include "chrome/browser/chromeos/login/ui/mock_login_display.h" #include "chrome/browser/chromeos/login/help_app_launcher.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/test/base/ui_test_utils.h" +#include "components/user_manager/user.h" #include "ui/gfx/rect.h" namespace chromeos { diff --git a/chrome/browser/chromeos/login/ui/mock_login_display.h b/chrome/browser/chromeos/login/ui/mock_login_display.h index b9dc231..f14e741 100644 --- a/chrome/browser/chromeos/login/ui/mock_login_display.h +++ b/chrome/browser/chromeos/login/ui/mock_login_display.h @@ -17,9 +17,9 @@ class MockLoginDisplay : public LoginDisplay { ~MockLoginDisplay(); MOCK_METHOD0(ClearAndEnablePassword, void(void)); - MOCK_METHOD4(Init, void(const UserList&, bool, bool, bool)); + MOCK_METHOD4(Init, void(const user_manager::UserList&, bool, bool, bool)); MOCK_METHOD0(OnPreferencesChanged, void(void)); - MOCK_METHOD1(OnUserImageChanged, void(const User&)); + MOCK_METHOD1(OnUserImageChanged, void(const user_manager::User&)); MOCK_METHOD1(SetUIEnabled, void(bool)); MOCK_METHOD3(ShowError, void(int, int, HelpAppLauncher::HelpTopic)); MOCK_METHOD1(ShowErrorScreen, void(LoginDisplay::SigninError)); diff --git a/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc b/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc index b76c90b..b8bd601 100644 --- a/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc +++ b/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc @@ -50,7 +50,7 @@ class UserAddingScreenTest : public LoginManagerTest, virtual void OnUserAddingStarted() OVERRIDE { ++user_adding_started_; } - void SetUserCanLock(User* user, bool can_lock) { + void SetUserCanLock(user_manager::User* user, bool can_lock) { user->set_can_lock(can_lock); } @@ -192,7 +192,7 @@ IN_PROC_BROWSER_TEST_F(UserAddingScreenTest, AddingSeveralUsers) { MultiProfileUserController::kBehaviorUnrestricted); prefs3->SetString(prefs::kMultiProfileUserBehavior, MultiProfileUserController::kBehaviorUnrestricted); - chromeos::UserList unlock_users = user_manager->GetUnlockUsers(); + user_manager::UserList unlock_users = user_manager->GetUnlockUsers(); ASSERT_EQ(1UL, unlock_users.size()); EXPECT_EQ(kTestUsers[0], unlock_users[0]->email()); diff --git a/chrome/browser/chromeos/login/ui/webui_login_display.cc b/chrome/browser/chromeos/login/ui/webui_login_display.cc index 7428df9..9d7c8d7 100644 --- a/chrome/browser/chromeos/login/ui/webui_login_display.cc +++ b/chrome/browser/chromeos/login/ui/webui_login_display.cc @@ -51,7 +51,7 @@ void WebUILoginDisplay::ClearAndEnablePassword() { webui_handler_->ClearAndEnablePassword(); } -void WebUILoginDisplay::Init(const UserList& users, +void WebUILoginDisplay::Init(const user_manager::UserList& users, bool show_guest, bool show_users, bool show_new_user) { @@ -81,7 +81,7 @@ void WebUILoginDisplay::OnUserRemoved(const std::string& username) { user_selection_screen_->OnUserRemoved(username); } -void WebUILoginDisplay::OnUserImageChanged(const User& user) { +void WebUILoginDisplay::OnUserImageChanged(const user_manager::User& user) { user_selection_screen_->OnUserImageChanged(user); } @@ -89,7 +89,7 @@ void WebUILoginDisplay::HandleGetUsers() { user_selection_screen_->HandleGetUsers(); } -const UserList& WebUILoginDisplay::GetUsers() const { +const user_manager::UserList& WebUILoginDisplay::GetUsers() const { return user_selection_screen_->GetUsers(); } diff --git a/chrome/browser/chromeos/login/ui/webui_login_display.h b/chrome/browser/chromeos/login/ui/webui_login_display.h index 9031d56..bdcb0fd 100644 --- a/chrome/browser/chromeos/login/ui/webui_login_display.h +++ b/chrome/browser/chromeos/login/ui/webui_login_display.h @@ -13,9 +13,9 @@ #include "chrome/browser/chromeos/login/screens/user_selection_screen.h" #include "chrome/browser/chromeos/login/signin_specifics.h" #include "chrome/browser/chromeos/login/ui/login_display.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/ui/webui/chromeos/login/native_window_delegate.h" #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" +#include "components/user_manager/user.h" #include "ui/views/widget/widget.h" #include "ui/wm/core/user_activity_observer.h" @@ -31,13 +31,13 @@ class WebUILoginDisplay : public LoginDisplay, // LoginDisplay implementation: virtual void ClearAndEnablePassword() OVERRIDE; - virtual void Init(const UserList& users, + virtual void Init(const user_manager::UserList& users, bool show_guest, bool show_users, bool show_new_user) OVERRIDE; virtual void OnPreferencesChanged() OVERRIDE; virtual void OnBeforeUserRemoved(const std::string& username) OVERRIDE; - virtual void OnUserImageChanged(const User& user) OVERRIDE; + virtual void OnUserImageChanged(const user_manager::User& user) OVERRIDE; virtual void OnUserRemoved(const std::string& username) OVERRIDE; virtual void SetUIEnabled(bool is_enabled) OVERRIDE; virtual void ShowError(int error_msg_id, @@ -76,7 +76,7 @@ class WebUILoginDisplay : public LoginDisplay, LoginDisplayWebUIHandler* webui_handler) OVERRIDE; virtual void ShowSigninScreenForCreds(const std::string& username, const std::string& password); - virtual const UserList& GetUsers() const OVERRIDE; + virtual const user_manager::UserList& GetUsers() const OVERRIDE; virtual bool IsShowGuest() const OVERRIDE; virtual bool IsShowUsers() const OVERRIDE; virtual bool IsUserSigninCompleted() const OVERRIDE; diff --git a/chrome/browser/chromeos/login/user_flow.cc b/chrome/browser/chromeos/login/user_flow.cc index ccc56fd..81fe9908 100644 --- a/chrome/browser/chromeos/login/user_flow.cc +++ b/chrome/browser/chromeos/login/user_flow.cc @@ -51,7 +51,7 @@ bool DefaultUserFlow::HandlePasswordChangeDetected() { } void DefaultUserFlow::HandleOAuthTokenStatusChange( - User::OAuthTokenStatus status) { + user_manager::User::OAuthTokenStatus status) { } void DefaultUserFlow::LaunchExtraSteps(Profile* profile) { diff --git a/chrome/browser/chromeos/login/user_flow.h b/chrome/browser/chromeos/login/user_flow.h index 98e0957..c487e26 100644 --- a/chrome/browser/chromeos/login/user_flow.h +++ b/chrome/browser/chromeos/login/user_flow.h @@ -6,9 +6,9 @@ #define CHROME_BROWSER_CHROMEOS_LOGIN_USER_FLOW_H_ #include "base/compiler_specific.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/profiles/profile.h" #include "chromeos/login/auth/auth_status_consumer.h" +#include "components/user_manager/user.h" namespace chromeos { @@ -29,7 +29,8 @@ class UserFlow { virtual bool HandleLoginFailure(const AuthFailure& failure) = 0; virtual void HandleLoginSuccess(const UserContext& context) = 0; virtual bool HandlePasswordChangeDetected() = 0; - virtual void HandleOAuthTokenStatusChange(User::OAuthTokenStatus status) = 0; + virtual void HandleOAuthTokenStatusChange( + user_manager::User::OAuthTokenStatus status) = 0; virtual void LaunchExtraSteps(Profile* profile) = 0; void set_host(LoginDisplayHost* host) { @@ -56,8 +57,8 @@ class DefaultUserFlow : public UserFlow { virtual bool HandleLoginFailure(const AuthFailure& failure) OVERRIDE; virtual void HandleLoginSuccess(const UserContext& context) OVERRIDE; virtual bool HandlePasswordChangeDetected() OVERRIDE; - virtual void HandleOAuthTokenStatusChange(User::OAuthTokenStatus status) - OVERRIDE; + virtual void HandleOAuthTokenStatusChange( + user_manager::User::OAuthTokenStatus status) OVERRIDE; virtual void LaunchExtraSteps(Profile* profile) OVERRIDE; }; diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_manager.h b/chrome/browser/chromeos/login/users/avatar/user_image_manager.h index e0a745b..d1004e5 100644 --- a/chrome/browser/chromeos/login/users/avatar/user_image_manager.h +++ b/chrome/browser/chromeos/login/users/avatar/user_image_manager.h @@ -7,7 +7,7 @@ #include <string> -#include "chrome/browser/chromeos/login/users/user.h" +#include "components/user_manager/user.h" class PrefRegistrySimple; @@ -66,7 +66,7 @@ class UserImageManager { virtual void DeleteUserImage() = 0; // Starts downloading the profile image for the user. If user's image - // index is |kProfileImageIndex|, newly downloaded image is immediately + // index is |USER_IMAGE_PROFILE|, newly downloaded image is immediately // set as user's current picture. |reason| is an arbitrary string // (used to report UMA histograms with download times). virtual void DownloadProfileImage(const std::string& reason) = 0; diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc b/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc index 5b14926..a7c2ab9 100644 --- a/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc +++ b/chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc @@ -31,7 +31,6 @@ #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h" #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_util.h" #include "chrome/browser/chromeos/login/users/mock_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_util.h" #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" @@ -51,6 +50,7 @@ #include "components/policy/core/common/cloud/cloud_policy_core.h" #include "components/policy/core/common/cloud/cloud_policy_store.h" #include "components/policy/core/common/cloud/policy_builder.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_image/default_user_images.h" #include "components/user_manager/user_image/user_image.h" #include "content/public/browser/notification_service.h" @@ -78,7 +78,7 @@ namespace { const char kTestUser1[] = "test-user@example.com"; const char kTestUser2[] = "test-user2@example.com"; -policy::CloudPolicyStore* GetStoreForUser(const User* user) { +policy::CloudPolicyStore* GetStoreForUser(const user_manager::User* user) { Profile* profile = ProfileHelper::Get()->GetProfileByUser(user); if (!profile) { ADD_FAILURE(); @@ -205,7 +205,8 @@ class UserImageManagerTest : public LoginManagerTest, reinterpret_cast<const char*>(image_data->front()), image_data->size()); EXPECT_EQ(static_cast<int>(image_data->size()), written); - SetOldUserImageInfo(username, User::kExternalImageIndex, image_path); + SetOldUserImageInfo( + username, user_manager::User::USER_IMAGE_EXTERNAL, image_path); } // Returns the image path for user |username| with specified |extension|. @@ -273,7 +274,7 @@ class UserImageManagerTest : public LoginManagerTest, fetcher->delegate()->OnURLFetchComplete(fetcher); run_loop.Run(); - const User* user = UserManager::Get()->GetLoggedInUser(); + const user_manager::User* user = UserManager::Get()->GetLoggedInUser(); ASSERT_TRUE(user); UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>( UserManager::Get()->GetUserImageManager(user->email())); @@ -349,9 +350,10 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_PRE_NonJPEGImageFromFile) { IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) { UserManager::Get()->GetUsers(); // Load users. // Old info preserved. - ExpectOldUserImageInfo(kTestUser1, User::kExternalImageIndex, + ExpectOldUserImageInfo(kTestUser1, + user_manager::User::USER_IMAGE_EXTERNAL, GetUserImagePath(kTestUser1, "png")); - const User* user = UserManager::Get()->FindUser(kTestUser1); + const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); EXPECT_TRUE(user->image_is_stub()); base::RunLoop run_loop; @@ -364,7 +366,8 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) { run_loop.Run(); // Image info is migrated and the image is converted to JPG. - ExpectNewUserImageInfo(kTestUser1, User::kExternalImageIndex, + ExpectNewUserImageInfo(kTestUser1, + user_manager::User::USER_IMAGE_EXTERNAL, GetUserImagePath(kTestUser1, "jpg")); user = UserManager::Get()->GetLoggedInUser(); ASSERT_TRUE(user); @@ -378,10 +381,10 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) { IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { UserManager::Get()->GetUsers(); // Load users. - const User* user = UserManager::Get()->FindUser(kTestUser1); + const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); ASSERT_TRUE(user); // Wait for image load. - if (user->image_index() == User::kInvalidImageIndex) { + if (user->image_index() == user_manager::User::USER_IMAGE_INVALID) { content::WindowedNotificationObserver( chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, content::NotificationService::AllSources()).Wait(); @@ -402,7 +405,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the // chosen user image. IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { - const User* user = UserManager::Get()->FindUser(kTestUser1); + const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); ASSERT_TRUE(user); const gfx::ImageSkia& default_image = @@ -427,7 +430,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { // Verifies that SaveUserImage() correctly sets and persists the chosen user // image. IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { - const User* user = UserManager::Get()->FindUser(kTestUser1); + const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); ASSERT_TRUE(user); SkBitmap custom_image_bitmap; @@ -444,10 +447,10 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { run_loop_->Run(); EXPECT_FALSE(user->HasDefaultImage()); - EXPECT_EQ(User::kExternalImageIndex, user->image_index()); + EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); ExpectNewUserImageInfo(kTestUser1, - User::kExternalImageIndex, + user_manager::User::USER_IMAGE_EXTERNAL, GetUserImagePath(kTestUser1, "jpg")); const scoped_ptr<gfx::ImageSkia> saved_image = @@ -466,7 +469,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen // user image. IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { - const User* user = UserManager::Get()->FindUser(kTestUser1); + const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); ASSERT_TRUE(user); const base::FilePath custom_image_path = @@ -482,10 +485,10 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { run_loop_->Run(); EXPECT_FALSE(user->HasDefaultImage()); - EXPECT_EQ(User::kExternalImageIndex, user->image_index()); + EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); ExpectNewUserImageInfo(kTestUser1, - User::kExternalImageIndex, + user_manager::User::USER_IMAGE_EXTERNAL, GetUserImagePath(kTestUser1, "jpg")); const scoped_ptr<gfx::ImageSkia> saved_image = @@ -506,7 +509,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and // persists the chosen user image. IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) { - const User* user = UserManager::Get()->FindUser(kTestUser1); + const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); ASSERT_TRUE(user); UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); @@ -526,10 +529,10 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) { user_image_manager->DownloadedProfileImage(); EXPECT_FALSE(user->HasDefaultImage()); - EXPECT_EQ(User::kProfileImageIndex, user->image_index()); + EXPECT_EQ(user_manager::User::USER_IMAGE_PROFILE, user->image_index()); EXPECT_TRUE(test::AreImagesEqual(profile_image, user->GetImage())); ExpectNewUserImageInfo(kTestUser1, - User::kProfileImageIndex, + user_manager::User::USER_IMAGE_PROFILE, GetUserImagePath(kTestUser1, "jpg")); const scoped_ptr<gfx::ImageSkia> saved_image = @@ -553,7 +556,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerTest, // clobber the default image chosen in the meantime. IN_PROC_BROWSER_TEST_F(UserImageManagerTest, ProfileImageDownloadDoesNotClobber) { - const User* user = UserManager::Get()->FindUser(kTestUser1); + const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); ASSERT_TRUE(user); const gfx::ImageSkia& default_image = @@ -672,7 +675,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { // after the policy has been cleared, the user is able to choose a different // image. IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, SetAndClear) { - const User* user = UserManager::Get()->FindUser(kTestUser1); + const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); ASSERT_TRUE(user); LoginUser(kTestUser1); @@ -693,10 +696,10 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, SetAndClear) { run_loop_->Run(); EXPECT_FALSE(user->HasDefaultImage()); - EXPECT_EQ(User::kExternalImageIndex, user->image_index()); + EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); ExpectNewUserImageInfo(kTestUser1, - User::kExternalImageIndex, + user_manager::User::USER_IMAGE_EXTERNAL, GetUserImagePath(kTestUser1, "jpg")); scoped_ptr<gfx::ImageSkia> saved_image = @@ -759,7 +762,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { // then set through policy, the policy takes precedence, overriding the // previously chosen image. IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) { - const User* user = UserManager::Get()->FindUser(kTestUser1); + const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); ASSERT_TRUE(user); LoginUser(kTestUser1); @@ -796,10 +799,10 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) { run_loop_->Run(); EXPECT_FALSE(user->HasDefaultImage()); - EXPECT_EQ(User::kExternalImageIndex, user->image_index()); + EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); ExpectNewUserImageInfo(kTestUser1, - User::kExternalImageIndex, + user_manager::User::USER_IMAGE_EXTERNAL, GetUserImagePath(kTestUser1, "jpg")); scoped_ptr<gfx::ImageSkia> saved_image = @@ -821,7 +824,7 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, // chooses a different image, the policy takes precedence, preventing the user // from overriding the previously chosen image. IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { - const User* user = UserManager::Get()->FindUser(kTestUser1); + const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); ASSERT_TRUE(user); LoginUser(kTestUser1); @@ -842,10 +845,10 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { run_loop_->Run(); EXPECT_FALSE(user->HasDefaultImage()); - EXPECT_EQ(User::kExternalImageIndex, user->image_index()); + EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); ExpectNewUserImageInfo(kTestUser1, - User::kExternalImageIndex, + user_manager::User::USER_IMAGE_EXTERNAL, GetUserImagePath(kTestUser1, "jpg")); scoped_ptr<gfx::ImageSkia> saved_image = @@ -864,10 +867,10 @@ IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { user_manager::kFirstDefaultImageIndex); EXPECT_FALSE(user->HasDefaultImage()); - EXPECT_EQ(User::kExternalImageIndex, user->image_index()); + EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); ExpectNewUserImageInfo(kTestUser1, - User::kExternalImageIndex, + user_manager::User::USER_IMAGE_EXTERNAL, GetUserImagePath(kTestUser1, "jpg")); saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc b/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc index 7544099..4683a6c 100644 --- a/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc +++ b/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc @@ -35,7 +35,9 @@ #include "components/user_manager/user_type.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/notification_service.h" +#include "grit/theme_resources.h" #include "policy/policy_constants.h" +#include "ui/base/resource/resource_bundle.h" #include "ui/gfx/image/image_skia.h" namespace chromeos { @@ -145,10 +147,10 @@ void AddProfileImageTimeHistogram(ProfileDownloadResult result, // Converts |image_index| to UMA histogram value. int ImageIndexToHistogramIndex(int image_index) { switch (image_index) { - case User::kExternalImageIndex: + case user_manager::User::USER_IMAGE_EXTERNAL: // TODO(ivankr): Distinguish this from selected from file. return user_manager::kHistogramImageFromCamera; - case User::kProfileImageIndex: + case user_manager::User::USER_IMAGE_PROFILE: return user_manager::kHistogramImageFromProfile; default: return image_index; @@ -305,8 +307,8 @@ void UserImageManagerImpl::Job::LoadImage(base::FilePath image_path, user_manager::UserImage(user_manager::GetDefaultImage(image_index_)); UpdateUser(); NotifyJobDone(); - } else if (image_index_ == User::kExternalImageIndex || - image_index_ == User::kProfileImageIndex) { + } else if (image_index_ == user_manager::User::USER_IMAGE_EXTERNAL || + image_index_ == user_manager::User::USER_IMAGE_PROFILE) { // Load the user image from a file referenced by |image_path|. This happens // asynchronously. The JPEG image loader can be used here because // LoadImage() is called only for users whose user image has previously @@ -345,8 +347,8 @@ void UserImageManagerImpl::Job::SetToImage( DCHECK(!run_); run_ = true; - DCHECK(image_index == User::kExternalImageIndex || - image_index == User::kProfileImageIndex); + DCHECK(image_index == user_manager::User::USER_IMAGE_EXTERNAL || + image_index == user_manager::User::USER_IMAGE_PROFILE); image_index_ = image_index; user_image_ = user_image; @@ -359,7 +361,7 @@ void UserImageManagerImpl::Job::SetToImageData(scoped_ptr<std::string> data) { DCHECK(!run_); run_ = true; - image_index_ = User::kExternalImageIndex; + image_index_ = user_manager::User::USER_IMAGE_EXTERNAL; // This method uses the image_loader_, not the unsafe_image_loader_: // * This is necessary because the method is used to update the user image @@ -408,14 +410,21 @@ void UserImageManagerImpl::Job::OnLoadImageDone( } void UserImageManagerImpl::Job::UpdateUser() { - User* user = parent_->user_manager_->FindUserAndModify(user_id()); + user_manager::User* user = + parent_->user_manager_->FindUserAndModify(user_id()); if (!user) return; - if (!user_image_.image().isNull()) + if (!user_image_.image().isNull()) { user->SetImage(user_image_, image_index_); - else - user->SetStubImage(image_index_, false); + } else { + user->SetStubImage( + user_manager::UserImage( + *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( + IDR_PROFILE_PICTURE_LOADING)), + image_index_, + false); + } user->SetImageURL(image_url_); parent_->OnJobChangedUserImage(); @@ -434,7 +443,7 @@ void UserImageManagerImpl::Job::SaveImageAndUpdateLocalState() { } void UserImageManagerImpl::Job::OnSaveImageDone(bool success) { - if (success || image_index_ == User::kProfileImageIndex) + if (success || image_index_ == user_manager::User::USER_IMAGE_PROFILE) UpdateLocalState(); NotifyJobDone(); } @@ -492,7 +501,7 @@ void UserImageManagerImpl::LoadUserImage() { local_state->GetDictionary(kUserImageProperties); if (!prefs_images && !prefs_images_unsafe) return; - User* user = GetUserAndModify(); + user_manager::User* user = GetUserAndModify(); bool needs_migration = false; // If entries are found in both |prefs_images_unsafe| and |prefs_images|, @@ -521,7 +530,7 @@ void UserImageManagerImpl::LoadUserImage() { return; } - int image_index = User::kInvalidImageIndex; + int image_index = user_manager::User::USER_IMAGE_INVALID; image_properties->GetInteger(kImageIndexNodeName, &image_index); if (image_index >= 0 && image_index < user_manager::kDefaultImagesCount) { user->SetImage( @@ -530,8 +539,8 @@ void UserImageManagerImpl::LoadUserImage() { return; } - if (image_index != User::kExternalImageIndex && - image_index != User::kProfileImageIndex) { + if (image_index != user_manager::User::USER_IMAGE_EXTERNAL && + image_index != user_manager::User::USER_IMAGE_PROFILE) { NOTREACHED(); return; } @@ -543,8 +552,13 @@ void UserImageManagerImpl::LoadUserImage() { image_properties->GetString(kImagePathNodeName, &image_path); user->SetImageURL(image_url); - user->SetStubImage(image_index, true); - DCHECK(!image_path.empty() || image_index == User::kProfileImageIndex); + user->SetStubImage(user_manager::UserImage( + *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( + IDR_PROFILE_PICTURE_LOADING)), + image_index, + true); + DCHECK(!image_path.empty() || + image_index == user_manager::User::USER_IMAGE_PROFILE); if (image_path.empty() || needs_migration) { // Return if either of the following is true: // * The profile image is to be used but has not been downloaded yet. The @@ -559,7 +573,7 @@ void UserImageManagerImpl::LoadUserImage() { void UserImageManagerImpl::UserLoggedIn(bool user_is_new, bool user_is_local) { - const User* user = GetUser(); + const user_manager::User* user = GetUser(); if (user_is_new) { if (!user_is_local) SetInitialUserImage(); @@ -636,14 +650,14 @@ void UserImageManagerImpl::SaveUserImage( if (IsUserImageManaged()) return; job_.reset(new Job(this)); - job_->SetToImage(User::kExternalImageIndex, user_image); + job_->SetToImage(user_manager::User::USER_IMAGE_EXTERNAL, user_image); } void UserImageManagerImpl::SaveUserImageFromFile(const base::FilePath& path) { if (IsUserImageManaged()) return; job_.reset(new Job(this)); - job_->SetToPath(path, User::kExternalImageIndex, GURL(), true); + job_->SetToPath(path, user_manager::User::USER_IMAGE_EXTERNAL, GURL(), true); } void UserImageManagerImpl::SaveUserImageFromProfileImage() { @@ -652,7 +666,7 @@ void UserImageManagerImpl::SaveUserImageFromProfileImage() { // Use the profile image if it has been downloaded already. Otherwise, use a // stub image (gray avatar). job_.reset(new Job(this)); - job_->SetToImage(User::kProfileImageIndex, + job_->SetToImage(user_manager::User::USER_IMAGE_PROFILE, downloaded_profile_image_.isNull() ? user_manager::UserImage() : user_manager::UserImage::CreateAndEncode( @@ -695,7 +709,7 @@ void UserImageManagerImpl::OnExternalDataSet(const std::string& policy) { has_managed_image_ = true; job_.reset(); - const User* user = GetUser(); + const user_manager::User* user = GetUser(); // If the user image for the currently logged-in user became managed, stop the // sync observer so that the policy-set image does not get synced out. if (user && user->is_logged_in()) @@ -800,8 +814,8 @@ void UserImageManagerImpl::OnProfileDownloadSuccess( downloader->GetProfilePicture()); profile_image_url_ = GURL(downloader->GetProfilePictureURL()); - const User* user = GetUser(); - if (user->image_index() == User::kProfileImageIndex) { + const user_manager::User* user = GetUser(); + if (user->image_index() == user_manager::User::USER_IMAGE_PROFILE) { VLOG(1) << "Updating profile image for logged-in user."; UMA_HISTOGRAM_ENUMERATION("UserImage.ProfileDownloadResult", kDownloadSuccessChanged, @@ -861,10 +875,9 @@ void UserImageManagerImpl::SetInitialUserImage() { } void UserImageManagerImpl::TryToInitDownloadedProfileImage() { - const User* user = GetUser(); - if (user->image_index() == User::kProfileImageIndex && - downloaded_profile_image_.isNull() && - !user->image_is_stub()) { + const user_manager::User* user = GetUser(); + if (user->image_index() == user_manager::User::USER_IMAGE_PROFILE && + downloaded_profile_image_.isNull() && !user->image_is_stub()) { // Initialize the |downloaded_profile_image_| for the currently logged-in // user if it has not been initialized already, the user image is the // profile image and the user image has been loaded successfully. @@ -875,10 +888,10 @@ void UserImageManagerImpl::TryToInitDownloadedProfileImage() { } bool UserImageManagerImpl::NeedProfileImage() const { - const User* user = GetUser(); + const user_manager::User* user = GetUser(); return IsUserLoggedInAndRegular() && - (user->image_index() == User::kProfileImageIndex || - profile_image_requested_); + (user->image_index() == user_manager::User::USER_IMAGE_PROFILE || + profile_image_requested_); } void UserImageManagerImpl::DownloadProfileData(const std::string& reason) { @@ -929,7 +942,7 @@ void UserImageManagerImpl::OnJobChangedUserImage() { content::NotificationService::current()->Notify( chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, content::Source<UserImageManagerImpl>(this), - content::Details<const User>(GetUser())); + content::Details<const user_manager::User>(GetUser())); } void UserImageManagerImpl::OnJobDone() { @@ -952,7 +965,7 @@ void UserImageManagerImpl::OnJobDone() { return; } - int image_index = User::kInvalidImageIndex; + int image_index = user_manager::User::USER_IMAGE_INVALID; image_properties->GetInteger(kImageIndexNodeName, &image_index); UMA_HISTOGRAM_ENUMERATION("UserImage.Migration", ImageIndexToHistogramIndex(image_index), @@ -986,7 +999,7 @@ void UserImageManagerImpl::UpdateLocalStateAfterMigration() { } void UserImageManagerImpl::TryToCreateImageSyncObserver() { - const User* user = GetUser(); + const user_manager::User* user = GetUser(); // If the currently logged-in user's user image is managed, the sync observer // must not be started so that the policy-set image does not get synced out. if (!user_image_sync_observer_ && @@ -996,16 +1009,16 @@ void UserImageManagerImpl::TryToCreateImageSyncObserver() { } } -const User* UserImageManagerImpl::GetUser() const { +const user_manager::User* UserImageManagerImpl::GetUser() const { return user_manager_->FindUser(user_id()); } -User* UserImageManagerImpl::GetUserAndModify() const { +user_manager::User* UserImageManagerImpl::GetUserAndModify() const { return user_manager_->FindUserAndModify(user_id()); } bool UserImageManagerImpl::IsUserLoggedInAndRegular() const { - const User* user = GetUser(); + const user_manager::User* user = GetUser(); if (!user) return false; return user->is_logged_in() && diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h b/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h index b35aa05..1f4b8b0 100644 --- a/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h +++ b/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h @@ -19,8 +19,8 @@ #include "base/values.h" #include "chrome/browser/chromeos/login/users/avatar/user_image_loader.h" #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/profiles/profile_downloader_delegate.h" +#include "components/user_manager/user.h" #include "ui/gfx/image/image_skia.h" class ProfileDownloader; @@ -144,10 +144,10 @@ class UserImageManagerImpl void TryToCreateImageSyncObserver(); // Returns immutable version of user with |user_id_|. - const User* GetUser() const; + const user_manager::User* GetUser() const; // Returns mutable version of user with |user_id_|. - User* GetUserAndModify() const; + user_manager::User* GetUserAndModify() const; // Returns true if user with |user_id_| is logged in and a regular user. bool IsUserLoggedInAndRegular() const; diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.cc b/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.cc index 846a08d..4a3e0ff 100644 --- a/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.cc +++ b/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.cc @@ -11,13 +11,13 @@ #include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chromeos/login/screens/user_image_screen.h" #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/prefs/pref_service_syncable.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/common/pref_names.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_image/default_user_images.h" #include "content/public/browser/notification_registrar.h" #include "content/public/browser/notification_service.h" @@ -33,7 +33,7 @@ const char kImageIndex[] = "image_index"; bool IsIndexSupported(int index) { return (index >= user_manager::kFirstDefaultImageIndex && index < user_manager::kDefaultImagesCount) || - (index == User::kProfileImageIndex); + (index == user_manager::User::USER_IMAGE_PROFILE); } Profile* GetUserProfile() { @@ -49,7 +49,7 @@ Profile* GetUserProfile() { UserImageSyncObserver::Observer::~Observer() {} -UserImageSyncObserver::UserImageSyncObserver(const User* user) +UserImageSyncObserver::UserImageSyncObserver(const user_manager::User* user) : user_(user), prefs_(NULL), is_synced_(false), @@ -164,7 +164,7 @@ void UserImageSyncObserver::OnIsSyncingChanged() { void UserImageSyncObserver::UpdateSyncedImageFromLocal() { int local_index = user_->image_index(); if (!IsIndexSupported(local_index)) { - local_index = User::kInvalidImageIndex; + local_index = user_manager::User::USER_IMAGE_INVALID; } int synced_index; if (GetSyncedImageIndex(&synced_index) && (synced_index == local_index)) @@ -183,7 +183,7 @@ void UserImageSyncObserver::UpdateLocalImageFromSynced() { return; UserImageManager* image_manager = UserManager::Get()->GetUserImageManager(user_->email()); - if (synced_index == User::kProfileImageIndex) { + if (synced_index == user_manager::User::USER_IMAGE_PROFILE) { image_manager->SaveUserImageFromProfileImage(); } else { image_manager->SaveUserDefaultImageIndex(synced_index); @@ -192,7 +192,7 @@ void UserImageSyncObserver::UpdateLocalImageFromSynced() { } bool UserImageSyncObserver::GetSyncedImageIndex(int* index) { - *index = User::kInvalidImageIndex; + *index = user_manager::User::USER_IMAGE_INVALID; const base::DictionaryValue* dict = prefs_->GetDictionary(kUserImageInfo); return dict && dict->GetInteger(kImageIndex, index); } diff --git a/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h b/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h index aedebdc..503338b 100644 --- a/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h +++ b/chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h @@ -43,7 +43,7 @@ class UserImageSyncObserver: public PrefServiceSyncableObserver, }; public: - explicit UserImageSyncObserver(const User* user); + explicit UserImageSyncObserver(const user_manager::User* user); virtual ~UserImageSyncObserver(); // Register syncable preference for profile. @@ -88,7 +88,7 @@ class UserImageSyncObserver: public PrefServiceSyncableObserver, // If it is allowed to change user image now. bool CanUpdateLocalImageNow(); - const User* user_; + const user_manager::User* user_; scoped_ptr<PrefChangeRegistrar> pref_change_registrar_; scoped_ptr<content::NotificationRegistrar> notification_registrar_; PrefServiceSyncable* prefs_; diff --git a/chrome/browser/chromeos/login/users/fake_supervised_user_manager.cc b/chrome/browser/chromeos/login/users/fake_supervised_user_manager.cc index e83ab5a..a70f31b 100644 --- a/chrome/browser/chromeos/login/users/fake_supervised_user_manager.cc +++ b/chrome/browser/chromeos/login/users/fake_supervised_user_manager.cc @@ -18,7 +18,7 @@ bool FakeSupervisedUserManager::HasSupervisedUsers( return false; } -const User* FakeSupervisedUserManager::CreateUserRecord( +const user_manager::User* FakeSupervisedUserManager::CreateUserRecord( const std::string& manager_id, const std::string& local_user_id, const std::string& sync_user_id, @@ -30,12 +30,12 @@ std::string FakeSupervisedUserManager::GenerateUserId() { return std::string(); } -const User* FakeSupervisedUserManager::FindByDisplayName( +const user_manager::User* FakeSupervisedUserManager::FindByDisplayName( const base::string16& display_name) const { return NULL; } -const User* FakeSupervisedUserManager::FindBySyncId( +const user_manager::User* FakeSupervisedUserManager::FindBySyncId( const std::string& sync_id) const { return NULL; } diff --git a/chrome/browser/chromeos/login/users/fake_supervised_user_manager.h b/chrome/browser/chromeos/login/users/fake_supervised_user_manager.h index d1b7a88..e913ad5 100644 --- a/chrome/browser/chromeos/login/users/fake_supervised_user_manager.h +++ b/chrome/browser/chromeos/login/users/fake_supervised_user_manager.h @@ -18,15 +18,16 @@ class FakeSupervisedUserManager : public SupervisedUserManager { virtual ~FakeSupervisedUserManager(); virtual bool HasSupervisedUsers(const std::string& manager_id) const OVERRIDE; - virtual const User* CreateUserRecord( + virtual const user_manager::User* CreateUserRecord( const std::string& manager_id, const std::string& local_user_id, const std::string& sync_user_id, const base::string16& display_name) OVERRIDE; virtual std::string GenerateUserId() OVERRIDE; - virtual const User* FindByDisplayName(const base::string16& display_name) - const OVERRIDE; - virtual const User* FindBySyncId(const std::string& sync_id) const OVERRIDE; + virtual const user_manager::User* FindByDisplayName( + const base::string16& display_name) const OVERRIDE; + virtual const user_manager::User* FindBySyncId( + const std::string& sync_id) const OVERRIDE; virtual std::string GetUserSyncId(const std::string& user_id) const OVERRIDE; virtual base::string16 GetManagerDisplayName(const std::string& user_id) const OVERRIDE; diff --git a/chrome/browser/chromeos/login/users/fake_user_manager.cc b/chrome/browser/chromeos/login/users/fake_user_manager.cc index 53498f0..56326a6 100644 --- a/chrome/browser/chromeos/login/users/fake_user_manager.cc +++ b/chrome/browser/chromeos/login/users/fake_user_manager.cc @@ -6,7 +6,10 @@ #include "chrome/browser/chromeos/login/users/fake_supervised_user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" +#include "components/user_manager/user_image/user_image.h" #include "components/user_manager/user_type.h" +#include "grit/theme_resources.h" +#include "ui/base/resource/resource_bundle.h" namespace { @@ -28,39 +31,50 @@ FakeUserManager::~FakeUserManager() { ProfileHelper::SetProfileToUserForTestingEnabled(false); // Can't use STLDeleteElements because of the private destructor of User. - for (UserList::iterator it = user_list_.begin(); it != user_list_.end(); + for (user_manager::UserList::iterator it = user_list_.begin(); + it != user_list_.end(); it = user_list_.erase(it)) { delete *it; } } -const User* FakeUserManager::AddUser(const std::string& email) { - User* user = User::CreateRegularUser(email); +const user_manager::User* FakeUserManager::AddUser(const std::string& email) { + user_manager::User* user = user_manager::User::CreateRegularUser(email); user->set_username_hash(email + kUserIdHashSuffix); - user->SetStubImage(User::kProfileImageIndex, false); + user->SetStubImage(user_manager::UserImage( + *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( + IDR_PROFILE_PICTURE_LOADING)), + user_manager::User::USER_IMAGE_PROFILE, + false); user_list_.push_back(user); ProfileHelper::Get()->SetProfileToUserMappingForTesting(user); return user; } -const User* FakeUserManager::AddPublicAccountUser(const std::string& email) { - User* user = User::CreatePublicAccountUser(email); +const user_manager::User* FakeUserManager::AddPublicAccountUser( + const std::string& email) { + user_manager::User* user = user_manager::User::CreatePublicAccountUser(email); user->set_username_hash(email + kUserIdHashSuffix); - user->SetStubImage(User::kProfileImageIndex, false); + user->SetStubImage(user_manager::UserImage( + *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( + IDR_PROFILE_PICTURE_LOADING)), + user_manager::User::USER_IMAGE_PROFILE, + false); user_list_.push_back(user); ProfileHelper::Get()->SetProfileToUserMappingForTesting(user); return user; } void FakeUserManager::AddKioskAppUser(const std::string& kiosk_app_username) { - User* user = User::CreateKioskAppUser(kiosk_app_username); + user_manager::User* user = + user_manager::User::CreateKioskAppUser(kiosk_app_username); user->set_username_hash(kiosk_app_username + kUserIdHashSuffix); user_list_.push_back(user); ProfileHelper::Get()->SetProfileToUserMappingForTesting(user); } void FakeUserManager::RemoveUserFromList(const std::string& email) { - UserList::iterator it = user_list_.begin(); + user_manager::UserList::iterator it = user_list_.begin(); while (it != user_list_.end() && (*it)->email() != email) ++it; if (it != user_list_.end()) { delete *it; @@ -72,13 +86,14 @@ void FakeUserManager::LoginUser(const std::string& email) { UserLoggedIn(email, email + kUserIdHashSuffix, false); } -const UserList& FakeUserManager::GetUsers() const { +const user_manager::UserList& FakeUserManager::GetUsers() const { return user_list_; } -UserList FakeUserManager::GetUsersAdmittedForMultiProfile() const { - UserList result; - for (UserList::const_iterator it = user_list_.begin(); +user_manager::UserList FakeUserManager::GetUsersAdmittedForMultiProfile() + const { + user_manager::UserList result; + for (user_manager::UserList::const_iterator it = user_list_.begin(); it != user_list_.end(); ++it) { if ((*it)->GetType() == user_manager::USER_TYPE_REGULAR && @@ -88,14 +103,14 @@ UserList FakeUserManager::GetUsersAdmittedForMultiProfile() const { return result; } -const UserList& FakeUserManager::GetLoggedInUsers() const { +const user_manager::UserList& FakeUserManager::GetLoggedInUsers() const { return logged_in_users_; } void FakeUserManager::UserLoggedIn(const std::string& email, const std::string& username_hash, bool browser_restart) { - for (UserList::const_iterator it = user_list_.begin(); + for (user_manager::UserList::const_iterator it = user_list_.begin(); it != user_list_.end(); ++it) { if ((*it)->username_hash() == username_hash) { @@ -109,11 +124,12 @@ void FakeUserManager::UserLoggedIn(const std::string& email, } } -User* FakeUserManager::GetActiveUserInternal() const { +user_manager::User* FakeUserManager::GetActiveUserInternal() const { if (user_list_.size()) { if (!active_user_id_.empty()) { - for (UserList::const_iterator it = user_list_.begin(); - it != user_list_.end(); ++it) { + for (user_manager::UserList::const_iterator it = user_list_.begin(); + it != user_list_.end(); + ++it) { if ((*it)->email() == active_user_id_) return *it; } @@ -123,11 +139,11 @@ User* FakeUserManager::GetActiveUserInternal() const { return NULL; } -const User* FakeUserManager::GetActiveUser() const { +const user_manager::User* FakeUserManager::GetActiveUser() const { return GetActiveUserInternal(); } -User* FakeUserManager::GetActiveUser() { +user_manager::User* FakeUserManager::GetActiveUser() { return GetActiveUserInternal(); } @@ -138,8 +154,9 @@ void FakeUserManager::SwitchActiveUser(const std::string& email) { void FakeUserManager::SaveUserDisplayName( const std::string& username, const base::string16& display_name) { - for (UserList::iterator it = user_list_.begin(); - it != user_list_.end(); ++it) { + for (user_manager::UserList::iterator it = user_list_.begin(); + it != user_list_.end(); + ++it) { if ((*it)->email() == username) { (*it)->set_display_name(display_name); return; @@ -160,11 +177,11 @@ UserImageManager* FakeUserManager::GetUserImageManager( return NULL; } -const UserList& FakeUserManager::GetLRULoggedInUsers() { +const user_manager::UserList& FakeUserManager::GetLRULoggedInUsers() { return user_list_; } -UserList FakeUserManager::GetUnlockUsers() const { +user_manager::UserList FakeUserManager::GetUnlockUsers() const { return user_list_; } @@ -176,28 +193,32 @@ bool FakeUserManager::IsKnownUser(const std::string& email) const { return true; } -const User* FakeUserManager::FindUser(const std::string& email) const { - const UserList& users = GetUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { +const user_manager::User* FakeUserManager::FindUser( + const std::string& email) const { + const user_manager::UserList& users = GetUsers(); + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { if ((*it)->email() == email) return *it; } return NULL; } -User* FakeUserManager::FindUserAndModify(const std::string& email) { +user_manager::User* FakeUserManager::FindUserAndModify( + const std::string& email) { return NULL; } -const User* FakeUserManager::GetLoggedInUser() const { +const user_manager::User* FakeUserManager::GetLoggedInUser() const { return NULL; } -User* FakeUserManager::GetLoggedInUser() { +user_manager::User* FakeUserManager::GetLoggedInUser() { return NULL; } -const User* FakeUserManager::GetPrimaryUser() const { +const user_manager::User* FakeUserManager::GetPrimaryUser() const { return primary_user_; } @@ -252,7 +273,7 @@ bool FakeUserManager::IsLoggedInAsSupervisedUser() const { } bool FakeUserManager::IsLoggedInAsKioskApp() const { - const User* active_user = GetActiveUser(); + const user_manager::User* active_user = GetActiveUser(); return active_user ? active_user->GetType() == user_manager::USER_TYPE_KIOSK_APP : false; diff --git a/chrome/browser/chromeos/login/users/fake_user_manager.h b/chrome/browser/chromeos/login/users/fake_user_manager.h index e145977..f216c38 100644 --- a/chrome/browser/chromeos/login/users/fake_user_manager.h +++ b/chrome/browser/chromeos/login/users/fake_user_manager.h @@ -10,8 +10,8 @@ #include "base/memory/scoped_ptr.h" #include "chrome/browser/chromeos/login/user_flow.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_image/user_image.h" namespace chromeos { @@ -26,29 +26,30 @@ class FakeUserManager : public UserManager { virtual ~FakeUserManager(); // Create and add a new user. - const User* AddUser(const std::string& email); + const user_manager::User* AddUser(const std::string& email); // Create and add a kiosk app user. void AddKioskAppUser(const std::string& kiosk_app_username); // Create and add a public account user. - const User* AddPublicAccountUser(const std::string& email); + const user_manager::User* AddPublicAccountUser(const std::string& email); // Calculates the user name hash and calls UserLoggedIn to login a user. void LoginUser(const std::string& email); // UserManager overrides. - virtual const UserList& GetUsers() const OVERRIDE; - virtual UserList GetUsersAdmittedForMultiProfile() const OVERRIDE; - virtual const UserList& GetLoggedInUsers() const OVERRIDE; + virtual const user_manager::UserList& GetUsers() const OVERRIDE; + virtual user_manager::UserList GetUsersAdmittedForMultiProfile() + const OVERRIDE; + virtual const user_manager::UserList& GetLoggedInUsers() const OVERRIDE; // Set the user as logged in. virtual void UserLoggedIn(const std::string& email, const std::string& username_hash, bool browser_restart) OVERRIDE; - virtual const User* GetActiveUser() const OVERRIDE; - virtual User* GetActiveUser() OVERRIDE; + virtual const user_manager::User* GetActiveUser() const OVERRIDE; + virtual user_manager::User* GetActiveUser() OVERRIDE; virtual void SwitchActiveUser(const std::string& email) OVERRIDE; virtual void SaveUserDisplayName(const std::string& username, const base::string16& display_name) OVERRIDE; @@ -62,22 +63,24 @@ class FakeUserManager : public UserManager { virtual UserImageManager* GetUserImageManager( const std::string& user_id) OVERRIDE; virtual SupervisedUserManager* GetSupervisedUserManager() OVERRIDE; - virtual const UserList& GetLRULoggedInUsers() OVERRIDE; - virtual UserList GetUnlockUsers() const OVERRIDE; + virtual const user_manager::UserList& GetLRULoggedInUsers() OVERRIDE; + virtual user_manager::UserList GetUnlockUsers() const OVERRIDE; virtual const std::string& GetOwnerEmail() OVERRIDE; virtual void SessionStarted() OVERRIDE {} virtual void RemoveUser(const std::string& email, RemoveUserDelegate* delegate) OVERRIDE {} virtual void RemoveUserFromList(const std::string& email) OVERRIDE; virtual bool IsKnownUser(const std::string& email) const OVERRIDE; - virtual const User* FindUser(const std::string& email) const OVERRIDE; - virtual User* FindUserAndModify(const std::string& email) OVERRIDE; - virtual const User* GetLoggedInUser() const OVERRIDE; - virtual User* GetLoggedInUser() OVERRIDE; - virtual const User* GetPrimaryUser() const OVERRIDE; + virtual const user_manager::User* FindUser( + const std::string& email) const OVERRIDE; + virtual user_manager::User* FindUserAndModify( + const std::string& email) OVERRIDE; + virtual const user_manager::User* GetLoggedInUser() const OVERRIDE; + virtual user_manager::User* GetLoggedInUser() OVERRIDE; + virtual const user_manager::User* GetPrimaryUser() const OVERRIDE; virtual void SaveUserOAuthStatus( const std::string& username, - User::OAuthTokenStatus oauth_token_status) OVERRIDE {} + user_manager::User::OAuthTokenStatus oauth_token_status) OVERRIDE {} virtual void SaveForceOnlineSignin(const std::string& user_id, bool force_online_signin) OVERRIDE {} virtual base::string16 GetUserDisplayName( @@ -125,13 +128,13 @@ class FakeUserManager : public UserManager { private: // We use this internal function for const-correctness. - User* GetActiveUserInternal() const; + user_manager::User* GetActiveUserInternal() const; scoped_ptr<FakeSupervisedUserManager> supervised_user_manager_; - UserList user_list_; - UserList logged_in_users_; + user_manager::UserList user_list_; + user_manager::UserList logged_in_users_; std::string owner_email_; - User* primary_user_; + user_manager::User* primary_user_; // If set this is the active user. If empty, the first created user is the // active user. diff --git a/chrome/browser/chromeos/login/users/mock_user_manager.cc b/chrome/browser/chromeos/login/users/mock_user_manager.cc index bb6caa8..ac80b94 100644 --- a/chrome/browser/chromeos/login/users/mock_user_manager.cc +++ b/chrome/browser/chromeos/login/users/mock_user_manager.cc @@ -20,19 +20,19 @@ MockUserManager::~MockUserManager() { ClearUserList(); } -const UserList& MockUserManager::GetUsers() const { +const user_manager::UserList& MockUserManager::GetUsers() const { return user_list_; } -const User* MockUserManager::GetLoggedInUser() const { +const user_manager::User* MockUserManager::GetLoggedInUser() const { return user_list_.empty() ? NULL : user_list_.front(); } -User* MockUserManager::GetLoggedInUser() { +user_manager::User* MockUserManager::GetLoggedInUser() { return user_list_.empty() ? NULL : user_list_.front(); } -UserList MockUserManager::GetUnlockUsers() const { +user_manager::UserList MockUserManager::GetUnlockUsers() const { return user_list_; } @@ -40,15 +40,15 @@ const std::string& MockUserManager::GetOwnerEmail() { return GetLoggedInUser()->email(); } -const User* MockUserManager::GetActiveUser() const { +const user_manager::User* MockUserManager::GetActiveUser() const { return GetLoggedInUser(); } -User* MockUserManager::GetActiveUser() { +user_manager::User* MockUserManager::GetActiveUser() { return GetLoggedInUser(); } -const User* MockUserManager::GetPrimaryUser() const { +const user_manager::User* MockUserManager::GetPrimaryUser() const { return GetLoggedInUser(); } @@ -79,23 +79,24 @@ UserFlow* MockUserManager::GetUserFlow(const std::string&) const { return user_flow_.get(); } -User* MockUserManager::CreatePublicAccountUser(const std::string& email) { +user_manager::User* MockUserManager::CreatePublicAccountUser( + const std::string& email) { ClearUserList(); - User* user = User::CreatePublicAccountUser(email); + user_manager::User* user = user_manager::User::CreatePublicAccountUser(email); user_list_.push_back(user); ProfileHelper::Get()->SetProfileToUserMappingForTesting(user); return user_list_.back(); } void MockUserManager::AddUser(const std::string& email) { - User* user = User::CreateRegularUser(email); + user_manager::User* user = user_manager::User::CreateRegularUser(email); user_list_.push_back(user); ProfileHelper::Get()->SetProfileToUserMappingForTesting(user); } void MockUserManager::ClearUserList() { // Can't use STLDeleteElements because of the protected destructor of User. - UserList::iterator user; + user_manager::UserList::iterator user; for (user = user_list_.begin(); user != user_list_.end(); ++user) delete *user; user_list_.clear(); diff --git a/chrome/browser/chromeos/login/users/mock_user_manager.h b/chrome/browser/chromeos/login/users/mock_user_manager.h index f6bc52c..26aa3e6 100644 --- a/chrome/browser/chromeos/login/users/mock_user_manager.h +++ b/chrome/browser/chromeos/login/users/mock_user_manager.h @@ -11,8 +11,8 @@ #include "base/memory/weak_ptr.h" #include "chrome/browser/chromeos/login/user_flow.h" #include "chrome/browser/chromeos/login/users/avatar/mock_user_image_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_image/user_image.h" #include "testing/gmock/include/gmock/gmock.h" @@ -26,9 +26,10 @@ class MockUserManager : public UserManager { virtual ~MockUserManager(); MOCK_METHOD0(Shutdown, void(void)); - MOCK_CONST_METHOD0(GetUsersAdmittedForMultiProfile, UserList(void)); - MOCK_CONST_METHOD0(GetLoggedInUsers, const UserList&(void)); - MOCK_METHOD0(GetLRULoggedInUsers, const UserList&(void)); + MOCK_CONST_METHOD0(GetUsersAdmittedForMultiProfile, + user_manager::UserList(void)); + MOCK_CONST_METHOD0(GetLoggedInUsers, const user_manager::UserList&(void)); + MOCK_METHOD0(GetLRULoggedInUsers, const user_manager::UserList&(void)); MOCK_METHOD3(UserLoggedIn, void( const std::string&, const std::string&, bool)); MOCK_METHOD1(SwitchActiveUser, void(const std::string& email)); @@ -36,10 +37,10 @@ class MockUserManager : public UserManager { MOCK_METHOD2(RemoveUser, void(const std::string&, RemoveUserDelegate*)); MOCK_METHOD1(RemoveUserFromList, void(const std::string&)); MOCK_CONST_METHOD1(IsKnownUser, bool(const std::string&)); - MOCK_CONST_METHOD1(FindUser, const User*(const std::string&)); - MOCK_METHOD1(FindUserAndModify, User*(const std::string&)); - MOCK_METHOD2(SaveUserOAuthStatus, void(const std::string&, - User::OAuthTokenStatus)); + MOCK_CONST_METHOD1(FindUser, const user_manager::User*(const std::string&)); + MOCK_METHOD1(FindUserAndModify, user_manager::User*(const std::string&)); + MOCK_METHOD2(SaveUserOAuthStatus, + void(const std::string&, user_manager::User::OAuthTokenStatus)); MOCK_METHOD2(SaveForceOnlineSignin, void(const std::string&, bool)); MOCK_METHOD2(SaveUserDisplayName, void(const std::string&, const base::string16&)); @@ -78,14 +79,14 @@ class MockUserManager : public UserManager { // You can't mock these functions easily because nobody can create // User objects but the UserManagerImpl and us. - virtual const UserList& GetUsers() const OVERRIDE; - virtual const User* GetLoggedInUser() const OVERRIDE; - virtual UserList GetUnlockUsers() const OVERRIDE; + virtual const user_manager::UserList& GetUsers() const OVERRIDE; + virtual const user_manager::User* GetLoggedInUser() const OVERRIDE; + virtual user_manager::UserList GetUnlockUsers() const OVERRIDE; virtual const std::string& GetOwnerEmail() OVERRIDE; - virtual User* GetLoggedInUser() OVERRIDE; - virtual const User* GetActiveUser() const OVERRIDE; - virtual User* GetActiveUser() OVERRIDE; - virtual const User* GetPrimaryUser() const OVERRIDE; + virtual user_manager::User* GetLoggedInUser() OVERRIDE; + virtual const user_manager::User* GetActiveUser() const OVERRIDE; + virtual user_manager::User* GetActiveUser() OVERRIDE; + virtual const user_manager::User* GetPrimaryUser() const OVERRIDE; virtual MultiProfileUserController* GetMultiProfileUserController() OVERRIDE; virtual UserImageManager* GetUserImageManager( @@ -101,7 +102,7 @@ class MockUserManager : public UserManager { // Creates a new public session user. Users previously created by this // MockUserManager become invalid. - User* CreatePublicAccountUser(const std::string& email); + user_manager::User* CreatePublicAccountUser(const std::string& email); // Adds a new User instance to the back of the user list. Users previously // created by this MockUserManager remain valid. @@ -114,7 +115,7 @@ class MockUserManager : public UserManager { scoped_ptr<UserFlow> user_flow_; scoped_ptr<MockUserImageManager> user_image_manager_; scoped_ptr<FakeSupervisedUserManager> supervised_user_manager_; - UserList user_list_; + user_manager::UserList user_list_; }; } // namespace chromeos diff --git a/chrome/browser/chromeos/login/users/multi_profile_user_controller.cc b/chrome/browser/chromeos/login/users/multi_profile_user_controller.cc index 980955a..4cc436e 100644 --- a/chrome/browser/chromeos/login/users/multi_profile_user_controller.cc +++ b/chrome/browser/chromeos/login/users/multi_profile_user_controller.cc @@ -11,7 +11,6 @@ #include "base/prefs/pref_service.h" #include "base/prefs/scoped_user_pref_update.h" #include "chrome/browser/chromeos/login/users/multi_profile_user_controller_delegate.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/policy/policy_cert_service.h" #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h" @@ -19,6 +18,7 @@ #include "chrome/browser/prefs/pref_service_syncable.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/pref_names.h" +#include "components/user_manager/user.h" #include "google_apis/gaia/gaia_auth_util.h" namespace chromeos { @@ -86,7 +86,7 @@ MultiProfileUserController::IsUserAllowedInSession( UserManager* user_manager = UserManager::Get(); CHECK(user_manager); - const User* primary_user = user_manager->GetPrimaryUser(); + const user_manager::User* primary_user = user_manager->GetPrimaryUser(); std::string primary_user_email; if (primary_user) primary_user_email = primary_user->email(); @@ -190,8 +190,10 @@ void MultiProfileUserController::SetCachedValue( } void MultiProfileUserController::CheckSessionUsers() { - const UserList& users = UserManager::Get()->GetLoggedInUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + const user_manager::UserList& users = UserManager::Get()->GetLoggedInUsers(); + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { if (IsUserAllowedInSession((*it)->email()) != ALLOWED) { delegate_->OnUserNotAllowed((*it)->email()); return; diff --git a/chrome/browser/chromeos/login/users/multi_profile_user_controller_unittest.cc b/chrome/browser/chromeos/login/users/multi_profile_user_controller_unittest.cc index dba0cd2..03a8f13 100644 --- a/chrome/browser/chromeos/login/users/multi_profile_user_controller_unittest.cc +++ b/chrome/browser/chromeos/login/users/multi_profile_user_controller_unittest.cc @@ -116,7 +116,7 @@ class MultiProfileUserControllerTest for (size_t i = 0; i < arraysize(kUsers); ++i) { const std::string user_email(kUsers[i]); - const User* user = fake_user_manager_->AddUser(user_email); + const user_manager::User* user = fake_user_manager_->AddUser(user_email); // Note that user profiles are created after user login in reality. TestingProfile* user_profile = diff --git a/chrome/browser/chromeos/login/users/supervised_user_manager.h b/chrome/browser/chromeos/login/users/supervised_user_manager.h index c7bab16..82a4b0c 100644 --- a/chrome/browser/chromeos/login/users/supervised_user_manager.h +++ b/chrome/browser/chromeos/login/users/supervised_user_manager.h @@ -15,9 +15,12 @@ class PrefRegistrySimple; +namespace user_manager { +class User; +} + namespace chromeos { -class User; class SupervisedUserAuthentication; // Keys in dictionary with supervised password information. @@ -60,7 +63,7 @@ class SupervisedUserManager { // Returns created user, or existing user if there already // was a supervised user with such display name. // TODO(antrim): Refactor into a single struct to have only 1 getter. - virtual const User* CreateUserRecord( + virtual const user_manager::User* CreateUserRecord( const std::string& manager_id, const std::string& local_user_id, const std::string& sync_user_id, @@ -71,12 +74,13 @@ class SupervisedUserManager { // Returns the supervised user with the given |display_name| if found in // the persistent list. Returns |NULL| otherwise. - virtual const User* FindByDisplayName( + virtual const user_manager::User* FindByDisplayName( const base::string16& display_name) const = 0; // Returns the supervised user with the given |sync_id| if found in // the persistent list. Returns |NULL| otherwise. - virtual const User* FindBySyncId(const std::string& sync_id) const = 0; + virtual const user_manager::User* FindBySyncId( + const std::string& sync_id) const = 0; // Returns sync_user_id for supervised user with |user_id| or empty string if // such user is not found or it doesn't have user_id defined. diff --git a/chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc b/chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc index d1e2480..0c2e1b2 100644 --- a/chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc +++ b/chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc @@ -165,8 +165,10 @@ std::string SupervisedUserManagerImpl::GenerateUserId() { bool SupervisedUserManagerImpl::HasSupervisedUsers( const std::string& manager_id) const { - const UserList& users = owner_->GetUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + const user_manager::UserList& users = owner_->GetUsers(); + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { if ((*it)->GetType() == user_manager::USER_TYPE_SUPERVISED) { if (manager_id == GetManagerUserId((*it)->email())) return true; @@ -175,21 +177,22 @@ bool SupervisedUserManagerImpl::HasSupervisedUsers( return false; } -const User* SupervisedUserManagerImpl::CreateUserRecord( - const std::string& manager_id, - const std::string& local_user_id, - const std::string& sync_user_id, - const base::string16& display_name) { - const User* user = FindByDisplayName(display_name); +const user_manager::User* SupervisedUserManagerImpl::CreateUserRecord( + const std::string& manager_id, + const std::string& local_user_id, + const std::string& sync_user_id, + const base::string16& display_name) { + const user_manager::User* user = FindByDisplayName(display_name); DCHECK(!user); if (user) return user; - const User* manager = owner_->FindUser(manager_id); + const user_manager::User* manager = owner_->FindUser(manager_id); CHECK(manager); PrefService* local_state = g_browser_process->local_state(); - User* new_user = User::CreateSupervisedUser(local_user_id); + user_manager::User* new_user = + user_manager::User::CreateSupervisedUser(local_user_id); owner_->AddUserRecord(new_user); @@ -352,11 +355,13 @@ void SupervisedUserManagerImpl::SetUserBooleanValue(const std::string& user_id, update->SetBooleanWithoutPathExpansion(user_id, value); } -const User* SupervisedUserManagerImpl::FindByDisplayName( +const user_manager::User* SupervisedUserManagerImpl::FindByDisplayName( const base::string16& display_name) const { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - const UserList& users = owner_->GetUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + const user_manager::UserList& users = owner_->GetUsers(); + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { if (((*it)->GetType() == user_manager::USER_TYPE_SUPERVISED) && ((*it)->display_name() == display_name)) { return *it; @@ -365,11 +370,13 @@ const User* SupervisedUserManagerImpl::FindByDisplayName( return NULL; } -const User* SupervisedUserManagerImpl::FindBySyncId( +const user_manager::User* SupervisedUserManagerImpl::FindBySyncId( const std::string& sync_id) const { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - const UserList& users = owner_->GetUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + const user_manager::UserList& users = owner_->GetUsers(); + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { if (((*it)->GetType() == user_manager::USER_TYPE_SUPERVISED) && (GetUserSyncId((*it)->email()) == sync_id)) { return *it; diff --git a/chrome/browser/chromeos/login/users/supervised_user_manager_impl.h b/chrome/browser/chromeos/login/users/supervised_user_manager_impl.h index 7430817..3daa00e 100644 --- a/chrome/browser/chromeos/login/users/supervised_user_manager_impl.h +++ b/chrome/browser/chromeos/login/users/supervised_user_manager_impl.h @@ -24,15 +24,16 @@ class SupervisedUserManagerImpl virtual ~SupervisedUserManagerImpl(); virtual bool HasSupervisedUsers(const std::string& manager_id) const OVERRIDE; - virtual const User* CreateUserRecord( + virtual const user_manager::User* CreateUserRecord( const std::string& manager_id, const std::string& local_user_id, const std::string& sync_user_id, const base::string16& display_name) OVERRIDE; virtual std::string GenerateUserId() OVERRIDE; - virtual const User* FindByDisplayName(const base::string16& display_name) - const OVERRIDE; - virtual const User* FindBySyncId(const std::string& sync_id) const OVERRIDE; + virtual const user_manager::User* FindByDisplayName( + const base::string16& display_name) const OVERRIDE; + virtual const user_manager::User* FindBySyncId( + const std::string& sync_id) const OVERRIDE; virtual std::string GetUserSyncId(const std::string& user_id) const OVERRIDE; virtual base::string16 GetManagerDisplayName(const std::string& user_id) const OVERRIDE; diff --git a/chrome/browser/chromeos/login/users/user.cc b/chrome/browser/chromeos/login/users/user.cc deleted file mode 100644 index a515465..0000000 --- a/chrome/browser/chromeos/login/users/user.cc +++ /dev/null @@ -1,321 +0,0 @@ -// Copyright 2014 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/chromeos/login/users/user.h" - -#include "base/logging.h" -#include "base/strings/stringprintf.h" -#include "base/strings/utf_string_conversions.h" -#include "base/threading/thread_restrictions.h" -#include "chrome/browser/chromeos/login/users/user_manager.h" -#include "chromeos/login/user_names.h" -#include "components/user_manager/user_image/default_user_images.h" -#include "google_apis/gaia/gaia_auth_util.h" -#include "grit/theme_resources.h" -#include "ui/base/resource/resource_bundle.h" - -namespace chromeos { - -namespace { - -// Returns account name portion of an email. -std::string GetUserName(const std::string& email) { - std::string::size_type i = email.find('@'); - if (i == 0 || i == std::string::npos) { - return email; - } - return email.substr(0, i); -} - -} // namespace - -const int User::kExternalImageIndex; -const int User::kProfileImageIndex; -const int User::kInvalidImageIndex; - -class RegularUser : public User { - public: - explicit RegularUser(const std::string& email); - virtual ~RegularUser(); - - // Overridden from User: - virtual user_manager::UserType GetType() const OVERRIDE; - virtual bool CanSyncImage() const OVERRIDE; - - private: - DISALLOW_COPY_AND_ASSIGN(RegularUser); -}; - -class GuestUser : public User { - public: - GuestUser(); - virtual ~GuestUser(); - - // Overridden from User: - virtual user_manager::UserType GetType() const OVERRIDE; - - private: - DISALLOW_COPY_AND_ASSIGN(GuestUser); -}; - -class KioskAppUser : public User { - public: - explicit KioskAppUser(const std::string& app_id); - virtual ~KioskAppUser(); - - // Overridden from User: - virtual user_manager::UserType GetType() const OVERRIDE; - - private: - DISALLOW_COPY_AND_ASSIGN(KioskAppUser); -}; - -class SupervisedUser : public User { - public: - explicit SupervisedUser(const std::string& username); - virtual ~SupervisedUser(); - - // Overridden from User: - virtual user_manager::UserType GetType() const OVERRIDE; - virtual std::string display_email() const OVERRIDE; - - private: - DISALLOW_COPY_AND_ASSIGN(SupervisedUser); -}; - -class RetailModeUser : public User { - public: - RetailModeUser(); - virtual ~RetailModeUser(); - - // Overridden from User: - virtual user_manager::UserType GetType() const OVERRIDE; - - private: - DISALLOW_COPY_AND_ASSIGN(RetailModeUser); -}; - -class PublicAccountUser : public User { - public: - explicit PublicAccountUser(const std::string& email); - virtual ~PublicAccountUser(); - - // Overridden from User: - virtual user_manager::UserType GetType() const OVERRIDE; - - private: - DISALLOW_COPY_AND_ASSIGN(PublicAccountUser); -}; - -std::string User::GetEmail() const { - return display_email(); -} - -base::string16 User::GetDisplayName() const { - // Fallback to the email account name in case display name haven't been set. - return display_name_.empty() ? - base::UTF8ToUTF16(GetAccountName(true)) : - display_name_; -} - -base::string16 User::GetGivenName() const { - return given_name_; -} - -const gfx::ImageSkia& User::GetImage() const { - return user_image_.image(); -} - -std::string User::GetUserID() const { - return gaia::CanonicalizeEmail(gaia::SanitizeEmail(email())); -} - -std::string User::GetAccountName(bool use_display_email) const { - if (use_display_email && !display_email_.empty()) - return GetUserName(display_email_); - else - return GetUserName(email_); -} - -bool User::HasDefaultImage() const { - return image_index_ >= 0 && image_index_ < user_manager::kDefaultImagesCount; -} - -bool User::CanSyncImage() const { - return false; -} - -std::string User::display_email() const { - return display_email_; -} - -bool User::can_lock() const { - return can_lock_; -} - -std::string User::username_hash() const { - return username_hash_; -} - -bool User::is_logged_in() const { - return is_logged_in_; -} - -bool User::is_active() const { - return is_active_; -} - -User* User::CreateRegularUser(const std::string& email) { - return new RegularUser(email); -} - -User* User::CreateGuestUser() { - return new GuestUser; -} - -User* User::CreateKioskAppUser(const std::string& kiosk_app_username) { - return new KioskAppUser(kiosk_app_username); -} - -User* User::CreateSupervisedUser(const std::string& username) { - return new SupervisedUser(username); -} - -User* User::CreateRetailModeUser() { - return new RetailModeUser; -} - -User* User::CreatePublicAccountUser(const std::string& email) { - return new PublicAccountUser(email); -} - -User::User(const std::string& email) - : email_(email), - oauth_token_status_(OAUTH_TOKEN_STATUS_UNKNOWN), - force_online_signin_(false), - image_index_(kInvalidImageIndex), - image_is_stub_(false), - image_is_loading_(false), - can_lock_(false), - is_logged_in_(false), - is_active_(false), - profile_is_created_(false) { -} - -User::~User() {} - -void User::SetAccountLocale(const std::string& resolved_account_locale) { - account_locale_.reset(new std::string(resolved_account_locale)); -} - -void User::SetImage(const user_manager::UserImage& user_image, - int image_index) { - user_image_ = user_image; - image_index_ = image_index; - image_is_stub_ = false; - image_is_loading_ = false; - DCHECK(HasDefaultImage() || user_image.has_raw_image()); -} - -void User::SetImageURL(const GURL& image_url) { - user_image_.set_url(image_url); -} - -void User::SetStubImage(int image_index, bool is_loading) { - user_image_ = user_manager::UserImage( - *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( - IDR_PROFILE_PICTURE_LOADING)); - image_index_ = image_index; - image_is_stub_ = true; - image_is_loading_ = is_loading; -} - -RegularUser::RegularUser(const std::string& email) : User(email) { - set_can_lock(true); - set_display_email(email); -} - -RegularUser::~RegularUser() {} - -user_manager::UserType RegularUser::GetType() const { - return user_manager::USER_TYPE_REGULAR; -} - -bool RegularUser::CanSyncImage() const { - return true; -} - -GuestUser::GuestUser() : User(chromeos::login::kGuestUserName) { - set_display_email(std::string()); -} - -GuestUser::~GuestUser() {} - -user_manager::UserType GuestUser::GetType() const { - return user_manager::USER_TYPE_GUEST; -} - -KioskAppUser::KioskAppUser(const std::string& kiosk_app_username) - : User(kiosk_app_username) { - set_display_email(kiosk_app_username); -} - -KioskAppUser::~KioskAppUser() {} - -user_manager::UserType KioskAppUser::GetType() const { - return user_manager::USER_TYPE_KIOSK_APP; -} - -SupervisedUser::SupervisedUser(const std::string& username) - : User(username) { - set_can_lock(true); -} - -SupervisedUser::~SupervisedUser() {} - -user_manager::UserType SupervisedUser::GetType() const { - return user_manager::USER_TYPE_SUPERVISED; -} - -std::string SupervisedUser::display_email() const { - return base::UTF16ToUTF8(display_name()); -} - -RetailModeUser::RetailModeUser() : User(chromeos::login::kRetailModeUserName) { - set_display_email(std::string()); -} - -RetailModeUser::~RetailModeUser() {} - -user_manager::UserType RetailModeUser::GetType() const { - return user_manager::USER_TYPE_RETAIL_MODE; -} - -PublicAccountUser::PublicAccountUser(const std::string& email) : User(email) { -} - -PublicAccountUser::~PublicAccountUser() {} - -user_manager::UserType PublicAccountUser::GetType() const { - return user_manager::USER_TYPE_PUBLIC_ACCOUNT; -} - -bool User::has_gaia_account() const { - COMPILE_ASSERT(user_manager::NUM_USER_TYPES == 6, num_user_types_unexpected); - switch (GetType()) { - case user_manager::USER_TYPE_REGULAR: - return true; - case user_manager::USER_TYPE_GUEST: - case user_manager::USER_TYPE_RETAIL_MODE: - case user_manager::USER_TYPE_PUBLIC_ACCOUNT: - case user_manager::USER_TYPE_SUPERVISED: - case user_manager::USER_TYPE_KIOSK_APP: - return false; - default: - NOTREACHED(); - } - return false; -} - -} // namespace chromeos diff --git a/chrome/browser/chromeos/login/users/user.h b/chrome/browser/chromeos/login/users/user.h deleted file mode 100644 index edc66ba..0000000 --- a/chrome/browser/chromeos/login/users/user.h +++ /dev/null @@ -1,267 +0,0 @@ -// Copyright 2014 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. - -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_H_ -#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_H_ - -#include <string> -#include <vector> - -#include "base/basictypes.h" -#include "base/strings/string16.h" -#include "components/user_manager/user_image/user_image.h" -#include "components/user_manager/user_info.h" -#include "components/user_manager/user_type.h" -#include "third_party/skia/include/core/SkBitmap.h" -#include "ui/gfx/image/image_skia.h" - -namespace chromeos { - -// A class representing information about a previously logged in user. -// Each user has a canonical email (username), returned by |email()| and -// may have a different displayed email (in the raw form as entered by user), -// returned by |displayed_email()|. -// Displayed emails are for use in UI only, anywhere else users must be referred -// to by |email()|. -class User : public user_manager::UserInfo { - public: - // User OAuth token status according to the last check. - // Please note that enum values 1 and 2 were used for OAuth1 status and are - // deprecated now. - typedef enum { - OAUTH_TOKEN_STATUS_UNKNOWN = 0, - OAUTH2_TOKEN_STATUS_INVALID = 3, - OAUTH2_TOKEN_STATUS_VALID = 4, - } OAuthTokenStatus; - - // Returned as |image_index| when user-selected file or photo is used as - // user image. - static const int kExternalImageIndex = -1; - // Returned as |image_index| when user profile image is used as user image. - static const int kProfileImageIndex = -2; - static const int kInvalidImageIndex = -3; - - enum WallpaperType { - /* DAILY = 0 */ // Removed. Do not re-use the id! - CUSTOMIZED = 1, // Selected by user. - DEFAULT = 2, // Default. - /* UNKNOWN = 3 */ // Removed. Do not re-use the id! - ONLINE = 4, // WallpaperInfo.file denotes an URL. - POLICY = 5, // Controlled by policy, can't be changed by the user. - WALLPAPER_TYPE_COUNT = 6 - }; - - // Returns the user type. - virtual user_manager::UserType GetType() const = 0; - - // The email the user used to log in. - const std::string& email() const { return email_; } - - // The displayed user name. - base::string16 display_name() const { return display_name_; } - - // user_manager::UserInfo - virtual std::string GetEmail() const OVERRIDE; - virtual base::string16 GetDisplayName() const OVERRIDE; - virtual base::string16 GetGivenName() const OVERRIDE; - virtual const gfx::ImageSkia& GetImage() const OVERRIDE; - virtual std::string GetUserID() const OVERRIDE; - - // Returns the account name part of the email. Use the display form of the - // email if available and use_display_name == true. Otherwise use canonical. - std::string GetAccountName(bool use_display_email) const; - - // Whether the user has a default image. - bool HasDefaultImage() const; - - // True if user image can be synced. - virtual bool CanSyncImage() const; - - int image_index() const { return image_index_; } - bool has_raw_image() const { return user_image_.has_raw_image(); } - // Returns raw representation of static user image. - const user_manager::UserImage::RawImage& raw_image() const { - return user_image_.raw_image(); - } - bool has_animated_image() const { return user_image_.has_animated_image(); } - // Returns raw representation of animated user image. - const user_manager::UserImage::RawImage& animated_image() const { - return user_image_.animated_image(); - } - - // Whether |raw_image| contains data in format that is considered safe to - // decode in sensitive environment (on Login screen). - bool image_is_safe_format() const { return user_image_.is_safe_format(); } - - // Returns the URL of user image, if there is any. Currently only the profile - // image has a URL, for other images empty URL is returned. - GURL image_url() const { return user_image_.url(); } - - // True if user image is a stub (while real image is being loaded from file). - bool image_is_stub() const { return image_is_stub_; } - - // True if image is being loaded from file. - bool image_is_loading() const { return image_is_loading_; } - - // The displayed (non-canonical) user email. - virtual std::string display_email() const; - - // OAuth token status for this user. - OAuthTokenStatus oauth_token_status() const { return oauth_token_status_; } - - // Whether online authentication against GAIA should be enforced during the - // user's next sign-in. - bool force_online_signin() const { return force_online_signin_; } - - // True if the user's session can be locked (i.e. the user has a password with - // which to unlock the session). - virtual bool can_lock() const; - - virtual std::string username_hash() const; - - // True if current user is logged in. - virtual bool is_logged_in() const; - - // True if current user is active within the current session. - virtual bool is_active() const; - - // True if the user Profile is created. - bool is_profile_created() const { - return profile_is_created_; - } - - protected: - friend class SupervisedUserManagerImpl; - friend class UserManagerImpl; - friend class UserImageManagerImpl; - friend class UserSessionManager; - - // For testing: - friend class MockUserManager; - friend class FakeLoginUtils; - friend class FakeUserManager; - friend class UserAddingScreenTest; - - // Do not allow anyone else to create new User instances. - static User* CreateRegularUser(const std::string& email); - static User* CreateGuestUser(); - static User* CreateKioskAppUser(const std::string& kiosk_app_username); - static User* CreateSupervisedUser(const std::string& username); - static User* CreateRetailModeUser(); - static User* CreatePublicAccountUser(const std::string& email); - - explicit User(const std::string& email); - virtual ~User(); - - const std::string* GetAccountLocale() const { - return account_locale_.get(); - } - - // Setters are private so only UserManager can call them. - void SetAccountLocale(const std::string& resolved_account_locale); - - void SetImage(const user_manager::UserImage& user_image, int image_index); - - void SetImageURL(const GURL& image_url); - - // Sets a stub image until the next |SetImage| call. |image_index| may be - // one of |kExternalImageIndex| or |kProfileImageIndex|. - // If |is_loading| is |true|, that means user image is being loaded from file. - void SetStubImage(int image_index, bool is_loading); - - void set_display_name(const base::string16& display_name) { - display_name_ = display_name; - } - - void set_given_name(const base::string16& given_name) { - given_name_ = given_name; - } - - void set_display_email(const std::string& display_email) { - display_email_ = display_email; - } - - const user_manager::UserImage& user_image() const { return user_image_; } - - void set_oauth_token_status(OAuthTokenStatus status) { - oauth_token_status_ = status; - } - - void set_force_online_signin(bool force_online_signin) { - force_online_signin_ = force_online_signin; - } - - void set_username_hash(const std::string& username_hash) { - username_hash_ = username_hash; - } - - void set_is_logged_in(bool is_logged_in) { - is_logged_in_ = is_logged_in; - } - - void set_can_lock(bool can_lock) { - can_lock_ = can_lock; - } - - void set_is_active(bool is_active) { - is_active_ = is_active; - } - - void set_profile_is_created() { - profile_is_created_ = true; - } - - // True if user has google account (not a guest or managed user). - bool has_gaia_account() const; - - private: - std::string email_; - base::string16 display_name_; - base::string16 given_name_; - // The displayed user email, defaults to |email_|. - std::string display_email_; - user_manager::UserImage user_image_; - OAuthTokenStatus oauth_token_status_; - bool force_online_signin_; - - // This is set to chromeos locale if account data has been downloaded. - // (Or failed to download, but at least one download attempt finished). - // An empty string indicates error in data load, or in - // translation of Account locale to chromeos locale. - scoped_ptr<std::string> account_locale_; - - // Used to identify homedir mount point. - std::string username_hash_; - - // Either index of a default image for the user, |kExternalImageIndex| or - // |kProfileImageIndex|. - int image_index_; - - // True if current user image is a stub set by a |SetStubImage| call. - bool image_is_stub_; - - // True if current user image is being loaded from file. - bool image_is_loading_; - - // True if user is able to lock screen. - bool can_lock_; - - // True if user is currently logged in in current session. - bool is_logged_in_; - - // True if user is currently logged in and active in current session. - bool is_active_; - - // True if user Profile is created - bool profile_is_created_; - - DISALLOW_COPY_AND_ASSIGN(User); -}; - -// List of known users. -typedef std::vector<User*> UserList; - -} // namespace chromeos - -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_H_ diff --git a/chrome/browser/chromeos/login/users/user_manager.cc b/chrome/browser/chromeos/login/users/user_manager.cc index ddbf05f..842cf85 100644 --- a/chrome/browser/chromeos/login/users/user_manager.cc +++ b/chrome/browser/chromeos/login/users/user_manager.cc @@ -22,11 +22,11 @@ void UserManager::Observer::LocalStateChanged(UserManager* user_manager) { } void UserManager::UserSessionStateObserver::ActiveUserChanged( - const User* active_user) { + const user_manager::User* active_user) { } void UserManager::UserSessionStateObserver::UserAddedToSession( - const User* active_user) { + const user_manager::User* active_user) { } void UserManager::UserSessionStateObserver::ActiveUserHashChanged( diff --git a/chrome/browser/chromeos/login/users/user_manager.h b/chrome/browser/chromeos/login/users/user_manager.h index fbbf45c..fe42e31 100644 --- a/chrome/browser/chromeos/login/users/user_manager.h +++ b/chrome/browser/chromeos/login/users/user_manager.h @@ -8,7 +8,7 @@ #include <string> #include "chrome/browser/chromeos/login/user_flow.h" -#include "chrome/browser/chromeos/login/users/user.h" +#include "components/user_manager/user.h" class PrefRegistrySimple; @@ -40,10 +40,10 @@ class UserManager { class UserSessionStateObserver { public: // Called when active user has changed. - virtual void ActiveUserChanged(const User* active_user); + virtual void ActiveUserChanged(const user_manager::User* active_user); // Called when another user got added to the existing session. - virtual void UserAddedToSession(const User* added_user); + virtual void UserAddedToSession(const user_manager::User* added_user); // Called right before notifying on user change so that those who rely // on user_id hash would be accessing up-to-date value. @@ -106,7 +106,7 @@ class UserManager { // Returns a list of users who have logged into this device previously. This // is sorted by last login date with the most recent user at the beginning. - virtual const UserList& GetUsers() const = 0; + virtual const user_manager::UserList& GetUsers() const = 0; // Returns list of users admitted for logging in into multi-profile session. // Users that have a policy that prevents them from being added to the @@ -114,15 +114,15 @@ class UserManager { // are regular users (i.e. not a public session/supervised etc.). // Returns an empty list in case when primary user is not a regular one or // has a policy that prohibids it to be part of multi-profile session. - virtual UserList GetUsersAdmittedForMultiProfile() const = 0; + virtual user_manager::UserList GetUsersAdmittedForMultiProfile() const = 0; // Returns a list of users who are currently logged in. - virtual const UserList& GetLoggedInUsers() const = 0; + virtual const user_manager::UserList& GetLoggedInUsers() const = 0; // Returns a list of users who are currently logged in in the LRU order - // so the active user is the first one in the list. If there is no user logged // in, the current user will be returned. - virtual const UserList& GetLRULoggedInUsers() = 0; + virtual const user_manager::UserList& GetLRULoggedInUsers() = 0; // Returns a list of users who can unlock the device. // This list is based on policy and whether user is able to do unlock. @@ -130,7 +130,7 @@ class UserManager { // * If user has primary-only policy then it is the only user in unlock users. // * Otherwise all users with unrestricted policy are added to this list. // All users that are unable to perform unlock are excluded from this list. - virtual UserList GetUnlockUsers() const = 0; + virtual user_manager::UserList GetUnlockUsers() const = 0; // Returns the email of the owner user. Returns an empty string if there is // no owner for the device. @@ -173,33 +173,34 @@ class UserManager { // Returns the user with the given user id if found in the persistent // list or currently logged in as ephemeral. Returns |NULL| otherwise. - virtual const User* FindUser(const std::string& user_id) const = 0; + virtual const user_manager::User* FindUser( + const std::string& user_id) const = 0; // Returns the user with the given user id if found in the persistent // list or currently logged in as ephemeral. Returns |NULL| otherwise. // Same as FindUser but returns non-const pointer to User object. - virtual User* FindUserAndModify(const std::string& user_id) = 0; + virtual user_manager::User* FindUserAndModify(const std::string& user_id) = 0; // Returns the logged-in user. // TODO(nkostylev): Deprecate this call, move clients to GetActiveUser(). // http://crbug.com/230852 - virtual const User* GetLoggedInUser() const = 0; - virtual User* GetLoggedInUser() = 0; + virtual const user_manager::User* GetLoggedInUser() const = 0; + virtual user_manager::User* GetLoggedInUser() = 0; // Returns the logged-in user that is currently active within this session. // There could be multiple users logged in at the the same but for now // we support only one of them being active. - virtual const User* GetActiveUser() const = 0; - virtual User* GetActiveUser() = 0; + virtual const user_manager::User* GetActiveUser() const = 0; + virtual user_manager::User* GetActiveUser() = 0; // Returns the primary user of the current session. It is recorded for the // first signed-in user and does not change thereafter. - virtual const User* GetPrimaryUser() const = 0; + virtual const user_manager::User* GetPrimaryUser() const = 0; // Saves user's oauth token status in local state preferences. virtual void SaveUserOAuthStatus( const std::string& user_id, - User::OAuthTokenStatus oauth_token_status) = 0; + user_manager::User::OAuthTokenStatus oauth_token_status) = 0; // Saves a flag indicating whether online authentication against GAIA should // be enforced during the user's next sign-in. diff --git a/chrome/browser/chromeos/login/users/user_manager_impl.cc b/chrome/browser/chromeos/login/users/user_manager_impl.cc index a6a4f30..2a8d493 100644 --- a/chrome/browser/chromeos/login/users/user_manager_impl.cc +++ b/chrome/browser/chromeos/login/users/user_manager_impl.cc @@ -60,13 +60,16 @@ #include "chromeos/login/user_names.h" #include "chromeos/settings/cros_settings_names.h" #include "components/session_manager/core/session_manager.h" +#include "components/user_manager/user_image/user_image.h" #include "components/user_manager/user_type.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/notification_service.h" #include "google_apis/gaia/gaia_auth_util.h" #include "google_apis/gaia/google_service_auth_error.h" +#include "grit/theme_resources.h" #include "policy/policy_constants.h" #include "ui/base/l10n/l10n_util.h" +#include "ui/base/resource/resource_bundle.h" #include "ui/wm/core/wm_core_switches.h" using content::BrowserThread; @@ -229,7 +232,7 @@ UserManagerImpl::UserManagerImpl() UserManagerImpl::~UserManagerImpl() { // Can't use STLDeleteElements because of the private destructor of User. - for (UserList::iterator it = users_.begin(); it != users_.end(); + for (user_manager::UserList::iterator it = users_.begin(); it != users_.end(); it = users_.erase(it)) { DeleteUser(*it); } @@ -278,21 +281,24 @@ SupervisedUserManager* UserManagerImpl::GetSupervisedUserManager() { return supervised_user_manager_.get(); } -const UserList& UserManagerImpl::GetUsers() const { +const user_manager::UserList& UserManagerImpl::GetUsers() const { const_cast<UserManagerImpl*>(this)->EnsureUsersLoaded(); return users_; } -UserList UserManagerImpl::GetUsersAdmittedForMultiProfile() const { +user_manager::UserList UserManagerImpl::GetUsersAdmittedForMultiProfile() + const { // Supervised users are not allowed to use multi-profiles. if (logged_in_users_.size() == 1 && GetPrimaryUser()->GetType() != user_manager::USER_TYPE_REGULAR) { - return UserList(); + return user_manager::UserList(); } - UserList result; - const UserList& users = GetUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + user_manager::UserList result; + const user_manager::UserList& users = GetUsers(); + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { if ((*it)->GetType() == user_manager::USER_TYPE_REGULAR && !(*it)->is_logged_in()) { MultiProfileUserController::UserAllowedInSessionResult check = @@ -300,7 +306,7 @@ UserList UserManagerImpl::GetUsersAdmittedForMultiProfile() const { IsUserAllowedInSession((*it)->email()); if (check == MultiProfileUserController:: NOT_ALLOWED_PRIMARY_USER_POLICY_FORBIDS) { - return UserList(); + return user_manager::UserList(); } // Users with a policy that prevents them being added to a session will be @@ -317,11 +323,11 @@ UserList UserManagerImpl::GetUsersAdmittedForMultiProfile() const { return result; } -const UserList& UserManagerImpl::GetLoggedInUsers() const { +const user_manager::UserList& UserManagerImpl::GetLoggedInUsers() const { return logged_in_users_; } -const UserList& UserManagerImpl::GetLRULoggedInUsers() { +const user_manager::UserList& UserManagerImpl::GetLRULoggedInUsers() { // If there is no user logged in, we return the active user as the only one. if (lru_logged_in_users_.empty() && active_user_) { temp_single_logged_in_users_.clear(); @@ -332,12 +338,12 @@ const UserList& UserManagerImpl::GetLRULoggedInUsers() { return lru_logged_in_users_; } -UserList UserManagerImpl::GetUnlockUsers() const { - const UserList& logged_in_users = GetLoggedInUsers(); +user_manager::UserList UserManagerImpl::GetUnlockUsers() const { + const user_manager::UserList& logged_in_users = GetLoggedInUsers(); if (logged_in_users.empty()) - return UserList(); + return user_manager::UserList(); - UserList unlock_users; + user_manager::UserList unlock_users; Profile* profile = ProfileHelper::Get()->GetProfileByUser(primary_user_); std::string primary_behavior = profile->GetPrefs()->GetString(prefs::kMultiProfileUserBehavior); @@ -350,9 +356,10 @@ UserList UserManagerImpl::GetUnlockUsers() const { unlock_users.push_back(primary_user_); } else { // Fill list of potential unlock users based on multi-profile policy state. - for (UserList::const_iterator it = logged_in_users.begin(); - it != logged_in_users.end(); ++it) { - User* user = (*it); + for (user_manager::UserList::const_iterator it = logged_in_users.begin(); + it != logged_in_users.end(); + ++it) { + user_manager::User* user = (*it); Profile* profile = ProfileHelper::Get()->GetProfileByUser(user); const std::string behavior = profile->GetPrefs()->GetString(prefs::kMultiProfileUserBehavior); @@ -378,7 +385,7 @@ void UserManagerImpl::UserLoggedIn(const std::string& user_id, bool browser_restart) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - User* user = FindUserInListAndModify(user_id); + user_manager::User* user = FindUserInListAndModify(user_id); if (active_user_ && user) { user->set_is_logged_in(true); user->set_username_hash(username_hash); @@ -417,7 +424,8 @@ void UserManagerImpl::UserLoggedIn(const std::string& user_id, SupervisedUserLoggedIn(user_id); } else if (browser_restart && user_id == g_browser_process->local_state()-> GetString(kPublicAccountPendingDataRemoval)) { - PublicAccountUserLoggedIn(User::CreatePublicAccountUser(user_id)); + PublicAccountUserLoggedIn( + user_manager::User::CreatePublicAccountUser(user_id)); } else if (user_id != owner_email_ && !user && (AreEphemeralUsersEnabled() || browser_restart)) { RegularUserLoggedInAsEphemeral(user_id); @@ -469,7 +477,7 @@ void UserManagerImpl::UserLoggedIn(const std::string& user_id, } void UserManagerImpl::SwitchActiveUser(const std::string& user_id) { - User* user = FindUserAndModify(user_id); + user_manager::User* user = FindUserAndModify(user_id); if (!user) { NOTREACHED() << "Switching to a non-existing user"; return; @@ -514,7 +522,7 @@ void UserManagerImpl::SessionStarted() { content::NotificationService::current()->Notify( chrome::NOTIFICATION_SESSION_STARTED, content::Source<UserManager>(this), - content::Details<const User>(active_user_)); + content::Details<const user_manager::User>(active_user_)); if (is_current_user_new_) { // Make sure that the new user's data is persisted to Local State. g_browser_process->local_state()->CommitPendingWrite(); @@ -525,7 +533,7 @@ void UserManagerImpl::RemoveUser(const std::string& user_id, RemoveUserDelegate* delegate) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - const User* user = FindUser(user_id); + const user_manager::User* user = FindUser(user_id); if (!user || (user->GetType() != user_manager::USER_TYPE_REGULAR && user->GetType() != user_manager::USER_TYPE_SUPERVISED)) return; @@ -543,8 +551,9 @@ void UserManagerImpl::RemoveUser(const std::string& user_id, return; // Sanity check: do not allow any of the the logged in users to be removed. - for (UserList::const_iterator it = logged_in_users_.begin(); - it != logged_in_users_.end(); ++it) { + for (user_manager::UserList::const_iterator it = logged_in_users_.begin(); + it != logged_in_users_.end(); + ++it) { if ((*it)->email() == user_id) return; } @@ -611,52 +620,54 @@ bool UserManagerImpl::IsKnownUser(const std::string& user_id) const { return FindUser(user_id) != NULL; } -const User* UserManagerImpl::FindUser(const std::string& user_id) const { +const user_manager::User* UserManagerImpl::FindUser( + const std::string& user_id) const { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (active_user_ && active_user_->email() == user_id) return active_user_; return FindUserInList(user_id); } -User* UserManagerImpl::FindUserAndModify(const std::string& user_id) { +user_manager::User* UserManagerImpl::FindUserAndModify( + const std::string& user_id) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (active_user_ && active_user_->email() == user_id) return active_user_; return FindUserInListAndModify(user_id); } -const User* UserManagerImpl::GetLoggedInUser() const { +const user_manager::User* UserManagerImpl::GetLoggedInUser() const { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); return active_user_; } -User* UserManagerImpl::GetLoggedInUser() { +user_manager::User* UserManagerImpl::GetLoggedInUser() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); return active_user_; } -const User* UserManagerImpl::GetActiveUser() const { +const user_manager::User* UserManagerImpl::GetActiveUser() const { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); return active_user_; } -User* UserManagerImpl::GetActiveUser() { +user_manager::User* UserManagerImpl::GetActiveUser() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); return active_user_; } -const User* UserManagerImpl::GetPrimaryUser() const { +const user_manager::User* UserManagerImpl::GetPrimaryUser() const { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); return primary_user_; } void UserManagerImpl::SaveUserOAuthStatus( const std::string& user_id, - User::OAuthTokenStatus oauth_token_status) { + user_manager::User::OAuthTokenStatus oauth_token_status) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); DVLOG(1) << "Saving user OAuth token status in Local State"; - User* user = FindUserAndModify(user_id); + user_manager::User* user = FindUserAndModify(user_id); if (user) user->set_oauth_token_status(oauth_token_status); @@ -693,7 +704,7 @@ void UserManagerImpl::SaveUserDisplayName(const std::string& user_id, const base::string16& display_name) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - if (User* user = FindUserAndModify(user_id)) { + if (user_manager::User* user = FindUserAndModify(user_id)) { user->set_display_name(display_name); // Do not update local state if data stored or cached outside the user's @@ -713,7 +724,7 @@ void UserManagerImpl::SaveUserDisplayName(const std::string& user_id, base::string16 UserManagerImpl::GetUserDisplayName( const std::string& user_id) const { - const User* user = FindUser(user_id); + const user_manager::User* user = FindUser(user_id); return user ? user->display_name() : base::string16(); } @@ -721,7 +732,7 @@ void UserManagerImpl::SaveUserDisplayEmail(const std::string& user_id, const std::string& display_email) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - User* user = FindUserAndModify(user_id); + user_manager::User* user = FindUserAndModify(user_id); if (!user) return; // Ignore if there is no such user. @@ -742,7 +753,7 @@ void UserManagerImpl::SaveUserDisplayEmail(const std::string& user_id, std::string UserManagerImpl::GetUserDisplayEmail( const std::string& user_id) const { - const User* user = FindUser(user_id); + const user_manager::User* user = FindUser(user_id); return user ? user->display_email() : user_id; } @@ -753,7 +764,7 @@ void UserManagerImpl::UpdateUserAccountData( SaveUserDisplayName(user_id, account_data.display_name()); - if (User* user = FindUserAndModify(user_id)) { + if (user_manager::User* user = FindUserAndModify(user_id)) { base::string16 given_name = account_data.given_name(); user->set_given_name(given_name); if (!IsUserNonCryptohomeDataEphemeral(user_id)) { @@ -812,7 +823,8 @@ void UserManagerImpl::Observe(int type, } case chrome::NOTIFICATION_PROFILE_CREATED: { Profile* profile = content::Source<Profile>(source).ptr(); - User* user = ProfileHelper::Get()->GetUserByProfile(profile); + user_manager::User* user = + ProfileHelper::Get()->GetUserByProfile(profile); if (user != NULL) user->set_profile_is_created(); // If there is pending user switch, do it now. @@ -866,7 +878,7 @@ void UserManagerImpl::OnExternalDataFetched(const std::string& policy, } void UserManagerImpl::OnPolicyUpdated(const std::string& user_id) { - const User* user = FindUserInList(user_id); + const user_manager::User* user = FindUserInList(user_id); if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT) return; UpdatePublicAccountDisplayName(user_id); @@ -1058,7 +1070,7 @@ void UserManagerImpl::EnsureUsersLoaded() { &public_sessions, &public_sessions_set); for (std::vector<std::string>::const_iterator it = public_sessions.begin(); it != public_sessions.end(); ++it) { - users_.push_back(User::CreatePublicAccountUser(*it)); + users_.push_back(user_manager::User::CreatePublicAccountUser(*it)); UpdatePublicAccountDisplayName(*it); } @@ -1069,12 +1081,12 @@ void UserManagerImpl::EnsureUsersLoaded() { ®ular_users, ®ular_users_set); for (std::vector<std::string>::const_iterator it = regular_users.begin(); it != regular_users.end(); ++it) { - User* user = NULL; + user_manager::User* user = NULL; const std::string domain = gaia::ExtractDomainName(*it); if (domain == chromeos::login::kSupervisedUserDomain) - user = User::CreateSupervisedUser(*it); + user = user_manager::User::CreateSupervisedUser(*it); else - user = User::CreateRegularUser(*it); + user = user_manager::User::CreateRegularUser(*it); user->set_oauth_token_status(LoadUserOAuthStatus(*it)); user->set_force_online_signin(LoadForceOnlineSignin(*it)); users_.push_back(user); @@ -1099,8 +1111,9 @@ void UserManagerImpl::EnsureUsersLoaded() { user_loading_stage_ = STAGE_LOADED; - for (UserList::iterator ui = users_.begin(), ue = users_.end(); - ui != ue; ++ui) { + for (user_manager::UserList::iterator ui = users_.begin(), ue = users_.end(); + ui != ue; + ++ui) { GetUserImageManager((*ui)->email())->LoadUserImage(); } } @@ -1131,7 +1144,8 @@ void UserManagerImpl::RetrieveTrustedDevicePolicies() { ListPrefUpdate prefs_users_update(g_browser_process->local_state(), kRegularUsers); prefs_users_update->Clear(); - for (UserList::iterator it = users_.begin(); it != users_.end(); ) { + for (user_manager::UserList::iterator it = users_.begin(); + it != users_.end();) { const std::string user_email = (*it)->email(); if ((*it)->GetType() == user_manager::USER_TYPE_REGULAR && user_email != owner_email_) { @@ -1158,14 +1172,17 @@ bool UserManagerImpl::AreEphemeralUsersEnabled() const { (connector->IsEnterpriseManaged() || !owner_email_.empty()); } -UserList& UserManagerImpl::GetUsersAndModify() { +user_manager::UserList& UserManagerImpl::GetUsersAndModify() { EnsureUsersLoaded(); return users_; } -const User* UserManagerImpl::FindUserInList(const std::string& user_id) const { - const UserList& users = GetUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { +const user_manager::User* UserManagerImpl::FindUserInList( + const std::string& user_id) const { + const user_manager::UserList& users = GetUsers(); + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { if ((*it)->email() == user_id) return *it; } @@ -1183,9 +1200,11 @@ const bool UserManagerImpl::UserExistsInList(const std::string& user_id) const { return false; } -User* UserManagerImpl::FindUserInListAndModify(const std::string& user_id) { - UserList& users = GetUsersAndModify(); - for (UserList::iterator it = users.begin(); it != users.end(); ++it) { +user_manager::User* UserManagerImpl::FindUserInListAndModify( + const std::string& user_id) { + user_manager::UserList& users = GetUsersAndModify(); + for (user_manager::UserList::iterator it = users.begin(); it != users.end(); + ++it) { if ((*it)->email() == user_id) return *it; } @@ -1194,16 +1213,21 @@ User* UserManagerImpl::FindUserInListAndModify(const std::string& user_id) { void UserManagerImpl::GuestUserLoggedIn() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - active_user_ = User::CreateGuestUser(); + active_user_ = user_manager::User::CreateGuestUser(); // TODO(nkostylev): Add support for passing guest session cryptohome // mount point. Legacy (--login-profile) value will be used for now. // http://crosbug.com/230859 - active_user_->SetStubImage(User::kInvalidImageIndex, false); + active_user_->SetStubImage( + user_manager::UserImage( + *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( + IDR_PROFILE_PICTURE_LOADING)), + user_manager::User::USER_IMAGE_INVALID, + false); // Initializes wallpaper after active_user_ is set. WallpaperManager::Get()->SetUserWallpaperNow(chromeos::login::kGuestUserName); } -void UserManagerImpl::AddUserRecord(User* user) { +void UserManagerImpl::AddUserRecord(user_manager::User* user) { // Add the user to the front of the user list. ListPrefUpdate prefs_users_update(g_browser_process->local_state(), kRegularUsers); @@ -1218,7 +1242,7 @@ void UserManagerImpl::RegularUserLoggedIn(const std::string& user_id) { // If the user was not found on the user list, create a new user. is_current_user_new_ = !active_user_; if (!active_user_) { - active_user_ = User::CreateRegularUser(user_id); + active_user_ = user_manager::User::CreateRegularUser(user_id); active_user_->set_oauth_token_status(LoadUserOAuthStatus(user_id)); SaveUserDisplayName(active_user_->email(), base::UTF8ToUTF16(active_user_->GetAccountName(true))); @@ -1240,7 +1264,7 @@ void UserManagerImpl::RegularUserLoggedInAsEphemeral( DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); is_current_user_new_ = true; is_current_user_ephemeral_regular_user_ = true; - active_user_ = User::CreateRegularUser(user_id); + active_user_ = user_manager::User::CreateRegularUser(user_id); GetUserImageManager(user_id)->UserLoggedIn(is_current_user_new_, false); WallpaperManager::Get()->SetUserWallpaperNow(user_id); } @@ -1254,7 +1278,7 @@ void UserManagerImpl::SupervisedUserLoggedIn( // If the user was not found on the user list, create a new user. if (!active_user_) { is_current_user_new_ = true; - active_user_ = User::CreateSupervisedUser(user_id); + active_user_ = user_manager::User::CreateSupervisedUser(user_id); // Leaving OAuth token status at the default state = unknown. WallpaperManager::Get()->SetUserWallpaperNow(user_id); } else { @@ -1285,7 +1309,7 @@ void UserManagerImpl::SupervisedUserLoggedIn( g_browser_process->local_state()->CommitPendingWrite(); } -void UserManagerImpl::PublicAccountUserLoggedIn(User* user) { +void UserManagerImpl::PublicAccountUserLoggedIn(user_manager::User* user) { is_current_user_new_ = true; active_user_ = user; // The UserImageManager chooses a random avatar picture when a user logs in @@ -1303,8 +1327,13 @@ void UserManagerImpl::KioskAppLoggedIn(const std::string& app_id) { DCHECK_EQ(policy::DeviceLocalAccount::TYPE_KIOSK_APP, device_local_account_type); - active_user_ = User::CreateKioskAppUser(app_id); - active_user_->SetStubImage(User::kInvalidImageIndex, false); + active_user_ = user_manager::User::CreateKioskAppUser(app_id); + active_user_->SetStubImage( + user_manager::UserImage( + *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( + IDR_PROFILE_PICTURE_LOADING)), + user_manager::User::USER_IMAGE_INVALID, + false); WallpaperManager::Get()->SetUserWallpaperNow(app_id); @@ -1342,8 +1371,14 @@ void UserManagerImpl::KioskAppLoggedIn(const std::string& app_id) { void UserManagerImpl::DemoAccountLoggedIn() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - active_user_ = User::CreateKioskAppUser(DemoAppLauncher::kDemoUserName); - active_user_->SetStubImage(User::kInvalidImageIndex, false); + active_user_ = + user_manager::User::CreateKioskAppUser(DemoAppLauncher::kDemoUserName); + active_user_->SetStubImage( + user_manager::UserImage( + *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( + IDR_PROFILE_PICTURE_LOADING)), + user_manager::User::USER_IMAGE_INVALID, + false); WallpaperManager::Get()->SetUserWallpaperNow(DemoAppLauncher::kDemoUserName); CommandLine* command_line = CommandLine::ForCurrentProcess(); @@ -1360,7 +1395,7 @@ void UserManagerImpl::DemoAccountLoggedIn() { void UserManagerImpl::RetailModeUserLoggedIn() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); is_current_user_new_ = true; - active_user_ = User::CreateRetailModeUser(); + active_user_ = user_manager::User::CreateRetailModeUser(); GetUserImageManager(chromeos::login::kRetailModeUserName) ->UserLoggedIn(is_current_user_new_, true); WallpaperManager::Get()->SetUserWallpaperNow( @@ -1382,29 +1417,29 @@ void UserManagerImpl::NotifyOnLogin() { content::NotificationService::current()->Notify( chrome::NOTIFICATION_LOGIN_USER_CHANGED, content::Source<UserManager>(this), - content::Details<const User>(active_user_)); + content::Details<const user_manager::User>(active_user_)); UserSessionManager::GetInstance()->PerformPostUserLoggedInActions(); } -User::OAuthTokenStatus UserManagerImpl::LoadUserOAuthStatus( +user_manager::User::OAuthTokenStatus UserManagerImpl::LoadUserOAuthStatus( const std::string& user_id) const { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); PrefService* local_state = g_browser_process->local_state(); const base::DictionaryValue* prefs_oauth_status = local_state->GetDictionary(kUserOAuthTokenStatus); - int oauth_token_status = User::OAUTH_TOKEN_STATUS_UNKNOWN; + int oauth_token_status = user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN; if (prefs_oauth_status && prefs_oauth_status->GetIntegerWithoutPathExpansion( user_id, &oauth_token_status)) { - User::OAuthTokenStatus result = - static_cast<User::OAuthTokenStatus>(oauth_token_status); - if (result == User::OAUTH2_TOKEN_STATUS_INVALID) + user_manager::User::OAuthTokenStatus result = + static_cast<user_manager::User::OAuthTokenStatus>(oauth_token_status); + if (result == user_manager::User::OAUTH2_TOKEN_STATUS_INVALID) GetUserFlow(user_id)->HandleOAuthTokenStatusChange(result); return result; } - return User::OAUTH_TOKEN_STATUS_UNKNOWN; + return user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN; } bool UserManagerImpl::LoadForceOnlineSignin(const std::string& user_id) const { @@ -1453,13 +1488,14 @@ void UserManagerImpl::RemoveNonCryptohomeData(const std::string& user_id) { multi_profile_user_controller_->RemoveCachedValues(user_id); } -User* UserManagerImpl::RemoveRegularOrSupervisedUserFromList( +user_manager::User* UserManagerImpl::RemoveRegularOrSupervisedUserFromList( const std::string& user_id) { ListPrefUpdate prefs_users_update(g_browser_process->local_state(), kRegularUsers); prefs_users_update->Clear(); - User* user = NULL; - for (UserList::iterator it = users_.begin(); it != users_.end(); ) { + user_manager::User* user = NULL; + for (user_manager::UserList::iterator it = users_.begin(); + it != users_.end();) { const std::string user_email = (*it)->email(); if (user_email == user_id) { user = *it; @@ -1492,7 +1528,9 @@ void UserManagerImpl::CleanUpPublicAccountNonCryptohomeDataPendingRemoval() { void UserManagerImpl::CleanUpPublicAccountNonCryptohomeData( const std::vector<std::string>& old_public_accounts) { std::set<std::string> users; - for (UserList::const_iterator it = users_.begin(); it != users_.end(); ++it) + for (user_manager::UserList::const_iterator it = users_.begin(); + it != users_.end(); + ++it) users.insert((*it)->email()); // If the user is logged into a public account that has been removed from the @@ -1523,7 +1561,9 @@ bool UserManagerImpl::UpdateAndCleanUpPublicAccounts( // Get the current list of public accounts. std::vector<std::string> old_public_accounts; - for (UserList::const_iterator it = users_.begin(); it != users_.end(); ++it) { + for (user_manager::UserList::const_iterator it = users_.begin(); + it != users_.end(); + ++it) { if ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT) old_public_accounts.push_back((*it)->email()); } @@ -1563,7 +1603,8 @@ bool UserManagerImpl::UpdateAndCleanUpPublicAccounts( } // Remove the old public accounts from the user list. - for (UserList::iterator it = users_.begin(); it != users_.end();) { + for (user_manager::UserList::iterator it = users_.begin(); + it != users_.end();) { if ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT) { if (*it != GetLoggedInUser()) DeleteUser(*it); @@ -1580,13 +1621,16 @@ bool UserManagerImpl::UpdateAndCleanUpPublicAccounts( if (IsLoggedInAsPublicAccount() && *it == GetActiveUser()->email()) users_.insert(users_.begin(), GetLoggedInUser()); else - users_.insert(users_.begin(), User::CreatePublicAccountUser(*it)); + users_.insert(users_.begin(), + user_manager::User::CreatePublicAccountUser(*it)); UpdatePublicAccountDisplayName(*it); } - for (UserList::iterator ui = users_.begin(), - ue = users_.begin() + new_public_accounts.size(); - ui != ue; ++ui) { + for (user_manager::UserList::iterator + ui = users_.begin(), + ue = users_.begin() + new_public_accounts.size(); + ui != ue; + ++ui) { GetUserImageManager((*ui)->email())->LoadUserImage(); } @@ -1663,14 +1707,16 @@ void UserManagerImpl::NotifyUserListChanged() { content::NotificationService::NoDetails()); } -void UserManagerImpl::NotifyActiveUserChanged(const User* active_user) { +void UserManagerImpl::NotifyActiveUserChanged( + const user_manager::User* active_user) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); FOR_EACH_OBSERVER(UserManager::UserSessionStateObserver, session_state_observer_list_, ActiveUserChanged(active_user)); } -void UserManagerImpl::NotifyUserAddedToSession(const User* added_user) { +void UserManagerImpl::NotifyUserAddedToSession( + const user_manager::User* added_user) { UpdateNumberOfUsers(); DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); FOR_EACH_OBSERVER(UserManager::UserSessionStateObserver, @@ -1718,10 +1764,9 @@ void UserManagerImpl::UpdateLoginState() { } } -void UserManagerImpl::SetLRUUser(User* user) { - UserList::iterator it = std::find(lru_logged_in_users_.begin(), - lru_logged_in_users_.end(), - user); +void UserManagerImpl::SetLRUUser(user_manager::User* user) { + user_manager::UserList::iterator it = + std::find(lru_logged_in_users_.begin(), lru_logged_in_users_.end(), user); if (it != lru_logged_in_users_.end()) lru_logged_in_users_.erase(it); lru_logged_in_users_.insert(lru_logged_in_users_.begin(), user); @@ -1768,7 +1813,7 @@ void UserManagerImpl::UpdateUserAccountLocale(const std::string& user_id, void UserManagerImpl::DoUpdateAccountLocale( const std::string& user_id, const std::string& resolved_locale) { - if (User* user = FindUserAndModify(user_id)) + if (user_manager::User* user = FindUserAndModify(user_id)) user->SetAccountLocale(resolved_locale); } @@ -1784,7 +1829,7 @@ void UserManagerImpl::UpdateNumberOfUsers() { base::StringPrintf("%" PRIuS, GetLoggedInUsers().size())); } -void UserManagerImpl::DeleteUser(User* user) { +void UserManagerImpl::DeleteUser(user_manager::User* user) { const bool is_active_user = (user == active_user_); delete user; if (is_active_user) diff --git a/chrome/browser/chromeos/login/users/user_manager_impl.h b/chrome/browser/chromeos/login/users/user_manager_impl.h index 738f87c..46ed7c9 100644 --- a/chrome/browser/chromeos/login/users/user_manager_impl.h +++ b/chrome/browser/chromeos/login/users/user_manager_impl.h @@ -18,13 +18,13 @@ #include "base/time/time.h" #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h" #include "chrome/browser/chromeos/login/users/multi_profile_user_controller_delegate.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" #include "chrome/browser/chromeos/policy/cloud_external_data_policy_observer.h" #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" #include "chrome/browser/chromeos/settings/cros_settings.h" #include "chrome/browser/chromeos/settings/device_settings_service.h" +#include "components/user_manager/user.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" @@ -58,11 +58,12 @@ class UserManagerImpl virtual UserImageManager* GetUserImageManager( const std::string& user_id) OVERRIDE; virtual SupervisedUserManager* GetSupervisedUserManager() OVERRIDE; - virtual const UserList& GetUsers() const OVERRIDE; - virtual UserList GetUsersAdmittedForMultiProfile() const OVERRIDE; - virtual const UserList& GetLoggedInUsers() const OVERRIDE; - virtual const UserList& GetLRULoggedInUsers() OVERRIDE; - virtual UserList GetUnlockUsers() const OVERRIDE; + virtual const user_manager::UserList& GetUsers() const OVERRIDE; + virtual user_manager::UserList GetUsersAdmittedForMultiProfile() + const OVERRIDE; + virtual const user_manager::UserList& GetLoggedInUsers() const OVERRIDE; + virtual const user_manager::UserList& GetLRULoggedInUsers() OVERRIDE; + virtual user_manager::UserList GetUnlockUsers() const OVERRIDE; virtual const std::string& GetOwnerEmail() OVERRIDE; virtual void UserLoggedIn(const std::string& user_id, const std::string& user_id_hash, @@ -73,16 +74,18 @@ class UserManagerImpl RemoveUserDelegate* delegate) OVERRIDE; virtual void RemoveUserFromList(const std::string& user_id) OVERRIDE; virtual bool IsKnownUser(const std::string& user_id) const OVERRIDE; - virtual const User* FindUser(const std::string& user_id) const OVERRIDE; - virtual User* FindUserAndModify(const std::string& user_id) OVERRIDE; - virtual const User* GetLoggedInUser() const OVERRIDE; - virtual User* GetLoggedInUser() OVERRIDE; - virtual const User* GetActiveUser() const OVERRIDE; - virtual User* GetActiveUser() OVERRIDE; - virtual const User* GetPrimaryUser() const OVERRIDE; + virtual const user_manager::User* FindUser( + const std::string& user_id) const OVERRIDE; + virtual user_manager::User* FindUserAndModify( + const std::string& user_id) OVERRIDE; + virtual const user_manager::User* GetLoggedInUser() const OVERRIDE; + virtual user_manager::User* GetLoggedInUser() OVERRIDE; + virtual const user_manager::User* GetActiveUser() const OVERRIDE; + virtual user_manager::User* GetActiveUser() OVERRIDE; + virtual const user_manager::User* GetPrimaryUser() const OVERRIDE; virtual void SaveUserOAuthStatus( const std::string& user_id, - User::OAuthTokenStatus oauth_token_status) OVERRIDE; + user_manager::User::OAuthTokenStatus oauth_token_status) OVERRIDE; virtual void SaveForceOnlineSignin(const std::string& user_id, bool force_online_signin) OVERRIDE; virtual void SaveUserDisplayName(const std::string& user_id, @@ -180,18 +183,18 @@ class UserManagerImpl // Returns a list of users who have logged into this device previously. // Same as GetUsers but used if you need to modify User from that list. - UserList& GetUsersAndModify(); + user_manager::UserList& GetUsersAndModify(); // Returns the user with the given email address if found in the persistent // list. Returns |NULL| otherwise. - const User* FindUserInList(const std::string& user_id) const; + const user_manager::User* FindUserInList(const std::string& user_id) const; // Returns |true| if user with the given id is found in the persistent list. // Returns |false| otherwise. Does not trigger user loading. const bool UserExistsInList(const std::string& user_id) const; // Same as FindUserInList but returns non-const pointer to User object. - User* FindUserInListAndModify(const std::string& user_id); + user_manager::User* FindUserInListAndModify(const std::string& user_id); // Indicates that a user just logged in as guest. void GuestUserLoggedIn(); @@ -206,7 +209,7 @@ class UserManagerImpl void SupervisedUserLoggedIn(const std::string& user_id); // Indicates that a user just logged into a public session. - void PublicAccountUserLoggedIn(User* user); + void PublicAccountUserLoggedIn(user_manager::User* user); // Indicates that a kiosk app robot just logged in. void KioskAppLoggedIn(const std::string& app_id); @@ -222,7 +225,8 @@ class UserManagerImpl void NotifyOnLogin(); // Reads user's oauth token status from local state preferences. - User::OAuthTokenStatus LoadUserOAuthStatus(const std::string& user_id) const; + user_manager::User::OAuthTokenStatus LoadUserOAuthStatus( + const std::string& user_id) const; // Read a flag indicating whether online authentication against GAIA should // be enforced during the user's next sign-in from local state preferences. @@ -240,7 +244,8 @@ class UserManagerImpl // Removes a regular or supervised user from the user list. // Returns the user if found or NULL otherwise. // Also removes the user from the persistent user list. - User* RemoveRegularOrSupervisedUserFromList(const std::string& user_id); + user_manager::User* RemoveRegularOrSupervisedUserFromList( + const std::string& user_id); // If data for a public account is marked as pending removal and the user is // no longer logged into that account, removes the data. @@ -272,10 +277,10 @@ class UserManagerImpl void NotifyMergeSessionStateChanged(); // Notifies observers that active user has changed. - void NotifyActiveUserChanged(const User* active_user); + void NotifyActiveUserChanged(const user_manager::User* active_user); // Notifies observers that another user was added to the session. - void NotifyUserAddedToSession(const User* added_user); + void NotifyUserAddedToSession(const user_manager::User* added_user); // Notifies observers that active user_id hash has changed. void NotifyActiveUserHashChanged(const std::string& hash); @@ -287,11 +292,11 @@ class UserManagerImpl void UpdateLoginState(); // Insert |user| at the front of the LRU user list. - void SetLRUUser(User* user); + void SetLRUUser(user_manager::User* user); // Adds |user| to users list, and adds it to front of LRU list. It is assumed // that there is no user with same id. - void AddUserRecord(User* user); + void AddUserRecord(user_manager::User* user); // Sends metrics in response to a regular user logging in. void SendRegularUserLoginMetrics(const std::string& user_id); @@ -323,7 +328,7 @@ class UserManagerImpl // A wrapper around C++ delete operator. Deletes |user|, and when |user| // equals to active_user_, active_user_ is reset to NULL. - void DeleteUser(User* user); + void DeleteUser(user_manager::User* user); // Interface to the signed settings store. CrosSettings* cros_settings_; @@ -337,29 +342,29 @@ class UserManagerImpl // List of all known users. User instances are owned by |this|. Regular users // are removed by |RemoveUserFromList|, public accounts by // |UpdateAndCleanUpPublicAccounts|. - UserList users_; + user_manager::UserList users_; // List of all users that are logged in current session. These point to User // instances in |users_|. Only one of them could be marked as active. - UserList logged_in_users_; + user_manager::UserList logged_in_users_; // A list of all users that are logged in the current session. In contrast to // |logged_in_users|, the order of this list is least recently used so that // the active user should always be the first one in the list. - UserList lru_logged_in_users_; + user_manager::UserList lru_logged_in_users_; // The list which gets reported when the |lru_logged_in_users_| list is empty. - UserList temp_single_logged_in_users_; + user_manager::UserList temp_single_logged_in_users_; // The logged-in user that is currently active in current session. // NULL until a user has logged in, then points to one // of the User instances in |users_|, the |guest_user_| instance or an // ephemeral user instance. - User* active_user_; + user_manager::User* active_user_; // The primary user of the current session. It is recorded for the first // signed-in user and does not change thereafter. - User* primary_user_; + user_manager::User* primary_user_; // True if SessionStarted() has been called. bool session_started_; diff --git a/chrome/browser/chromeos/login/users/user_manager_unittest.cc b/chrome/browser/chromeos/login/users/user_manager_unittest.cc index 8aa2f16..ed16b5d 100644 --- a/chrome/browser/chromeos/login/users/user_manager_unittest.cc +++ b/chrome/browser/chromeos/login/users/user_manager_unittest.cc @@ -12,7 +12,6 @@ #include "base/run_loop.h" #include "base/values.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/user_manager_impl.h" #include "chrome/browser/chromeos/settings/cros_settings.h" @@ -27,6 +26,7 @@ #include "chromeos/dbus/fake_dbus_thread_manager.h" #include "chromeos/settings/cros_settings_names.h" #include "chromeos/settings/cros_settings_provider.h" +#include "components/user_manager/user.h" #include "content/public/common/content_switches.h" #include "content/public/test/test_browser_thread_bundle.h" #include "testing/gtest/include/gtest/gtest.h" @@ -185,7 +185,7 @@ TEST_F(UserManagerTest, RemoveAllExceptOwnerFromList) { "user1@invalid.domain", "owner@invalid.domain", false); ResetUserManager(); - const UserList* users = &UserManager::Get()->GetUsers(); + const user_manager::UserList* users = &UserManager::Get()->GetUsers(); ASSERT_EQ(3U, users->size()); EXPECT_EQ((*users)[0]->email(), "user1@invalid.domain"); EXPECT_EQ((*users)[1]->email(), "user0@invalid.domain"); @@ -210,7 +210,7 @@ TEST_F(UserManagerTest, RegularUserLoggedInAsEphemeral) { "user0@invalid.domain", "user0@invalid.domain", false); ResetUserManager(); - const UserList* users = &UserManager::Get()->GetUsers(); + const user_manager::UserList* users = &UserManager::Get()->GetUsers(); EXPECT_EQ(1U, users->size()); EXPECT_EQ((*users)[0]->email(), "owner@invalid.domain"); } diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc index cea01d3..611d8e5 100644 --- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc +++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc @@ -33,7 +33,6 @@ #include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chromeos/customization_document.h" #include "chrome/browser/chromeos/login/startup_utils.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/chromeos/settings/cros_settings.h" @@ -43,6 +42,7 @@ #include "chromeos/chromeos_switches.h" #include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/login/user_names.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_image/user_image.h" #include "components/user_manager/user_type.h" #include "content/public/browser/browser_thread.h" @@ -207,11 +207,12 @@ bool SaveWallpaperInternal(const base::FilePath& path, // Returns index of the first public session user found in |users| // or -1 otherwise. -int FindPublicSession(const chromeos::UserList& users) { +int FindPublicSession(const user_manager::UserList& users) { int index = -1; int i = 0; - for (UserList::const_iterator it = users.begin(); - it != users.end(); ++it, ++i) { + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it, ++i) { if ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT) { index = i; break; @@ -554,8 +555,9 @@ void WallpaperManager::ClearDisposableWallpaperCache() { weak_factory_.InvalidateWeakPtrs(); // Keep the wallpaper of logged in users in cache at multi-profile mode. std::set<std::string> logged_in_users_names; - const UserList& logged_users = UserManager::Get()->GetLoggedInUsers(); - for (UserList::const_iterator it = logged_users.begin(); + const user_manager::UserList& logged_users = + UserManager::Get()->GetLoggedInUsers(); + for (user_manager::UserList::const_iterator it = logged_users.begin(); it != logged_users.end(); ++it) { logged_in_users_names.insert((*it)->email()); @@ -579,7 +581,8 @@ bool WallpaperManager::GetLoggedInUserWallpaperInfo(WallpaperInfo* info) { info->file = current_user_wallpaper_info_.file = ""; info->layout = current_user_wallpaper_info_.layout = ash::WALLPAPER_LAYOUT_CENTER_CROPPED; - info->type = current_user_wallpaper_info_.type = User::DEFAULT; + info->type = current_user_wallpaper_info_.type = + user_manager::User::DEFAULT; info->date = current_user_wallpaper_info_.date = base::Time::Now().LocalMidnight(); return true; @@ -777,14 +780,14 @@ bool WallpaperManager::IsPolicyControlled(const std::string& user_id) const { chromeos::WallpaperInfo info; if (!GetUserWallpaperInfo(user_id, &info)) return false; - return info.type == chromeos::User::POLICY; + return info.type == user_manager::User::POLICY; } void WallpaperManager::OnPolicySet(const std::string& policy, const std::string& user_id) { WallpaperInfo info; GetUserWallpaperInfo(user_id, &info); - info.type = User::POLICY; + info.type = user_manager::User::POLICY; SetUserWallpaperInfo(user_id, info, true /* is_persistent */); } @@ -792,7 +795,7 @@ void WallpaperManager::OnPolicyCleared(const std::string& policy, const std::string& user_id) { WallpaperInfo info; GetUserWallpaperInfo(user_id, &info); - info.type = User::DEFAULT; + info.type = user_manager::User::DEFAULT; SetUserWallpaperInfo(user_id, info, true /* is_persistent */); SetDefaultWallpaperNow(user_id); } @@ -835,7 +838,8 @@ base::FilePath WallpaperManager::GetCustomWallpaperPath( void WallpaperManager::SetPolicyControlledWallpaper( const std::string& user_id, const user_manager::UserImage& user_image) { - const User *user = chromeos::UserManager::Get()->FindUser(user_id); + const user_manager::User* user = + chromeos::UserManager::Get()->FindUser(user_id); if (!user) { NOTREACHED() << "Unknown user."; return; @@ -844,18 +848,19 @@ void WallpaperManager::SetPolicyControlledWallpaper( user->username_hash(), "policy-controlled.jpeg", ash::WALLPAPER_LAYOUT_CENTER_CROPPED, - User::POLICY, + user_manager::User::POLICY, user_image.image(), true /* update wallpaper */); } -void WallpaperManager::SetCustomWallpaper(const std::string& user_id, - const std::string& user_id_hash, - const std::string& file, - ash::WallpaperLayout layout, - User::WallpaperType type, - const gfx::ImageSkia& image, - bool update_wallpaper) { +void WallpaperManager::SetCustomWallpaper( + const std::string& user_id, + const std::string& user_id_hash, + const std::string& file, + ash::WallpaperLayout layout, + user_manager::User::WallpaperType type, + const gfx::ImageSkia& image, + bool update_wallpaper) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); DCHECK(UserManager::Get()->IsUserLoggedIn()); @@ -864,7 +869,7 @@ void WallpaperManager::SetCustomWallpaper(const std::string& user_id, return; // Don't allow custom wallpapers while policy is in effect. - if (type != User::POLICY && IsPolicyControlled(user_id)) + if (type != user_manager::User::POLICY && IsPolicyControlled(user_id)) return; base::FilePath wallpaper_path = @@ -983,9 +988,10 @@ void WallpaperManager::DoSetDefaultWallpaper( } // static -void WallpaperManager::RecordUma(User::WallpaperType type, int index) { +void WallpaperManager::RecordUma(user_manager::User::WallpaperType type, + int index) { UMA_HISTOGRAM_ENUMERATION( - "Ash.Wallpaper.Type", type, User::WALLPAPER_TYPE_COUNT); + "Ash.Wallpaper.Type", type, user_manager::User::WALLPAPER_TYPE_COUNT); } // static @@ -1103,7 +1109,7 @@ void WallpaperManager::InitInitialUserWallpaper(const std::string& user_id, bool is_persistent) { current_user_wallpaper_info_.file = ""; current_user_wallpaper_info_.layout = ash::WALLPAPER_LAYOUT_CENTER_CROPPED; - current_user_wallpaper_info_.type = User::DEFAULT; + current_user_wallpaper_info_.type = user_manager::User::DEFAULT; current_user_wallpaper_info_.date = base::Time::Now().LocalMidnight(); WallpaperInfo info = current_user_wallpaper_info_; @@ -1149,7 +1155,7 @@ void WallpaperManager::ScheduleSetUserWallpaper(const std::string& user_id, if (UserManager::Get()->IsLoggedInAsKioskApp()) return; // Guest user, regular user in ephemeral mode, or kiosk app. - const User* user = UserManager::Get()->FindUser(user_id); + const user_manager::User* user = UserManager::Get()->FindUser(user_id); if (UserManager::Get()->IsUserNonCryptohomeDataEphemeral(user_id) || (user != NULL && user->GetType() == user_manager::USER_TYPE_KIOSK_APP)) { InitInitialUserWallpaper(user_id, false); @@ -1182,7 +1188,8 @@ void WallpaperManager::ScheduleSetUserWallpaper(const std::string& user_id, return; } - if (info.type == User::CUSTOMIZED || info.type == User::POLICY) { + if (info.type == user_manager::User::CUSTOMIZED || + info.type == user_manager::User::POLICY) { const char* sub_dir = GetCustomWallpaperSubdirForCurrentResolution(); // Wallpaper is not resized when layout is ash::WALLPAPER_LAYOUT_CENTER. // Original wallpaper should be used in this case. @@ -1269,10 +1276,10 @@ bool WallpaperManager::GetWallpaperFromCache(const std::string& user_id, void WallpaperManager::CacheUsersWallpapers() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - UserList users = UserManager::Get()->GetUsers(); + user_manager::UserList users = UserManager::Get()->GetUsers(); if (!users.empty()) { - UserList::const_iterator it = users.begin(); + user_manager::UserList::const_iterator it = users.begin(); // Skip the wallpaper of first user in the list. It should have been cached. it++; for (int cached = 0; @@ -1294,7 +1301,8 @@ void WallpaperManager::CacheUserWallpaper(const std::string& user_id) { base::FilePath wallpaper_dir; base::FilePath wallpaper_path; - if (info.type == User::CUSTOMIZED || info.type == User::POLICY) { + if (info.type == user_manager::User::CUSTOMIZED || + info.type == user_manager::User::POLICY) { const char* sub_dir = GetCustomWallpaperSubdirForCurrentResolution(); base::FilePath wallpaper_path = GetCustomWallpaperDir(sub_dir); wallpaper_path = wallpaper_path.Append(info.file); @@ -1383,7 +1391,7 @@ void WallpaperManager::InitializeRegisteredDeviceWallpaper() { kAccountsPrefShowUserNamesOnSignIn, &show_users); DCHECK(result) << "Unable to fetch setting " << kAccountsPrefShowUserNamesOnSignIn; - const chromeos::UserList& users = UserManager::Get()->GetUsers(); + const user_manager::UserList& users = UserManager::Get()->GetUsers(); int public_session_user_index = FindPublicSession(users); if ((!show_users && public_session_user_index == -1) || users.empty()) { // Boot into sign in form, preload default wallpaper. @@ -1408,7 +1416,8 @@ void WallpaperManager::LoadWallpaper(const std::string& user_id, base::FilePath wallpaper_path; // Do a sanity check that file path information is not empty. - if (info.type == User::ONLINE || info.type == User::DEFAULT) { + if (info.type == user_manager::User::ONLINE || + info.type == user_manager::User::DEFAULT) { if (info.file.empty()) { if (base::SysInfo::IsRunningOnChromeOS()) { NOTREACHED() << "User wallpaper info appears to be broken: " << user_id; @@ -1424,7 +1433,7 @@ void WallpaperManager::LoadWallpaper(const std::string& user_id, } } - if (info.type == User::ONLINE) { + if (info.type == user_manager::User::ONLINE) { std::string file_name = GURL(info.file).ExtractFileName(); WallpaperResolution resolution = GetAppropriateResolution(); // Only solid color wallpapers have stretch layout and they have only one @@ -1445,7 +1454,7 @@ void WallpaperManager::LoadWallpaper(const std::string& user_id, loaded_wallpapers_++; StartLoad( user_id, info, update_wallpaper, wallpaper_path, on_finish.Pass()); - } else if (info.type == User::DEFAULT) { + } else if (info.type == user_manager::User::DEFAULT) { // Default wallpapers are migrated from M21 user profiles. A code refactor // overlooked that case and caused these wallpapers not being loaded at all. // On some slow devices, it caused login webui not visible after upgrade to @@ -1502,7 +1511,7 @@ bool WallpaperManager::GetUserWallpaperInfo(const std::string& user_id, info->file = file; info->layout = static_cast<ash::WallpaperLayout>(layout); - info->type = static_cast<User::WallpaperType>(type); + info->type = static_cast<user_manager::User::WallpaperType>(type); info->date = base::Time::FromInternalValue(date_val); return true; } @@ -1512,7 +1521,7 @@ void WallpaperManager::MoveCustomWallpapersSuccess( const std::string& user_id_hash) { WallpaperInfo info; GetUserWallpaperInfo(user_id, &info); - if (info.type == User::CUSTOMIZED) { + if (info.type == user_manager::User::CUSTOMIZED) { // New file field should include user id hash in addition to file name. // This is needed because at login screen, user id hash is not available. std::string relative_path = @@ -1525,7 +1534,8 @@ void WallpaperManager::MoveCustomWallpapersSuccess( } void WallpaperManager::MoveLoggedInUserCustomWallpaper() { - const User* logged_in_user = UserManager::Get()->GetLoggedInUser(); + const user_manager::User* logged_in_user = + UserManager::Get()->GetLoggedInUser(); task_runner_->PostTask( FROM_HERE, base::Bind(&WallpaperManager::MoveCustomWallpapersOnWorker, @@ -1547,12 +1557,9 @@ void WallpaperManager::OnWallpaperDecoded( // Use default wallpaper in this case. if (user_image.image().isNull()) { // Updates user pref to default wallpaper. - WallpaperInfo info = { - "", - ash::WALLPAPER_LAYOUT_CENTER_CROPPED, - User::DEFAULT, - base::Time::Now().LocalMidnight() - }; + WallpaperInfo info = {"", ash::WALLPAPER_LAYOUT_CENTER_CROPPED, + user_manager::User::DEFAULT, + base::Time::Now().LocalMidnight()}; SetUserWallpaperInfo(user_id, info, true); if (update_wallpaper) diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h index 6f5f5e4..cc76445 100644 --- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h +++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h @@ -18,8 +18,8 @@ #include "base/threading/sequenced_worker_pool.h" #include "base/time/time.h" #include "chrome/browser/chromeos/login/users/avatar/user_image_loader.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/settings/cros_settings.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_image/user_image.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" @@ -34,6 +34,7 @@ class SequencedTaskRunner; } namespace user_manager { +class User; class UserImage; } @@ -43,7 +44,7 @@ struct WallpaperInfo { // Online wallpaper URL or file name of migrated wallpaper. std::string file; ash::WallpaperLayout layout; - User::WallpaperType type; + user_manager::User::WallpaperType type; base::Time date; bool operator==(const WallpaperInfo& other) { return (file == other.file) && (layout == other.layout) && @@ -268,7 +269,7 @@ class WallpaperManager: public content::NotificationObserver { const std::string& user_id_hash, const std::string& file, ash::WallpaperLayout layout, - User::WallpaperType type, + user_manager::User::WallpaperType type, const gfx::ImageSkia& image, bool update_wallpaper); @@ -355,7 +356,7 @@ class WallpaperManager: public content::NotificationObserver { // Record data for User Metrics Analysis. - static void RecordUma(User::WallpaperType type, int index); + static void RecordUma(user_manager::User::WallpaperType type, int index); // Saves original custom wallpaper to |path| (absolute path) on filesystem // and starts resizing operation of the custom wallpaper if necessary. diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_browsertest.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_browsertest.cc index 9ecee43..72b66e1 100644 --- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_browsertest.cc +++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_browsertest.cc @@ -24,7 +24,6 @@ #include "base/strings/string_number_conversions.h" #include "base/time/time.h" #include "base/values.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_test_utils.h" #include "chrome/common/chrome_paths.h" @@ -32,6 +31,7 @@ #include "chrome/test/base/testing_browser_process.h" #include "chromeos/chromeos_switches.h" #include "chromeos/login/user_names.h" +#include "components/user_manager/user.h" #include "content/public/test/test_utils.h" #include "ui/aura/env.h" #include "ui/gfx/image/image_skia.h" @@ -177,12 +177,9 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTest, std::string relative_path = base::FilePath(kTestUser1Hash).Append(id).value(); // Saves wallpaper info to local state for user |kTestUser1|. - WallpaperInfo info = { - relative_path, - WALLPAPER_LAYOUT_CENTER_CROPPED, - User::CUSTOMIZED, - base::Time::Now().LocalMidnight() - }; + WallpaperInfo info = {relative_path, WALLPAPER_LAYOUT_CENTER_CROPPED, + user_manager::User::CUSTOMIZED, + base::Time::Now().LocalMidnight()}; wallpaper_manager->SetUserWallpaperInfo(kTestUser1, info, true); // Set the wallpaper for |kTestUser1|. @@ -262,12 +259,9 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTest, std::string relative_path = base::FilePath(kTestUser1Hash).Append(id).value(); // Saves wallpaper info to local state for user |kTestUser1|. - WallpaperInfo info = { - relative_path, - WALLPAPER_LAYOUT_CENTER_CROPPED, - User::CUSTOMIZED, - base::Time::Now().LocalMidnight() - }; + WallpaperInfo info = {relative_path, WALLPAPER_LAYOUT_CENTER_CROPPED, + user_manager::User::CUSTOMIZED, + base::Time::Now().LocalMidnight()}; wallpaper_manager->SetUserWallpaperInfo(kTestUser1, info, true); wallpaper_manager->SetUserWallpaperNow(kTestUser1); @@ -294,12 +288,9 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTest, // Old wallpaper migration code doesn't exist in codebase anymore. Modify user // wallpaper info directly to simulate the wallpaper migration. See // crosbug.com/38429 for details about why we modify wallpaper info this way. - WallpaperInfo info = { - "123", - WALLPAPER_LAYOUT_CENTER_CROPPED, - User::DEFAULT, - base::Time::Now().LocalMidnight() - }; + WallpaperInfo info = {"123", WALLPAPER_LAYOUT_CENTER_CROPPED, + user_manager::User::DEFAULT, + base::Time::Now().LocalMidnight()}; base::FilePath user_data_dir; ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)); ASSERT_TRUE(wallpaper_manager_test_utils::WriteJPEGFile( @@ -374,12 +365,9 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTestNoAnimation, // Old wallpaper migration code doesn't exist in codebase anymore. Modify user // wallpaper info directly to simulate the wallpaper migration. See // crosbug.com/38429 for details about why we modify wallpaper info this way. - WallpaperInfo info = { - "123", - WALLPAPER_LAYOUT_CENTER_CROPPED, - User::DEFAULT, - base::Time::Now().LocalMidnight() - }; + WallpaperInfo info = {"123", WALLPAPER_LAYOUT_CENTER_CROPPED, + user_manager::User::DEFAULT, + base::Time::Now().LocalMidnight()}; base::FilePath user_data_dir; ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)); ASSERT_TRUE(wallpaper_manager_test_utils::WriteJPEGFile( @@ -490,12 +478,9 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTestCacheUpdate, std::string relative_path = base::FilePath(kTestUser1Hash).Append(id).value(); // Saves wallpaper info to local state for user |kTestUser1|. - WallpaperInfo info = { - relative_path, - WALLPAPER_LAYOUT_CENTER_CROPPED, - User::CUSTOMIZED, - base::Time::Now().LocalMidnight() - }; + WallpaperInfo info = {relative_path, WALLPAPER_LAYOUT_CENTER_CROPPED, + user_manager::User::CUSTOMIZED, + base::Time::Now().LocalMidnight()}; wallpaper_manager->SetUserWallpaperInfo(kTestUser1, info, true); wallpaper_manager->SetUserWallpaperNow(kTestUser1); wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); @@ -551,7 +536,7 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTestCacheUpdate, kTestUser1Hash, "dummy", // dummy file name WALLPAPER_LAYOUT_CENTER, - User::CUSTOMIZED, + user_manager::User::CUSTOMIZED, green_wallpaper, true); wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); @@ -791,7 +776,7 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTest, "test_hash", "test-nofile.jpeg", WALLPAPER_LAYOUT_STRETCH, - User::CUSTOMIZED, + user_manager::User::CUSTOMIZED, image, true); wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc index fd05191..88fe581 100644 --- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc +++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager_policy_browsertest.cc @@ -20,7 +20,6 @@ #include "chrome/browser/chromeos/login/login_manager_test.h" #include "chrome/browser/chromeos/login/startup_utils.h" #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_util.h" @@ -40,6 +39,7 @@ #include "components/policy/core/common/cloud/cloud_policy_store.h" #include "components/policy/core/common/cloud/cloud_policy_validator.h" #include "components/policy/core/common/cloud/policy_builder.h" +#include "components/user_manager/user.h" #include "content/public/test/browser_test_utils.h" #include "crypto/rsa_private_key.h" #include "net/test/embedded_test_server/embedded_test_server.h" @@ -63,7 +63,7 @@ const char kBlueImageFileName[] = "chromeos/wallpapers/blue.jpg"; const SkColor kRedImageColor = SkColorSetARGB(255, 199, 6, 7); const SkColor kGreenImageColor = SkColorSetARGB(255, 38, 196, 15); -policy::CloudPolicyStore* GetStoreForUser(const User* user) { +policy::CloudPolicyStore* GetStoreForUser(const user_manager::User* user) { Profile* profile = ProfileHelper::Get()->GetProfileByUser(user); if (!profile) { ADD_FAILURE(); @@ -245,7 +245,7 @@ class WallpaperManagerPolicyTest } builder->Build(); fake_session_manager_client_->set_user_policy(user_id, builder->GetBlob()); - const User* user = UserManager::Get()->FindUser(user_id); + const user_manager::User* user = UserManager::Get()->FindUser(user_id); ASSERT_TRUE(user); policy::CloudPolicyStore* store = GetStoreForUser(user); ASSERT_TRUE(store); @@ -300,14 +300,14 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerPolicyTest, SetResetClear) { InjectPolicy(0, kRedImageFileName); RunUntilWallpaperChangeCount(2); GetUserWallpaperInfo(0, &info); - ASSERT_EQ(User::POLICY, info.type); + ASSERT_EQ(user_manager::User::POLICY, info.type); ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor()); // First user: Set wallpaper policy to green image and verify average color. InjectPolicy(0, kGreenImageFileName); RunUntilWallpaperChangeCount(3); GetUserWallpaperInfo(0, &info); - ASSERT_EQ(User::POLICY, info.type); + ASSERT_EQ(user_manager::User::POLICY, info.type); ASSERT_EQ(kGreenImageColor, GetAverageBackgroundColor()); // First user: Clear wallpaper policy and verify that the default wallpaper is @@ -315,7 +315,7 @@ IN_PROC_BROWSER_TEST_F(WallpaperManagerPolicyTest, SetResetClear) { InjectPolicy(0, ""); RunUntilWallpaperChangeCount(4); GetUserWallpaperInfo(0, &info); - ASSERT_EQ(User::DEFAULT, info.type); + ASSERT_EQ(user_manager::User::DEFAULT, info.type); ASSERT_EQ(original_background_color, GetAverageBackgroundColor()); // Check wallpaper change count to ensure that setting the second user's diff --git a/chrome/browser/chromeos/net/onc_utils.cc b/chrome/browser/chromeos/net/onc_utils.cc index 39d9ff8..febfac2 100644 --- a/chrome/browser/chromeos/net/onc_utils.cc +++ b/chrome/browser/chromeos/net/onc_utils.cc @@ -9,7 +9,6 @@ #include "base/logging.h" #include "base/prefs/pref_service.h" #include "base/values.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/ui_proxy_config.h" #include "chrome/browser/prefs/proxy_config_dictionary.h" @@ -26,6 +25,7 @@ #include "chromeos/network/onc/onc_signature.h" #include "chromeos/network/onc/onc_translator.h" #include "chromeos/network/onc/onc_utils.h" +#include "components/user_manager/user.h" #include "net/base/host_port_pair.h" #include "net/proxy/proxy_bypass_rules.h" #include "net/proxy/proxy_server.h" @@ -152,7 +152,8 @@ namespace { // user attribute. class UserStringSubstitution : public chromeos::onc::StringSubstitution { public: - explicit UserStringSubstitution(const chromeos::User* user) : user_(user) {} + explicit UserStringSubstitution(const user_manager::User* user) + : user_(user) {} virtual ~UserStringSubstitution() {} virtual bool GetSubstitute(const std::string& placeholder, @@ -167,7 +168,7 @@ class UserStringSubstitution : public chromeos::onc::StringSubstitution { } private: - const chromeos::User* user_; + const user_manager::User* user_; DISALLOW_COPY_AND_ASSIGN(UserStringSubstitution); }; @@ -175,7 +176,7 @@ class UserStringSubstitution : public chromeos::onc::StringSubstitution { } // namespace void ExpandStringPlaceholdersInNetworksForUser( - const chromeos::User* user, + const user_manager::User* user, base::ListValue* network_configs) { if (!user) { // In tests no user may be logged in. It's not harmful if we just don't @@ -186,7 +187,7 @@ void ExpandStringPlaceholdersInNetworksForUser( chromeos::onc::ExpandStringsInNetworks(substitution, network_configs); } -void ImportNetworksForUser(const chromeos::User* user, +void ImportNetworksForUser(const user_manager::User* user, const base::ListValue& network_configs, std::string* error) { error->clear(); @@ -265,7 +266,7 @@ void ImportNetworksForUser(const chromeos::User* user, const base::DictionaryValue* FindPolicyForActiveUser( const std::string& guid, ::onc::ONCSource* onc_source) { - const User* user = UserManager::Get()->GetActiveUser(); + const user_manager::User* user = UserManager::Get()->GetActiveUser(); std::string username_hash = user ? user->username_hash() : std::string(); return NetworkHandler::Get()->managed_network_configuration_handler()-> FindPolicyByGUID(username_hash, guid, onc_source); @@ -274,7 +275,7 @@ const base::DictionaryValue* FindPolicyForActiveUser( const base::DictionaryValue* GetGlobalConfigFromPolicy(bool for_active_user) { std::string username_hash; if (for_active_user) { - const User* user = UserManager::Get()->GetActiveUser(); + const user_manager::User* user = UserManager::Get()->GetActiveUser(); if (!user) { LOG(ERROR) << "No user logged in yet."; return NULL; diff --git a/chrome/browser/chromeos/net/onc_utils.h b/chrome/browser/chromeos/net/onc_utils.h index e6a30f3..3f6cae4 100644 --- a/chrome/browser/chromeos/net/onc_utils.h +++ b/chrome/browser/chromeos/net/onc_utils.h @@ -17,10 +17,13 @@ class DictionaryValue; class ListValue; } +namespace user_manager { +class User; +} + namespace chromeos { class NetworkState; -class User; namespace onc { @@ -38,10 +41,10 @@ scoped_ptr<base::DictionaryValue> ConvertOncProxySettingsToProxyConfig( // implemented, which are replaced by attributes of the logged-in user with // |hashed_username|. void ExpandStringPlaceholdersInNetworksForUser( - const chromeos::User* user, + const user_manager::User* user, base::ListValue* network_configs); -void ImportNetworksForUser(const chromeos::User* user, +void ImportNetworksForUser(const user_manager::User* user, const base::ListValue& network_configs, std::string* error); diff --git a/chrome/browser/chromeos/options/network_config_view.cc b/chrome/browser/chromeos/options/network_config_view.cc index 9938176..a7cc7f3 100644 --- a/chrome/browser/chromeos/options/network_config_view.cc +++ b/chrome/browser/chromeos/options/network_config_view.cc @@ -10,7 +10,6 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/options/network_property_ui_data.h" #include "chrome/browser/chromeos/options/vpn_config_view.h" #include "chrome/browser/chromeos/options/wifi_config_view.h" @@ -23,6 +22,7 @@ #include "chromeos/login/login_state.h" #include "chromeos/network/network_state.h" #include "chromeos/network/network_state_handler.h" +#include "components/user_manager/user.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" #include "grit/locale_settings.h" diff --git a/chrome/browser/chromeos/ownership/owner_settings_service.cc b/chrome/browser/chromeos/ownership/owner_settings_service.cc index 893c656..4c8aae9 100644 --- a/chrome/browser/chromeos/ownership/owner_settings_service.cc +++ b/chrome/browser/chromeos/ownership/owner_settings_service.cc @@ -9,13 +9,13 @@ #include "base/bind.h" #include "base/bind_helpers.h" #include "chrome/browser/chrome_notification_types.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/chromeos/settings/session_manager_operation.h" #include "chrome/browser/profiles/profile.h" #include "components/policy/core/common/cloud/cloud_policy_constants.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/notification_details.h" #include "content/public/browser/notification_service.h" diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc b/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc index e69f77e..51c448e 100644 --- a/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc +++ b/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc @@ -4,12 +4,12 @@ #include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/ownership/owner_settings_service.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/profile.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" +#include "components/user_manager/user.h" namespace chromeos { @@ -38,7 +38,7 @@ void OwnerSettingsServiceFactory::SetUsername(const std::string& username) { username_ = username; if (!UserManager::IsInitialized()) return; - const User* user = UserManager::Get()->FindUser(username_); + const user_manager::User* user = UserManager::Get()->FindUser(username_); if (!user || !user->is_profile_created()) return; Profile* profile = ProfileHelper::Get()->GetProfileByUser(user); diff --git a/chrome/browser/chromeos/policy/cloud_external_data_policy_observer.cc b/chrome/browser/chromeos/policy/cloud_external_data_policy_observer.cc index 9955cd9..084d12d 100644 --- a/chrome/browser/chromeos/policy/cloud_external_data_policy_observer.cc +++ b/chrome/browser/chromeos/policy/cloud_external_data_policy_observer.cc @@ -13,7 +13,6 @@ #include "base/stl_util.h" #include "base/values.h" #include "chrome/browser/chrome_notification_types.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/policy/device_local_account.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/policy/profile_policy_connector.h" @@ -26,6 +25,7 @@ #include "components/policy/core/common/external_data_fetcher.h" #include "components/policy/core/common/policy_namespace.h" #include "components/policy/core/common/policy_service.h" +#include "components/user_manager/user.h" #include "content/public/browser/notification_details.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_source.h" @@ -168,7 +168,7 @@ void CloudExternalDataPolicyObserver::Observe( } Profile* profile = content::Details<Profile>(details).ptr(); - const chromeos::User* user = + const user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); if (!user) { NOTREACHED(); diff --git a/chrome/browser/chromeos/policy/device_local_account_browsertest.cc b/chrome/browser/chromeos/policy/device_local_account_browsertest.cc index 27d4d0e..d06ad1c 100644 --- a/chrome/browser/chromeos/policy/device_local_account_browsertest.cc +++ b/chrome/browser/chromeos/policy/device_local_account_browsertest.cc @@ -43,7 +43,6 @@ #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h" #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_util.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/user_manager_impl.h" #include "chrome/browser/chromeos/login/wizard_controller.h" @@ -90,6 +89,7 @@ #include "components/policy/core/common/policy_service.h" #include "components/policy/core/common/policy_switches.h" #include "components/signin/core/common/signin_pref_names.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_type.h" #include "content/public/browser/notification_details.h" #include "content/public/browser/notification_service.h" @@ -416,7 +416,7 @@ class DeviceLocalAccountTest : public DevicePolicyCrosBrowserTest, } void CheckPublicSessionPresent(const std::string& id) { - const chromeos::User* user = chromeos::UserManager::Get()->FindUser(id); + const user_manager::User* user = chromeos::UserManager::Get()->FindUser(id); ASSERT_TRUE(user); EXPECT_EQ(id, user->email()); EXPECT_EQ(user_manager::USER_TYPE_PUBLIC_ACCOUNT, user->GetType()); @@ -479,7 +479,7 @@ IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, LoginScreen) { static bool DisplayNameMatches(const std::string& account_id, const std::string& display_name) { - const chromeos::User* user = + const user_manager::User* user = chromeos::UserManager::Get()->FindUser(account_id); if (!user || user->display_name().empty()) return false; @@ -1018,7 +1018,7 @@ IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, UserAvatarImage) { test_dir.Append(chromeos::test::kUserAvatarImage1RelativePath)).Load(); ASSERT_TRUE(policy_image); - const chromeos::User* user = + const user_manager::User* user = chromeos::UserManager::Get()->FindUser(user_id_1_); ASSERT_TRUE(user); @@ -1028,7 +1028,7 @@ IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, UserAvatarImage) { user_data_dir.Append(user_id_1_).AddExtension("jpg"); EXPECT_FALSE(user->HasDefaultImage()); - EXPECT_EQ(chromeos::User::kExternalImageIndex, user->image_index()); + EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); EXPECT_TRUE(chromeos::test::AreImagesEqual(*policy_image, user->GetImage())); const base::DictionaryValue* images_pref = g_browser_process->local_state()->GetDictionary("user_image_info"); @@ -1041,7 +1041,7 @@ IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, UserAvatarImage) { std::string image_path; ASSERT_TRUE(image_properties->GetInteger("index", &image_index)); ASSERT_TRUE(image_properties->GetString("path", &image_path)); - EXPECT_EQ(chromeos::User::kExternalImageIndex, image_index); + EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, image_index); EXPECT_EQ(saved_image_path.value(), image_path); scoped_ptr<gfx::ImageSkia> saved_image = diff --git a/chrome/browser/chromeos/policy/device_status_collector.cc b/chrome/browser/chromeos/policy/device_status_collector.cc index e5163e1..c48eab4 100644 --- a/chrome/browser/chromeos/policy/device_status_collector.cc +++ b/chrome/browser/chromeos/policy/device_status_collector.cc @@ -427,8 +427,9 @@ void DeviceStatusCollector::GetNetworkInterfaces( void DeviceStatusCollector::GetUsers(em::DeviceStatusReportRequest* request) { policy::BrowserPolicyConnectorChromeOS* connector = g_browser_process->platform_part()->browser_policy_connector_chromeos(); - const chromeos::UserList& users = chromeos::UserManager::Get()->GetUsers(); - chromeos::UserList::const_iterator user; + const user_manager::UserList& users = + chromeos::UserManager::Get()->GetUsers(); + user_manager::UserList::const_iterator user; for (user = users.begin(); user != users.end(); ++user) { // Only regular users are reported. if ((*user)->GetType() != user_manager::USER_TYPE_REGULAR) diff --git a/chrome/browser/chromeos/policy/network_configuration_updater_unittest.cc b/chrome/browser/chromeos/policy/network_configuration_updater_unittest.cc index b883a4c..8676ed4 100644 --- a/chrome/browser/chromeos/policy/network_configuration_updater_unittest.cc +++ b/chrome/browser/chromeos/policy/network_configuration_updater_unittest.cc @@ -9,7 +9,6 @@ #include "base/memory/scoped_ptr.h" #include "base/run_loop.h" #include "base/values.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/policy/device_network_configuration_updater.h" #include "chrome/browser/chromeos/policy/user_network_configuration_updater.h" #include "chrome/browser/chromeos/settings/cros_settings.h" @@ -26,6 +25,7 @@ #include "components/policy/core/common/mock_configuration_policy_provider.h" #include "components/policy/core/common/policy_map.h" #include "components/policy/core/common/policy_service_impl.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_type.h" #include "content/public/test/test_browser_thread_bundle.h" #include "content/public/test/test_utils.h" @@ -51,7 +51,7 @@ namespace { const char kFakeUserEmail[] = "fake email"; const char kFakeUsernameHash[] = "fake hash"; -class FakeUser : public chromeos::User { +class FakeUser : public user_manager::User { public: FakeUser() : User(kFakeUserEmail) { set_display_email(kFakeUserEmail); diff --git a/chrome/browser/chromeos/policy/policy_cert_service_factory.cc b/chrome/browser/chromeos/policy/policy_cert_service_factory.cc index 2cf0fb6..a8c8ef0 100644 --- a/chrome/browser/chromeos/policy/policy_cert_service_factory.cc +++ b/chrome/browser/chromeos/policy/policy_cert_service_factory.cc @@ -95,7 +95,7 @@ KeyedService* PolicyCertServiceFactory::BuildServiceInstanceFor( Profile* profile = static_cast<Profile*>(context); chromeos::UserManager* user_manager = chromeos::UserManager::Get(); - chromeos::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile( + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile( profile->GetOriginalProfile()); if (!user) return NULL; diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc b/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc index be6fba0..5eb1590 100644 --- a/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc +++ b/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc @@ -16,7 +16,6 @@ #include "base/time/time.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/chromeos/login/login_utils.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" #include "chrome/browser/chromeos/policy/user_cloud_external_data_manager.h" @@ -33,6 +32,7 @@ #include "components/policy/core/browser/browser_policy_connector.h" #include "components/policy/core/common/cloud/cloud_external_data_manager.h" #include "components/policy/core/common/cloud/device_management_service.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_type.h" #include "content/public/browser/browser_thread.h" #include "net/url_request/url_request_context_getter.h" @@ -125,7 +125,7 @@ scoped_ptr<UserCloudPolicyManagerChromeOS> // |user| should never be NULL except for the signin profile. This object is // created as part of the Profile creation, which happens right after // sign-in. The just-signed-in User is the active user during that time. - chromeos::User* user = + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); CHECK(user); diff --git a/chrome/browser/chromeos/policy/user_network_configuration_updater.cc b/chrome/browser/chromeos/policy/user_network_configuration_updater.cc index 27173fe..447677e 100644 --- a/chrome/browser/chromeos/policy/user_network_configuration_updater.cc +++ b/chrome/browser/chromeos/policy/user_network_configuration_updater.cc @@ -9,12 +9,12 @@ #include "base/logging.h" #include "base/values.h" #include "chrome/browser/chrome_notification_types.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/net/onc_utils.h" #include "chrome/browser/net/nss_context.h" #include "chrome/browser/profiles/profile.h" #include "chromeos/network/managed_network_configuration_handler.h" #include "chromeos/network/onc/onc_certificate_importer_impl.h" +#include "components/user_manager/user.h" #include "content/public/browser/notification_source.h" #include "net/cert/x509_certificate.h" #include "policy/policy_constants.h" @@ -28,7 +28,7 @@ scoped_ptr<UserNetworkConfigurationUpdater> UserNetworkConfigurationUpdater::CreateForUserPolicy( Profile* profile, bool allow_trusted_certs_from_policy, - const chromeos::User& user, + const user_manager::User& user, PolicyService* policy_service, chromeos::ManagedNetworkConfigurationHandler* network_config_handler) { scoped_ptr<UserNetworkConfigurationUpdater> updater( @@ -54,7 +54,7 @@ void UserNetworkConfigurationUpdater::RemoveTrustedCertsObserver( UserNetworkConfigurationUpdater::UserNetworkConfigurationUpdater( Profile* profile, bool allow_trusted_certs_from_policy, - const chromeos::User& user, + const user_manager::User& user, PolicyService* policy_service, chromeos::ManagedNetworkConfigurationHandler* network_config_handler) : NetworkConfigurationUpdater(onc::ONC_SOURCE_USER_POLICY, diff --git a/chrome/browser/chromeos/policy/user_network_configuration_updater.h b/chrome/browser/chromeos/policy/user_network_configuration_updater.h index b4832c4..e534665 100644 --- a/chrome/browser/chromeos/policy/user_network_configuration_updater.h +++ b/chrome/browser/chromeos/policy/user_network_configuration_updater.h @@ -24,8 +24,11 @@ namespace base { class ListValue; } -namespace chromeos { +namespace user_manager { class User; +} + +namespace chromeos { namespace onc { class CertificateImporter; @@ -67,7 +70,7 @@ class UserNetworkConfigurationUpdater : public NetworkConfigurationUpdater, static scoped_ptr<UserNetworkConfigurationUpdater> CreateForUserPolicy( Profile* profile, bool allow_trusted_certs_from_policy, - const chromeos::User& user, + const user_manager::User& user, PolicyService* policy_service, chromeos::ManagedNetworkConfigurationHandler* network_config_handler); @@ -88,7 +91,7 @@ class UserNetworkConfigurationUpdater : public NetworkConfigurationUpdater, UserNetworkConfigurationUpdater( Profile* profile, bool allow_trusted_certs_from_policy, - const chromeos::User& user, + const user_manager::User& user, PolicyService* policy_service, chromeos::ManagedNetworkConfigurationHandler* network_config_handler); @@ -120,7 +123,7 @@ class UserNetworkConfigurationUpdater : public NetworkConfigurationUpdater, bool allow_trusted_certificates_from_policy_; // The user for whom the user policy will be applied. - const chromeos::User* user_; + const user_manager::User* user_; ObserverList<WebTrustedCertsObserver, true> observer_list_; diff --git a/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc b/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc index 9fa449b..f332147 100644 --- a/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc +++ b/chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc @@ -5,7 +5,6 @@ #include "chrome/browser/chromeos/policy/user_network_configuration_updater_factory.h" #include "base/memory/singleton.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/policy/user_network_configuration_updater.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" @@ -17,6 +16,7 @@ #include "chromeos/network/network_handler.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" #include "components/policy/core/common/cloud/cloud_policy_constants.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_type.h" namespace policy { @@ -66,7 +66,7 @@ KeyedService* UserNetworkConfigurationUpdaterFactory::BuildServiceInstanceFor( if (chromeos::ProfileHelper::IsSigninProfile(profile)) return NULL; // On the login screen only device network policies apply. - chromeos::User* user = + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); DCHECK(user); // Currently, only the network policy of the primary user is supported. See diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc index 1a792e0..a3fd4e0 100644 --- a/chrome/browser/chromeos/preferences.cc +++ b/chrome/browser/chromeos/preferences.cc @@ -25,7 +25,6 @@ #include "chrome/browser/chromeos/drive/file_system_util.h" #include "chrome/browser/chromeos/input_method/input_method_util.h" #include "chrome/browser/chromeos/login/session/user_session_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/system/input_device_settings.h" #include "chrome/browser/download/download_prefs.h" #include "chrome/browser/prefs/pref_service_syncable.h" @@ -38,6 +37,7 @@ #include "chromeos/system/statistics_provider.h" #include "components/feedback/tracing_manager.h" #include "components/pref_registry/pref_registry_syncable.h" +#include "components/user_manager/user.h" #include "third_party/icu/source/i18n/unicode/timezone.h" #include "ui/events/event_constants.h" #include "ui/events/event_utils.h" @@ -351,7 +351,8 @@ void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); } -void Preferences::Init(PrefServiceSyncable* prefs, const User* user) { +void Preferences::Init(PrefServiceSyncable* prefs, + const user_manager::User* user) { DCHECK(user); user_ = user; user_is_primary_ = UserManager::Get()->GetPrimaryUser() == user_; @@ -374,7 +375,7 @@ void Preferences::Init(PrefServiceSyncable* prefs, const User* user) { } void Preferences::InitUserPrefsForTesting(PrefServiceSyncable* prefs, - const User* user) { + const user_manager::User* user) { user_ = user; InitUserPrefs(prefs); } @@ -646,7 +647,7 @@ void Preferences::OnTouchHudProjectionToggled(bool enabled) { touch_hud_projection_enabled_.SetValue(enabled); } -void Preferences::ActiveUserChanged(const User* active_user) { +void Preferences::ActiveUserChanged(const user_manager::User* active_user) { if (active_user != user_) return; ApplyPreferences(REASON_ACTIVE_USER_CHANGED, ""); diff --git a/chrome/browser/chromeos/preferences.h b/chrome/browser/chromeos/preferences.h index 3ba680f..bf8e6e6 100644 --- a/chrome/browser/chromeos/preferences.h +++ b/chrome/browser/chromeos/preferences.h @@ -52,9 +52,10 @@ class Preferences : public PrefServiceSyncableObserver, // This method will initialize Chrome OS settings to values in user prefs. // |user| is the user owning this preferences. - void Init(PrefServiceSyncable* prefs, const User* user); + void Init(PrefServiceSyncable* prefs, const user_manager::User* user); - void InitUserPrefsForTesting(PrefServiceSyncable* prefs, const User* user); + void InitUserPrefsForTesting(PrefServiceSyncable* prefs, + const user_manager::User* user); void SetInputMethodListForTesting(); private: @@ -103,7 +104,8 @@ class Preferences : public PrefServiceSyncableObserver, virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE; // Overriden form UserManager::UserSessionStateObserver. - virtual void ActiveUserChanged(const User* active_user) OVERRIDE; + virtual void ActiveUserChanged( + const user_manager::User* active_user) OVERRIDE; PrefServiceSyncable* prefs_; @@ -134,7 +136,7 @@ class Preferences : public PrefServiceSyncableObserver, IntegerPrefMember xkb_auto_repeat_interval_pref_; // User owning these preferences. - const User* user_; + const user_manager::User* user_; // Whether user is a primary user. bool user_is_primary_; diff --git a/chrome/browser/chromeos/preferences_browsertest.cc b/chrome/browser/chromeos/preferences_browsertest.cc index 7b60662..996832c 100644 --- a/chrome/browser/chromeos/preferences_browsertest.cc +++ b/chrome/browser/chromeos/preferences_browsertest.cc @@ -144,7 +144,7 @@ IN_PROC_BROWSER_TEST_F(PreferencesTest, MultiProfiles) { // Add first user and init its preferences. Check that corresponding // settings has been changed. LoginUser(kTestUsers[0]); - const User* user1 = user_manager->FindUser(kTestUsers[0]); + const user_manager::User* user1 = user_manager->FindUser(kTestUsers[0]); PrefService* prefs1 = ProfileHelper::Get()->GetProfileByUser(user1)->GetPrefs(); SetPrefs(prefs1, false); @@ -157,7 +157,7 @@ IN_PROC_BROWSER_TEST_F(PreferencesTest, MultiProfiles) { DisableAnimations(); AddUser(kTestUsers[1]); content::RunAllPendingInMessageLoop(); - const User* user2 = user_manager->FindUser(kTestUsers[1]); + const user_manager::User* user2 = user_manager->FindUser(kTestUsers[1]); EXPECT_TRUE(user2->is_active()); PrefService* prefs2 = ProfileHelper::Get()->GetProfileByUser(user2)->GetPrefs(); diff --git a/chrome/browser/chromeos/preferences_unittest.cc b/chrome/browser/chromeos/preferences_unittest.cc index c8d6f93..0f444d0 100644 --- a/chrome/browser/chromeos/preferences_unittest.cc +++ b/chrome/browser/chromeos/preferences_unittest.cc @@ -50,7 +50,7 @@ TEST(PreferencesTest, TestUpdatePrefOnBrowserScreenDetails) { chromeos::FakeUserManager* user_manager = new chromeos::FakeUserManager(); chromeos::ScopedUserManagerEnabler user_manager_enabler(user_manager); const char test_user_email[] = "test_user@example.com"; - const User* test_user = user_manager->AddUser(test_user_email); + const user_manager::User* test_user = user_manager->AddUser(test_user_email); user_manager->LoginUser(test_user_email); TestingPrefServiceSyncable prefs; diff --git a/chrome/browser/chromeos/profiles/profile_helper.cc b/chrome/browser/chromeos/profiles/profile_helper.cc index 70edd29..658a107 100644 --- a/chrome/browser/chromeos/profiles/profile_helper.cc +++ b/chrome/browser/chromeos/profiles/profile_helper.cc @@ -9,7 +9,6 @@ #include "chrome/browser/browser_process.h" #include "chrome/browser/browsing_data/browsing_data_helper.h" #include "chrome/browser/chromeos/login/signin/oauth2_login_manager_factory.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" @@ -17,6 +16,7 @@ #include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_switches.h" #include "chromeos/chromeos_switches.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" namespace chromeos { @@ -37,7 +37,7 @@ bool ShouldAddProfileDirPrefix(const std::string& user_id_hash) { class UsernameHashMatcher { public: explicit UsernameHashMatcher(const std::string& h) : username_hash(h) {} - bool operator()(const User* user) const { + bool operator()(const user_manager::User* user) const { return user->username_hash() == username_hash; } @@ -151,7 +151,7 @@ base::FilePath ProfileHelper::GetUserProfileDirByUserId( // ProfileManager and use only this function to construct profile path. // TODO(nkostylev): Cleanup profile dir related code paths crbug.com/294233 base::FilePath profile_dir; - const User* user = UserManager::Get()->FindUser(user_id); + const user_manager::User* user = UserManager::Get()->FindUser(user_id); if (user && !user->username_hash().empty()) profile_dir = ProfileHelper::GetUserProfileDir(user->username_hash()); @@ -170,7 +170,7 @@ bool ProfileHelper::IsSigninProfile(Profile* profile) { bool ProfileHelper::IsOwnerProfile(Profile* profile) { if (!profile) return false; - chromeos::User* user = ProfileHelper::Get()->GetUserByProfile(profile); + user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); if (!user) return false; @@ -224,10 +224,10 @@ void ProfileHelper::ClearSigninProfile(const base::Closure& on_clear_callback) { BrowsingDataHelper::ALL); } -Profile* ProfileHelper::GetProfileByUser(const User* user) { +Profile* ProfileHelper::GetProfileByUser(const user_manager::User* user) { // This map is non-empty only in tests. if (!user_to_profile_for_testing_.empty()) { - std::map<const User*, Profile*>::const_iterator it = + std::map<const user_manager::User*, Profile*>::const_iterator it = user_to_profile_for_testing_.find(user); return it == user_to_profile_for_testing_.end() ? NULL : it->second; } @@ -245,14 +245,16 @@ Profile* ProfileHelper::GetProfileByUser(const User* user) { return profile; } -User* ProfileHelper::GetUserByProfile(Profile* profile) { +user_manager::User* ProfileHelper::GetUserByProfile(Profile* profile) { // This map is non-empty only in tests. if (enable_profile_to_user_testing || !user_list_for_testing_.empty()) { if (always_return_primary_user_for_testing) - return const_cast<User*>(UserManager::Get()->GetPrimaryUser()); + return const_cast<user_manager::User*>( + UserManager::Get()->GetPrimaryUser()); const std::string& user_name = profile->GetProfileName(); - for (UserList::const_iterator it = user_list_for_testing_.begin(); + for (user_manager::UserList::const_iterator it = + user_list_for_testing_.begin(); it != user_list_for_testing_.end(); ++it) { if ((*it)->email() == user_name) @@ -260,7 +262,8 @@ User* ProfileHelper::GetUserByProfile(Profile* profile) { } // In case of test setup we should always default to primary user. - return const_cast<User*>(UserManager::Get()->GetPrimaryUser()); + return const_cast<user_manager::User*>( + UserManager::Get()->GetPrimaryUser()); } DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); @@ -282,19 +285,19 @@ User* ProfileHelper::GetUserByProfile(Profile* profile) { const std::string username_hash = ProfileHelper::GetUserIdHashFromProfile(profile); - const UserList& users = user_manager->GetUsers(); - const UserList::const_iterator pos = std::find_if( + const user_manager::UserList& users = user_manager->GetUsers(); + const user_manager::UserList::const_iterator pos = std::find_if( users.begin(), users.end(), UsernameHashMatcher(username_hash)); if (pos != users.end()) return *pos; // Many tests do not have their users registered with UserManager and // runs here. If |active_user_| matches |profile|, returns it. - const User* active_user = user_manager->GetActiveUser(); + const user_manager::User* active_user = user_manager->GetActiveUser(); return active_user && ProfileHelper::GetProfilePathByUserIdHash( active_user->username_hash()) == profile->GetPath() - ? const_cast<User*>(active_user) + ? const_cast<user_manager::User*>(active_user) : NULL; } @@ -336,7 +339,8 @@ void ProfileHelper::ActiveUserHashChanged(const std::string& hash) { VLOG(1) << "Switching to profile path: " << profile_path.value(); } -void ProfileHelper::SetProfileToUserMappingForTesting(User* user) { +void ProfileHelper::SetProfileToUserMappingForTesting( + user_manager::User* user) { user_list_for_testing_.push_back(user); } @@ -351,8 +355,9 @@ void ProfileHelper::SetAlwaysReturnPrimaryUserForTesting(bool value) { ProfileHelper::SetProfileToUserForTestingEnabled(true); } -void ProfileHelper::SetUserToProfileMappingForTesting(const User* user, - Profile* profile) { +void ProfileHelper::SetUserToProfileMappingForTesting( + const user_manager::User* user, + Profile* profile) { user_to_profile_for_testing_[user] = profile; } diff --git a/chrome/browser/chromeos/profiles/profile_helper.h b/chrome/browser/chromeos/profiles/profile_helper.h index bd1295df..fa541bb 100644 --- a/chrome/browser/chromeos/profiles/profile_helper.h +++ b/chrome/browser/chromeos/profiles/profile_helper.h @@ -104,10 +104,10 @@ class ProfileHelper : public BrowsingDataRemover::Observer, void ClearSigninProfile(const base::Closure& on_clear_callback); // Returns NULL if profile for user is not found or is not fully loaded. - Profile* GetProfileByUser(const User* user); + Profile* GetProfileByUser(const user_manager::User* user); // Returns NULL if User is not created. - User* GetUserByProfile(Profile* profile); + user_manager::User* GetUserByProfile(Profile* profile); private: friend class DeviceSettingsTestBase; @@ -133,7 +133,7 @@ class ProfileHelper : public BrowsingDataRemover::Observer, // Associates |user| with profile with the same user_id, // for GetUserByProfile() testing. - void SetProfileToUserMappingForTesting(User* user); + void SetProfileToUserMappingForTesting(user_manager::User* user); // Enables/disables testing code path in GetUserByProfile() like // always return primary user (when always_return_primary_user_for_testing is @@ -145,7 +145,8 @@ class ProfileHelper : public BrowsingDataRemover::Observer, static void SetAlwaysReturnPrimaryUserForTesting(bool value); // Associates |profile| with |user|, for GetProfileByUser() testing. - void SetUserToProfileMappingForTesting(const User* user, Profile* profile); + void SetUserToProfileMappingForTesting(const user_manager::User* user, + Profile* profile); // Identifies path to active user profile on Chrome OS. std::string active_user_id_hash_; @@ -157,11 +158,11 @@ class ProfileHelper : public BrowsingDataRemover::Observer, std::vector<base::Closure> on_clear_callbacks_; // Used for testing by unit tests and FakeUserManager/MockUserManager. - std::map<const User*, Profile*> user_to_profile_for_testing_; + std::map<const user_manager::User*, Profile*> user_to_profile_for_testing_; // When this list is not empty GetUserByProfile() will find user that has // the same user_id as |profile|->GetProfileName(). - UserList user_list_for_testing_; + user_manager::UserList user_list_for_testing_; // If true testing code path is used in GetUserByProfile() even if // user_list_for_testing_ list is empty. In that case primary user will always diff --git a/chrome/browser/chromeos/profiles/profile_list_chromeos.cc b/chrome/browser/chromeos/profiles/profile_list_chromeos.cc index d154d44..b49bcac 100644 --- a/chrome/browser/chromeos/profiles/profile_list_chromeos.cc +++ b/chrome/browser/chromeos/profiles/profile_list_chromeos.cc @@ -43,11 +43,12 @@ void ProfileListChromeOS::RebuildMenu() { ClearMenu(); // Filter for profiles associated with logged-in users. - UserList users = UserManager::Get()->GetLoggedInUsers(); + user_manager::UserList users = UserManager::Get()->GetLoggedInUsers(); // Add corresponding profiles. - for (UserList::const_iterator it = users.begin(); - it != users.end(); ++it) { + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { size_t i = profile_info_->GetIndexOfProfileWithPath( ProfileHelper::GetProfilePathByUserIdHash((*it)->username_hash())); diff --git a/chrome/browser/chromeos/proxy_config_service_impl.cc b/chrome/browser/chromeos/proxy_config_service_impl.cc index d66ccc2..89d07f6 100644 --- a/chrome/browser/chromeos/proxy_config_service_impl.cc +++ b/chrome/browser/chromeos/proxy_config_service_impl.cc @@ -143,7 +143,8 @@ bool ProxyConfigServiceImpl::IgnoreProxy(const PrefService* profile_prefs, if (onc_source == ::onc::ONC_SOURCE_DEVICE_POLICY) { policy::BrowserPolicyConnectorChromeOS* connector = g_browser_process->platform_part()->browser_policy_connector_chromeos(); - const User* logged_in_user = UserManager::Get()->GetLoggedInUser(); + const user_manager::User* logged_in_user = + UserManager::Get()->GetLoggedInUser(); if (connector->GetUserAffiliation(logged_in_user->email()) == policy::USER_AFFILIATION_MANAGED) { VLOG(1) << "Respecting proxy for network, as logged-in user belongs to " diff --git a/chrome/browser/chromeos/settings/device_settings_provider_unittest.cc b/chrome/browser/chromeos/settings/device_settings_provider_unittest.cc index 9cb2551..ba796cf 100644 --- a/chrome/browser/chromeos/settings/device_settings_provider_unittest.cc +++ b/chrome/browser/chromeos/settings/device_settings_provider_unittest.cc @@ -13,7 +13,6 @@ #include "base/test/scoped_path_override.h" #include "base/values.h" #include "chrome/browser/chromeos/login/users/fake_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/ownership/owner_settings_service.h" #include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h" #include "chrome/browser/chromeos/policy/device_local_account.h" @@ -24,6 +23,7 @@ #include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_profile.h" #include "chromeos/settings/cros_settings_names.h" +#include "components/user_manager/user.h" #include "policy/proto/device_management_backend.pb.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" diff --git a/chrome/browser/chromeos/settings/device_settings_test_helper.cc b/chrome/browser/chromeos/settings/device_settings_test_helper.cc index e979d86..e214b43 100644 --- a/chrome/browser/chromeos/settings/device_settings_test_helper.cc +++ b/chrome/browser/chromeos/settings/device_settings_test_helper.cc @@ -252,7 +252,7 @@ void DeviceSettingsTestBase::ReloadDeviceSettings() { void DeviceSettingsTestBase::InitOwner(const std::string& user_id, bool tpm_is_ready) { - const User* user = user_manager_->FindUser(user_id); + const user_manager::User* user = user_manager_->FindUser(user_id); if (!user) { user = user_manager_->AddUser(user_id); profile_->set_profile_name(user_id); diff --git a/chrome/browser/chromeos/settings/session_manager_operation.cc b/chrome/browser/chromeos/settings/session_manager_operation.cc index 0d8e106..44aadfe 100644 --- a/chrome/browser/chromeos/settings/session_manager_operation.cc +++ b/chrome/browser/chromeos/settings/session_manager_operation.cc @@ -11,12 +11,12 @@ #include "base/stl_util.h" #include "base/task_runner_util.h" #include "base/threading/sequenced_worker_pool.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h" #include "chrome/browser/chromeos/settings/owner_key_util.h" #include "chrome/browser/net/nss_context.h" #include "components/policy/core/common/cloud/cloud_policy_constants.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" #include "crypto/rsa_private_key.h" #include "crypto/signature_creator.h" diff --git a/chrome/browser/extensions/DEPS b/chrome/browser/extensions/DEPS index 83d4afe..8e06baf 100644 --- a/chrome/browser/extensions/DEPS +++ b/chrome/browser/extensions/DEPS @@ -7,6 +7,7 @@ include_rules = [ "+apps/app_window.h", "+apps/app_window_registry.h", "-chrome/browser/apps", + "+components/user_manager", # For access to testing command line switches. "+ppapi/shared_impl", diff --git a/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc b/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc index 92ff460..e2a12d2 100644 --- a/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc +++ b/chrome/browser/extensions/api/autotest_private/autotest_private_api.cc @@ -26,6 +26,7 @@ #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/dbus/session_manager_client.h" +#include "components/user_manager/user.h" #endif namespace extensions { @@ -109,17 +110,17 @@ bool AutotestPrivateLoginStatusFunction::RunSync() { result->SetBoolean("isGuest", user_manager->IsLoggedInAsGuest()); result->SetBoolean("isKiosk", user_manager->IsLoggedInAsKioskApp()); - const chromeos::User* user = user_manager->GetLoggedInUser(); + const user_manager::User* user = user_manager->GetLoggedInUser(); result->SetString("email", user->email()); result->SetString("displayEmail", user->display_email()); std::string user_image; switch (user->image_index()) { - case chromeos::User::kExternalImageIndex: + case user_manager::User::USER_IMAGE_EXTERNAL: user_image = "file"; break; - case chromeos::User::kProfileImageIndex: + case user_manager::User::USER_IMAGE_PROFILE: user_image = "profile"; break; diff --git a/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc b/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc index bc25529..93f181c 100644 --- a/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc +++ b/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc @@ -7,10 +7,10 @@ #include "base/command_line.h" #include "base/macros.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/extensions/extension_apitest.h" #include "chrome/test/base/ui_test_utils.h" +#include "components/user_manager/user.h" #include "extensions/common/switches.h" #include "testing/gmock/include/gmock/gmock.h" @@ -189,7 +189,7 @@ class ExtensionNetworkingPrivateApiTest void InitializeSanitizedUsername() { chromeos::UserManager* user_manager = chromeos::UserManager::Get(); - chromeos::User* user = user_manager->GetActiveUser(); + user_manager::User* user = user_manager->GetActiveUser(); CHECK(user); std::string userhash; DBusThreadManager::Get()->GetCryptohomeClient()->GetSanitizedUsername( diff --git a/chrome/browser/extensions/extension_assets_manager_chromeos.cc b/chrome/browser/extensions/extension_assets_manager_chromeos.cc index aa16ac8..95f0345 100644 --- a/chrome/browser/extensions/extension_assets_manager_chromeos.cc +++ b/chrome/browser/extensions/extension_assets_manager_chromeos.cc @@ -530,7 +530,7 @@ bool ExtensionAssetsManagerChromeOS::CleanUpExtension( NOTREACHED(); return false; } - const chromeos::User* user = user_manager->FindUser(user_id); + const user_manager::User* user = user_manager->FindUser(user_id); bool not_used = false; if (!user) { not_used = true; diff --git a/chrome/browser/extensions/extension_garbage_collector_chromeos.cc b/chrome/browser/extensions/extension_garbage_collector_chromeos.cc index 7be83e3..6733685 100644 --- a/chrome/browser/extensions/extension_garbage_collector_chromeos.cc +++ b/chrome/browser/extensions/extension_garbage_collector_chromeos.cc @@ -55,7 +55,7 @@ bool ExtensionGarbageCollectorChromeOS::CanGarbageCollectSharedExtensions() { return false; } - const chromeos::UserList& active_users = user_manager->GetLoggedInUsers(); + const user_manager::UserList& active_users = user_manager->GetLoggedInUsers(); for (size_t i = 0; i < active_users.size(); i++) { Profile* profile = chromeos::ProfileHelper::Get()->GetProfileByUser(active_users[i]); diff --git a/chrome/browser/extensions/extension_system_impl.cc b/chrome/browser/extensions/extension_system_impl.cc index 771524e..14a4dfe 100644 --- a/chrome/browser/extensions/extension_system_impl.cc +++ b/chrome/browser/extensions/extension_system_impl.cc @@ -72,12 +72,12 @@ #if defined(OS_CHROMEOS) #include "chrome/browser/app_mode/app_mode_utils.h" #include "chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/policy/device_local_account.h" #include "chrome/browser/extensions/extension_assets_manager_chromeos.h" #include "chromeos/chromeos_switches.h" #include "chromeos/login/login_state.h" +#include "components/user_manager/user.h" #endif using content::BrowserThread; @@ -126,7 +126,8 @@ void ExtensionSystemImpl::Shared::InitPrefs() { new StandardManagementPolicyProvider(ExtensionPrefs::Get(profile_))); #if defined (OS_CHROMEOS) - const chromeos::User* user = chromeos::UserManager::Get()->GetActiveUser(); + const user_manager::User* user = + chromeos::UserManager::Get()->GetActiveUser(); policy::DeviceLocalAccount::Type device_local_account_type; if (user && policy::IsDeviceLocalAccountUser(user->email(), &device_local_account_type)) { diff --git a/chrome/browser/extensions/external_provider_impl.cc b/chrome/browser/extensions/external_provider_impl.cc index a4a5e5d..79181b8 100644 --- a/chrome/browser/extensions/external_provider_impl.cc +++ b/chrome/browser/extensions/external_provider_impl.cc @@ -37,13 +37,13 @@ #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" #include "chrome/browser/chromeos/customization_document.h" #include "chrome/browser/chromeos/extensions/device_local_account_external_policy_loader.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/policy/app_pack_updater.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" #include "chrome/browser/chromeos/policy/device_local_account.h" #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" +#include "components/user_manager/user.h" #else #include "chrome/browser/extensions/default_apps.h" #endif @@ -364,7 +364,7 @@ void ExternalProviderImpl::CreateExternalProviders( policy::BrowserPolicyConnectorChromeOS* connector = g_browser_process->platform_part()->browser_policy_connector_chromeos(); bool is_chrome_os_public_session = false; - const chromeos::User* user = + const user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); policy::DeviceLocalAccount::Type account_type; if (user && policy::IsDeviceLocalAccountUser(user->email(), &account_type)) { diff --git a/chrome/browser/net/DEPS b/chrome/browser/net/DEPS new file mode 100644 index 0000000..8e71f2d --- /dev/null +++ b/chrome/browser/net/DEPS @@ -0,0 +1,4 @@ +include_rules = [ + # For nss_context_chromeos_browsertest.cc. + "+components/user_manager", +] diff --git a/chrome/browser/net/nss_context_chromeos_browsertest.cc b/chrome/browser/net/nss_context_chromeos_browsertest.cc index 8eec6e6..d8bfefa 100644 --- a/chrome/browser/net/nss_context_chromeos_browsertest.cc +++ b/chrome/browser/net/nss_context_chromeos_browsertest.cc @@ -9,9 +9,9 @@ #include "chrome/browser/chromeos/login/login_manager_test.h" #include "chrome/browser/chromeos/login/startup_utils.h" #include "chrome/browser/chromeos/login/ui/user_adding_screen.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" +#include "components/user_manager/user.h" #include "content/public/browser/browser_thread.h" #include "net/cert/nss_cert_database.h" diff --git a/chrome/browser/notifications/message_center_settings_controller.cc b/chrome/browser/notifications/message_center_settings_controller.cc index 1278631..7d03bd6 100644 --- a/chrome/browser/notifications/message_center_settings_controller.cc +++ b/chrome/browser/notifications/message_center_settings_controller.cc @@ -411,7 +411,7 @@ void MessageCenterSettingsController::OnFaviconLoaded( #if defined(OS_CHROMEOS) void MessageCenterSettingsController::ActiveUserChanged( - const chromeos::User* active_user) { + const user_manager::User* active_user) { RebuildNotifierGroups(); } #endif @@ -452,7 +452,7 @@ void MessageCenterSettingsController::CreateNotifierGroupForGuestLogin() { if (!user_manager->IsLoggedInAsGuest()) return; - chromeos::User* user = user_manager->GetActiveUser(); + user_manager::User* user = user_manager->GetActiveUser(); Profile* profile = chromeos::ProfileHelper::Get()->GetProfileByUser(user); DCHECK(profile); notifier_groups_.push_back( diff --git a/chrome/browser/notifications/message_center_settings_controller.h b/chrome/browser/notifications/message_center_settings_controller.h index 1681abb..18a7382 100644 --- a/chrome/browser/notifications/message_center_settings_controller.h +++ b/chrome/browser/notifications/message_center_settings_controller.h @@ -80,7 +80,8 @@ class MessageCenterSettingsController #if defined(OS_CHROMEOS) // Overridden from chromeos::UserManager::UserSessionStateObserver. - virtual void ActiveUserChanged(const chromeos::User* active_user) OVERRIDE; + virtual void ActiveUserChanged( + const user_manager::User* active_user) OVERRIDE; #endif // Overridden from extensions::AppIconLoader::Delegate. diff --git a/chrome/browser/policy/DEPS b/chrome/browser/policy/DEPS index c32324a..c6c56db 100644 --- a/chrome/browser/policy/DEPS +++ b/chrome/browser/policy/DEPS @@ -1,6 +1,7 @@ include_rules = [ "+chrome", "+chromeos", + "+components/user_manager", "+content/public/browser", "+content/public/common", "+content/public/test", diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc index df9cadf..ae91b0f 100644 --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc @@ -38,10 +38,10 @@ #if defined(OS_CHROMEOS) #include "ash/magnifier/magnifier_constants.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.h" #include "chromeos/dbus/power_policy_controller.h" +#include "components/user_manager/user.h" #endif #if !defined(OS_ANDROID) && !defined(OS_IOS) @@ -533,7 +533,8 @@ void GetDeprecatedFeaturesMap( void PopulatePolicyHandlerParameters(PolicyHandlerParameters* parameters) { #if defined(OS_CHROMEOS) if (chromeos::UserManager::IsInitialized()) { - const chromeos::User* user = chromeos::UserManager::Get()->GetActiveUser(); + const user_manager::User* user = + chromeos::UserManager::Get()->GetActiveUser(); if (user) parameters->user_id_hash = user->username_hash(); } diff --git a/chrome/browser/policy/profile_policy_connector.cc b/chrome/browser/policy/profile_policy_connector.cc index bca188a..85694c2 100644 --- a/chrome/browser/policy/profile_policy_connector.cc +++ b/chrome/browser/policy/profile_policy_connector.cc @@ -20,12 +20,12 @@ #include "google_apis/gaia/gaia_auth_util.h" #if defined(OS_CHROMEOS) -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h" #include "chrome/browser/chromeos/policy/login_profile_policy_provider.h" +#include "components/user_manager/user.h" #endif namespace policy { @@ -56,7 +56,7 @@ ProfilePolicyConnector::~ProfilePolicyConnector() {} void ProfilePolicyConnector::Init( bool force_immediate_load, #if defined(OS_CHROMEOS) - const chromeos::User* user, + const user_manager::User* user, #endif SchemaRegistry* schema_registry, CloudPolicyManager* user_cloud_policy_manager) { diff --git a/chrome/browser/policy/profile_policy_connector.h b/chrome/browser/policy/profile_policy_connector.h index 35bccad..cc29d09 100644 --- a/chrome/browser/policy/profile_policy_connector.h +++ b/chrome/browser/policy/profile_policy_connector.h @@ -11,7 +11,7 @@ #include "base/memory/scoped_ptr.h" #include "components/keyed_service/core/keyed_service.h" -namespace chromeos { +namespace user_manager { class User; } @@ -32,7 +32,7 @@ class ProfilePolicyConnector : public KeyedService { // If |force_immediate_load| then disk caches will be loaded synchronously. void Init(bool force_immediate_load, #if defined(OS_CHROMEOS) - const chromeos::User* user, + const user_manager::User* user, #endif SchemaRegistry* schema_registry, CloudPolicyManager* user_cloud_policy_manager); diff --git a/chrome/browser/policy/profile_policy_connector_factory.cc b/chrome/browser/policy/profile_policy_connector_factory.cc index 57cb2e6..e5ec872 100644 --- a/chrome/browser/policy/profile_policy_connector_factory.cc +++ b/chrome/browser/policy/profile_policy_connector_factory.cc @@ -14,10 +14,10 @@ #include "chrome/browser/policy/schema_registry_service.h" #include "chrome/browser/policy/schema_registry_service_factory.h" #if defined(OS_CHROMEOS) -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" +#include "components/user_manager/user.h" #else #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" #include "components/policy/core/common/cloud/user_cloud_policy_manager.h" @@ -94,7 +94,7 @@ ProfilePolicyConnectorFactory::CreateForProfileInternal( SchemaRegistryServiceFactory::GetForContext(profile)->registry(); #if defined(OS_CHROMEOS) - chromeos::User* user = NULL; + user_manager::User* user = NULL; if (!chromeos::ProfileHelper::IsSigninProfile(profile)) { user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); CHECK(user); diff --git a/chrome/browser/policy/schema_registry_service_factory.cc b/chrome/browser/policy/schema_registry_service_factory.cc index 2972850..94dbbc8 100644 --- a/chrome/browser/policy/schema_registry_service_factory.cc +++ b/chrome/browser/policy/schema_registry_service_factory.cc @@ -14,12 +14,12 @@ #if defined(OS_CHROMEOS) #include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process_platform_part_chromeos.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/profile.h" +#include "components/user_manager/user.h" #endif namespace policy { @@ -38,7 +38,7 @@ DeviceLocalAccountPolicyBroker* GetBroker(content::BrowserContext* context) { return NULL; } - chromeos::User* user = + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); if (!user) return NULL; diff --git a/chrome/browser/profiles/DEPS b/chrome/browser/profiles/DEPS new file mode 100644 index 0000000..42a8243 --- /dev/null +++ b/chrome/browser/profiles/DEPS @@ -0,0 +1,3 @@ +include_rules = [ + "+components/user_manager", +] diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc index 798c122..aaf8a2b 100644 --- a/chrome/browser/profiles/profile_io_data.cc +++ b/chrome/browser/profiles/profile_io_data.cc @@ -103,7 +103,6 @@ #if defined(OS_CHROMEOS) #include "chrome/browser/chromeos/drive/drive_protocol_handler.h" #include "chrome/browser/chromeos/login/startup_utils.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/net/cert_verify_proc_chromeos.h" #include "chrome/browser/chromeos/policy/policy_cert_service.h" @@ -114,6 +113,7 @@ #include "chromeos/dbus/cryptohome_client.h" #include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/settings/cros_settings_names.h" +#include "components/user_manager/user.h" #include "crypto/nss_util.h" #include "crypto/nss_util_internal.h" #include "net/cert/multi_threaded_cert_verifier.h" @@ -360,7 +360,7 @@ void ProfileIOData::InitializeOnUIThread(Profile* profile) { #if defined(OS_CHROMEOS) chromeos::UserManager* user_manager = chromeos::UserManager::Get(); if (user_manager) { - chromeos::User* user = + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); // No need to initialize NSS for users with empty username hash: // Getters for a user's NSS slots always return NULL slot if the user's diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc index 810ec26..b9b6d5c 100644 --- a/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc @@ -82,13 +82,13 @@ #if defined(OS_CHROMEOS) #include "chrome/browser/browser_process_platform_part_chromeos.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/profiles_state.h" #include "chromeos/chromeos_switches.h" #include "chromeos/dbus/cryptohome_client.h" #include "chromeos/dbus/dbus_thread_manager.h" +#include "components/user_manager/user.h" #endif using base::UserMetricsAction; @@ -337,7 +337,7 @@ Profile* ProfileManager::GetActiveUserProfile() { } chromeos::UserManager* manager = chromeos::UserManager::Get(); - const chromeos::User* user = manager->GetActiveUser(); + const user_manager::User* user = manager->GetActiveUser(); // To avoid an endless loop (crbug.com/334098) we have to additionally check // if the profile of the user was already created. If the profile was not yet // created we load the profile using the profile directly. diff --git a/chrome/browser/profiles/profile_manager_unittest.cc b/chrome/browser/profiles/profile_manager_unittest.cc index a41bd32..82d542c 100644 --- a/chrome/browser/profiles/profile_manager_unittest.cc +++ b/chrome/browser/profiles/profile_manager_unittest.cc @@ -202,10 +202,11 @@ TEST_F(ProfileManagerTest, LoggedInProfileDir) { scoped_ptr<chromeos::MockUserManager> mock_user_manager; mock_user_manager.reset(new chromeos::MockUserManager()); mock_user_manager->SetActiveUser("user@gmail.com"); - chromeos::User* active_user = mock_user_manager->GetActiveUser(); - profile_manager->Observe(chrome::NOTIFICATION_LOGIN_USER_CHANGED, - content::NotificationService::AllSources(), - content::Details<const chromeos::User>(active_user)); + user_manager::User* active_user = mock_user_manager->GetActiveUser(); + profile_manager->Observe( + chrome::NOTIFICATION_LOGIN_USER_CHANGED, + content::NotificationService::AllSources(), + content::Details<const user_manager::User>(active_user)); base::FilePath expected_logged_in(profile_dir); EXPECT_EQ(expected_logged_in.value(), profile_manager->GetInitialProfileDir().value()); diff --git a/chrome/browser/supervised_user/chromeos/manager_password_service.cc b/chrome/browser/supervised_user/chromeos/manager_password_service.cc index ece93d4f..2580d05 100644 --- a/chrome/browser/supervised_user/chromeos/manager_password_service.cc +++ b/chrome/browser/supervised_user/chromeos/manager_password_service.cc @@ -11,12 +11,12 @@ #include "chrome/browser/chromeos/login/supervised/supervised_user_authentication.h" #include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h" #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/supervised_user/supervised_user_constants.h" #include "chrome/browser/supervised_user/supervised_user_sync_service.h" #include "chromeos/login/auth/key.h" #include "chromeos/login/auth/user_context.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_type.h" namespace chromeos { @@ -43,9 +43,11 @@ void ManagerPasswordService::Init( SupervisedUserManager* supervised_user_manager = user_manager->GetSupervisedUserManager(); - const UserList& users = user_manager->GetUsers(); + const user_manager::UserList& users = user_manager->GetUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { if ((*it)->GetType() != user_manager::USER_TYPE_SUPERVISED) continue; if (user_id != supervised_user_manager->GetManagerUserId((*it)->email())) @@ -64,7 +66,7 @@ void ManagerPasswordService::OnSharedSettingsChange( SupervisedUserManager* supervised_user_manager = UserManager::Get()->GetSupervisedUserManager(); - const User* user = supervised_user_manager->FindBySyncId(su_id); + const user_manager::User* user = supervised_user_manager->FindBySyncId(su_id); // No user on device. if (user == NULL) return; diff --git a/chrome/browser/supervised_user/chromeos/manager_password_service_factory.cc b/chrome/browser/supervised_user/chromeos/manager_password_service_factory.cc index ba44761..5f5df8c 100644 --- a/chrome/browser/supervised_user/chromeos/manager_password_service_factory.cc +++ b/chrome/browser/supervised_user/chromeos/manager_password_service_factory.cc @@ -5,7 +5,6 @@ #include "chrome/browser/supervised_user/chromeos/manager_password_service_factory.h" #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/incognito_helpers.h" #include "chrome/browser/profiles/profile.h" @@ -13,6 +12,7 @@ #include "chrome/browser/supervised_user/supervised_user_shared_settings_service_factory.h" #include "chrome/browser/supervised_user/supervised_user_sync_service_factory.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" +#include "components/user_manager/user.h" namespace chromeos { @@ -43,7 +43,7 @@ ManagerPasswordServiceFactory:: KeyedService* ManagerPasswordServiceFactory::BuildServiceInstanceFor( content::BrowserContext* context) const { Profile* profile= static_cast<Profile*>(context); - chromeos::User* user = + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); if (chromeos::UserManager::Get()->GetSupervisedUserManager()-> HasSupervisedUsers(user->email())) { diff --git a/chrome/browser/supervised_user/chromeos/supervised_user_password_service.cc b/chrome/browser/supervised_user/chromeos/supervised_user_password_service.cc index fed10c6..c3dc5d0 100644 --- a/chrome/browser/supervised_user/chromeos/supervised_user_password_service.cc +++ b/chrome/browser/supervised_user/chromeos/supervised_user_password_service.cc @@ -44,7 +44,7 @@ void SupervisedUserPasswordService::OnSharedSettingsChange( return; chromeos::SupervisedUserManager* supervised_user_manager = chromeos::UserManager::Get()->GetSupervisedUserManager(); - const chromeos::User* user = supervised_user_manager->FindBySyncId(su_id); + const user_manager::User* user = supervised_user_manager->FindBySyncId(su_id); if (user == NULL) { LOG(WARNING) << "Got notification for user not on device."; return; diff --git a/chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.cc b/chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.cc index 47144bc..b210a77 100644 --- a/chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.cc +++ b/chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.cc @@ -5,7 +5,6 @@ #include "chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.h" #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/incognito_helpers.h" @@ -13,6 +12,7 @@ #include "chrome/browser/supervised_user/chromeos/supervised_user_password_service.h" #include "chrome/browser/supervised_user/supervised_user_shared_settings_service_factory.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_type.h" namespace chromeos { @@ -43,7 +43,7 @@ SupervisedUserPasswordServiceFactory:: KeyedService* SupervisedUserPasswordServiceFactory::BuildServiceInstanceFor( content::BrowserContext* context) const { Profile* profile= static_cast<Profile*>(context); - User* user = ProfileHelper::Get()->GetUserByProfile(profile); + user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); if (user->GetType() != user_manager::USER_TYPE_SUPERVISED) return NULL; SupervisedUserPasswordService* result = new SupervisedUserPasswordService(); diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc index 2443565..4b2f03a 100644 --- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc +++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc @@ -246,7 +246,8 @@ class ChromeLauncherControllerUserSwitchObserverChromeOS } // chromeos::UserManager::UserSessionStateObserver overrides: - virtual void UserAddedToSession(const chromeos::User* added_user) OVERRIDE; + virtual void UserAddedToSession( + const user_manager::User* added_user) OVERRIDE; // content::NotificationObserver overrides: virtual void Observe(int type, @@ -272,7 +273,7 @@ class ChromeLauncherControllerUserSwitchObserverChromeOS }; void ChromeLauncherControllerUserSwitchObserverChromeOS::UserAddedToSession( - const chromeos::User* active_user) { + const user_manager::User* active_user) { Profile* profile = multi_user_util::GetProfileFromUserID( active_user->email()); // If we do not have a profile yet, we postpone forwarding the notification diff --git a/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc b/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc index a10e61b..d2a61b2 100644 --- a/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc +++ b/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc @@ -12,7 +12,6 @@ #include "base/prefs/pref_service.h" #include "base/strings/utf_string_conversions.h" #include "chrome/app/chrome_command_ids.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" @@ -20,6 +19,7 @@ #include "chrome/browser/ui/ash/multi_user/multi_user_warning_dialog.h" #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h" #include "chrome/common/pref_names.h" +#include "components/user_manager/user.h" #include "grit/generated_resources.h" #include "ui/aura/window.h" #include "ui/base/l10n/l10n_util.h" @@ -129,10 +129,11 @@ void ExecuteVisitDesktopCommand(int command_id, aura::Window* window) { // Don't show warning dialog if any logged in user in multi-profiles // session dismissed it. - const chromeos::UserList logged_in_users = + const user_manager::UserList logged_in_users = chromeos::UserManager::Get()->GetLoggedInUsers(); - for (chromeos::UserList::const_iterator it = logged_in_users.begin(); - it != logged_in_users.end(); ++it) { + for (user_manager::UserList::const_iterator it = logged_in_users.begin(); + it != logged_in_users.end(); + ++it) { if (multi_user_util::GetProfileFromUserID( multi_user_util::GetUserIDFromEmail((*it)->email()))->GetPrefs()-> GetBoolean(prefs::kMultiProfileWarningShowDismissed)) { diff --git a/chrome/browser/ui/ash/session_state_delegate_chromeos.cc b/chrome/browser/ui/ash/session_state_delegate_chromeos.cc index 27e57f4..286e2db 100644 --- a/chrome/browser/ui/ash/session_state_delegate_chromeos.cc +++ b/chrome/browser/ui/ash/session_state_delegate_chromeos.cc @@ -11,7 +11,6 @@ #include "base/prefs/pref_service.h" #include "chrome/browser/chromeos/login/lock/screen_locker.h" #include "chrome/browser/chromeos/login/ui/user_adding_screen.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/profile.h" @@ -22,6 +21,7 @@ #include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/dbus/session_manager_client.h" #include "chromeos/login/login_state.h" +#include "components/user_manager/user.h" #include "google_apis/gaia/gaia_auth_util.h" SessionStateDelegateChromeos::SessionStateDelegateChromeos() @@ -49,7 +49,7 @@ SessionStateDelegateChromeos::~SessionStateDelegateChromeos() { content::BrowserContext* SessionStateDelegateChromeos::GetBrowserContextByIndex( ash::MultiProfileIndex index) { DCHECK_LT(index, NumberOfLoggedInUsers()); - chromeos::User* user = + user_manager::User* user = chromeos::UserManager::Get()->GetLRULoggedInUsers()[index]; DCHECK(user); return chromeos::ProfileHelper::Get()->GetProfileByUser(user); @@ -60,7 +60,8 @@ SessionStateDelegateChromeos::GetBrowserContextForWindow( aura::Window* window) { const std::string& user_id = chrome::MultiUserWindowManager::GetInstance()->GetWindowOwner(window); - const chromeos::User* user = chromeos::UserManager::Get()->FindUser(user_id); + const user_manager::User* user = + chromeos::UserManager::Get()->FindUser(user_id); DCHECK(user); return chromeos::ProfileHelper::Get()->GetProfileByUser(user); } @@ -83,7 +84,7 @@ bool SessionStateDelegateChromeos::IsActiveUserSessionStarted() const { } bool SessionStateDelegateChromeos::CanLockScreen() const { - const chromeos::UserList unlock_users = + const user_manager::UserList unlock_users = chromeos::UserManager::Get()->GetUnlockUsers(); return !unlock_users.empty(); } @@ -94,11 +95,12 @@ bool SessionStateDelegateChromeos::IsScreenLocked() const { } bool SessionStateDelegateChromeos::ShouldLockScreenBeforeSuspending() const { - const chromeos::UserList logged_in_users = + const user_manager::UserList logged_in_users = chromeos::UserManager::Get()->GetLoggedInUsers(); - for (chromeos::UserList::const_iterator it = logged_in_users.begin(); - it != logged_in_users.end(); ++it) { - chromeos::User* user = (*it); + for (user_manager::UserList::const_iterator it = logged_in_users.begin(); + it != logged_in_users.end(); + ++it) { + user_manager::User* user = (*it); Profile* profile = chromeos::ProfileHelper::Get()->GetProfileByUser(user); if (profile->GetPrefs()->GetBoolean(prefs::kEnableAutoScreenLock)) return true; @@ -168,13 +170,13 @@ void SessionStateDelegateChromeos::CycleActiveUser(CycleUser cycle_user) { if (NumberOfLoggedInUsers() <= 1) return; - const chromeos::UserList& logged_in_users = + const user_manager::UserList& logged_in_users = chromeos::UserManager::Get()->GetLoggedInUsers(); std::string user_id = chromeos::UserManager::Get()->GetActiveUser()->email(); // Get an iterator positioned at the active user. - chromeos::UserList::const_iterator it; + user_manager::UserList::const_iterator it; for (it = logged_in_users.begin(); it != logged_in_users.end(); ++it) { if ((*it)->email() == user_id) @@ -221,14 +223,14 @@ void SessionStateDelegateChromeos::LoggedInStateChanged() { } void SessionStateDelegateChromeos::ActiveUserChanged( - const chromeos::User* active_user) { + const user_manager::User* active_user) { FOR_EACH_OBSERVER(ash::SessionStateObserver, session_state_observer_list_, ActiveUserChanged(active_user->email())); } void SessionStateDelegateChromeos::UserAddedToSession( - const chromeos::User* added_user) { + const user_manager::User* added_user) { FOR_EACH_OBSERVER(ash::SessionStateObserver, session_state_observer_list_, UserAddedToSession(added_user->email())); diff --git a/chrome/browser/ui/ash/session_state_delegate_chromeos.h b/chrome/browser/ui/ash/session_state_delegate_chromeos.h index af0b055..0ec9622 100644 --- a/chrome/browser/ui/ash/session_state_delegate_chromeos.h +++ b/chrome/browser/ui/ash/session_state_delegate_chromeos.h @@ -57,8 +57,10 @@ class SessionStateDelegateChromeos virtual void LoggedInStateChanged() OVERRIDE; // chromeos::UserManager::UserSessionStateObserver: - virtual void ActiveUserChanged(const chromeos::User* active_user) OVERRIDE; - virtual void UserAddedToSession(const chromeos::User* added_user) OVERRIDE; + virtual void ActiveUserChanged( + const user_manager::User* active_user) OVERRIDE; + virtual void UserAddedToSession( + const user_manager::User* added_user) OVERRIDE; // chromeos::UserAddingScreen::Observer: virtual void OnUserAddingStarted() OVERRIDE; diff --git a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc index b0aa84a..27e06ef 100644 --- a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc +++ b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc @@ -60,7 +60,6 @@ #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" #include "chrome/browser/chromeos/login/ui/user_adding_screen.h" #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/options/network_config_view.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" @@ -100,6 +99,7 @@ #include "chromeos/network/portal_detector/network_portal_detector.h" #include "components/google/core/browser/google_util.h" #include "components/policy/core/common/cloud/cloud_policy_store.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_type.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_service.h" @@ -613,8 +613,9 @@ void SystemTrayDelegateChromeOS::ShowUserLogin() { // Don't show dialog if any logged in user in multi-profiles session // dismissed it. bool show_intro = true; - const UserList logged_in_users = UserManager::Get()->GetLoggedInUsers(); - for (UserList::const_iterator it = logged_in_users.begin(); + const user_manager::UserList logged_in_users = + UserManager::Get()->GetLoggedInUsers(); + for (user_manager::UserList::const_iterator it = logged_in_users.begin(); it != logged_in_users.end(); ++it) { show_intro &= !multi_user_util::GetProfileFromUserID( @@ -908,7 +909,7 @@ ash::tray::UserAccountsDelegate* SystemTrayDelegateChromeOS::GetUserAccountsDelegate( const std::string& user_id) { if (!accounts_delegates_.contains(user_id)) { - const User* user = UserManager::Get()->FindUser(user_id); + const user_manager::User* user = UserManager::Get()->FindUser(user_id); Profile* user_profile = ProfileHelper::Get()->GetProfileByUser(user); CHECK(user_profile); accounts_delegates_.set( diff --git a/chrome/browser/ui/ash/user_accounts_delegate_chromeos.cc b/chrome/browser/ui/ash/user_accounts_delegate_chromeos.cc index 90b9f42..13aa115 100644 --- a/chrome/browser/ui/ash/user_accounts_delegate_chromeos.cc +++ b/chrome/browser/ui/ash/user_accounts_delegate_chromeos.cc @@ -54,7 +54,8 @@ UserAccountsDelegateChromeOS::GetSecondaryAccountIds() { std::string UserAccountsDelegateChromeOS::GetAccountDisplayName( const std::string& account_id) { - User* user = ProfileHelper::Get()->GetUserByProfile(user_profile_); + user_manager::User* user = + ProfileHelper::Get()->GetUserByProfile(user_profile_); if (gaia::AreEmailsSame(user->email(), account_id) && !user->display_email().empty()) return user->display_email(); diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc index 88063e8..a00dac6 100644 --- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc +++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc @@ -35,7 +35,6 @@ #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" #include "chrome/browser/chromeos/login/ui/webui_login_display.h" #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" #include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" @@ -60,6 +59,7 @@ #include "chromeos/network/network_state.h" #include "chromeos/network/network_state_handler.h" #include "chromeos/network/portal_detector/network_portal_detector.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_type.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/web_contents.h" @@ -748,7 +748,7 @@ void SigninScreenHandler::OnUserRemoved(const std::string& username) { OnShowAddUser(); } -void SigninScreenHandler::OnUserImageChanged(const User& user) { +void SigninScreenHandler::OnUserImageChanged(const user_manager::User& user) { if (page_is_ready()) CallJS("login.AccountPickerScreen.updateUserImage", user.email()); } @@ -867,7 +867,7 @@ void SigninScreenHandler::ShowUserPodCustomIcon( // TODO(tengs): Move this code once we move unlocking to native code. if (ScreenLocker::default_screen_locker()) { UserManager* user_manager = UserManager::Get(); - const User* user = user_manager->FindUser(username); + const user_manager::User* user = user_manager->FindUser(username); if (!user) return; PrefService* profile_prefs = @@ -972,9 +972,11 @@ void SigninScreenHandler::HandleAuthenticateUser(const std::string& username, void SigninScreenHandler::HandleAttemptUnlock(const std::string& username) { DCHECK(ScreenLocker::default_screen_locker()); - const User* unlock_user = NULL; - const UserList& users = delegate_->GetUsers(); - for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { + const user_manager::User* unlock_user = NULL; + const user_manager::UserList& users = delegate_->GetUsers(); + for (user_manager::UserList::const_iterator it = users.begin(); + it != users.end(); + ++it) { if ((*it)->email() == username) { unlock_user = *it; break; @@ -1267,7 +1269,7 @@ bool SigninScreenHandler::AllWhitelistedUsersPresent() { if (allow_new_user) return false; UserManager* user_manager = UserManager::Get(); - const UserList& users = user_manager->GetUsers(); + const user_manager::UserList& users = user_manager->GetUsers(); if (!delegate_ || users.size() > kMaxUsers) { return false; } diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h index c8232b2..135f4d6 100644 --- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h +++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h @@ -76,7 +76,7 @@ class LoginDisplayWebUIHandler { virtual void ClearAndEnablePassword() = 0; virtual void ClearUserPodPassword() = 0; virtual void OnUserRemoved(const std::string& username) = 0; - virtual void OnUserImageChanged(const User& user) = 0; + virtual void OnUserImageChanged(const user_manager::User& user) = 0; virtual void OnPreferencesChanged() = 0; virtual void ResetSigninScreenHandlerDelegate() = 0; virtual void ShowError(int login_attempts, @@ -169,7 +169,7 @@ class SigninScreenHandlerDelegate { virtual void SetWebUIHandler(LoginDisplayWebUIHandler* webui_handler) = 0; // Returns users list to be shown. - virtual const UserList& GetUsers() const = 0; + virtual const user_manager::UserList& GetUsers() const = 0; // Whether login as guest is available. virtual bool IsShowGuest() const = 0; @@ -276,7 +276,7 @@ class SigninScreenHandler virtual void ClearAndEnablePassword() OVERRIDE; virtual void ClearUserPodPassword() OVERRIDE; virtual void OnUserRemoved(const std::string& username) OVERRIDE; - virtual void OnUserImageChanged(const User& user) OVERRIDE; + virtual void OnUserImageChanged(const user_manager::User& user) OVERRIDE; virtual void OnPreferencesChanged() OVERRIDE; virtual void ResetSigninScreenHandlerDelegate() OVERRIDE; virtual void ShowError(int login_attempts, diff --git a/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc b/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc index a6caecc..0aa3dea 100644 --- a/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc +++ b/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc @@ -7,10 +7,10 @@ #include "chrome/browser/chromeos/login/users/fake_user_manager.h" #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" #include "chrome/browser/chromeos/login/users/multi_profile_user_controller_delegate.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/signin/screenlock_bridge.h" #include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_profile_manager.h" +#include "components/user_manager/user.h" #include "testing/gtest/include/gtest/gtest.h" namespace { @@ -79,10 +79,9 @@ class SigninPrepareUserListTest TEST_F(SigninPrepareUserListTest, AlwaysKeepOwnerInList) { EXPECT_LT(kMaxUsers, fake_user_manager_->GetUsers().size()); - UserList users_to_send = UserSelectionScreen::PrepareUserListForSending( - fake_user_manager_->GetUsers(), - kOwner, - true /* is signin to add */); + user_manager::UserList users_to_send = + UserSelectionScreen::PrepareUserListForSending( + fake_user_manager_->GetUsers(), kOwner, true /* is signin to add */); EXPECT_EQ(kMaxUsers, users_to_send.size()); EXPECT_EQ(kOwner, users_to_send.back()->email()); @@ -100,10 +99,9 @@ TEST_F(SigninPrepareUserListTest, AlwaysKeepOwnerInList) { } TEST_F(SigninPrepareUserListTest, PublicAccounts) { - UserList users_to_send = UserSelectionScreen::PrepareUserListForSending( - fake_user_manager_->GetUsers(), - kOwner, - true /* is signin to add */); + user_manager::UserList users_to_send = + UserSelectionScreen::PrepareUserListForSending( + fake_user_manager_->GetUsers(), kOwner, true /* is signin to add */); EXPECT_EQ(kMaxUsers, users_to_send.size()); EXPECT_EQ("a0@gmail.com", users_to_send.front()->email()); diff --git a/chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.cc index 60ffdaf..38a3a7f 100644 --- a/chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.cc +++ b/chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.cc @@ -209,11 +209,13 @@ void SupervisedUserCreationScreenHandler::PrepareToShow() {} void SupervisedUserCreationScreenHandler::Show() { scoped_ptr<base::DictionaryValue> data(new base::DictionaryValue()); scoped_ptr<base::ListValue> users_list(new base::ListValue()); - const UserList& users = UserManager::Get()->GetUsers(); + const user_manager::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) { + for (user_manager::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); diff --git a/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc index 119ab44..587b4b7 100644 --- a/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc +++ b/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc @@ -11,11 +11,11 @@ #include "base/values.h" #include "chrome/browser/chromeos/login/existing_user_controller.h" #include "chrome/browser/chromeos/login/ui/webui_login_display.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/url_constants.h" #include "chromeos/audio/chromeos_sounds.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_image/default_user_images.h" #include "grit/browser_resources.h" #include "grit/generated_resources.h" @@ -159,7 +159,7 @@ void UserImageScreenHandler::HandleGetImages() { CallJS("setDefaultImages", image_urls); if (!screen_) return; - if (screen_->selected_image() != User::kInvalidImageIndex) + if (screen_->selected_image() != user_manager::User::USER_IMAGE_INVALID) SelectImage(screen_->selected_image()); if (screen_->profile_picture_data_url() != url::kAboutBlankURL) diff --git a/chrome/browser/ui/webui/net_internals/DEPS b/chrome/browser/ui/webui/net_internals/DEPS index 273d26b..5f9d86d 100644 --- a/chrome/browser/ui/webui/net_internals/DEPS +++ b/chrome/browser/ui/webui/net_internals/DEPS @@ -1,3 +1,4 @@ include_rules = [ "+components/onc", + "+components/user_manager", ] diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc index fe016f7..2224337 100644 --- a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc +++ b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc @@ -75,7 +75,6 @@ #if defined(OS_CHROMEOS) #include "chrome/browser/chromeos/file_manager/filesystem_api_util.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/net/onc_utils.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/chromeos/system/syslogs_provider.h" @@ -84,6 +83,7 @@ #include "chromeos/dbus/debug_daemon_client.h" #include "chromeos/network/onc/onc_certificate_importer_impl.h" #include "chromeos/network/onc/onc_utils.h" +#include "components/user_manager/user.h" #endif #if defined(OS_WIN) @@ -1482,7 +1482,7 @@ void NetInternalsMessageHandler::ImportONCFileToNSSDB( const std::string& passcode, net::NSSCertDatabase* nssdb) { std::string error; - chromeos::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile( + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile( Profile::FromWebUI(web_ui())); if (user) { diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc index e719763..35756cd 100644 --- a/chrome/browser/ui/webui/options/browser_options_handler.cc +++ b/chrome/browser/ui/webui/options/browser_options_handler.cc @@ -105,7 +105,6 @@ #include "ash/shell.h" #include "chrome/browser/chromeos/accessibility/accessibility_util.h" #include "chrome/browser/chromeos/chromeos_utils.h" -#include "chrome/browser/chromeos/login/users/user.h" #include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" @@ -121,6 +120,7 @@ #include "components/policy/core/common/policy_map.h" #include "components/policy/core/common/policy_namespace.h" #include "components/policy/core/common/policy_service.h" +#include "components/user_manager/user.h" #include "policy/policy_constants.h" #include "ui/gfx/image/image_skia.h" #endif // defined(OS_CHROMEOS) @@ -504,7 +504,7 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) { Profile* profile = Profile::FromWebUI(web_ui()); std::string username = profile->GetProfileName(); if (username.empty()) { - chromeos::User* user = + user_manager::User* user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); if (user && (user->GetType() != user_manager::USER_TYPE_GUEST)) username = user->email(); diff --git a/chrome/browser/ui/webui/options/chromeos/accounts_options_browsertest.cc b/chrome/browser/ui/webui/options/chromeos/accounts_options_browsertest.cc index 2877e63..8db7f0d 100644 --- a/chrome/browser/ui/webui/options/chromeos/accounts_options_browsertest.cc +++ b/chrome/browser/ui/webui/options/chromeos/accounts_options_browsertest.cc @@ -61,7 +61,7 @@ class AccountsOptionsTest : public LoginManagerTest { } protected: - void CheckAccountsUI(const User* user, bool is_owner) { + void CheckAccountsUI(const user_manager::User* user, bool is_owner) { Profile* profile = ProfileHelper::Get()->GetProfileByUser(user); profile->GetPrefs()->SetString(prefs::kGoogleServicesUsername, user->email()); diff --git a/chrome/browser/ui/webui/options/chromeos/accounts_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/accounts_options_handler.cc index 956b058..856945f 100644 --- a/chrome/browser/ui/webui/options/chromeos/accounts_options_handler.cc +++ b/chrome/browser/ui/webui/options/chromeos/accounts_options_handler.cc @@ -134,8 +134,10 @@ void AccountsOptionsHandler::HandleWhitelistExistingUsers( else new_list.reset(new base::ListValue); - const UserList& users = UserManager::Get()->GetUsers(); - for (UserList::const_iterator it = users.begin(); it < users.end(); ++it) + const user_manager::UserList& users = UserManager::Get()->GetUsers(); + for (user_manager::UserList::const_iterator it = users.begin(); + it < users.end(); + ++it) new_list->AppendIfNotPresent(new base::StringValue((*it)->email())); cros_settings->Set(kAccountsPrefUsers, *new_list.get()); diff --git a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc index 53e91c2..bf64a89 100644 --- a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc +++ b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc @@ -25,6 +25,7 @@ #include "chrome/common/chrome_switches.h" #include "chrome/common/url_constants.h" #include "chromeos/audio/chromeos_sounds.h" +#include "components/user_manager/user.h" #include "components/user_manager/user_image/default_user_images.h" #include "components/user_manager/user_image/user_image.h" #include "content/public/browser/browser_thread.h" @@ -77,7 +78,7 @@ const char kProfileDownloadReason[] = "Preferences"; ChangePictureOptionsHandler::ChangePictureOptionsHandler() : previous_image_url_(url::kAboutBlankURL), - previous_image_index_(User::kInvalidImageIndex) { + previous_image_index_(user_manager::User::USER_IMAGE_INVALID) { registrar_.Add(this, chrome::NOTIFICATION_PROFILE_IMAGE_UPDATED, content::NotificationService::AllSources()); registrar_.Add(this, chrome::NOTIFICATION_PROFILE_IMAGE_UPDATE_FAILED, @@ -267,18 +268,18 @@ void ChangePictureOptionsHandler::HandlePageHidden( } void ChangePictureOptionsHandler::SendSelectedImage() { - const User* user = GetUser(); + const user_manager::User* user = GetUser(); DCHECK(!user->email().empty()); previous_image_index_ = user->image_index(); switch (previous_image_index_) { - case User::kExternalImageIndex: { + case user_manager::User::USER_IMAGE_EXTERNAL: { // User has image from camera/file, record it and add to the image list. previous_image_ = user->GetImage(); SendOldImage(webui::GetBitmapDataUrl(*previous_image_.bitmap())); break; } - case User::kProfileImageIndex: { + case user_manager::User::USER_IMAGE_PROFILE: { // User has his/her Profile image as the current image. SendProfileImage(user->GetImage(), true); break; @@ -314,7 +315,7 @@ void ChangePictureOptionsHandler::UpdateProfileImage() { UserManager::Get()->GetUserImageManager(GetUser()->email()); // If we have a downloaded profile image and haven't sent it in // |SendSelectedImage|, send it now (without selecting). - if (previous_image_index_ != User::kProfileImageIndex && + if (previous_image_index_ != user_manager::User::USER_IMAGE_PROFILE && !user_image_manager->DownloadedProfileImage().isNull()) SendProfileImage(user_image_manager->DownloadedProfileImage(), false); @@ -343,7 +344,7 @@ void ChangePictureOptionsHandler::HandleSelectImage( UserImageManager* user_image_manager = UserManager::Get()->GetUserImageManager(GetUser()->email()); - int image_index = User::kInvalidImageIndex; + int image_index = user_manager::User::USER_IMAGE_INVALID; bool waiting_for_camera_photo = false; if (image_type == "old") { @@ -379,7 +380,7 @@ void ChangePictureOptionsHandler::HandleSelectImage( // Profile image selected. Could be previous (old) user image. user_image_manager->SaveUserImageFromProfileImage(); - if (previous_image_index_ == User::kProfileImageIndex) { + if (previous_image_index_ == user_manager::User::USER_IMAGE_PROFILE) { UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", user_manager::kHistogramImageOld, user_manager::kHistogramImagesCount); @@ -444,7 +445,7 @@ void ChangePictureOptionsHandler::Observe( false); } else if (type == chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED) { // Not initialized yet. - if (previous_image_index_ == User::kInvalidImageIndex) + if (previous_image_index_ == user_manager::User::USER_IMAGE_INVALID) return; SendSelectedImage(); } @@ -470,9 +471,9 @@ void ChangePictureOptionsHandler::OnDecodeImageFailed( NOTREACHED() << "Failed to decode PNG image from WebUI"; } -User* ChangePictureOptionsHandler::GetUser() const { +user_manager::User* ChangePictureOptionsHandler::GetUser() const { Profile* profile = Profile::FromWebUI(web_ui()); - User* user = ProfileHelper::Get()->GetUserByProfile(profile); + user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); if (!user) return UserManager::Get()->GetActiveUser(); return user; diff --git a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.h b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.h index 0330677..dd61a87 100644 --- a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.h +++ b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.h @@ -19,9 +19,11 @@ class DictionaryValue; class ListValue; } -namespace chromeos { - +namespace user_manager { class User; +} + +namespace chromeos { namespace options { @@ -119,7 +121,7 @@ class ChangePictureOptionsHandler : public ::options::OptionsPageUIHandler, // Returns user related to current WebUI. If this user doesn't exist, // returns active user. - User* GetUser() const; + user_manager::User* GetUser() const; scoped_refptr<ui::SelectFileDialog> select_file_dialog_; diff --git a/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc index da65089..f82464e 100644 --- a/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc +++ b/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc @@ -285,7 +285,7 @@ void CoreChromeOSOptionsHandler::GetLocalizedValues( // Check at load time whether this is a secondary user in a multi-profile // session. - User* user = ProfileHelper::Get()->GetUserByProfile(profile); + user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); if (user && user->email() != user_manager->GetPrimaryUser()->email()) { const std::string& primary_email = user_manager->GetPrimaryUser()->email(); diff --git a/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc index ac560c4..afd1ab1 100644 --- a/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc +++ b/chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc @@ -200,7 +200,7 @@ void CrosLanguageOptionsHandler::SetApplicationLocale( UserManager* user_manager = UserManager::Get(); // Only the primary user can change the locale. - User* user = ProfileHelper::Get()->GetUserByProfile(profile); + user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); if (user && user->email() == user_manager->GetPrimaryUser()->email()) { profile->ChangeAppLocale(language_code, Profile::APP_LOCALE_CHANGED_VIA_SETTINGS); diff --git a/chrome/browser/ui/webui/options/chromeos/shared_options_browsertest.cc b/chrome/browser/ui/webui/options/chromeos/shared_options_browsertest.cc index 4cd5c94..dc2c9ff 100644 --- a/chrome/browser/ui/webui/options/chromeos/shared_options_browsertest.cc +++ b/chrome/browser/ui/webui/options/chromeos/shared_options_browsertest.cc @@ -110,7 +110,9 @@ class SharedOptionsTest : public LoginManagerTest { } protected: - void CheckOptionsUI(const User* user, bool is_owner, bool is_primary) { + void CheckOptionsUI(const user_manager::User* user, + bool is_owner, + bool is_primary) { Browser* browser = CreateBrowserForUser(user); content::WebContents* contents = browser->tab_strip_model()->GetActiveWebContents(); @@ -128,7 +130,7 @@ class SharedOptionsTest : public LoginManagerTest { } // Creates a browser and navigates to the Settings page. - Browser* CreateBrowserForUser(const User* user) { + Browser* CreateBrowserForUser(const user_manager::User* user) { Profile* profile = ProfileHelper::Get()->GetProfileByUser(user); profile->GetPrefs()->SetString(prefs::kGoogleServicesUsername, user->email()); @@ -303,8 +305,8 @@ IN_PROC_BROWSER_TEST_F(SharedOptionsTest, ScreenLockPreferencePrimary) { AddUser(kTestNonOwner); UserManager* manager = UserManager::Get(); - const User* user1 = manager->FindUser(kTestOwner); - const User* user2 = manager->FindUser(kTestNonOwner); + const user_manager::User* user1 = manager->FindUser(kTestOwner); + const user_manager::User* user2 = manager->FindUser(kTestNonOwner); PrefService* prefs1 = ProfileHelper::Get()->GetProfileByUser(user1)->GetPrefs(); @@ -374,8 +376,8 @@ IN_PROC_BROWSER_TEST_F(SharedOptionsTest, ScreenLockPreferenceSecondary) { AddUser(kTestNonOwner); UserManager* manager = UserManager::Get(); - const User* user1 = manager->FindUser(kTestOwner); - const User* user2 = manager->FindUser(kTestNonOwner); + const user_manager::User* user1 = manager->FindUser(kTestOwner); + const user_manager::User* user2 = manager->FindUser(kTestNonOwner); PrefService* prefs1 = ProfileHelper::Get()->GetProfileByUser(user1)->GetPrefs(); diff --git a/chrome/browser/ui/webui/options/chromeos/user_image_source.cc b/chrome/browser/ui/webui/options/chromeos/user_image_source.cc index 6ad87bee..a5c0a62 100644 --- a/chrome/browser/ui/webui/options/chromeos/user_image_source.cc +++ b/chrome/browser/ui/webui/options/chromeos/user_image_source.cc @@ -55,7 +55,8 @@ base::RefCountedMemory* UserImageSource::GetUserImage( const std::string& email, bool is_image_animated, ui::ScaleFactor scale_factor) const { - const chromeos::User* user = chromeos::UserManager::Get()->FindUser(email); + const user_manager::User* user = + chromeos::UserManager::Get()->FindUser(email); if (user) { if (user->has_animated_image() && is_image_animated) { return new base::RefCountedBytes(user->animated_image()); @@ -109,7 +110,8 @@ std::string UserImageSource::GetMimeType(const std::string& path) const { ParseRequest(url, &email, &is_image_animated); if (is_image_animated) { - const chromeos::User* user = chromeos::UserManager::Get()->FindUser(email); + const user_manager::User* user = + chromeos::UserManager::Get()->FindUser(email); if (user && user->has_animated_image()) return "image/gif"; } |