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

Side by Side Diff: components/user_manager/user_manager_base.h

Issue 1165323004: We should use UserID object to identify users instead of username. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 COMPONENTS_USER_MANAGER_USER_MANAGER_BASE_H_ 5 #ifndef COMPONENTS_USER_MANAGER_USER_MANAGER_BASE_H_
6 #define COMPONENTS_USER_MANAGER_USER_MANAGER_BASE_H_ 6 #define COMPONENTS_USER_MANAGER_USER_MANAGER_BASE_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 ~UserManagerBase() override; 44 ~UserManagerBase() override;
45 45
46 // Registers UserManagerBase preferences. 46 // Registers UserManagerBase preferences.
47 static void RegisterPrefs(PrefRegistrySimple* registry); 47 static void RegisterPrefs(PrefRegistrySimple* registry);
48 48
49 // UserManager implementation: 49 // UserManager implementation:
50 void Shutdown() override; 50 void Shutdown() override;
51 const UserList& GetUsers() const override; 51 const UserList& GetUsers() const override;
52 const UserList& GetLoggedInUsers() const override; 52 const UserList& GetLoggedInUsers() const override;
53 const UserList& GetLRULoggedInUsers() const override; 53 const UserList& GetLRULoggedInUsers() const override;
54 const std::string& GetOwnerEmail() const override; 54 const UserID& GetOwnerID() const override;
55 void UserLoggedIn(const std::string& user_id, 55 void UserLoggedIn(const UserID& user_id,
56 const std::string& user_id_hash, 56 const std::string& user_id_hash,
57 bool browser_restart) override; 57 bool browser_restart) override;
58 void SwitchActiveUser(const std::string& user_id) override; 58 void SwitchActiveUser(const UserID& user_id) override;
59 void SwitchToLastActiveUser() override; 59 void SwitchToLastActiveUser() override;
60 void SessionStarted() override; 60 void SessionStarted() override;
61 void RemoveUser(const std::string& user_id, 61 void RemoveUser(const UserID& user_id,
62 RemoveUserDelegate* delegate) override; 62 RemoveUserDelegate* delegate) override;
63 void RemoveUserFromList(const std::string& user_id) override; 63 void RemoveUserFromList(const UserID& user_id) override;
64 bool IsKnownUser(const std::string& user_id) const override; 64 bool IsKnownUser(const UserID& user_id) const override;
65 const User* FindUser(const std::string& user_id) const override; 65 const User* FindUser(const UserID& user_id) const override;
66 User* FindUserAndModify(const std::string& user_id) override; 66 User* FindUserAndModify(const UserID& user_id) override;
67 const User* GetLoggedInUser() const override; 67 const User* GetLoggedInUser() const override;
68 User* GetLoggedInUser() override; 68 User* GetLoggedInUser() override;
69 const User* GetActiveUser() const override; 69 const User* GetActiveUser() const override;
70 User* GetActiveUser() override; 70 User* GetActiveUser() override;
71 const User* GetPrimaryUser() const override; 71 const User* GetPrimaryUser() const override;
72 void SaveUserOAuthStatus(const std::string& user_id, 72 void SaveUserOAuthStatus(const UserID& user_id,
73 User::OAuthTokenStatus oauth_token_status) override; 73 User::OAuthTokenStatus oauth_token_status) override;
74 void SaveForceOnlineSignin(const std::string& user_id, 74 void SaveForceOnlineSignin(const UserID& user_id,
75 bool force_online_signin) override; 75 bool force_online_signin) override;
76 void SaveUserDisplayName(const std::string& user_id, 76 void SaveUserDisplayName(const UserID& user_id,
77 const base::string16& display_name) override; 77 const base::string16& display_name) override;
78 base::string16 GetUserDisplayName(const std::string& user_id) const override; 78 base::string16 GetUserDisplayName(const UserID& user_id) const override;
79 void SaveUserDisplayEmail(const std::string& user_id, 79 void SaveUserDisplayEmail(const UserID& user_id,
80 const std::string& display_email) override; 80 const std::string& display_email) override;
81 std::string GetUserDisplayEmail(const std::string& user_id) const override; 81 std::string GetUserDisplayEmail(const UserID& user_id) const override;
82 void SaveUserType(const std::string& user_id, 82 void SaveUserType(const UserID& user_id,
83 const UserType& user_type) override; 83 const UserType& user_type) override;
84 void UpdateUserAccountData(const std::string& user_id, 84 void UpdateUserAccountData(const UserID& user_id,
85 const UserAccountData& account_data) override; 85 const UserAccountData& account_data) override;
86 bool IsCurrentUserOwner() const override; 86 bool IsCurrentUserOwner() const override;
87 bool IsCurrentUserNew() const override; 87 bool IsCurrentUserNew() const override;
88 bool IsCurrentUserNonCryptohomeDataEphemeral() const override; 88 bool IsCurrentUserNonCryptohomeDataEphemeral() const override;
89 bool CanCurrentUserLock() const override; 89 bool CanCurrentUserLock() const override;
90 bool IsUserLoggedIn() const override; 90 bool IsUserLoggedIn() const override;
91 bool IsLoggedInAsUserWithGaiaAccount() const override; 91 bool IsLoggedInAsUserWithGaiaAccount() const override;
92 bool IsLoggedInAsChildUser() const override; 92 bool IsLoggedInAsChildUser() const override;
93 bool IsLoggedInAsPublicAccount() const override; 93 bool IsLoggedInAsPublicAccount() const override;
94 bool IsLoggedInAsGuest() const override; 94 bool IsLoggedInAsGuest() const override;
95 bool IsLoggedInAsSupervisedUser() const override; 95 bool IsLoggedInAsSupervisedUser() const override;
96 bool IsLoggedInAsKioskApp() const override; 96 bool IsLoggedInAsKioskApp() const override;
97 bool IsLoggedInAsStub() const override; 97 bool IsLoggedInAsStub() const override;
98 bool IsSessionStarted() const override; 98 bool IsSessionStarted() const override;
99 bool IsUserNonCryptohomeDataEphemeral( 99 bool IsUserNonCryptohomeDataEphemeral(
100 const std::string& user_id) const override; 100 const UserID& user_id) const override;
101 void AddObserver(UserManager::Observer* obs) override; 101 void AddObserver(UserManager::Observer* obs) override;
102 void RemoveObserver(UserManager::Observer* obs) override; 102 void RemoveObserver(UserManager::Observer* obs) override;
103 void AddSessionStateObserver( 103 void AddSessionStateObserver(
104 UserManager::UserSessionStateObserver* obs) override; 104 UserManager::UserSessionStateObserver* obs) override;
105 void RemoveSessionStateObserver( 105 void RemoveSessionStateObserver(
106 UserManager::UserSessionStateObserver* obs) override; 106 UserManager::UserSessionStateObserver* obs) override;
107 void NotifyLocalStateChanged() override; 107 void NotifyLocalStateChanged() override;
108 void ChangeUserChildStatus(User* user, bool is_child) override; 108 void ChangeUserChildStatus(User* user, bool is_child) override;
109 bool FindKnownUserPrefs(const UserID& user_id, 109 bool FindKnownUserPrefs(const UserID& user_id,
110 const base::DictionaryValue** out_value) override; 110 const base::DictionaryValue** out_value) override;
(...skipping 13 matching lines...) Expand all
124 const std::string& path, 124 const std::string& path,
125 const bool in_value) override; 125 const bool in_value) override;
126 bool GetKnownUserIntegerPref(const UserID& user_id, 126 bool GetKnownUserIntegerPref(const UserID& user_id,
127 const std::string& path, 127 const std::string& path,
128 int* out_value) override; 128 int* out_value) override;
129 void SetKnownUserIntegerPref(const UserID& user_id, 129 void SetKnownUserIntegerPref(const UserID& user_id,
130 const std::string& path, 130 const std::string& path,
131 const int in_value) override; 131 const int in_value) override;
132 void UpdateGaiaID(const UserID& user_id, const std::string& gaia_id) override; 132 void UpdateGaiaID(const UserID& user_id, const std::string& gaia_id) override;
133 bool FindGaiaID(const UserID& user_id, std::string* out_value) override; 133 bool FindGaiaID(const UserID& user_id, std::string* out_value) override;
134 void UpdateUsingSAML(const std::string& user_id, 134 void UpdateUsingSAML(const UserID& user_id,
135 const bool using_saml) override; 135 const bool using_saml) override;
136 bool FindUsingSAML(const std::string& user_id) override; 136 bool FindUsingSAML(const UserID& user_id) override;
137 void SetKnownUserDeviceId(const UserID& user_id, 137 void SetKnownUserDeviceId(const UserID& user_id,
138 const std::string& device_id) override; 138 const std::string& device_id) override;
139 std::string GetKnownUserDeviceId(const UserID& user_id) override; 139 std::string GetKnownUserDeviceId(const UserID& user_id) override;
140 void UpdateReauthReason(const std::string& user_id, 140 void UpdateReauthReason(const UserID& user_id,
141 const int reauth_reason) override; 141 const int reauth_reason) override;
142 bool FindReauthReason(const std::string& user_id, int* out_value) override; 142 bool FindReauthReason(const UserID& user_id, int* out_value) override;
143 143
144 virtual void SetIsCurrentUserNew(bool is_new); 144 virtual void SetIsCurrentUserNew(bool is_new);
145 145
146 // TODO(xiyuan): Figure out a better way to expose this info. 146 // TODO(xiyuan): Figure out a better way to expose this info.
147 virtual bool HasPendingBootstrap(const std::string& user_id) const; 147 virtual bool HasPendingBootstrap(const UserID& user_id) const;
148 148
149 // Helper function that copies users from |users_list| to |users_vector| and 149 // Helper function that copies users from |users_list| to |users_vector| and
150 // |users_set|. Duplicates and users already present in |existing_users| are 150 // |users_set|. Duplicates and users already present in |existing_users| are
151 // skipped. 151 // skipped.
152 static void ParseUserList(const base::ListValue& users_list, 152 static void ParseUserList(const base::ListValue& users_list,
153 const std::set<std::string>& existing_users, 153 const std::set<std::string>& existing_users,
154 std::vector<std::string>* users_vector, 154 std::vector<std::string>* users_vector,
155 std::set<std::string>* users_set); 155 std::set<std::string>* users_set);
156 156
157 // Returns true if trusted device policies have successfully been retrieved 157 // Returns true if trusted device policies have successfully been retrieved
(...skipping 17 matching lines...) Expand all
175 175
176 // Returns "Local State" PrefService instance. 176 // Returns "Local State" PrefService instance.
177 virtual PrefService* GetLocalState() const = 0; 177 virtual PrefService* GetLocalState() const = 0;
178 178
179 // Loads |users_| from Local State if the list has not been loaded yet. 179 // Loads |users_| from Local State if the list has not been loaded yet.
180 // Subsequent calls have no effect. Must be called on the UI thread. 180 // Subsequent calls have no effect. Must be called on the UI thread.
181 virtual void EnsureUsersLoaded(); 181 virtual void EnsureUsersLoaded();
182 182
183 // Handle OAuth token |status| change for |user_id|. 183 // Handle OAuth token |status| change for |user_id|.
184 virtual void HandleUserOAuthTokenStatusChange( 184 virtual void HandleUserOAuthTokenStatusChange(
185 const std::string& user_id, 185 const UserID& user_id,
186 User::OAuthTokenStatus status) const = 0; 186 User::OAuthTokenStatus status) const = 0;
187 187
188 // Returns true if device is enterprise managed. 188 // Returns true if device is enterprise managed.
189 virtual bool IsEnterpriseManaged() const = 0; 189 virtual bool IsEnterpriseManaged() const = 0;
190 190
191 // Helper function that copies users from |users_list| to |users_vector| and 191 // Helper function that copies users from |users_list| to |users_vector| and
192 // |users_set|. Duplicates and users already present in |existing_users| are 192 // |users_set|. Duplicates and users already present in |existing_users| are
193 // skipped. 193 // skipped.
194 // Loads public accounts from the Local state and fills in 194 // Loads public accounts from the Local state and fills in
195 // |public_sessions_set|. 195 // |public_sessions_set|.
(...skipping 16 matching lines...) Expand all
212 virtual void PerformPostUserListLoadingActions() = 0; 212 virtual void PerformPostUserListLoadingActions() = 0;
213 213
214 // Performs any additional actions after UserLoggedIn() execution has been 214 // Performs any additional actions after UserLoggedIn() execution has been
215 // completed. 215 // completed.
216 // |browser_restart| is true when reloading Chrome after crash to distinguish 216 // |browser_restart| is true when reloading Chrome after crash to distinguish
217 // from normal sign in flow. 217 // from normal sign in flow.
218 virtual void PerformPostUserLoggedInActions(bool browser_restart) = 0; 218 virtual void PerformPostUserLoggedInActions(bool browser_restart) = 0;
219 219
220 // Implementation for RemoveUser method. It is synchronous. It is called from 220 // Implementation for RemoveUser method. It is synchronous. It is called from
221 // RemoveUserInternal after owner check. 221 // RemoveUserInternal after owner check.
222 virtual void RemoveNonOwnerUserInternal(const std::string& user_email, 222 virtual void RemoveNonOwnerUserInternal(const UserID& user_id,
223 RemoveUserDelegate* delegate); 223 RemoveUserDelegate* delegate);
224 224
225 // Removes a regular or supervised user from the user list. 225 // Removes a regular or supervised user from the user list.
226 // Returns the user if found or NULL otherwise. 226 // Returns the user if found or NULL otherwise.
227 // Also removes the user from the persistent user list. 227 // Also removes the user from the persistent user list.
228 User* RemoveRegularOrSupervisedUserFromList(const std::string& user_id); 228 User* RemoveRegularOrSupervisedUserFromList(const UserID& user_id);
229 229
230 // Implementation for RemoveUser method. This is an asynchronous part of the 230 // Implementation for RemoveUser method. This is an asynchronous part of the
231 // method, that verifies that owner will not get deleted, and calls 231 // method, that verifies that owner will not get deleted, and calls
232 // |RemoveNonOwnerUserInternal|. 232 // |RemoveNonOwnerUserInternal|.
233 virtual void RemoveUserInternal(const std::string& user_email, 233 virtual void RemoveUserInternal(const UserID& user_id,
234 RemoveUserDelegate* delegate); 234 RemoveUserDelegate* delegate);
235 235
236 // Removes data stored or cached outside the user's cryptohome (wallpaper, 236 // Removes data stored or cached outside the user's cryptohome (wallpaper,
237 // avatar, OAuth token status, display name, display email). 237 // avatar, OAuth token status, display name, display email).
238 virtual void RemoveNonCryptohomeData(const std::string& user_id); 238 virtual void RemoveNonCryptohomeData(const UserID& user_id);
239 239
240 // Check for a particular user type. 240 // Check for a particular user type.
241 241
242 // Returns true if |user_id| represents demo app. 242 // Returns true if |user_id| represents demo app.
243 virtual bool IsDemoApp(const std::string& user_id) const = 0; 243 virtual bool IsDemoApp(const UserID& user_id) const = 0;
244 244
245 // Returns true if |user_id| represents kiosk app. 245 // Returns true if |user_id| represents kiosk app.
246 virtual bool IsKioskApp(const std::string& user_id) const = 0; 246 virtual bool IsKioskApp(const UserID& user_id) const = 0;
247 247
248 // Returns true if |user_id| represents public account that has been marked 248 // Returns true if |user_id| represents public account that has been marked
249 // for deletion. 249 // for deletion.
250 virtual bool IsPublicAccountMarkedForRemoval( 250 virtual bool IsPublicAccountMarkedForRemoval(
251 const std::string& user_id) const = 0; 251 const UserID& user_id) const = 0;
252 252
253 // These methods are called when corresponding user type has signed in. 253 // These methods are called when corresponding user type has signed in.
254 254
255 // Indicates that the demo account has just logged in. 255 // Indicates that the demo account has just logged in.
256 virtual void DemoAccountLoggedIn() = 0; 256 virtual void DemoAccountLoggedIn() = 0;
257 257
258 // Indicates that a user just logged in as guest. 258 // Indicates that a user just logged in as guest.
259 virtual void GuestUserLoggedIn(); 259 virtual void GuestUserLoggedIn();
260 260
261 // Indicates that a kiosk app robot just logged in. 261 // Indicates that a kiosk app robot just logged in.
262 virtual void KioskAppLoggedIn(const std::string& app_id) = 0; 262 virtual void KioskAppLoggedIn(const std::string& app_id) = 0;
263 263
264 // Indicates that a user just logged into a public session. 264 // Indicates that a user just logged into a public session.
265 virtual void PublicAccountUserLoggedIn(User* user) = 0; 265 virtual void PublicAccountUserLoggedIn(User* user) = 0;
266 266
267 // Indicates that a regular user just logged in. 267 // Indicates that a regular user just logged in.
268 virtual void RegularUserLoggedIn(const std::string& user_id); 268 virtual void RegularUserLoggedIn(const UserID& user_id);
269 269
270 // Indicates that a regular user just logged in as ephemeral. 270 // Indicates that a regular user just logged in as ephemeral.
271 virtual void RegularUserLoggedInAsEphemeral(const std::string& user_id); 271 virtual void RegularUserLoggedInAsEphemeral(const UserID& user_id);
272 272
273 // Indicates that a supervised user just logged in. 273 // Indicates that a supervised user just logged in.
274 virtual void SupervisedUserLoggedIn(const std::string& user_id) = 0; 274 virtual void SupervisedUserLoggedIn(const UserID& user_id) = 0;
275 275
276 // Getters/setters for private members. 276 // Getters/setters for private members.
277 277
278 virtual void SetCurrentUserIsOwner(bool is_current_user_owner); 278 virtual void SetCurrentUserIsOwner(bool is_current_user_owner);
279 279
280 virtual bool GetEphemeralUsersEnabled() const; 280 virtual bool GetEphemeralUsersEnabled() const;
281 virtual void SetEphemeralUsersEnabled(bool enabled); 281 virtual void SetEphemeralUsersEnabled(bool enabled);
282 282
283 virtual void SetOwnerEmail(std::string owner_user_id); 283 virtual void SetOwnerID(const UserID& owner_user_id);
284 284
285 virtual const std::string& GetPendingUserSwitchID() const; 285 virtual const UserID& GetPendingUserSwitchID() const;
286 virtual void SetPendingUserSwitchID(std::string user_id); 286 virtual void SetPendingUserSwitchID(const UserID& user_id);
287 287
288 // The logged-in user that is currently active in current session. 288 // The logged-in user that is currently active in current session.
289 // NULL until a user has logged in, then points to one 289 // NULL until a user has logged in, then points to one
290 // of the User instances in |users_|, the |guest_user_| instance or an 290 // of the User instances in |users_|, the |guest_user_| instance or an
291 // ephemeral user instance. 291 // ephemeral user instance.
292 User* active_user_; 292 User* active_user_;
293 293
294 // The primary user of the current session. It is recorded for the first 294 // The primary user of the current session. It is recorded for the first
295 // signed-in user and does not change thereafter. 295 // signed-in user and does not change thereafter.
296 User* primary_user_; 296 User* primary_user_;
(...skipping 16 matching lines...) Expand all
313 // Stages of loading user list from preferences. Some methods can have 313 // Stages of loading user list from preferences. Some methods can have
314 // different behavior depending on stage. 314 // different behavior depending on stage.
315 enum UserLoadStage { STAGE_NOT_LOADED = 0, STAGE_LOADING, STAGE_LOADED }; 315 enum UserLoadStage { STAGE_NOT_LOADED = 0, STAGE_LOADING, STAGE_LOADED };
316 316
317 // Returns a list of users who have logged into this device previously. 317 // Returns a list of users who have logged into this device previously.
318 // Same as GetUsers but used if you need to modify User from that list. 318 // Same as GetUsers but used if you need to modify User from that list.
319 UserList& GetUsersAndModify(); 319 UserList& GetUsersAndModify();
320 320
321 // Returns the user with the given email address if found in the persistent 321 // Returns the user with the given email address if found in the persistent
322 // list. Returns |NULL| otherwise. 322 // list. Returns |NULL| otherwise.
323 const User* FindUserInList(const std::string& user_id) const; 323 const User* FindUserInList(const UserID& user_id) const;
324 324
325 // Returns |true| if user with the given id is found in the persistent list. 325 // Returns |true| if user with the given id is found in the persistent list.
326 // Returns |false| otherwise. Does not trigger user loading. 326 // Returns |false| otherwise. Does not trigger user loading.
327 bool UserExistsInList(const std::string& user_id) const; 327 bool UserExistsInList(const UserID& user_id) const;
328 328
329 // Same as FindUserInList but returns non-const pointer to User object. 329 // Same as FindUserInList but returns non-const pointer to User object.
330 User* FindUserInListAndModify(const std::string& user_id); 330 User* FindUserInListAndModify(const UserID& user_id);
331 331
332 // Reads user's oauth token status from local state preferences. 332 // Reads user's oauth token status from local state preferences.
333 User::OAuthTokenStatus LoadUserOAuthStatus(const std::string& user_id) const; 333 User::OAuthTokenStatus LoadUserOAuthStatus(const UserID& user_id) const;
334 334
335 // Read a flag indicating whether online authentication against GAIA should 335 // Read a flag indicating whether online authentication against GAIA should
336 // be enforced during the user's next sign-in from local state preferences. 336 // be enforced during the user's next sign-in from local state preferences.
337 bool LoadForceOnlineSignin(const std::string& user_id) const; 337 bool LoadForceOnlineSignin(const UserID& user_id) const;
338 338
339 // Notifies observers that merge session state had changed. 339 // Notifies observers that merge session state had changed.
340 void NotifyMergeSessionStateChanged(); 340 void NotifyMergeSessionStateChanged();
341 341
342 // Notifies observers that active user has changed. 342 // Notifies observers that active user has changed.
343 void NotifyActiveUserChanged(const User* active_user); 343 void NotifyActiveUserChanged(const User* active_user);
344 344
345 // Notifies observers that active user_id hash has changed. 345 // Notifies observers that active user_id hash has changed.
346 void NotifyActiveUserHashChanged(const std::string& hash); 346 void NotifyActiveUserHashChanged(const std::string& hash);
347 347
348 // Update the global LoginState. 348 // Update the global LoginState.
349 void UpdateLoginState(); 349 void UpdateLoginState();
350 350
351 // Insert |user| at the front of the LRU user list. 351 // Insert |user| at the front of the LRU user list.
352 void SetLRUUser(User* user); 352 void SetLRUUser(User* user);
353 353
354 // Sends metrics in response to a user with gaia account (regular) logging in. 354 // Sends metrics in response to a user with gaia account (regular) logging in.
355 void SendGaiaUserLoginMetrics(const std::string& user_id); 355 void SendGaiaUserLoginMetrics(const UserID& user_id);
356 356
357 // Sets account locale for user with id |user_id|. 357 // Sets account locale for user with id |user_id|.
358 virtual void UpdateUserAccountLocale(const std::string& user_id, 358 virtual void UpdateUserAccountLocale(const UserID& user_id,
359 const std::string& locale); 359 const std::string& locale);
360 360
361 // Updates user account after locale was resolved. 361 // Updates user account after locale was resolved.
362 void DoUpdateAccountLocale(const std::string& user_id, 362 void DoUpdateAccountLocale(const UserID& user_id,
363 scoped_ptr<std::string> resolved_locale); 363 scoped_ptr<std::string> resolved_locale);
364 364
365 // Removes all user preferences associated with |user_id|. 365 // Removes all user preferences associated with |user_id|.
366 void RemoveKnownUserPrefs(const UserID& user_id); 366 void RemoveKnownUserPrefs(const UserID& user_id);
367 367
368 // Indicates stage of loading user from prefs. 368 // Indicates stage of loading user from prefs.
369 UserLoadStage user_loading_stage_; 369 UserLoadStage user_loading_stage_;
370 370
371 // True if SessionStarted() has been called. 371 // True if SessionStarted() has been called.
372 bool session_started_; 372 bool session_started_;
(...skipping 12 matching lines...) Expand all
385 // such users by not adding them to the persistent user list, not downloading 385 // such users by not adding them to the persistent user list, not downloading
386 // their custom avatars and mounting their cryptohomes using tmpfs. Defaults 386 // their custom avatars and mounting their cryptohomes using tmpfs. Defaults
387 // to |false|. 387 // to |false|.
388 bool is_current_user_ephemeral_regular_user_; 388 bool is_current_user_ephemeral_regular_user_;
389 389
390 // Cached flag indicating whether the ephemeral user policy is enabled. 390 // Cached flag indicating whether the ephemeral user policy is enabled.
391 // Defaults to |false| if the value has not been read from trusted device 391 // Defaults to |false| if the value has not been read from trusted device
392 // policy yet. 392 // policy yet.
393 bool ephemeral_users_enabled_; 393 bool ephemeral_users_enabled_;
394 394
395 // Cached name of device owner. Defaults to empty string if the value has not 395 // Cached id of device owner. Defaults to empty id if the value has not
396 // been read from trusted device policy yet. 396 // been read from trusted device policy yet.
397 std::string owner_email_; 397 UserID owner_id_;
398 398
399 ObserverList<UserManager::Observer> observer_list_; 399 ObserverList<UserManager::Observer> observer_list_;
400 400
401 // TODO(nkostylev): Merge with session state refactoring CL. 401 // TODO(nkostylev): Merge with session state refactoring CL.
402 ObserverList<UserManager::UserSessionStateObserver> 402 ObserverList<UserManager::UserSessionStateObserver>
403 session_state_observer_list_; 403 session_state_observer_list_;
404 404
405 // Time at which this object was created. 405 // Time at which this object was created.
406 base::TimeTicks manager_creation_time_; 406 base::TimeTicks manager_creation_time_;
407 407
408 // ID of the user just added to the session that needs to be activated 408 // ID of the user just added to the session that needs to be activated
409 // as soon as user's profile is loaded. 409 // as soon as user's profile is loaded.
410 std::string pending_user_switch_; 410 user_manager::UserID pending_user_switch_;
411 411
412 // ID of the user that was active in the previous session. 412 // ID of the user that was active in the previous session.
413 // Preference value is stored here before first user signs in 413 // Preference value is stored here before first user signs in
414 // because pref will be overidden once session restore starts. 414 // because pref will be overidden once session restore starts.
415 std::string last_session_active_user_; 415 user_manager::UserID last_session_active_user_;
416 bool last_session_active_user_initialized_; 416 bool last_session_active_user_initialized_;
417 417
418 // TaskRunner for UI thread. 418 // TaskRunner for UI thread.
419 scoped_refptr<base::TaskRunner> task_runner_; 419 scoped_refptr<base::TaskRunner> task_runner_;
420 420
421 // TaskRunner for SequencedWorkerPool. 421 // TaskRunner for SequencedWorkerPool.
422 scoped_refptr<base::TaskRunner> blocking_task_runner_; 422 scoped_refptr<base::TaskRunner> blocking_task_runner_;
423 423
424 base::WeakPtrFactory<UserManagerBase> weak_factory_; 424 base::WeakPtrFactory<UserManagerBase> weak_factory_;
425 425
426 DISALLOW_COPY_AND_ASSIGN(UserManagerBase); 426 DISALLOW_COPY_AND_ASSIGN(UserManagerBase);
427 }; 427 };
428 428
429 } // namespace user_manager 429 } // namespace user_manager
430 430
431 #endif // COMPONENTS_USER_MANAGER_USER_MANAGER_BASE_H_ 431 #endif // COMPONENTS_USER_MANAGER_USER_MANAGER_BASE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698