summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/engine/all_status.cc
diff options
context:
space:
mode:
authortim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-14 01:31:36 +0000
committertim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-14 01:31:36 +0000
commit7f8abea4d5728b1b94fe38702a0021e2e4a82abb (patch)
tree19a2cb9608ffe226b63b75d0e9c74def324d1f8c /chrome/browser/sync/engine/all_status.cc
parentfd013932faa095a8384dd183874fe7a2ee6986d5 (diff)
downloadchromium_src-7f8abea4d5728b1b94fe38702a0021e2e4a82abb.zip
chromium_src-7f8abea4d5728b1b94fe38702a0021e2e4a82abb.tar.gz
chromium_src-7f8abea4d5728b1b94fe38702a0021e2e4a82abb.tar.bz2
Handle birthday errors by disabling sync and deleting sync data. Also added some CV broadcasts in SyncerThread, as changing vault_ fields and not signalling seems dubious (and I caught a hang in the debugger where the thread was waiting for an already true condition, thus deadlocked).
BUG=46807,39070 Review URL: http://codereview.chromium.org/2923006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52259 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/engine/all_status.cc')
-rw-r--r--chrome/browser/sync/engine/all_status.cc14
1 files changed, 4 insertions, 10 deletions
diff --git a/chrome/browser/sync/engine/all_status.cc b/chrome/browser/sync/engine/all_status.cc
index 6bf37d7..6c48905 100644
--- a/chrome/browser/sync/engine/all_status.cc
+++ b/chrome/browser/sync/engine/all_status.cc
@@ -207,20 +207,14 @@ void AllStatus::HandleChannelEvent(const SyncerEvent& event) {
lock.NotifyOverQuota();
break;
case SyncerEvent::REQUEST_SYNC_NUDGE:
- lock.set_notify_plan(DONT_NOTIFY);
- break;
case SyncerEvent::PAUSED:
- lock.set_notify_plan(DONT_NOTIFY);
- break;
case SyncerEvent::RESUMED:
- lock.set_notify_plan(DONT_NOTIFY);
- break;
case SyncerEvent::WAITING_FOR_CONNECTION:
- lock.set_notify_plan(DONT_NOTIFY);
- break;
case SyncerEvent::CONNECTED:
- lock.set_notify_plan(DONT_NOTIFY);
- break;
+ case SyncerEvent::STOP_SYNCING_PERMANENTLY:
+ case SyncerEvent::SYNCER_THREAD_EXITING:
+ lock.set_notify_plan(DONT_NOTIFY);
+ break;
default:
LOG(ERROR) << "Unrecognized Syncer Event: " << event.what_happened;
lock.set_notify_plan(DONT_NOTIFY);