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

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

Issue 1412813003: This CL replaces user_manager::UserID with AccountId. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@468875--Chrome-OS-handles-deletion-of-Gmail-account-poorly--Create-AccountID-structure-part2--user_names
Patch Set: Rebased. Created 5 years, 2 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_H_ 5 #ifndef COMPONENTS_USER_MANAGER_USER_MANAGER_H_
6 #define COMPONENTS_USER_MANAGER_USER_MANAGER_H_ 6 #define COMPONENTS_USER_MANAGER_USER_MANAGER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "components/user_manager/user.h" 10 #include "components/user_manager/user.h"
11 #include "components/user_manager/user_id.h"
12 #include "components/user_manager/user_manager_export.h" 11 #include "components/user_manager/user_manager_export.h"
13 #include "components/user_manager/user_type.h" 12 #include "components/user_manager/user_type.h"
14 13
14 class AccountId;
15
15 namespace base { 16 namespace base {
16 class DictionaryValue; 17 class DictionaryValue;
17 } 18 }
18 19
19 namespace chromeos { 20 namespace chromeos {
20 class ScopedUserManagerEnabler; 21 class ScopedUserManagerEnabler;
21 } 22 }
22 23
23 namespace user_manager { 24 namespace user_manager {
24 25
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 virtual const UserList& GetLRULoggedInUsers() const = 0; 132 virtual const UserList& GetLRULoggedInUsers() const = 0;
132 133
133 // Returns a list of users who can unlock the device. 134 // Returns a list of users who can unlock the device.
134 // This list is based on policy and whether user is able to do unlock. 135 // This list is based on policy and whether user is able to do unlock.
135 // Policy: 136 // Policy:
136 // * If user has primary-only policy then it is the only user in unlock users. 137 // * If user has primary-only policy then it is the only user in unlock users.
137 // * Otherwise all users with unrestricted policy are added to this list. 138 // * Otherwise all users with unrestricted policy are added to this list.
138 // All users that are unable to perform unlock are excluded from this list. 139 // All users that are unable to perform unlock are excluded from this list.
139 virtual UserList GetUnlockUsers() const = 0; 140 virtual UserList GetUnlockUsers() const = 0;
140 141
141 // Returns the email of the owner user. Returns an empty string if there is 142 // Returns account Id of the owner user. Returns an empty Id if there is
142 // no owner for the device. 143 // no owner for the device.
143 virtual const std::string& GetOwnerEmail() const = 0; 144 virtual const AccountId& GetOwnerId() const = 0;
144 145
145 // Indicates that a user with the given |user_id| has just logged in. The 146 // Indicates that a user with the given |user_id| has just logged in. The
146 // persistent list is updated accordingly if the user is not ephemeral. 147 // persistent list is updated accordingly if the user is not ephemeral.
147 // |browser_restart| is true when reloading Chrome after crash to distinguish 148 // |browser_restart| is true when reloading Chrome after crash to distinguish
148 // from normal sign in flow. 149 // from normal sign in flow.
149 // |username_hash| is used to identify homedir mount point. 150 // |username_hash| is used to identify homedir mount point.
150 virtual void UserLoggedIn(const std::string& user_id, 151 virtual void UserLoggedIn(const AccountId& user_id,
151 const std::string& username_hash, 152 const std::string& username_hash,
152 bool browser_restart) = 0; 153 bool browser_restart) = 0;
153 154
154 // Switches to active user identified by |user_id|. User has to be logged in. 155 // Switches to active user identified by |user_id|. User has to be logged in.
155 virtual void SwitchActiveUser(const std::string& user_id) = 0; 156 virtual void SwitchActiveUser(const AccountId& user_id) = 0;
156 157
157 // Switches to the last active user (called after crash happens and session 158 // Switches to the last active user (called after crash happens and session
158 // restore has completed). 159 // restore has completed).
159 virtual void SwitchToLastActiveUser() = 0; 160 virtual void SwitchToLastActiveUser() = 0;
160 161
161 // Called when browser session is started i.e. after 162 // Called when browser session is started i.e. after
162 // browser_creator.LaunchBrowser(...) was called after user sign in. 163 // browser_creator.LaunchBrowser(...) was called after user sign in.
163 // When user is at the image screen IsUserLoggedIn() will return true 164 // When user is at the image screen IsUserLoggedIn() will return true
164 // but IsSessionStarted() will return false. During the kiosk splash screen, 165 // but IsSessionStarted() will return false. During the kiosk splash screen,
165 // we perform additional initialization after the user is logged in but 166 // we perform additional initialization after the user is logged in but
166 // before the session has been started. 167 // before the session has been started.
167 // Fires NOTIFICATION_SESSION_STARTED. 168 // Fires NOTIFICATION_SESSION_STARTED.
168 virtual void SessionStarted() = 0; 169 virtual void SessionStarted() = 0;
169 170
170 // Removes the user from the device. Note, it will verify that the given user 171 // Removes the user from the device. Note, it will verify that the given user
171 // isn't the owner, so calling this method for the owner will take no effect. 172 // isn't the owner, so calling this method for the owner will take no effect.
172 // Note, |delegate| can be NULL. 173 // Note, |delegate| can be NULL.
173 virtual void RemoveUser(const std::string& user_id, 174 virtual void RemoveUser(const AccountId& user_id,
achuithb 2015/10/23 00:08:52 account_id, here and below
Alexander Alekseev 2015/10/23 09:11:24 Done.
174 RemoveUserDelegate* delegate) = 0; 175 RemoveUserDelegate* delegate) = 0;
175 176
176 // Removes the user from the persistent list only. Also removes the user's 177 // Removes the user from the persistent list only. Also removes the user's
177 // picture. 178 // picture.
178 virtual void RemoveUserFromList(const std::string& user_id) = 0; 179 virtual void RemoveUserFromList(const AccountId& user_id) = 0;
179 180
180 // Returns true if a user with the given user id is found in the persistent 181 // Returns true if a user with the given user id is found in the persistent
181 // list or currently logged in as ephemeral. 182 // list or currently logged in as ephemeral.
182 virtual bool IsKnownUser(const std::string& user_id) const = 0; 183 virtual bool IsKnownUser(const AccountId& user_id) const = 0;
183 184
184 // Returns the user with the given user id if found in the persistent 185 // Returns the user with the given user id if found in the persistent
185 // list or currently logged in as ephemeral. Returns |NULL| otherwise. 186 // list or currently logged in as ephemeral. Returns |NULL| otherwise.
186 virtual const User* FindUser(const std::string& user_id) const = 0; 187 virtual const User* FindUser(const AccountId& user_id) const = 0;
187 188
188 // Returns the user with the given user id if found in the persistent 189 // Returns the user with the given user id if found in the persistent
189 // list or currently logged in as ephemeral. Returns |NULL| otherwise. 190 // list or currently logged in as ephemeral. Returns |NULL| otherwise.
190 // Same as FindUser but returns non-const pointer to User object. 191 // Same as FindUser but returns non-const pointer to User object.
191 virtual User* FindUserAndModify(const std::string& user_id) = 0; 192 virtual User* FindUserAndModify(const AccountId& user_id) = 0;
192 193
193 // Returns the logged-in user. 194 // Returns the logged-in user.
194 // TODO(nkostylev): Deprecate this call, move clients to GetActiveUser(). 195 // TODO(nkostylev): Deprecate this call, move clients to GetActiveUser().
195 // http://crbug.com/230852 196 // http://crbug.com/230852
196 virtual const User* GetLoggedInUser() const = 0; 197 virtual const User* GetLoggedInUser() const = 0;
197 virtual User* GetLoggedInUser() = 0; 198 virtual User* GetLoggedInUser() = 0;
198 199
199 // Returns the logged-in user that is currently active within this session. 200 // Returns the logged-in user that is currently active within this session.
200 // There could be multiple users logged in at the the same but for now 201 // There could be multiple users logged in at the the same but for now
201 // we support only one of them being active. 202 // we support only one of them being active.
202 virtual const User* GetActiveUser() const = 0; 203 virtual const User* GetActiveUser() const = 0;
203 virtual User* GetActiveUser() = 0; 204 virtual User* GetActiveUser() = 0;
204 205
205 // Returns the primary user of the current session. It is recorded for the 206 // Returns the primary user of the current session. It is recorded for the
206 // first signed-in user and does not change thereafter. 207 // first signed-in user and does not change thereafter.
207 virtual const User* GetPrimaryUser() const = 0; 208 virtual const User* GetPrimaryUser() const = 0;
208 209
209 // Saves user's oauth token status in local state preferences. 210 // Saves user's oauth token status in local state preferences.
210 virtual void SaveUserOAuthStatus( 211 virtual void SaveUserOAuthStatus(
211 const std::string& user_id, 212 const AccountId& user_id,
212 User::OAuthTokenStatus oauth_token_status) = 0; 213 User::OAuthTokenStatus oauth_token_status) = 0;
213 214
214 // Saves a flag indicating whether online authentication against GAIA should 215 // Saves a flag indicating whether online authentication against GAIA should
215 // be enforced during the user's next sign-in. 216 // be enforced during the user's next sign-in.
216 virtual void SaveForceOnlineSignin(const std::string& user_id, 217 virtual void SaveForceOnlineSignin(const AccountId& user_id,
217 bool force_online_signin) = 0; 218 bool force_online_signin) = 0;
218 219
219 // Saves user's displayed name in local state preferences. 220 // Saves user's displayed name in local state preferences.
220 // Ignored If there is no such user. 221 // Ignored If there is no such user.
221 virtual void SaveUserDisplayName(const std::string& user_id, 222 virtual void SaveUserDisplayName(const AccountId& user_id,
222 const base::string16& display_name) = 0; 223 const base::string16& display_name) = 0;
223 224
224 // Updates data upon User Account download. 225 // Updates data upon User Account download.
225 virtual void UpdateUserAccountData(const std::string& user_id, 226 virtual void UpdateUserAccountData(const AccountId& user_id,
226 const UserAccountData& account_data) = 0; 227 const UserAccountData& account_data) = 0;
227 228
228 // Returns the display name for user |user_id| if it is known (was 229 // Returns the display name for user |user_id| if it is known (was
229 // previously set by a |SaveUserDisplayName| call). 230 // previously set by a |SaveUserDisplayName| call).
230 // Otherwise, returns an empty string. 231 // Otherwise, returns an empty string.
231 virtual base::string16 GetUserDisplayName( 232 virtual base::string16 GetUserDisplayName(const AccountId& user_id) const = 0;
232 const std::string& user_id) const = 0;
233 233
234 // Saves user's displayed (non-canonical) email in local state preferences. 234 // Saves user's displayed (non-canonical) email in local state preferences.
235 // Ignored If there is no such user. 235 // Ignored If there is no such user.
236 virtual void SaveUserDisplayEmail(const std::string& user_id, 236 virtual void SaveUserDisplayEmail(const AccountId& user_id,
237 const std::string& display_email) = 0; 237 const std::string& display_email) = 0;
238 238
239 // Returns the display email for user |user_id| if it is known (was 239 // Returns the display email for user |user_id| if it is known (was
240 // previously set by a |SaveUserDisplayEmail| call). 240 // previously set by a |SaveUserDisplayEmail| call).
241 // Otherwise, returns |user_id| itself. 241 // Otherwise, returns |user_id| itself.
242 virtual std::string GetUserDisplayEmail(const std::string& user_id) const = 0; 242 virtual std::string GetUserDisplayEmail(const AccountId& user_id) const = 0;
243 243
244 // Saves user's type for user |user_id| into local state preferences. 244 // Saves user's type for user |user_id| into local state preferences.
245 // Ignored If there is no such user. 245 // Ignored If there is no such user.
246 virtual void SaveUserType(const std::string& user_id, 246 virtual void SaveUserType(const AccountId& user_id,
247 const UserType& user_type) = 0; 247 const UserType& user_type) = 0;
248 248
249 // Returns true if current user is an owner. 249 // Returns true if current user is an owner.
250 virtual bool IsCurrentUserOwner() const = 0; 250 virtual bool IsCurrentUserOwner() const = 0;
251 251
252 // Returns true if current user is not existing one (hasn't signed in before). 252 // Returns true if current user is not existing one (hasn't signed in before).
253 virtual bool IsCurrentUserNew() const = 0; 253 virtual bool IsCurrentUserNew() const = 0;
254 254
255 // Returns true if data stored or cached for the current user outside that 255 // Returns true if data stored or cached for the current user outside that
256 // user's cryptohome (wallpaper, avatar, OAuth token status, display name, 256 // user's cryptohome (wallpaper, avatar, OAuth token status, display name,
(...skipping 30 matching lines...) Expand all
287 287
288 // Returns true if we're logged in and browser has been started i.e. 288 // Returns true if we're logged in and browser has been started i.e.
289 // browser_creator.LaunchBrowser(...) was called after sign in 289 // browser_creator.LaunchBrowser(...) was called after sign in
290 // or restart after crash. 290 // or restart after crash.
291 virtual bool IsSessionStarted() const = 0; 291 virtual bool IsSessionStarted() const = 0;
292 292
293 // Returns true if data stored or cached for the user with the given user id 293 // Returns true if data stored or cached for the user with the given user id
294 // address outside that user's cryptohome (wallpaper, avatar, OAuth token 294 // address outside that user's cryptohome (wallpaper, avatar, OAuth token
295 // status, display name, display email) is to be treated as ephemeral. 295 // status, display name, display email) is to be treated as ephemeral.
296 virtual bool IsUserNonCryptohomeDataEphemeral( 296 virtual bool IsUserNonCryptohomeDataEphemeral(
297 const std::string& user_id) const = 0; 297 const AccountId& user_id) const = 0;
298 298
299 virtual void AddObserver(Observer* obs) = 0; 299 virtual void AddObserver(Observer* obs) = 0;
300 virtual void RemoveObserver(Observer* obs) = 0; 300 virtual void RemoveObserver(Observer* obs) = 0;
301 301
302 virtual void AddSessionStateObserver(UserSessionStateObserver* obs) = 0; 302 virtual void AddSessionStateObserver(UserSessionStateObserver* obs) = 0;
303 virtual void RemoveSessionStateObserver(UserSessionStateObserver* obs) = 0; 303 virtual void RemoveSessionStateObserver(UserSessionStateObserver* obs) = 0;
304 304
305 virtual void NotifyLocalStateChanged() = 0; 305 virtual void NotifyLocalStateChanged() = 0;
306 306
307 // Changes the child status and notifies observers. 307 // Changes the child status and notifies observers.
308 virtual void ChangeUserChildStatus(User* user, bool is_child) = 0; 308 virtual void ChangeUserChildStatus(User* user, bool is_child) = 0;
309 309
310 310
311 // Returns true if supervised users allowed. 311 // Returns true if supervised users allowed.
312 virtual bool AreSupervisedUsersAllowed() const = 0; 312 virtual bool AreSupervisedUsersAllowed() const = 0;
313 313
314 // Methods for storage/retrieval of per-user properties in Local State. 314 // Methods for storage/retrieval of per-user properties in Local State.
315 315
316 // Performs a lookup of properties associated with |user_id|. If found, 316 // Performs a lookup of properties associated with |user_id|. If found,
317 // returns |true| and fills |out_value|. |out_value| can be NULL, if 317 // returns |true| and fills |out_value|. |out_value| can be NULL, if
318 // only existence check is required. 318 // only existence check is required.
319 virtual bool FindKnownUserPrefs(const UserID& user_id, 319 virtual bool FindKnownUserPrefs(const AccountId& user_id,
320 const base::DictionaryValue** out_value) = 0; 320 const base::DictionaryValue** out_value) = 0;
321 321
322 // Updates (or creates) properties associated with |user_id| based 322 // Updates (or creates) properties associated with |user_id| based
323 // on |values|. |clear| defines if existing properties are cleared (|true|) 323 // on |values|. |clear| defines if existing properties are cleared (|true|)
324 // or if it is just a incremental update (|false|). 324 // or if it is just a incremental update (|false|).
325 virtual void UpdateKnownUserPrefs(const UserID& user_id, 325 virtual void UpdateKnownUserPrefs(const AccountId& user_id,
326 const base::DictionaryValue& values, 326 const base::DictionaryValue& values,
327 bool clear) = 0; 327 bool clear) = 0;
328 328
329 // Returns true if |user_id| preference by |path| does exist, 329 // Returns true if |user_id| preference by |path| does exist,
330 // fills in |out_value|. Otherwise returns false. 330 // fills in |out_value|. Otherwise returns false.
331 virtual bool GetKnownUserStringPref(const UserID& user_id, 331 virtual bool GetKnownUserStringPref(const AccountId& user_id,
332 const std::string& path, 332 const std::string& path,
333 std::string* out_value) = 0; 333 std::string* out_value) = 0;
334 334
335 // Updates user's identified by |user_id| string preference |path|. 335 // Updates user's identified by |user_id| string preference |path|.
336 virtual void SetKnownUserStringPref(const UserID& user_id, 336 virtual void SetKnownUserStringPref(const AccountId& user_id,
337 const std::string& path, 337 const std::string& path,
338 const std::string& in_value) = 0; 338 const std::string& in_value) = 0;
339 339
340 // Returns true if |user_id| preference by |path| does exist, 340 // Returns true if |user_id| preference by |path| does exist,
341 // fills in |out_value|. Otherwise returns false. 341 // fills in |out_value|. Otherwise returns false.
342 virtual bool GetKnownUserBooleanPref(const UserID& user_id, 342 virtual bool GetKnownUserBooleanPref(const AccountId& user_id,
343 const std::string& path, 343 const std::string& path,
344 bool* out_value) = 0; 344 bool* out_value) = 0;
345 345
346 // Updates user's identified by |user_id| boolean preference |path|. 346 // Updates user's identified by |user_id| boolean preference |path|.
347 virtual void SetKnownUserBooleanPref(const UserID& user_id, 347 virtual void SetKnownUserBooleanPref(const AccountId& user_id,
348 const std::string& path, 348 const std::string& path,
349 const bool in_value) = 0; 349 const bool in_value) = 0;
350 350
351 // Returns true if |user_id| preference by |path| does exist, 351 // Returns true if |user_id| preference by |path| does exist,
352 // fills in |out_value|. Otherwise returns false. 352 // fills in |out_value|. Otherwise returns false.
353 virtual bool GetKnownUserIntegerPref(const UserID& user_id, 353 virtual bool GetKnownUserIntegerPref(const AccountId& user_id,
354 const std::string& path, 354 const std::string& path,
355 int* out_value) = 0; 355 int* out_value) = 0;
356 356
357 // Updates user's identified by |user_id| integer preference |path|. 357 // Updates user's identified by |user_id| integer preference |path|.
358 virtual void SetKnownUserIntegerPref(const UserID& user_id, 358 virtual void SetKnownUserIntegerPref(const AccountId& user_id,
359 const std::string& path, 359 const std::string& path,
360 const int in_value) = 0; 360 const int in_value) = 0;
361 361
362 // Returns true if user's canonical email was found. 362 // Returns true if user's AccountId was found.
363 // Returns it in |out_email|. 363 // Returns it in |out_id|.
364 virtual bool GetKnownUserCanonicalEmail(const UserID& user_id, 364 virtual bool GetKnownUserAccountId(const AccountId& authenticated_id,
365 std::string* out_email) = 0; 365 AccountId* out_id) = 0;
366 366
367 // Updates |gaia_id| for user with |user_id|. 367 // Updates |gaia_id| for user with |user_id|.
368 // TODO(antrim): Update this once UserID contains GAIA ID. 368 // TODO(antrim): Update this once AccountId contains GAIA ID.
achuithb 2015/10/23 00:08:52 TODO(alemate)?
Alexander Alekseev 2015/10/23 09:11:24 Done.
369 virtual void UpdateGaiaID(const UserID& user_id, 369 virtual void UpdateGaiaID(const AccountId& user_id,
achuithb 2015/10/23 00:08:52 account_id
Alexander Alekseev 2015/10/23 09:11:24 Done.
370 const std::string& gaia_id) = 0; 370 const std::string& gaia_id) = 0;
371 371
372 // Find GAIA ID for user with |user_id|, fill in |out_value| and return true 372 // Find GAIA ID for user with |user_id|, fill in |out_value| and return true
373 // if GAIA ID was found or false otherwise. 373 // if GAIA ID was found or false otherwise.
374 // TODO(antrim): Update this once UserID contains GAIA ID. 374 // TODO(antrim): Update this once AccountId contains GAIA ID.
375 virtual bool FindGaiaID(const UserID& user_id, std::string* out_value) = 0; 375 virtual bool FindGaiaID(const AccountId& user_id, std::string* out_value) = 0;
376 376
377 // Saves whether the user authenticates using SAML. 377 // Saves whether the user authenticates using SAML.
378 virtual void UpdateUsingSAML(const UserID& user_id, 378 virtual void UpdateUsingSAML(const AccountId& user_id,
379 const bool using_saml) = 0; 379 const bool using_saml) = 0;
380 380
381 // Returns if SAML needs to be used for authentication of the user with 381 // Returns if SAML needs to be used for authentication of the user with
382 // |user_id|, if it is known (was set by a |UpdateUsingSaml| call). Otherwise 382 // |user_id|, if it is known (was set by a |UpdateUsingSaml| call). Otherwise
383 // returns false. 383 // returns false.
384 virtual bool FindUsingSAML(const UserID& user_id) = 0; 384 virtual bool FindUsingSAML(const AccountId& user_id) = 0;
385 385
386 // Setter and getter for DeviceId known user string preference. 386 // Setter and getter for DeviceId known user string preference.
387 virtual void SetKnownUserDeviceId(const UserID& user_id, 387 virtual void SetKnownUserDeviceId(const AccountId& user_id,
388 const std::string& device_id) = 0; 388 const std::string& device_id) = 0;
389 virtual std::string GetKnownUserDeviceId(const UserID& user_id) = 0; 389 virtual std::string GetKnownUserDeviceId(const AccountId& user_id) = 0;
390 390
391 // Setter and getter for GAPSCookie known user string preference. 391 // Setter and getter for GAPSCookie known user string preference.
392 virtual void SetKnownUserGAPSCookie(const UserID& user_id, 392 virtual void SetKnownUserGAPSCookie(const AccountId& user_id,
393 const std::string& gaps_cookie) = 0; 393 const std::string& gaps_cookie) = 0;
394 394
395 virtual std::string GetKnownUserGAPSCookie(const UserID& user_id) = 0; 395 virtual std::string GetKnownUserGAPSCookie(const AccountId& user_id) = 0;
396 396
397 // Saves why the user has to go through re-auth flow. 397 // Saves why the user has to go through re-auth flow.
398 virtual void UpdateReauthReason(const UserID& user_id, 398 virtual void UpdateReauthReason(const AccountId& user_id,
399 const int reauth_reason) = 0; 399 const int reauth_reason) = 0;
400 400
401 // Returns the reason why the user with |user_id| has to go through the 401 // Returns the reason why the user with |user_id| has to go through the
402 // re-auth flow. Returns true if such a reason was recorded or false 402 // re-auth flow. Returns true if such a reason was recorded or false
403 // otherwise. 403 // otherwise.
404 virtual bool FindReauthReason(const UserID& user_id, int* out_value) = 0; 404 virtual bool FindReauthReason(const AccountId& user_id, int* out_value) = 0;
405 405
406 protected: 406 protected:
407 // Sets UserManager instance. 407 // Sets UserManager instance.
408 static void SetInstance(UserManager* user_manager); 408 static void SetInstance(UserManager* user_manager);
409 409
410 // Pointer to the existing UserManager instance (if any). 410 // Pointer to the existing UserManager instance (if any).
411 // Usually is set by calling Initialize(), reset by calling Destroy(). 411 // Usually is set by calling Initialize(), reset by calling Destroy().
412 // Not owned since specific implementation of UserManager should decide on its 412 // Not owned since specific implementation of UserManager should decide on its
413 // own appropriate owner. For src/chrome implementation such place is 413 // own appropriate owner. For src/chrome implementation such place is
414 // g_browser_process->platform_part(). 414 // g_browser_process->platform_part().
415 static UserManager* instance; 415 static UserManager* instance;
416 416
417 private: 417 private:
418 friend class chromeos::ScopedUserManagerEnabler; 418 friend class chromeos::ScopedUserManagerEnabler;
419 419
420 // Same as Get() but doesn't won't crash is current instance is NULL. 420 // Same as Get() but doesn't won't crash is current instance is NULL.
421 static UserManager* GetForTesting(); 421 static UserManager* GetForTesting();
422 422
423 // Sets UserManager instance to the given |user_manager|. 423 // Sets UserManager instance to the given |user_manager|.
424 // Returns the previous value of the instance. 424 // Returns the previous value of the instance.
425 static UserManager* SetForTesting(UserManager* user_manager); 425 static UserManager* SetForTesting(UserManager* user_manager);
426 }; 426 };
427 427
428 } // namespace user_manager 428 } // namespace user_manager
429 429
430 #endif // COMPONENTS_USER_MANAGER_USER_MANAGER_H_ 430 #endif // COMPONENTS_USER_MANAGER_USER_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698