| 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 c1b8a5898810f728a866a6d50bb3b8f9fcaaf666..13c88f0dd60b1ef14910b6a1d5cb89b0564fdee9 100644
|
| --- a/chrome/browser/chromeos/drive/resource_metadata_storage.cc
|
| +++ b/chrome/browser/chromeos/drive/resource_metadata_storage.cc
|
| @@ -240,62 +240,6 @@ bool ResourceMetadataStorage::Iterator::HasError() const {
|
| return !it_->status().ok();
|
| }
|
|
|
| -ResourceMetadataStorage::CacheEntryIterator::CacheEntryIterator(
|
| - scoped_ptr<leveldb::Iterator> it) : it_(it.Pass()) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| - DCHECK(it_);
|
| -
|
| - it_->SeekToFirst();
|
| - AdvanceInternal();
|
| -}
|
| -
|
| -ResourceMetadataStorage::CacheEntryIterator::~CacheEntryIterator() {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -}
|
| -
|
| -bool ResourceMetadataStorage::CacheEntryIterator::IsAtEnd() const {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| - return !it_->Valid();
|
| -}
|
| -
|
| -const std::string& ResourceMetadataStorage::CacheEntryIterator::GetID() const {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| - DCHECK(!IsAtEnd());
|
| - return id_;
|
| -}
|
| -
|
| -const FileCacheEntry&
|
| -ResourceMetadataStorage::CacheEntryIterator::GetValue() const {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| - DCHECK(!IsAtEnd());
|
| - return entry_;
|
| -}
|
| -
|
| -void ResourceMetadataStorage::CacheEntryIterator::Advance() {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| - DCHECK(!IsAtEnd());
|
| -
|
| - it_->Next();
|
| - AdvanceInternal();
|
| -}
|
| -
|
| -bool ResourceMetadataStorage::CacheEntryIterator::HasError() const {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| - return !it_->status().ok();
|
| -}
|
| -
|
| -void ResourceMetadataStorage::CacheEntryIterator::AdvanceInternal() {
|
| - for (; it_->Valid(); it_->Next()) {
|
| - // Skip unparsable broken entries.
|
| - // TODO(hashimoto): Broken entries should be cleaned up at some point.
|
| - if (IsCacheEntryKey(it_->key()) &&
|
| - entry_.ParseFromArray(it_->value().data(), it_->value().size())) {
|
| - id_ = GetIdFromCacheEntryKey(it_->key());
|
| - break;
|
| - }
|
| - }
|
| -}
|
| -
|
| // static
|
| bool ResourceMetadataStorage::UpgradeOldDB(
|
| const base::FilePath& directory_path,
|
| @@ -665,6 +609,8 @@ FileError ResourceMetadataStorage::PutEntry(const ResourceEntry& entry) {
|
| return FILE_ERROR_FAILED;
|
| }
|
| batch.Put(GetCacheEntryKey(id), serialized_entry);
|
| + } else {
|
| + batch.Delete(GetCacheEntryKey(id));
|
| }
|
|
|
| // Put the entry itself.
|
| @@ -708,6 +654,8 @@ FileError ResourceMetadataStorage::GetEntry(const std::string& id,
|
| if (cache_error == FILE_ERROR_OK) {
|
| *out_entry->mutable_file_specific_info()->mutable_cache_state() =
|
| cache_entry;
|
| + } else {
|
| + out_entry->mutable_file_specific_info()->clear_cache_state();
|
| }
|
| return FILE_ERROR_OK;
|
| }
|
| @@ -785,24 +733,6 @@ FileError ResourceMetadataStorage::GetChildren(
|
| return LevelDBStatusToFileError(it->status());
|
| }
|
|
|
| -FileError ResourceMetadataStorage::PutCacheEntry(const std::string& id,
|
| - const FileCacheEntry& entry) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| - DCHECK(!id.empty());
|
| -
|
| - std::string serialized_entry;
|
| - if (!entry.SerializeToString(&serialized_entry)) {
|
| - DLOG(ERROR) << "Failed to serialize the entry.";
|
| - return FILE_ERROR_FAILED;
|
| - }
|
| -
|
| - const leveldb::Status status = resource_map_->Put(
|
| - leveldb::WriteOptions(),
|
| - leveldb::Slice(GetCacheEntryKey(id)),
|
| - leveldb::Slice(serialized_entry));
|
| - return LevelDBStatusToFileError(status);
|
| -}
|
| -
|
| FileError ResourceMetadataStorage::GetCacheEntry(const std::string& id,
|
| FileCacheEntry* out_entry) {
|
| base::ThreadRestrictions::AssertIOAllowed();
|
| @@ -819,25 +749,6 @@ FileError ResourceMetadataStorage::GetCacheEntry(const std::string& id,
|
| FILE_ERROR_OK : FILE_ERROR_FAILED;
|
| }
|
|
|
| -FileError ResourceMetadataStorage::RemoveCacheEntry(const std::string& id) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| - DCHECK(!id.empty());
|
| -
|
| - const leveldb::Status status = resource_map_->Delete(
|
| - leveldb::WriteOptions(),
|
| - leveldb::Slice(GetCacheEntryKey(id)));
|
| - return LevelDBStatusToFileError(status);
|
| -}
|
| -
|
| -scoped_ptr<ResourceMetadataStorage::CacheEntryIterator>
|
| -ResourceMetadataStorage::GetCacheEntryIterator() {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| - scoped_ptr<leveldb::Iterator> it(
|
| - resource_map_->NewIterator(leveldb::ReadOptions()));
|
| - return make_scoped_ptr(new CacheEntryIterator(it.Pass()));
|
| -}
|
| -
|
| ResourceMetadataStorage::RecoveredCacheInfo::RecoveredCacheInfo()
|
| : is_dirty(false) {}
|
|
|
|
|