Index: chrome/browser/chromeos/drive/resource_metadata_storage.cc |
diff --git a/chrome/browser/chromeos/drive/resource_metadata_storage.cc b/chrome/browser/chromeos/drive/resource_metadata_storage.cc |
index d07dbffb2fe1d760830f17f2856b643701be7b49..f3b61a620250c578fddbb708cd6915aa89568a8a 100644 |
--- a/chrome/browser/chromeos/drive/resource_metadata_storage.cc |
+++ b/chrome/browser/chromeos/drive/resource_metadata_storage.cc |
@@ -477,8 +477,8 @@ bool ResourceMetadataStorage::Initialize() { |
return resource_map_; |
} |
-void ResourceMetadataStorage::RecoverCacheEntriesFromTrashedResourceMap( |
- std::map<std::string, FileCacheEntry>* out_entries) { |
+void ResourceMetadataStorage::RecoverCacheInfoFromTrashedResourceMap( |
+ RecoveredCacheInfoMap* out_info) { |
const base::FilePath trashed_resource_map_path = |
directory_path_.Append(kTrashedResourceMapDBName); |
@@ -526,8 +526,20 @@ void ResourceMetadataStorage::RecoverCacheEntriesFromTrashedResourceMap( |
if (IsCacheEntryKey(it->key())) { |
const std::string& id = GetIdFromCacheEntryKey(it->key()); |
FileCacheEntry cache_entry; |
- if (cache_entry.ParseFromArray(it->value().data(), it->value().size())) |
- (*out_entries)[id] = cache_entry; |
+ if (cache_entry.ParseFromArray(it->value().data(), it->value().size())) { |
+ RecoveredCacheInfo* info = &(*out_info)[id]; |
+ info->is_dirty = cache_entry.is_dirty(); |
+ info->md5 = cache_entry.md5(); |
+ |
+ // Get title from ResourceEntry if available. |
+ std::string serialized_entry; |
+ ResourceEntry entry; |
+ if (resource_map->Get(leveldb::ReadOptions(), |
+ leveldb::Slice(id), |
+ &serialized_entry).ok() && |
+ entry.ParseFromString(serialized_entry)) |
+ info->title = entry.title(); |
+ } |
} |
} |
} |
@@ -734,6 +746,11 @@ ResourceMetadataStorage::GetCacheEntryIterator() { |
return make_scoped_ptr(new CacheEntryIterator(it.Pass())); |
} |
+ResourceMetadataStorage::RecoveredCacheInfo::RecoveredCacheInfo() |
+ : is_dirty(false) {} |
+ |
+ResourceMetadataStorage::RecoveredCacheInfo::~RecoveredCacheInfo() {} |
+ |
bool ResourceMetadataStorage::GetIdByResourceId( |
const std::string& resource_id, |
std::string* out_id) { |