| 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_;
|
|
|