Index: chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
index 8f3a8782017627b6d66226857edd545f487572f2..b31f2ab9f6ed072c015aa59ff26cb5e72d7fed0d 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
@@ -43,6 +43,8 @@ namespace drive_backend { |
namespace { |
+void EmptyStatusCallback(SyncStatusCode status) {} |
+ |
std::string FileKindToString(FileKind file_kind) { |
switch (file_kind) { |
case FILE_KIND_UNSUPPORTED: |
@@ -1367,12 +1369,16 @@ MetadataDatabase::ActivationStatus MetadataDatabase::TryActivateTracker( |
void MetadataDatabase::LowerTrackerPriority(int64 tracker_id) { |
DCHECK(worker_sequence_checker_.CalledOnValidSequencedThread()); |
- index_->DemoteDirtyTracker(tracker_id); |
+ scoped_ptr<leveldb::WriteBatch> batch(new leveldb::WriteBatch); |
+ index_->DemoteDirtyTracker(tracker_id, batch.get()); |
+ WriteToDatabase(batch.Pass(), base::Bind(&EmptyStatusCallback)); |
} |
void MetadataDatabase::PromoteLowerPriorityTrackersToNormal() { |
DCHECK(worker_sequence_checker_.CalledOnValidSequencedThread()); |
- index_->PromoteDemotedDirtyTrackers(); |
+ scoped_ptr<leveldb::WriteBatch> batch(new leveldb::WriteBatch); |
+ index_->PromoteDemotedDirtyTrackers(batch.get()); |
+ WriteToDatabase(batch.Pass(), base::Bind(&EmptyStatusCallback)); |
} |
bool MetadataDatabase::GetNormalPriorityDirtyTracker( |
@@ -1793,6 +1799,7 @@ void MetadataDatabase::WriteToDatabase(scoped_ptr<leveldb::WriteBatch> batch, |
return; |
} |
+ // TODO(peria): Write to DB on disk synchronously. |
file_task_runner_->PostTask( |
FROM_HERE, |
base::Bind(&WriteOnFileTaskRunner, |