Chromium Code Reviews| Index: chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.cc |
| diff --git a/chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.cc b/chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.cc |
| index 3200b302366b4691d26c7741a93fb6deea69d4be..77b1461aacb9eb53f7a26a5b1cdc5ab454660a49 100644 |
| --- a/chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.cc |
| +++ b/chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.cc |
| @@ -67,6 +67,20 @@ void LevelDBWrapper::Iterator::Next() { |
| AdvanceIterators(); |
| } |
| +void LevelDBWrapper::Iterator::Delete() { |
| + DCHECK(Valid()); |
| + |
| + const std::string key_str = key().ToString(); |
| + Transaction deletion(DELETE_OPERATION, std::string()); |
| + std::pair<PendingOperationMap::iterator, bool> inserted = |
| + db_->pending_.insert(std::make_pair(key_str, deletion)); |
|
tzik
2014/08/12 06:28:33
Can we put previous iterator as a hint like this?
peria
2014/08/12 06:41:48
We can, but if we can add a hint, insert() returns
tzik
2014/08/12 07:32:36
Ah, I wasn't aware that.
How about doing like belo
peria
2014/08/12 07:44:35
Done.
|
| + map_iterator_ = inserted.first; |
| + if (!inserted.second) |
| + map_iterator_->second = deletion; |
| + |
| + AdvanceIterators(); |
| +} |
| + |
| leveldb::Slice LevelDBWrapper::Iterator::key() { |
| DCHECK(Valid()); |