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

Unified Diff: chrome/browser/signin/signin_manager.h

Issue 14630003: signin: move SigninManagerBase::Signout to SigninManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: apocalypse Created 7 years, 7 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
« no previous file with comments | « chrome/browser/signin/signin_global_error_unittest.cc ('k') | chrome/browser/signin/signin_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/signin/signin_manager.h
diff --git a/chrome/browser/signin/signin_manager.h b/chrome/browser/signin/signin_manager.h
index ce9d6498c8b02cf8e369958404db0421a23d9d7f..443f0e6c60d0dc95c1450f9cd43b0862dd401e9e 100644
--- a/chrome/browser/signin/signin_manager.h
+++ b/chrome/browser/signin/signin_manager.h
@@ -73,6 +73,10 @@ class SigninManager : public SigninManagerBase,
explicit SigninManager(scoped_ptr<SigninManagerDelegate> delegate);
virtual ~SigninManager();
+ // Returns true if the username is allowed based on the policy string.
+ static bool IsUsernameAllowedByPolicy(const std::string& username,
+ const std::string& policy);
+
// Attempt to sign in this user with ClientLogin. If successful, set a
// preference indicating the signed in user and send out a notification,
// then start fetching tokens for the user.
@@ -110,7 +114,12 @@ class SigninManager : public SigninManagerBase,
// Sign a user out, removing the preference, erasing all keys
// associated with the user, and canceling all auth in progress.
- virtual void SignOut() OVERRIDE;
+ virtual void SignOut();
+
+ // On platforms where SigninManager is responsible for dealing with
+ // invalid username policy updates, we need to check this during
+ // initialization and sign the user out.
+ virtual void Initialize(Profile* profile) OVERRIDE;
// Invoked from an OAuthTokenFetchedCallback to complete user signin.
virtual void CompletePendingSignin();
@@ -118,6 +127,12 @@ class SigninManager : public SigninManagerBase,
// Returns true if there's a signin in progress.
virtual bool AuthInProgress() const OVERRIDE;
+ virtual bool IsSigninAllowed() const OVERRIDE;
+
+ // Returns true if the passed username is allowed by policy. Virtual for
+ // mocking in tests.
+ virtual bool IsAllowedUsername(const std::string& username) const;
+
// If an authentication is in progress, return the username being
// authenticated. Returns an empty string if no auth is in progress.
const std::string& GetUsernameForAuthInProgress() const;
@@ -160,6 +175,11 @@ class SigninManager : public SigninManagerBase,
// ignored).
bool IsSignoutProhibited() const;
+ // Checks if signin is allowed for the profile that owns |io_data|. This must
+ // be invoked on the IO thread, and can be used to check if signin is enabled
+ // on that thread.
+ static bool IsSigninAllowedOnIOThread(ProfileIOData* io_data);
+
// Allows the SigninManager to track the privileged signin process
// identified by |process_id| so that we can later ask (via IsSigninProcess)
// if it is safe to sign the user in from the current context (see
@@ -223,6 +243,9 @@ class SigninManager : public SigninManagerBase,
// token.
void RevokeOAuthLoginToken();
+ void OnSigninAllowedPrefChanged();
+ void OnGoogleServicesUsernamePatternChanged();
+
// ClientLogin identity.
std::string possibly_invalid_username_;
std::string password_; // This is kept empty whenever possible.
@@ -268,6 +291,13 @@ class SigninManager : public SigninManagerBase,
scoped_ptr<SigninManagerDelegate> delegate_;
+ // Helper object to listen for changes to signin preferences stored in non-
+ // profile-specific local prefs (like kGoogleServicesUsernamePattern).
+ PrefChangeRegistrar local_state_pref_registrar_;
+
+ // Helper object to listen for changes to the signin allowed preference.
+ BooleanPrefMember signin_allowed_;
+
DISALLOW_COPY_AND_ASSIGN(SigninManager);
};
« no previous file with comments | « chrome/browser/signin/signin_global_error_unittest.cc ('k') | chrome/browser/signin/signin_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698