Index: chrome/browser/sync_file_system/drive_backend/list_changes_task.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/list_changes_task.cc b/chrome/browser/sync_file_system/drive_backend/list_changes_task.cc |
index 01cb0fbc40e8bf55067a9fcec5bf2e60214ae38a..7732db22551f0317100178567c9900ff19f302e2 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/list_changes_task.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/list_changes_task.cc |
@@ -116,6 +116,18 @@ void ListChangesTask::CheckInChangeList(int64 largest_change_id, |
metadata_database()->UpdateByChangeList( |
largest_change_id, |
change_list_.Pass(), |
+ base::Bind(&ListChangesTask::DidCheckInChangeList, |
+ weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); |
+} |
+ |
+void ListChangesTask::DidCheckInChangeList(scoped_ptr<SyncTaskToken> token, |
+ SyncStatusCode status) { |
+ if (status != SYNC_STATUS_OK) { |
+ SyncTaskManager::NotifyTaskDone(token.Pass(), status); |
+ return; |
+ } |
+ |
+ metadata_database()->SweepDirtyTrackers( |
base::Bind(&SyncTaskManager::NotifyTaskDone, base::Passed(&token))); |
} |