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

Unified Diff: chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc

Issue 444903002: [cros] user_manager component - move UserManagerBase and UserManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager.cc b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
similarity index 85%
copy from chrome/browser/chromeos/login/users/chrome_user_manager.cc
copy to chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
index d7fdd8b90c530105ed15b3f865df64497bafbed3..32aab49d6e5425ed8803537df535e4ca2b158a81 100644
--- a/chrome/browser/chromeos/login/users/chrome_user_manager.cc
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
@@ -2,7 +2,7 @@
// 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/chrome_user_manager.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
#include <cstddef>
#include <set>
@@ -21,6 +21,7 @@
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
+#include "base/thread_task_runner_handle.h"
#include "base/values.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
@@ -30,7 +31,6 @@
#include "chrome/browser/chromeos/login/signin/auth_sync_observer_factory.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
-#include "chrome/browser/chromeos/login/users/remove_user_delegate.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager_impl.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
@@ -49,6 +49,7 @@
#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/remove_user_delegate.h"
#include "components/user_manager/user_image/user_image.h"
#include "components/user_manager/user_type.h"
#include "content/public/browser/browser_thread.h"
@@ -78,8 +79,8 @@ const char kPublicAccountPendingDataRemoval[] =
} // namespace
// static
-void UserManager::RegisterPrefs(PrefRegistrySimple* registry) {
- UserManagerBase::RegisterPrefs(registry);
+void ChromeUserManagerImpl::RegisterPrefs(PrefRegistrySimple* registry) {
+ ChromeUserManager::RegisterPrefs(registry);
registry->RegisterListPref(kPublicAccounts);
registry->RegisterStringPref(kPublicAccountPendingDataRemoval, std::string());
@@ -87,8 +88,15 @@ void UserManager::RegisterPrefs(PrefRegistrySimple* registry) {
SessionLengthLimiter::RegisterPrefs(registry);
}
-ChromeUserManager::ChromeUserManager()
- : cros_settings_(CrosSettings::Get()),
+// static
+scoped_ptr<ChromeUserManager> ChromeUserManagerImpl::CreateChromeUserManager() {
+ return scoped_ptr<ChromeUserManager>(new ChromeUserManagerImpl());
+}
+
+ChromeUserManagerImpl::ChromeUserManagerImpl()
+ : ChromeUserManager(base::ThreadTaskRunnerHandle::Get(),
+ BrowserThread::GetBlockingPool()),
+ cros_settings_(CrosSettings::Get()),
device_local_account_policy_service_(NULL),
supervised_user_manager_(new SupervisedUserManagerImpl(this)),
weak_factory_(this) {
@@ -110,13 +118,13 @@ ChromeUserManager::ChromeUserManager()
if (base::MessageLoop::current()) {
base::MessageLoop::current()->PostTask(
FROM_HERE,
- base::Bind(&ChromeUserManager::RetrieveTrustedDevicePolicies,
+ base::Bind(&ChromeUserManagerImpl::RetrieveTrustedDevicePolicies,
weak_factory_.GetWeakPtr()));
}
local_accounts_subscription_ = cros_settings_->AddSettingsObserver(
kAccountsPrefDeviceLocalAccounts,
- base::Bind(&ChromeUserManager::RetrieveTrustedDevicePolicies,
+ base::Bind(&ChromeUserManagerImpl::RetrieveTrustedDevicePolicies,
weak_factory_.GetWeakPtr()));
multi_profile_user_controller_.reset(
new MultiProfileUserController(this, GetLocalState()));
@@ -138,12 +146,12 @@ ChromeUserManager::ChromeUserManager()
wallpaper_policy_observer_->Init();
}
-ChromeUserManager::~ChromeUserManager() {
+ChromeUserManagerImpl::~ChromeUserManagerImpl() {
}
-void ChromeUserManager::Shutdown() {
+void ChromeUserManagerImpl::Shutdown() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::Shutdown();
+ ChromeUserManager::Shutdown();
local_accounts_subscription_.reset();
@@ -165,11 +173,12 @@ void ChromeUserManager::Shutdown() {
registrar_.RemoveAll();
}
-MultiProfileUserController* ChromeUserManager::GetMultiProfileUserController() {
+MultiProfileUserController*
+ChromeUserManagerImpl::GetMultiProfileUserController() {
return multi_profile_user_controller_.get();
}
-UserImageManager* ChromeUserManager::GetUserImageManager(
+UserImageManager* ChromeUserManagerImpl::GetUserImageManager(
const std::string& user_id) {
UserImageManagerMap::iterator ui = user_image_managers_.find(user_id);
if (ui != user_image_managers_.end())
@@ -179,11 +188,11 @@ UserImageManager* ChromeUserManager::GetUserImageManager(
return mgr.get();
}
-SupervisedUserManager* ChromeUserManager::GetSupervisedUserManager() {
+SupervisedUserManager* ChromeUserManagerImpl::GetSupervisedUserManager() {
return supervised_user_manager_.get();
}
-user_manager::UserList ChromeUserManager::GetUsersAdmittedForMultiProfile()
+user_manager::UserList ChromeUserManagerImpl::GetUsersAdmittedForMultiProfile()
const {
// Supervised users are not allowed to use multi-profiles.
if (GetLoggedInUsers().size() == 1 &&
@@ -222,7 +231,7 @@ user_manager::UserList ChromeUserManager::GetUsersAdmittedForMultiProfile()
return result;
}
-user_manager::UserList ChromeUserManager::GetUnlockUsers() const {
+user_manager::UserList ChromeUserManagerImpl::GetUnlockUsers() const {
const user_manager::UserList& logged_in_users = GetLoggedInUsers();
if (logged_in_users.empty())
return user_manager::UserList();
@@ -261,9 +270,9 @@ user_manager::UserList ChromeUserManager::GetUnlockUsers() const {
return unlock_users;
}
-void ChromeUserManager::SessionStarted() {
+void ChromeUserManagerImpl::SessionStarted() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::SessionStarted();
+ ChromeUserManager::SessionStarted();
content::NotificationService::current()->Notify(
chrome::NOTIFICATION_SESSION_STARTED,
@@ -271,12 +280,13 @@ void ChromeUserManager::SessionStarted() {
content::Details<const user_manager::User>(GetActiveUser()));
}
-void ChromeUserManager::RemoveUserInternal(const std::string& user_email,
- RemoveUserDelegate* delegate) {
+void ChromeUserManagerImpl::RemoveUserInternal(
+ const std::string& user_email,
+ user_manager::RemoveUserDelegate* delegate) {
CrosSettings* cros_settings = CrosSettings::Get();
const base::Closure& callback =
- base::Bind(&ChromeUserManager::RemoveUserInternal,
+ base::Bind(&ChromeUserManagerImpl::RemoveUserInternal,
weak_factory_.GetWeakPtr(),
user_email,
delegate);
@@ -297,20 +307,20 @@ void ChromeUserManager::RemoveUserInternal(const std::string& user_email,
RemoveNonOwnerUserInternal(user_email, delegate);
}
-void ChromeUserManager::SaveUserOAuthStatus(
+void ChromeUserManagerImpl::SaveUserOAuthStatus(
const std::string& user_id,
user_manager::User::OAuthTokenStatus oauth_token_status) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::SaveUserOAuthStatus(user_id, oauth_token_status);
+ ChromeUserManager::SaveUserOAuthStatus(user_id, oauth_token_status);
GetUserFlow(user_id)->HandleOAuthTokenStatusChange(oauth_token_status);
}
-void ChromeUserManager::SaveUserDisplayName(
+void ChromeUserManagerImpl::SaveUserDisplayName(
const std::string& user_id,
const base::string16& display_name) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::SaveUserDisplayName(user_id, display_name);
+ ChromeUserManager::SaveUserDisplayName(user_id, display_name);
// Do not update local state if data stored or cached outside the user's
// cryptohome is to be treated as ephemeral.
@@ -318,14 +328,15 @@ void ChromeUserManager::SaveUserDisplayName(
supervised_user_manager_->UpdateManagerName(user_id, display_name);
}
-void ChromeUserManager::StopPolicyObserverForTesting() {
+void ChromeUserManagerImpl::StopPolicyObserverForTesting() {
avatar_policy_observer_.reset();
wallpaper_policy_observer_.reset();
}
-void ChromeUserManager::Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
+void ChromeUserManagerImpl::Observe(
+ int type,
+ const content::NotificationSource& source,
+ const content::NotificationDetails& details) {
switch (type) {
case chrome::NOTIFICATION_OWNERSHIP_STATUS_CHANGED:
if (!device_local_account_policy_service_) {
@@ -372,7 +383,7 @@ void ChromeUserManager::Observe(int type,
// NOTIFICATION_PROFILE_CREATED is called synchronously.
base::MessageLoop::current()->PostTask(
FROM_HERE,
- base::Bind(&ChromeUserManager::SwitchActiveUser,
+ base::Bind(&ChromeUserManagerImpl::SwitchActiveUser,
weak_factory_.GetWeakPtr(),
GetPendingUserSwitchID()));
SetPendingUserSwitchID(std::string());
@@ -384,8 +395,8 @@ void ChromeUserManager::Observe(int type,
}
}
-void ChromeUserManager::OnExternalDataSet(const std::string& policy,
- const std::string& user_id) {
+void ChromeUserManagerImpl::OnExternalDataSet(const std::string& policy,
+ const std::string& user_id) {
if (policy == policy::key::kUserAvatarImage)
GetUserImageManager(user_id)->OnExternalDataSet(policy);
else if (policy == policy::key::kWallpaperImage)
@@ -394,8 +405,8 @@ void ChromeUserManager::OnExternalDataSet(const std::string& policy,
NOTREACHED();
}
-void ChromeUserManager::OnExternalDataCleared(const std::string& policy,
- const std::string& user_id) {
+void ChromeUserManagerImpl::OnExternalDataCleared(const std::string& policy,
+ const std::string& user_id) {
if (policy == policy::key::kUserAvatarImage)
GetUserImageManager(user_id)->OnExternalDataCleared(policy);
else if (policy == policy::key::kWallpaperImage)
@@ -404,9 +415,10 @@ void ChromeUserManager::OnExternalDataCleared(const std::string& policy,
NOTREACHED();
}
-void ChromeUserManager::OnExternalDataFetched(const std::string& policy,
- const std::string& user_id,
- scoped_ptr<std::string> data) {
+void ChromeUserManagerImpl::OnExternalDataFetched(
+ const std::string& policy,
+ const std::string& user_id,
+ scoped_ptr<std::string> data) {
if (policy == policy::key::kUserAvatarImage)
GetUserImageManager(user_id)->OnExternalDataFetched(policy, data.Pass());
else if (policy == policy::key::kWallpaperImage)
@@ -415,55 +427,61 @@ void ChromeUserManager::OnExternalDataFetched(const std::string& policy,
NOTREACHED();
}
-void ChromeUserManager::OnPolicyUpdated(const std::string& user_id) {
+void ChromeUserManagerImpl::OnPolicyUpdated(const std::string& user_id) {
const user_manager::User* user = FindUser(user_id);
if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
return;
UpdatePublicAccountDisplayName(user_id);
}
-void ChromeUserManager::OnDeviceLocalAccountsChanged() {
+void ChromeUserManagerImpl::OnDeviceLocalAccountsChanged() {
// No action needed here, changes to the list of device-local accounts get
// handled via the kAccountsPrefDeviceLocalAccounts device setting observer.
}
-bool ChromeUserManager::CanCurrentUserLock() const {
- return UserManagerBase::CanCurrentUserLock() &&
+bool ChromeUserManagerImpl::CanCurrentUserLock() const {
+ return ChromeUserManager::CanCurrentUserLock() &&
GetCurrentUserFlow()->CanLockScreen();
}
-bool ChromeUserManager::IsUserNonCryptohomeDataEphemeral(
+bool ChromeUserManagerImpl::IsUserNonCryptohomeDataEphemeral(
const std::string& user_id) const {
// Data belonging to the obsolete public accounts whose data has not been
// removed yet is not ephemeral.
bool is_obsolete_public_account = IsPublicAccountMarkedForRemoval(user_id);
return !is_obsolete_public_account &&
- UserManagerBase::IsUserNonCryptohomeDataEphemeral(user_id);
+ ChromeUserManager::IsUserNonCryptohomeDataEphemeral(user_id);
}
-bool ChromeUserManager::AreEphemeralUsersEnabled() const {
+bool ChromeUserManagerImpl::AreEphemeralUsersEnabled() const {
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
return GetEphemeralUsersEnabled() &&
(connector->IsEnterpriseManaged() || !GetOwnerEmail().empty());
}
-const std::string& ChromeUserManager::GetApplicationLocale() const {
+const std::string& ChromeUserManagerImpl::GetApplicationLocale() const {
return g_browser_process->GetApplicationLocale();
}
-PrefService* ChromeUserManager::GetLocalState() const {
+PrefService* ChromeUserManagerImpl::GetLocalState() const {
return g_browser_process ? g_browser_process->local_state() : NULL;
}
-bool ChromeUserManager::IsEnterpriseManaged() const {
+void ChromeUserManagerImpl::HandleUserOAuthTokenStatusChange(
+ const std::string& user_id,
+ user_manager::User::OAuthTokenStatus status) const {
+ GetUserFlow(user_id)->HandleOAuthTokenStatusChange(status);
+}
+
+bool ChromeUserManagerImpl::IsEnterpriseManaged() const {
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
return connector->IsEnterpriseManaged();
}
-void ChromeUserManager::LoadPublicAccounts(
+void ChromeUserManagerImpl::LoadPublicAccounts(
std::set<std::string>* public_sessions_set) {
const base::ListValue* prefs_public_sessions =
GetLocalState()->GetList(kPublicAccounts);
@@ -480,7 +498,7 @@ void ChromeUserManager::LoadPublicAccounts(
}
}
-void ChromeUserManager::PerformPreUserListLoadingActions() {
+void ChromeUserManagerImpl::PerformPreUserListLoadingActions() {
// Clean up user list first. All code down the path should be synchronous,
// so that local state after transaction rollback is in consistent state.
// This process also should not trigger EnsureUsersLoaded again.
@@ -488,7 +506,7 @@ void ChromeUserManager::PerformPreUserListLoadingActions() {
supervised_user_manager_->RollbackUserCreationTransaction();
}
-void ChromeUserManager::PerformPostUserListLoadingActions() {
+void ChromeUserManagerImpl::PerformPostUserListLoadingActions() {
for (user_manager::UserList::iterator ui = users_.begin(), ue = users_.end();
ui != ue;
++ui) {
@@ -496,18 +514,19 @@ void ChromeUserManager::PerformPostUserListLoadingActions() {
}
}
-void ChromeUserManager::PerformPostUserLoggedInActions(bool browser_restart) {
+void ChromeUserManagerImpl::PerformPostUserLoggedInActions(
+ bool browser_restart) {
// Initialize the session length limiter and start it only if
// session limit is defined by the policy.
session_length_limiter_.reset(
new SessionLengthLimiter(NULL, browser_restart));
}
-bool ChromeUserManager::IsDemoApp(const std::string& user_id) const {
+bool ChromeUserManagerImpl::IsDemoApp(const std::string& user_id) const {
return DemoAppLauncher::IsDemoAppSession(user_id);
}
-bool ChromeUserManager::IsKioskApp(const std::string& user_id) const {
+bool ChromeUserManagerImpl::IsKioskApp(const std::string& user_id) const {
policy::DeviceLocalAccount::Type device_local_account_type;
return policy::IsDeviceLocalAccountUser(user_id,
&device_local_account_type) &&
@@ -515,13 +534,13 @@ bool ChromeUserManager::IsKioskApp(const std::string& user_id) const {
policy::DeviceLocalAccount::TYPE_KIOSK_APP;
}
-bool ChromeUserManager::IsPublicAccountMarkedForRemoval(
+bool ChromeUserManagerImpl::IsPublicAccountMarkedForRemoval(
const std::string& user_id) const {
return user_id ==
GetLocalState()->GetString(kPublicAccountPendingDataRemoval);
}
-void ChromeUserManager::RetrieveTrustedDevicePolicies() {
+void ChromeUserManagerImpl::RetrieveTrustedDevicePolicies() {
// Local state may not be initialized in unit_tests.
if (!GetLocalState())
return;
@@ -532,7 +551,7 @@ void ChromeUserManager::RetrieveTrustedDevicePolicies() {
// Schedule a callback if device policy has not yet been verified.
if (CrosSettingsProvider::TRUSTED !=
cros_settings_->PrepareTrustedValues(
- base::Bind(&ChromeUserManager::RetrieveTrustedDevicePolicies,
+ base::Bind(&ChromeUserManagerImpl::RetrieveTrustedDevicePolicies,
weak_factory_.GetWeakPtr()))) {
return;
}
@@ -577,9 +596,9 @@ void ChromeUserManager::RetrieveTrustedDevicePolicies() {
NotifyUserListChanged();
}
-void ChromeUserManager::GuestUserLoggedIn() {
+void ChromeUserManagerImpl::GuestUserLoggedIn() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::GuestUserLoggedIn();
+ ChromeUserManager::GuestUserLoggedIn();
// TODO(nkostylev): Add support for passing guest session cryptohome
// mount point. Legacy (--login-profile) value will be used for now.
@@ -595,8 +614,8 @@ void ChromeUserManager::GuestUserLoggedIn() {
WallpaperManager::Get()->SetUserWallpaperNow(chromeos::login::kGuestUserName);
}
-void ChromeUserManager::RegularUserLoggedIn(const std::string& user_id) {
- UserManagerBase::RegularUserLoggedIn(user_id);
+void ChromeUserManagerImpl::RegularUserLoggedIn(const std::string& user_id) {
+ ChromeUserManager::RegularUserLoggedIn(user_id);
if (IsCurrentUserNew())
WallpaperManager::Get()->SetUserWallpaperNow(user_id);
@@ -609,16 +628,16 @@ void ChromeUserManager::RegularUserLoggedIn(const std::string& user_id) {
GetLocalState()->CommitPendingWrite();
}
-void ChromeUserManager::RegularUserLoggedInAsEphemeral(
+void ChromeUserManagerImpl::RegularUserLoggedInAsEphemeral(
const std::string& user_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- UserManagerBase::RegularUserLoggedInAsEphemeral(user_id);
+ ChromeUserManager::RegularUserLoggedInAsEphemeral(user_id);
GetUserImageManager(user_id)->UserLoggedIn(IsCurrentUserNew(), false);
WallpaperManager::Get()->SetUserWallpaperNow(user_id);
}
-void ChromeUserManager::SupervisedUserLoggedIn(const std::string& user_id) {
+void ChromeUserManagerImpl::SupervisedUserLoggedIn(const std::string& user_id) {
// TODO(nkostylev): Refactor, share code with RegularUserLoggedIn().
// Remove the user from the user list.
@@ -657,7 +676,8 @@ void ChromeUserManager::SupervisedUserLoggedIn(const std::string& user_id) {
GetLocalState()->CommitPendingWrite();
}
-void ChromeUserManager::PublicAccountUserLoggedIn(user_manager::User* user) {
+void ChromeUserManagerImpl::PublicAccountUserLoggedIn(
+ user_manager::User* user) {
SetIsCurrentUserNew(true);
active_user_ = user;
@@ -668,7 +688,7 @@ void ChromeUserManager::PublicAccountUserLoggedIn(user_manager::User* user) {
WallpaperManager::Get()->EnsureLoggedInUserWallpaperLoaded();
}
-void ChromeUserManager::KioskAppLoggedIn(const std::string& app_id) {
+void ChromeUserManagerImpl::KioskAppLoggedIn(const std::string& app_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
policy::DeviceLocalAccount::Type device_local_account_type;
DCHECK(policy::IsDeviceLocalAccountUser(app_id, &device_local_account_type));
@@ -717,7 +737,7 @@ void ChromeUserManager::KioskAppLoggedIn(const std::string& app_id) {
command_line->AppendSwitch(wm::switches::kWindowAnimationsDisabled);
}
-void ChromeUserManager::DemoAccountLoggedIn() {
+void ChromeUserManagerImpl::DemoAccountLoggedIn() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
active_user_ =
user_manager::User::CreateKioskAppUser(DemoAppLauncher::kDemoUserName);
@@ -740,7 +760,7 @@ void ChromeUserManager::DemoAccountLoggedIn() {
wm::switches::kWindowAnimationsDisabled);
}
-void ChromeUserManager::RetailModeUserLoggedIn() {
+void ChromeUserManagerImpl::RetailModeUserLoggedIn() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
SetIsCurrentUserNew(true);
active_user_ = user_manager::User::CreateRetailModeUser();
@@ -750,13 +770,13 @@ void ChromeUserManager::RetailModeUserLoggedIn() {
chromeos::login::kRetailModeUserName);
}
-void ChromeUserManager::NotifyOnLogin() {
+void ChromeUserManagerImpl::NotifyOnLogin() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
UserSessionManager::OverrideHomedir();
UpdateNumberOfUsers();
- UserManagerBase::NotifyOnLogin();
+ ChromeUserManager::NotifyOnLogin();
// TODO(nkostylev): Deprecate this notification in favor of
// ActiveUserChanged() observer call.
@@ -768,15 +788,16 @@ void ChromeUserManager::NotifyOnLogin() {
UserSessionManager::GetInstance()->PerformPostUserLoggedInActions();
}
-void ChromeUserManager::UpdateOwnership() {
+void ChromeUserManagerImpl::UpdateOwnership() {
bool is_owner = DeviceSettingsService::Get()->HasPrivateOwnerKey();
VLOG(1) << "Current user " << (is_owner ? "is owner" : "is not owner");
SetCurrentUserIsOwner(is_owner);
}
-void ChromeUserManager::RemoveNonCryptohomeData(const std::string& user_id) {
- UserManagerBase::RemoveNonCryptohomeData(user_id);
+void ChromeUserManagerImpl::RemoveNonCryptohomeData(
+ const std::string& user_id) {
+ ChromeUserManager::RemoveNonCryptohomeData(user_id);
WallpaperManager::Get()->RemoveUserWallpaperInfo(user_id);
GetUserImageManager(user_id)->DeleteUserImage();
@@ -786,7 +807,8 @@ void ChromeUserManager::RemoveNonCryptohomeData(const std::string& user_id) {
multi_profile_user_controller_->RemoveCachedValues(user_id);
}
-void ChromeUserManager::CleanUpPublicAccountNonCryptohomeDataPendingRemoval() {
+void
+ChromeUserManagerImpl::CleanUpPublicAccountNonCryptohomeDataPendingRemoval() {
PrefService* local_state = GetLocalState();
const std::string public_account_pending_data_removal =
local_state->GetString(kPublicAccountPendingDataRemoval);
@@ -800,7 +822,7 @@ void ChromeUserManager::CleanUpPublicAccountNonCryptohomeDataPendingRemoval() {
local_state->ClearPref(kPublicAccountPendingDataRemoval);
}
-void ChromeUserManager::CleanUpPublicAccountNonCryptohomeData(
+void ChromeUserManagerImpl::CleanUpPublicAccountNonCryptohomeData(
const std::vector<std::string>& old_public_accounts) {
std::set<std::string> users;
for (user_manager::UserList::const_iterator it = users_.begin();
@@ -830,7 +852,7 @@ void ChromeUserManager::CleanUpPublicAccountNonCryptohomeData(
}
}
-bool ChromeUserManager::UpdateAndCleanUpPublicAccounts(
+bool ChromeUserManagerImpl::UpdateAndCleanUpPublicAccounts(
const std::vector<policy::DeviceLocalAccount>& device_local_accounts) {
// Try to remove any public account data marked as pending removal.
CleanUpPublicAccountNonCryptohomeDataPendingRemoval();
@@ -919,7 +941,7 @@ bool ChromeUserManager::UpdateAndCleanUpPublicAccounts(
return true;
}
-void ChromeUserManager::UpdatePublicAccountDisplayName(
+void ChromeUserManagerImpl::UpdatePublicAccountDisplayName(
const std::string& user_id) {
std::string display_name;
@@ -934,14 +956,14 @@ void ChromeUserManager::UpdatePublicAccountDisplayName(
SaveUserDisplayName(user_id, base::UTF8ToUTF16(display_name));
}
-UserFlow* ChromeUserManager::GetCurrentUserFlow() const {
+UserFlow* ChromeUserManagerImpl::GetCurrentUserFlow() const {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
if (!IsUserLoggedIn())
return GetDefaultUserFlow();
return GetUserFlow(GetLoggedInUser()->email());
}
-UserFlow* ChromeUserManager::GetUserFlow(const std::string& user_id) const {
+UserFlow* ChromeUserManagerImpl::GetUserFlow(const std::string& user_id) const {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
FlowMap::const_iterator it = specific_flows_.find(user_id);
if (it != specific_flows_.end())
@@ -949,14 +971,14 @@ UserFlow* ChromeUserManager::GetUserFlow(const std::string& user_id) const {
return GetDefaultUserFlow();
}
-void ChromeUserManager::SetUserFlow(const std::string& user_id,
- UserFlow* flow) {
+void ChromeUserManagerImpl::SetUserFlow(const std::string& user_id,
+ UserFlow* flow) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
ResetUserFlow(user_id);
specific_flows_[user_id] = flow;
}
-void ChromeUserManager::ResetUserFlow(const std::string& user_id) {
+void ChromeUserManagerImpl::ResetUserFlow(const std::string& user_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
FlowMap::iterator it = specific_flows_.find(user_id);
if (it != specific_flows_.end()) {
@@ -965,44 +987,44 @@ void ChromeUserManager::ResetUserFlow(const std::string& user_id) {
}
}
-bool ChromeUserManager::AreSupervisedUsersAllowed() const {
+bool ChromeUserManagerImpl::AreSupervisedUsersAllowed() const {
bool supervised_users_allowed = false;
cros_settings_->GetBoolean(kAccountsPrefSupervisedUsersEnabled,
&supervised_users_allowed);
return supervised_users_allowed;
}
-UserFlow* ChromeUserManager::GetDefaultUserFlow() const {
+UserFlow* ChromeUserManagerImpl::GetDefaultUserFlow() const {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
if (!default_flow_.get())
default_flow_.reset(new DefaultUserFlow());
return default_flow_.get();
}
-void ChromeUserManager::NotifyUserListChanged() {
+void ChromeUserManagerImpl::NotifyUserListChanged() {
content::NotificationService::current()->Notify(
chrome::NOTIFICATION_USER_LIST_CHANGED,
content::Source<UserManager>(this),
content::NotificationService::NoDetails());
}
-void ChromeUserManager::NotifyUserAddedToSession(
+void ChromeUserManagerImpl::NotifyUserAddedToSession(
const user_manager::User* added_user,
bool user_switch_pending) {
if (user_switch_pending)
SetPendingUserSwitchID(added_user->email());
UpdateNumberOfUsers();
- UserManagerBase::NotifyUserAddedToSession(added_user, user_switch_pending);
+ ChromeUserManager::NotifyUserAddedToSession(added_user, user_switch_pending);
}
-void ChromeUserManager::OnUserNotAllowed(const std::string& user_email) {
+void ChromeUserManagerImpl::OnUserNotAllowed(const std::string& user_email) {
LOG(ERROR) << "Shutdown session because a user is not allowed to be in the "
"current session";
chromeos::ShowMultiprofilesSessionAbortedDialog(user_email);
}
-void ChromeUserManager::UpdateNumberOfUsers() {
+void ChromeUserManagerImpl::UpdateNumberOfUsers() {
size_t users = GetLoggedInUsers().size();
if (users) {
// Write the user number as UMA stat when a multi user session is possible.

Powered by Google App Engine
This is Rietveld 408576698