| Index: chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc
|
| diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc
|
| index 6afa05c997c61a6ac1f37d8490dde9a9f6914ac2..45b5a12401c3c127c6602ad7ed7fdfff42b66c8f 100644
|
| --- a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc
|
| +++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc
|
| @@ -521,7 +521,18 @@ bool MetadataDatabaseIndexOnDisk::HasDemotedDirtyTracker() const {
|
| return StartsWithASCII(itr->key().ToString(), kDemotedDirtyIDKeyPrefix, true);
|
| }
|
|
|
| -void MetadataDatabaseIndexOnDisk::PromoteDemotedDirtyTrackers() {
|
| +void MetadataDatabaseIndexOnDisk::PromoteDemotedDirtyTracker(int64 tracker_id) {
|
| + std::string demoted_key = GenerateDemotedDirtyIDKey(tracker_id);
|
| +
|
| + std::string empty;
|
| + if (db_->Get(demoted_key, &empty).ok()) {
|
| + db_->Delete(demoted_key);
|
| + db_->Put(GenerateDirtyIDKey(tracker_id), std::string());
|
| + }
|
| +}
|
| +
|
| +bool MetadataDatabaseIndexOnDisk::PromoteDemotedDirtyTrackers() {
|
| + bool promoted = false;
|
| scoped_ptr<LevelDBWrapper::Iterator> itr(db_->NewIterator());
|
| for (itr->Seek(kDirtyIDKeyPrefix); itr->Valid(); itr->Next()) {
|
| std::string id_str;
|
| @@ -534,7 +545,9 @@ void MetadataDatabaseIndexOnDisk::PromoteDemotedDirtyTrackers() {
|
|
|
| db_->Delete(itr->key().ToString());
|
| db_->Put(GenerateDemotedDirtyIDKey(tracker_id), std::string());
|
| + promoted = true;
|
| }
|
| + return promoted;
|
| }
|
|
|
| size_t MetadataDatabaseIndexOnDisk::CountDirtyTracker() const {
|
|
|