Chromium Code Reviews| Index: storage/browser/blob/blob_reader.cc |
| diff --git a/storage/browser/blob/blob_reader.cc b/storage/browser/blob/blob_reader.cc |
| index d548a0398bb0152cffe8260be7b5c456feaf06cf..9f2d27db602bbe845be3ab04a85ff2db92128a7e 100644 |
| --- a/storage/browser/blob/blob_reader.cc |
| +++ b/storage/browser/blob/blob_reader.cc |
| @@ -15,7 +15,6 @@ |
| #include "base/bind.h" |
| #include "base/callback_helpers.h" |
| #include "base/sequenced_task_runner.h" |
| -#include "base/stl_util.h" |
| #include "base/time/time.h" |
| #include "base/trace_event/trace_event.h" |
| #include "net/base/io_buffer.h" |
| @@ -76,7 +75,6 @@ BlobReader::BlobReader( |
| } |
| BlobReader::~BlobReader() { |
| - base::STLDeleteValues(&index_to_reader_); |
| } |
| BlobReader::Status BlobReader::CalculateSize( |
| @@ -620,13 +618,13 @@ FileStreamReader* BlobReader::GetOrCreateFileReaderAtIndex(size_t index) { |
| auto it = index_to_reader_.find(index); |
| if (it != index_to_reader_.end()) { |
| DCHECK(it->second); |
| - return it->second; |
| + return it->second.get(); |
| } |
| std::unique_ptr<FileStreamReader> reader = CreateFileStreamReader(item, 0); |
| FileStreamReader* ret_value = reader.get(); |
| if (!ret_value) |
| return nullptr; |
| - index_to_reader_[index] = reader.release(); |
| + index_to_reader_[index] = std::move(reader); |
| return ret_value; |
| } |
| @@ -662,19 +660,11 @@ std::unique_ptr<FileStreamReader> BlobReader::CreateFileStreamReader( |
| void BlobReader::SetFileReaderAtIndex( |
| size_t index, |
| std::unique_ptr<FileStreamReader> reader) { |
| - auto found = index_to_reader_.find(current_item_index_); |
| - if (found != index_to_reader_.end()) { |
| - if (found->second) { |
| - delete found->second; |
| - } |
| - if (!reader.get()) { |
| - index_to_reader_.erase(found); |
| - return; |
| - } |
| - found->second = reader.release(); |
| - } else if (reader.get()) { |
| - index_to_reader_[current_item_index_] = reader.release(); |
| - } |
| + DCHECK_EQ(index, current_item_index_); |
|
Avi (use Gerrit)
2016/10/02 00:14:19
OK, what is going on here?
This function says "se
danakj
2016/10/03 22:51:49
Good question. +dmurph who wrote this.
dmurph
2016/10/04 19:23:24
Ah, sorry for this. You can remove the DCHECK, thi
|
| + if (reader) |
| + index_to_reader_[index] = std::move(reader); |
| + else |
| + index_to_reader_.erase(index); |
| } |
| } // namespace storage |