Index: chrome/browser/sync/profile_sync_service.cc |
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc |
index bbc69cf44c34338feb2eb2fd713f4db38b426dd3..2299cab41e0f153c6249461f8f283b589eb237ea 100644 |
--- a/chrome/browser/sync/profile_sync_service.cc |
+++ b/chrome/browser/sync/profile_sync_service.cc |
@@ -1321,8 +1321,12 @@ void ProfileSyncService::OnActionableError(const SyncProtocolError& error) { |
break; |
case syncer::DISABLE_SYNC_ON_CLIENT: |
OnStopSyncingPermanently(); |
- // TODO(rsimha): Re-evaluate whether to also sign out the user here after |
- // a dashboard clear. See http://crbug.com/240436. |
+#if !defined(OS_CHROMEOS) |
+ // On desktop Chrome, sign out the user after a dashboard clear. |
+ // TODO(rsimha): Revisit this for M30. See http://crbug.com/252049. |
+ if (!auto_start_enabled_) // Skip sign out on ChromeOS/Android. |
+ SigninManagerFactory::GetForProfile(profile_)->SignOut(); |
+#endif |
break; |
case syncer::STOP_SYNC_FOR_DISABLED_ACCOUNT: |
// Sync disabled by domain admin. we should stop syncing until next |