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

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

Issue 824683002: UserManager stack refactoring. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 11 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/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
new file mode 100644
index 0000000000000000000000000000000000000000..604eb0d70921addf1d4b18fcc52b79c1dd54f6b9
--- /dev/null
+++ b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h
@@ -0,0 +1,82 @@
+// Copyright 2015 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_FAKE_CHROME_USER_MANAGER_H_
+#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_FAKE_CHROME_USER_MANAGER_H_
+
+#include <map>
+#include <string>
+
+#include "base/memory/scoped_ptr.h"
+#include "chrome/browser/chromeos/login/user_flow.h"
+#include "chrome/browser/chromeos/login/users/chrome_user_manager_interface.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 {
+
+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 ChromeUserManagerInterface {
+ public:
+ FakeChromeUserManager();
+ ~FakeChromeUserManager() override;
+
+ // Create and add a kiosk app user.
+ void AddKioskAppUser(const std::string& kiosk_app_username);
+
+ // Create and add a public account user.
+ 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.
+ user_manager::UserList GetUsersAllowedForMultiProfile() const override;
+
+ // Create and add a new user. user_manager::FakeUserManager overrides.
ygorshenin1 2015/01/23 10:18:03 Comment about method's semantics should be in the
merkulova 2015/01/23 12:59:09 Done.
+ const user_manager::User* AddUser(const std::string& email) override;
+
+ // ChromeUserManagerInterface implementation.
+ MultiProfileUserController* GetMultiProfileUserController() override;
+ UserImageManager* GetUserImageManager(const std::string& user_id) override;
+ SupervisedUserManager* GetSupervisedUserManager() override;
+ void SetUserFlow(const std::string& email, UserFlow* flow) override;
+ UserFlow* GetCurrentUserFlow() const override;
+ UserFlow* GetUserFlow(const std::string& email) const override;
+ void ResetUserFlow(const std::string& email) override;
+ user_manager::UserList GetUsersAllowedForSupervisedUsersCreation()
+ const override;
+ void SwitchActiveUser(const std::string& email) override;
+ const std::string& GetOwnerEmail() const override;
+ void SessionStarted() override;
+ void RemoveUser(const std::string& email,
+ user_manager::RemoveUserDelegate* delegate) override;
+
+ void set_owner_email(const std::string& owner_email) {
+ owner_email_ = owner_email;
+ }
+
+ void set_multi_profile_user_controller(
+ MultiProfileUserController* controller) {
+ multi_profile_user_controller_ = controller;
+ }
+
+ private:
+ scoped_ptr<FakeSupervisedUserManager> supervised_user_manager_;
+ std::string owner_email_;
+
+ MultiProfileUserController* multi_profile_user_controller_;
+
+ DISALLOW_COPY_AND_ASSIGN(FakeChromeUserManager);
+};
+
+} // namespace chromeos
+
+#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_FAKE_CHROME_USER_MANAGER_H_

Powered by Google App Engine
This is Rietveld 408576698