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

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

Issue 12088040: Add a SigninAllowed policy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix indentation issues. Created 7 years, 10 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/signin/signin_manager.h
diff --git a/chrome/browser/signin/signin_manager.h b/chrome/browser/signin/signin_manager.h
index 8518a2f3489e7e129e83deb1cc4fc887904d9d93..5abcc01b3d7d0659e8c1dc2f09f417f9a4c3c2b3 100644
--- a/chrome/browser/signin/signin_manager.h
+++ b/chrome/browser/signin/signin_manager.h
@@ -25,6 +25,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/observer_list.h"
#include "base/prefs/public/pref_change_registrar.h"
+#include "base/prefs/public/pref_member.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_keyed_service.h"
#include "chrome/browser/signin/signin_internals_util.h"
@@ -37,6 +38,7 @@
class CookieSettings;
class GaiaAuthFetcher;
+class ProfileIOData;
class PrefService;
class SigninGlobalError;
@@ -94,6 +96,14 @@ class SigninManager : public GaiaAuthConsumer,
// mocking in tests.
virtual bool IsAllowedUsername(const std::string& username) const;
+ // Returns true if a signin to Chrome is allowed (by policy or pref).
+ bool IsSigninAllowed() 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);
+
// If a user has previously established a username and SignOut has not been
// called, this will return the username.
// Otherwise, it will return an empty string.
@@ -277,6 +287,8 @@ class SigninManager : public GaiaAuthConsumer,
void OnGoogleServicesUsernamePatternChanged();
+ void OnSigninAllowedPrefChanged();
+
// Helper methods to notify all registered diagnostics observers with.
void NotifyDiagnosticsObservers(
const signin_internals_util::UntimedSigninStatusField& field,
@@ -302,6 +314,9 @@ class SigninManager : public GaiaAuthConsumer,
// 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_;
+
// Actual username after successful authentication.
std::string authenticated_username_;

Powered by Google App Engine
This is Rietveld 408576698