Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(887)

Unified Diff: storage/browser/blob/blob_reader.cc

Issue 2389583002: Remove stl_util's deletion functions from storage/. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698