| Index: chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc
|
| diff --git a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc
|
| index 48309e4e7428143d5b66547eafaf4b1f2753aeb7..e0213a6fb426203fbdd70c3a3f49859cbcb6d06e 100644
|
| --- a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc
|
| +++ b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc
|
| @@ -81,17 +81,29 @@ UserImageManager* FakeChromeUserManager::GetUserImageManager(
|
|
|
| void FakeChromeUserManager::SetUserFlow(const std::string& email,
|
| UserFlow* flow) {
|
| + ResetUserFlow(email);
|
| + specific_flows_[email] = flow;
|
| }
|
|
|
| UserFlow* FakeChromeUserManager::GetCurrentUserFlow() const {
|
| - return nullptr;
|
| + if (!IsUserLoggedIn())
|
| + return GetDefaultUserFlow();
|
| + return GetUserFlow(GetLoggedInUser()->email());
|
| }
|
|
|
| UserFlow* FakeChromeUserManager::GetUserFlow(const std::string& email) const {
|
| - return nullptr;
|
| + FlowMap::const_iterator it = specific_flows_.find(email);
|
| + if (it != specific_flows_.end())
|
| + return it->second;
|
| + return GetDefaultUserFlow();
|
| }
|
|
|
| void FakeChromeUserManager::ResetUserFlow(const std::string& email) {
|
| + FlowMap::iterator it = specific_flows_.find(email);
|
| + if (it != specific_flows_.end()) {
|
| + delete it->second;
|
| + specific_flows_.erase(it);
|
| + }
|
| }
|
|
|
| void FakeChromeUserManager::SwitchActiveUser(const std::string& email) {
|
| @@ -150,4 +162,10 @@ user_manager::UserList FakeChromeUserManager::GetUsersAllowedForMultiProfile()
|
| return result;
|
| }
|
|
|
| +UserFlow* FakeChromeUserManager::GetDefaultUserFlow() const {
|
| + if (!default_flow_.get())
|
| + default_flow_.reset(new DefaultUserFlow());
|
| + return default_flow_.get();
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|