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

Unified Diff: chrome/browser/chromeos/login/users/fake_chrome_user_manager.h

Issue 2504513002: Make FakeChromeUserManager subclass of ChromeUserManager (Closed)
Patch Set: Addressed comment Created 4 years, 1 month 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/fake_chrome_user_manager.h
diff --git a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h
index 3af26c80895dc43194b38a476b3ee5907c356d33..490e3c2036eb34f14cb4a0b56fd76a11918fc0be 100644
--- a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h
+++ b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h
@@ -11,11 +11,10 @@
#include "base/macros.h"
#include "chrome/browser/chromeos/login/user_flow.h"
-#include "chrome/browser/chromeos/login/users/user_manager_interface.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "components/user_manager/fake_user_manager.h"
#include "components/user_manager/user.h"
#include "components/user_manager/user_image/user_image.h"
-#include "components/user_manager/user_manager_base.h"
namespace chromeos {
@@ -23,8 +22,7 @@ class FakeSupervisedUserManager;
// Fake chrome user manager with a barebones implementation. Users can be added
// and set as logged in, and those users can be returned.
-class FakeChromeUserManager : public user_manager::FakeUserManager,
- public UserManagerInterface {
+class FakeChromeUserManager : public ChromeUserManager {
public:
FakeChromeUserManager();
~FakeChromeUserManager() override;
@@ -39,35 +37,74 @@ class FakeChromeUserManager : public user_manager::FakeUserManager,
// Calculates the user name hash and calls UserLoggedIn to login a user.
void LoginUser(const AccountId& account_id);
- // UserManager overrides.
- user_manager::UserList GetUsersAllowedForMultiProfile() const override;
-
- // user_manager::FakeUserManager override.
- const user_manager::User* AddUser(const AccountId& account_id) override;
+ const user_manager::User* AddUser(const AccountId& account_id);
const user_manager::User* AddUserWithAffiliation(const AccountId& account_id,
- bool is_affiliated) override;
- bool AreEphemeralUsersEnabled() const override;
+ bool is_affiliated);
- // UserManagerInterface implementation.
- BootstrapManager* GetBootstrapManager() override;
- MultiProfileUserController* GetMultiProfileUserController() override;
- UserImageManager* GetUserImageManager(const AccountId& account_id) override;
- SupervisedUserManager* GetSupervisedUserManager() override;
- void SetUserFlow(const AccountId& account_id, UserFlow* flow) override;
- UserFlow* GetCurrentUserFlow() const override;
- UserFlow* GetUserFlow(const AccountId& account_id) const override;
- void ResetUserFlow(const AccountId& account_id) override;
- user_manager::UserList GetUsersAllowedForSupervisedUsersCreation()
- const override;
- void SwitchActiveUser(const AccountId& account_id) override;
+ // user_manager::UserManager override.
+ void Shutdown() override;
+ const user_manager::UserList& GetUsers() const override;
+ user_manager::UserList GetUsersAllowedForMultiProfile() const override;
+ const user_manager::UserList& GetLoggedInUsers() const override;
+ const user_manager::UserList& GetLRULoggedInUsers() const override;
+ user_manager::UserList GetUnlockUsers() const override;
const AccountId& GetOwnerAccountId() const override;
+ void UserLoggedIn(const AccountId& account_id,
+ const std::string& user_id_hash,
+ bool browser_restart) override;
+ void SwitchActiveUser(const AccountId& account_id) override;
+ void SwitchToLastActiveUser() override;
void OnSessionStarted() override;
void RemoveUser(const AccountId& account_id,
user_manager::RemoveUserDelegate* delegate) override;
void RemoveUserFromList(const AccountId& account_id) override;
- void UpdateLoginState(const user_manager::User* active_user,
- const user_manager::User* primary_user,
- bool is_current_user_owner) const override;
+ bool IsKnownUser(const AccountId& account_id) const override;
+ const user_manager::User* FindUser(
+ const AccountId& account_id) const override;
+ user_manager::User* FindUserAndModify(const AccountId& account_id) override;
+ const user_manager::User* GetActiveUser() const override;
+ user_manager::User* GetActiveUser() override;
+ const user_manager::User* GetPrimaryUser() const override;
+ void SaveUserOAuthStatus(
+ const AccountId& account_id,
+ user_manager::User::OAuthTokenStatus oauth_token_status) override;
+ void SaveForceOnlineSignin(const AccountId& account_id,
+ bool force_online_signin) override;
+ void SaveUserDisplayName(const AccountId& account_id,
+ const base::string16& display_name) override;
+ base::string16 GetUserDisplayName(const AccountId& account_id) const override;
+ void SaveUserDisplayEmail(const AccountId& account_id,
+ const std::string& display_email) override;
+ std::string GetUserDisplayEmail(const AccountId& account_id) const override;
+ void SaveUserType(const AccountId& account_id,
+ const user_manager::UserType& user_type) override;
+ void UpdateUserAccountData(const AccountId& account_id,
+ const UserAccountData& account_data) override;
+ bool IsCurrentUserOwner() const override;
+ bool IsCurrentUserNew() const override;
+ bool IsCurrentUserNonCryptohomeDataEphemeral() const override;
+ bool CanCurrentUserLock() const override;
+ bool IsUserLoggedIn() const override;
+ bool IsLoggedInAsUserWithGaiaAccount() const override;
+ bool IsLoggedInAsChildUser() const override;
+ bool IsLoggedInAsPublicAccount() const override;
+ bool IsLoggedInAsGuest() const override;
+ bool IsLoggedInAsSupervisedUser() const override;
+ bool IsLoggedInAsKioskApp() const override;
+ bool IsLoggedInAsArcKioskApp() const override;
+ bool IsLoggedInAsStub() const override;
+ bool IsUserNonCryptohomeDataEphemeral(
+ const AccountId& account_id) const override;
+ void AddObserver(UserManager::Observer* obs) override;
+ void RemoveObserver(UserManager::Observer* obs) override;
+ void AddSessionStateObserver(
+ UserManager::UserSessionStateObserver* obs) override;
+ void RemoveSessionStateObserver(
+ UserManager::UserSessionStateObserver* obs) override;
+ void NotifyLocalStateChanged() override;
+ void ChangeUserChildStatus(user_manager::User* user, bool is_child) override;
+ bool AreSupervisedUsersAllowed() const override;
+ PrefService* GetLocalState() const override;
bool GetPlatformKnownUserId(const std::string& user_email,
const std::string& gaia_id,
AccountId* out_account_id) const override;
@@ -84,6 +121,50 @@ class FakeChromeUserManager : public user_manager::FakeUserManager,
const base::Closure& on_resolved_callback,
std::string* out_resolved_locale) const override;
bool IsValidDefaultUserImageId(int image_index) const override;
+ bool AreEphemeralUsersEnabled() const override;
+ void SetIsCurrentUserNew(bool is_new) override;
+ void Initialize() override;
+
+ // user_manager::UserManagerBase override.
+ const std::string& GetApplicationLocale() const override;
+ void HandleUserOAuthTokenStatusChange(
+ const AccountId& account_id,
+ user_manager::User::OAuthTokenStatus status) const override;
+ void LoadDeviceLocalAccounts(std::set<AccountId>* users_set) override;
+ bool IsEnterpriseManaged() const override;
+ void PerformPreUserListLoadingActions() override;
+ void PerformPostUserListLoadingActions() override;
+ void PerformPostUserLoggedInActions(bool browser_restart) override;
+ bool IsDemoApp(const AccountId& account_id) const override;
+ bool IsDeviceLocalAccountMarkedForRemoval(
+ const AccountId& account_id) const override;
+ void DemoAccountLoggedIn() override;
+ void KioskAppLoggedIn(user_manager::User* user) override;
+ void ArcKioskAppLoggedIn(user_manager::User* user) override;
+ void PublicAccountUserLoggedIn(user_manager::User* user) override;
+ void SupervisedUserLoggedIn(const AccountId& account_id) override;
+ void OnUserRemoved(const AccountId& account_id) override;
+ void UpdateLoginState(const user_manager::User* active_user,
+ const user_manager::User* primary_user,
+ bool is_current_user_owner) const override;
+
+ // UserManagerInterface override.
+ BootstrapManager* GetBootstrapManager() override;
+ MultiProfileUserController* GetMultiProfileUserController() override;
+ UserImageManager* GetUserImageManager(const AccountId& account_id) override;
+ SupervisedUserManager* GetSupervisedUserManager() override;
+ void SetUserFlow(const AccountId& account_id, UserFlow* flow) override;
+ UserFlow* GetCurrentUserFlow() const override;
+ UserFlow* GetUserFlow(const AccountId& account_id) const override;
+ void ResetUserFlow(const AccountId& account_id) override;
+ user_manager::UserList GetUsersAllowedForSupervisedUsersCreation()
+ const override;
+
+ // ChromeUserManager override.
+ void SetUserAffiliation(
+ const std::string& user_email,
+ const AffiliationIDSet& user_affiliation_ids) override;
+ bool ShouldReportUser(const std::string& user_id) const override;
void set_ephemeral_users_enabled(bool ephemeral_users_enabled) {
fake_ephemeral_users_enabled_ = ephemeral_users_enabled;
@@ -106,12 +187,19 @@ class FakeChromeUserManager : public user_manager::FakeUserManager,
// Lazily creates default user flow.
UserFlow* GetDefaultUserFlow() const;
+ // Returns the active user.
+ user_manager::User* GetActiveUserInternal() const;
+
std::unique_ptr<FakeSupervisedUserManager> supervised_user_manager_;
AccountId owner_account_id_ = EmptyAccountId();
bool fake_ephemeral_users_enabled_ = false;
- BootstrapManager* bootstrap_manager_;
- MultiProfileUserController* multi_profile_user_controller_;
+ BootstrapManager* bootstrap_manager_ = nullptr;
+ MultiProfileUserController* multi_profile_user_controller_ = nullptr;
+
+ // If set this is the active user. If empty, the first created user is the
+ // active user.
+ AccountId active_account_id_ = EmptyAccountId();
// Lazy-initialized default flow.
mutable std::unique_ptr<UserFlow> default_flow_;

Powered by Google App Engine
This is Rietveld 408576698