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

Unified Diff: chrome/browser/policy/user_policy_signin_service.cc

Issue 12258036: Properly handle disabling sync via the google dashboard. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Skip signout on cros. 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/policy/user_policy_signin_service.cc
diff --git a/chrome/browser/policy/user_policy_signin_service.cc b/chrome/browser/policy/user_policy_signin_service.cc
index 19b70ae14f84c4e573066b6d3f6feca7a4683ebd..96c7a2e93de01bf22af13ce0d1611b0f482814bb 100644
--- a/chrome/browser/policy/user_policy_signin_service.cc
+++ b/chrome/browser/policy/user_policy_signin_service.cc
@@ -408,6 +408,7 @@ void UserPolicySigninService::InitializeUserCloudPolicyManager(
manager->Connect(g_browser_process->local_state(), client.Pass());
DCHECK(manager->core()->service());
StartObserving();
+ ProhibitSignoutIfNeeded();
}
void UserPolicySigninService::InitializeForSignedInUser() {
@@ -474,6 +475,8 @@ void UserPolicySigninService::OnInitializationCompleted(
}
RegisterCloudPolicyService(token);
}
+ // If client is registered now, prohibit signout.
+ ProhibitSignoutIfNeeded();
}
void UserPolicySigninService::RegisterCloudPolicyService(
@@ -496,9 +499,19 @@ void UserPolicySigninService::RegisterCloudPolicyService(
}
void UserPolicySigninService::OnRegistrationComplete() {
+ ProhibitSignoutIfNeeded();
registration_helper_.reset();
}
+void UserPolicySigninService::ProhibitSignoutIfNeeded() {
+ if (GetManager()->IsClientRegistered()) {
+ DVLOG(1) << "User is registered for policy - prohibiting signout";
+ SigninManager* signin_manager =
+ SigninManagerFactory::GetForProfile(profile_);
+ signin_manager->ProhibitSignout();
+ }
+}
+
void UserPolicySigninService::Shutdown() {
// Stop any pending registration helper activity. We do this here instead of
// in the destructor because we want to shutdown the registration helper
« no previous file with comments | « chrome/browser/policy/user_policy_signin_service.h ('k') | chrome/browser/policy/user_policy_signin_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698