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

Side by Side Diff: ash/session/session_state_delegate.h

Issue 560033002: Fixed suggesting adding more users into multi-profile session when we don't have more (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update after review Created 6 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ASH_SESSION_SESSION_STATE_DELEGATE_H_ 5 #ifndef ASH_SESSION_SESSION_STATE_DELEGATE_H_
6 #define ASH_SESSION_SESSION_STATE_DELEGATE_H_ 6 #define ASH_SESSION_SESSION_STATE_DELEGATE_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // TODO(oshima): Replace MultiProfileIndex with BrowsreContext, bacause 42 // TODO(oshima): Replace MultiProfileIndex with BrowsreContext, bacause
43 // GetUserXXX are useful for non multi profile scenario in ash_shell. 43 // GetUserXXX are useful for non multi profile scenario in ash_shell.
44 class ASH_EXPORT SessionStateDelegate { 44 class ASH_EXPORT SessionStateDelegate {
45 public: 45 public:
46 // Defines the cycle direction for |CycleActiveUser|. 46 // Defines the cycle direction for |CycleActiveUser|.
47 enum CycleUser { 47 enum CycleUser {
48 CYCLE_TO_NEXT_USER = 0, // Cycle to the next user. 48 CYCLE_TO_NEXT_USER = 0, // Cycle to the next user.
49 CYCLE_TO_PREVIOUS_USER, // Cycle to the previous user. 49 CYCLE_TO_PREVIOUS_USER, // Cycle to the previous user.
50 }; 50 };
51 51
52 enum MultiProfileAddUserError {
James Cook 2014/09/23 16:02:12 This is fine, but I would also be OK with a shorte
Roman Sorokin (ftl) 2014/09/24 08:30:47 Done.
53 MULTIPROFILE_ADD_USER_ERROR_NOT_ALLOWED_PRIMARY_USER = 0,
54 MULTIPROFILE_ADD_USER_ERROR_OUT_OF_USERS,
55 MULTIPROFILE_ADD_USER_ERROR_MAXIMUM_OF_USERS_REACHED,
James Cook 2014/09/23 16:02:12 nit: I would say _MAXIMUM_USERS_REACHED
Roman Sorokin (ftl) 2014/09/24 08:30:47 Done.
56 };
57
52 // Defines session state i.e. whether session is running or not and 58 // Defines session state i.e. whether session is running or not and
53 // whether user session is blocked by things like multi-profile login. 59 // whether user session is blocked by things like multi-profile login.
54 enum SessionState { 60 enum SessionState {
55 // When primary user login UI is shown i.e. after boot or sign out, 61 // When primary user login UI is shown i.e. after boot or sign out,
56 // no active user session exists yet. 62 // no active user session exists yet.
57 SESSION_STATE_LOGIN_PRIMARY = 0, 63 SESSION_STATE_LOGIN_PRIMARY = 0,
58 64
59 // Inside user session (including lock screen), 65 // Inside user session (including lock screen),
60 // no login UI (primary or multi-profiles) is shown. 66 // no login UI (primary or multi-profiles) is shown.
61 SESSION_STATE_ACTIVE, 67 SESSION_STATE_ACTIVE,
(...skipping 13 matching lines...) Expand all
75 virtual content::BrowserContext* GetBrowserContextForWindow( 81 virtual content::BrowserContext* GetBrowserContextForWindow(
76 aura::Window* window) = 0; 82 aura::Window* window) = 0;
77 83
78 // Returns the maximum possible number of logged in users. 84 // Returns the maximum possible number of logged in users.
79 virtual int GetMaximumNumberOfLoggedInUsers() const = 0; 85 virtual int GetMaximumNumberOfLoggedInUsers() const = 0;
80 86
81 // Returns the number of signed in users. If 0 is returned, there is either 87 // Returns the number of signed in users. If 0 is returned, there is either
82 // no session in progress or no active user. 88 // no session in progress or no active user.
83 virtual int NumberOfLoggedInUsers() const = 0; 89 virtual int NumberOfLoggedInUsers() const = 0;
84 90
91 // Returns true if there is possible to add more users to multiprofile
92 // session. Error is stored in |error| if it is not NULL and function
93 // returned false.
94 virtual bool CanAddUserToMultiProfile(MultiProfileAddUserError* error) const;
95
85 // Returns |true| if the session has been fully started for the active user. 96 // Returns |true| if the session has been fully started for the active user.
86 // When a user becomes active, the profile and browser UI are not immediately 97 // When a user becomes active, the profile and browser UI are not immediately
87 // available. Only once this method starts returning |true| is the browser 98 // available. Only once this method starts returning |true| is the browser
88 // startup complete and both profile and UI are fully available. 99 // startup complete and both profile and UI are fully available.
89 virtual bool IsActiveUserSessionStarted() const = 0; 100 virtual bool IsActiveUserSessionStarted() const = 0;
90 101
91 // Returns true if the screen can be locked. 102 // Returns true if the screen can be locked.
92 virtual bool CanLockScreen() const = 0; 103 virtual bool CanLockScreen() const = 0;
93 104
94 // Returns true if the screen is currently locked. 105 // Returns true if the screen is currently locked.
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 // Adds or removes sessions state observer. 151 // Adds or removes sessions state observer.
141 virtual void AddSessionStateObserver(SessionStateObserver* observer) = 0; 152 virtual void AddSessionStateObserver(SessionStateObserver* observer) = 0;
142 virtual void RemoveSessionStateObserver(SessionStateObserver* observer) = 0; 153 virtual void RemoveSessionStateObserver(SessionStateObserver* observer) = 0;
143 154
144 bool IsInSecondaryLoginScreen() const; 155 bool IsInSecondaryLoginScreen() const;
145 }; 156 };
146 157
147 } // namespace ash 158 } // namespace ash
148 159
149 #endif // ASH_SESSION_SESSION_STATE_DELEGATE_H_ 160 #endif // ASH_SESSION_SESSION_STATE_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698