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

Unified Diff: content/child/blob_storage/blob_transport_controller.cc

Issue 2749203002: Remove ScopedVector from content/. (Closed)
Patch Set: Remove ScopedVector from content/. Created 3 years, 9 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: content/child/blob_storage/blob_transport_controller.cc
diff --git a/content/child/blob_storage/blob_transport_controller.cc b/content/child/blob_storage/blob_transport_controller.cc
index 4f6d14543d70fd2e2b276d135db836cf4f8bb764..11b5a3e619477725b53997f9467917d6a74d2bdf 100644
--- a/content/child/blob_storage/blob_transport_controller.cc
+++ b/content/child/blob_storage/blob_transport_controller.cc
@@ -16,7 +16,6 @@
#include "base/lazy_instance.h"
#include "base/location.h"
#include "base/memory/ptr_util.h"
-#include "base/memory/scoped_vector.h"
#include "base/memory/shared_memory.h"
#include "base/metrics/histogram_macros.h"
#include "base/numerics/safe_conversions.h"
@@ -210,8 +209,8 @@ void BlobTransportController::OnMemoryRequest(
// Since we can be writing to the same shared memory handle from multiple
// requests, we keep them in a vector and lazily create them.
- ScopedVector<SharedMemory> opened_memory;
- opened_memory.resize(memory_handles->size());
+ std::vector<std::unique_ptr<SharedMemory>> opened_memory(
+ memory_handles->size());
// We need to calculate how much memory we expect to be writing to the memory
// segments so we can correctly map it the first time.
@@ -252,13 +251,11 @@ void BlobTransportController::OnMemoryRequest(
}
case IPCBlobItemRequestStrategy::SHARED_MEMORY: {
responses.push_back(BlobItemBytesResponse(request.request_number));
- SharedMemory* memory = opened_memory[request.handle_index];
- if (!memory) {
+ if (!opened_memory[request.handle_index]) {
SharedMemoryHandle& handle = (*memory_handles)[request.handle_index];
size_t size = shared_memory_sizes[request.handle_index];
DCHECK(SharedMemory::IsHandleValid(handle));
- std::unique_ptr<SharedMemory> shared_memory(
- new SharedMemory(handle, false));
+ auto shared_memory = base::MakeUnique<SharedMemory>(handle, false);
if (!shared_memory->Map(size)) {
// This would happen if the renderer process doesn't have enough
@@ -269,14 +266,15 @@ void BlobTransportController::OnMemoryRequest(
<< ".";
return;
}
- memory = shared_memory.get();
- opened_memory[request.handle_index] = shared_memory.release();
+ opened_memory[request.handle_index] = std::move(shared_memory);
}
- CHECK(memory->memory()) << "Couldn't map memory for blob transfer.";
+ CHECK(opened_memory[request.handle_index]->memory())
+ << "Couldn't map memory for blob transfer.";
ReadStatus status = consolidation->ReadMemory(
request.renderer_item_index, request.renderer_item_offset,
request.size,
- static_cast<char*>(memory->memory()) + request.handle_offset);
+ static_cast<char*>(opened_memory[request.handle_index]->memory()) +
+ request.handle_offset);
DCHECK(status == ReadStatus::OK)
<< "Error reading from consolidated blob: "
<< static_cast<int>(status);

Powered by Google App Engine
This is Rietveld 408576698