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

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

Issue 824683002: UserManager stack refactoring. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Split for FakeManager complete. 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/chrome_user_manager_interface.h
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager.h b/chrome/browser/chromeos/login/users/chrome_user_manager_interface.h
similarity index 66%
copy from chrome/browser/chromeos/login/users/chrome_user_manager.h
copy to chrome/browser/chromeos/login/users/chrome_user_manager_interface.h
index 5ec3b8fda71ec34eb7cc859a3146bcdf73dc4759..212de319989b8af1932dcd1f4a5ab3440aaa6a5e 100644
--- a/chrome/browser/chromeos/login/users/chrome_user_manager.h
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager_interface.h
@@ -1,17 +1,13 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
+// 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_CHROME_USER_MANAGER_H_
-#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_H_
+#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_INTERFACE_H_
+#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_INTERFACE_H_
#include "base/basictypes.h"
#include "components/user_manager/user.h"
-#include "components/user_manager/user_manager_base.h"
-
-namespace base {
-class TaskRunner;
-}
+#include "components/user_manager/user_type.h"
namespace chromeos {
@@ -20,21 +16,24 @@ class SupervisedUserManager;
class UserFlow;
class UserImageManager;
-// Chrome specific interface of the UserManager.
-class ChromeUserManager : public user_manager::UserManagerBase {
+// Chrome specific add-ons interface for the UserManager.
+class ChromeUserManagerInterface {
public:
- ChromeUserManager(scoped_refptr<base::TaskRunner> task_runner,
- scoped_refptr<base::TaskRunner> blocking_task_runner);
- ~ChromeUserManager() override;
-
- // Returns current ChromeUserManager or NULL if instance hasn't been
- // yet initialized.
- static ChromeUserManager* Get();
+ ChromeUserManagerInterface() {}
+ virtual ~ChromeUserManagerInterface() {}
// Helper method for sorting out of user list only users that can create
// supervised users.
static user_manager::UserList GetUsersAllowedAsSupervisedUserManagers(
Nikita (slow) 2015/01/20 16:39:28 As discussed makes sense to leave in ChromeUserMan
merkulova 2015/01/21 14:10:33 Done.
- const user_manager::UserList& user_list);
+ const user_manager::UserList& user_list) {
+ user_manager::UserList result;
ygorshenin1 2015/01/20 18:33:40 Header files are usually used for declarations, no
merkulova 2015/01/21 14:10:33 Done.
+ for (user_manager::User* user : user_list) {
+ if (user->GetType() == user_manager::USER_TYPE_REGULAR) {
+ result.push_back(user);
+ }
+ }
+ return result;
+ }
virtual MultiProfileUserController* GetMultiProfileUserController() = 0;
virtual UserImageManager* GetUserImageManager(const std::string& user_id) = 0;
@@ -59,9 +58,15 @@ class ChromeUserManager : public user_manager::UserManagerBase {
// Resets user flow for user identified by |user_id|.
virtual void ResetUserFlow(const std::string& user_id) = 0;
- DISALLOW_COPY_AND_ASSIGN(ChromeUserManager);
+ // Returns list of users allowed for supervised user creation.
+ // Returns an empty list in cases when supervised user creation or adding new
+ // users is restricted.
+ virtual user_manager::UserList
+ GetUsersAllowedForSupervisedUsersCreation() const = 0;
+
+ DISALLOW_COPY_AND_ASSIGN(ChromeUserManagerInterface);
};
} // namespace chromeos
-#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_H_
+#endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_CHROME_USER_MANAGER_INTERFACE_H_

Powered by Google App Engine
This is Rietveld 408576698