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

Side by Side Diff: chrome/browser/sync/profile_sync_service.cc

Issue 14655009: Client changes for disabled dasher account (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add comment Created 7 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
« no previous file with comments | « chrome/browser/sync/profile_sync_service.h ('k') | chrome/browser/sync/sync_prefs.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chrome/browser/sync/profile_sync_service.h" 5 #include "chrome/browser/sync/profile_sync_service.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 for (int i = 0; i < kRelevantTokenServicesCount; ++i) { 124 for (int i = 0; i < kRelevantTokenServicesCount; ++i) {
125 if (service == kRelevantTokenServices[i]) 125 if (service == kRelevantTokenServices[i])
126 return true; 126 return true;
127 } 127 }
128 return false; 128 return false;
129 } 129 }
130 130
131 bool ShouldShowActionOnUI( 131 bool ShouldShowActionOnUI(
132 const syncer::SyncProtocolError& error) { 132 const syncer::SyncProtocolError& error) {
133 return (error.action != syncer::UNKNOWN_ACTION && 133 return (error.action != syncer::UNKNOWN_ACTION &&
134 error.action != syncer::DISABLE_SYNC_ON_CLIENT); 134 error.action != syncer::DISABLE_SYNC_ON_CLIENT &&
135 error.action != syncer::STOP_SYNC_FOR_DISABLED_ACCOUNT);
135 } 136 }
136 137
137 ProfileSyncService::ProfileSyncService(ProfileSyncComponentsFactory* factory, 138 ProfileSyncService::ProfileSyncService(ProfileSyncComponentsFactory* factory,
138 Profile* profile, 139 Profile* profile,
139 SigninManagerBase* signin_manager, 140 SigninManagerBase* signin_manager,
140 StartBehavior start_behavior) 141 StartBehavior start_behavior)
141 : last_auth_error_(AuthError::AuthErrorNone()), 142 : last_auth_error_(AuthError::AuthErrorNone()),
142 passphrase_required_reason_(syncer::REASON_PASSPHRASE_NOT_REQUIRED), 143 passphrase_required_reason_(syncer::REASON_PASSPHRASE_NOT_REQUIRED),
143 factory_(factory), 144 factory_(factory),
144 profile_(profile), 145 profile_(profile),
145 // |profile| may be NULL in unit tests. 146 // |profile| may be NULL in unit tests.
146 sync_prefs_(profile_ ? profile_->GetPrefs() : NULL), 147 sync_prefs_(profile_ ? profile_->GetPrefs() : NULL),
147 invalidator_storage_(profile_ ? profile_->GetPrefs(): NULL), 148 invalidator_storage_(profile_ ? profile_->GetPrefs(): NULL),
148 sync_service_url_(kDevServerUrl), 149 sync_service_url_(kDevServerUrl),
149 data_type_requested_sync_startup_(false), 150 data_type_requested_sync_startup_(false),
150 is_first_time_sync_configure_(false), 151 is_first_time_sync_configure_(false),
151 backend_initialized_(false), 152 backend_initialized_(false),
153 sync_disabled_by_admin_(false),
152 is_auth_in_progress_(false), 154 is_auth_in_progress_(false),
153 signin_(signin_manager), 155 signin_(signin_manager),
154 unrecoverable_error_reason_(ERROR_REASON_UNSET), 156 unrecoverable_error_reason_(ERROR_REASON_UNSET),
155 weak_factory_(this), 157 weak_factory_(this),
156 expect_sync_configuration_aborted_(false), 158 expect_sync_configuration_aborted_(false),
157 encrypted_types_(syncer::SyncEncryptionHandler::SensitiveTypes()), 159 encrypted_types_(syncer::SyncEncryptionHandler::SensitiveTypes()),
158 encrypt_everything_(false), 160 encrypt_everything_(false),
159 encryption_pending_(false), 161 encryption_pending_(false),
160 auto_start_enabled_(start_behavior == AUTO_START), 162 auto_start_enabled_(start_behavior == AUTO_START),
161 failed_datatypes_handler_(this), 163 failed_datatypes_handler_(this),
(...skipping 1054 matching lines...) Expand 10 before | Expand all | Expand 10 after
1216 OnInternalUnrecoverableError(FROM_HERE, 1218 OnInternalUnrecoverableError(FROM_HERE,
1217 last_actionable_error_.error_description, 1219 last_actionable_error_.error_description,
1218 true, 1220 true,
1219 ERROR_REASON_ACTIONABLE_ERROR); 1221 ERROR_REASON_ACTIONABLE_ERROR);
1220 break; 1222 break;
1221 case syncer::DISABLE_SYNC_ON_CLIENT: 1223 case syncer::DISABLE_SYNC_ON_CLIENT:
1222 OnStopSyncingPermanently(); 1224 OnStopSyncingPermanently();
1223 // TODO(rsimha): Re-evaluate whether to also sign out the user here after 1225 // TODO(rsimha): Re-evaluate whether to also sign out the user here after
1224 // a dashboard clear. See http://crbug.com/240436. 1226 // a dashboard clear. See http://crbug.com/240436.
1225 break; 1227 break;
1228 case syncer::STOP_SYNC_FOR_DISABLED_ACCOUNT:
1229 // Sync disabled by domain admin. we should stop syncing until next
1230 // restart.
1231 sync_disabled_by_admin_ = true;
1232 ShutdownImpl(true);
1233 break;
1226 default: 1234 default:
1227 NOTREACHED(); 1235 NOTREACHED();
1228 } 1236 }
1229 NotifyObservers(); 1237 NotifyObservers();
1230 } 1238 }
1231 1239
1232 void ProfileSyncService::OnConfigureBlocked() { 1240 void ProfileSyncService::OnConfigureBlocked() {
1233 NotifyObservers(); 1241 NotifyObservers();
1234 } 1242 }
1235 1243
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after
1972 break; 1980 break;
1973 } 1981 }
1974 case chrome::NOTIFICATION_TOKENS_CLEARED: { 1982 case chrome::NOTIFICATION_TOKENS_CLEARED: {
1975 // GetCredentials() will generate invalid credentials to cause the backend 1983 // GetCredentials() will generate invalid credentials to cause the backend
1976 // to generate an auth error. 1984 // to generate an auth error.
1977 if (backend_) 1985 if (backend_)
1978 backend_->UpdateCredentials(GetCredentials()); 1986 backend_->UpdateCredentials(GetCredentials());
1979 break; 1987 break;
1980 } 1988 }
1981 case chrome::NOTIFICATION_GOOGLE_SIGNED_OUT: 1989 case chrome::NOTIFICATION_GOOGLE_SIGNED_OUT:
1982 // Disable sync if the user is signed out. 1990 sync_disabled_by_admin_ = false;
1983 DisableForUser(); 1991 DisableForUser();
1984 break; 1992 break;
1985 default: { 1993 default: {
1986 NOTREACHED(); 1994 NOTREACHED();
1987 } 1995 }
1988 } 1996 }
1989 } 1997 }
1990 1998
1991 void ProfileSyncService::AddObserver(Observer* observer) { 1999 void ProfileSyncService::AddObserver(Observer* observer) {
1992 observers_.AddObserver(observer); 2000 observers_.AddObserver(observer);
(...skipping 16 matching lines...) Expand all
2009 } 2017 }
2010 2018
2011 // static 2019 // static
2012 bool ProfileSyncService::IsSyncEnabled() { 2020 bool ProfileSyncService::IsSyncEnabled() {
2013 // We have switches::kEnableSync just in case we need to change back to 2021 // We have switches::kEnableSync just in case we need to change back to
2014 // sync-disabled-by-default on a platform. 2022 // sync-disabled-by-default on a platform.
2015 return !CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableSync); 2023 return !CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableSync);
2016 } 2024 }
2017 2025
2018 bool ProfileSyncService::IsManaged() const { 2026 bool ProfileSyncService::IsManaged() const {
2019 return sync_prefs_.IsManaged(); 2027 return sync_prefs_.IsManaged() || sync_disabled_by_admin_;
2020 } 2028 }
2021 2029
2022 bool ProfileSyncService::ShouldPushChanges() { 2030 bool ProfileSyncService::ShouldPushChanges() {
2023 // True only after all bootstrapping has succeeded: the sync backend 2031 // True only after all bootstrapping has succeeded: the sync backend
2024 // is initialized, all enabled data types are consistent with one 2032 // is initialized, all enabled data types are consistent with one
2025 // another, and no unrecoverable error has transpired. 2033 // another, and no unrecoverable error has transpired.
2026 if (HasUnrecoverableError()) 2034 if (HasUnrecoverableError())
2027 return false; 2035 return false;
2028 2036
2029 if (!data_type_manager_) 2037 if (!data_type_manager_)
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
2104 #if defined(ENABLE_MANAGED_USERS) 2112 #if defined(ENABLE_MANAGED_USERS)
2105 if (ManagedUserService::ProfileIsManaged(profile_)) { 2113 if (ManagedUserService::ProfileIsManaged(profile_)) {
2106 DCHECK_EQ(std::string(), signin_->GetAuthenticatedUsername()); 2114 DCHECK_EQ(std::string(), signin_->GetAuthenticatedUsername());
2107 return ManagedUserService::GetManagedUserPseudoEmail(); 2115 return ManagedUserService::GetManagedUserPseudoEmail();
2108 } 2116 }
2109 #endif 2117 #endif
2110 2118
2111 return signin_->GetAuthenticatedUsername(); 2119 return signin_->GetAuthenticatedUsername();
2112 } 2120 }
2113 2121
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_service.h ('k') | chrome/browser/sync/sync_prefs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698