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

Unified Diff: components/discardable_memory/service/discardable_shared_memory_manager.cc

Issue 2485623002: discardable_memory: Using mojo IPC to replace Chrome IPC (Closed)
Patch Set: Update Created 4 years, 1 month 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: components/discardable_memory/service/discardable_shared_memory_manager.cc
diff --git a/components/discardable_memory/service/discardable_shared_memory_manager.cc b/components/discardable_memory/service/discardable_shared_memory_manager.cc
index 1036dc84d697ed5324d2f181a15b7b618cdddf46..7351d123c61988add308b58c7295985a7b49cf9a 100644
--- a/components/discardable_memory/service/discardable_shared_memory_manager.cc
+++ b/components/discardable_memory/service/discardable_shared_memory_manager.cc
@@ -213,15 +213,13 @@ std::unique_ptr<base::DiscardableMemory>
DiscardableSharedMemoryManager::AllocateLockedDiscardableMemory(size_t size) {
DCHECK_NE(size, 0u);
- DiscardableSharedMemoryId new_id =
- g_next_discardable_shared_memory_id.GetNext();
- base::ProcessHandle current_process_handle = base::GetCurrentProcessHandle();
+ int32_t new_id = g_next_discardable_shared_memory_id.GetNext();
// Note: Use DiscardableSharedMemoryHeap for in-process allocation
// of discardable memory if the cost of each allocation is too high.
base::SharedMemoryHandle handle;
- AllocateLockedDiscardableSharedMemory(
- current_process_handle, kInvalidUniqueClientID, size, new_id, &handle);
+ AllocateLockedDiscardableSharedMemory(kInvalidUniqueClientID, size, new_id,
+ &handle);
std::unique_ptr<base::DiscardableSharedMemory> memory(
new base::DiscardableSharedMemory(handle));
if (!memory->Map(size))
@@ -308,17 +306,16 @@ bool DiscardableSharedMemoryManager::OnMemoryDump(
void DiscardableSharedMemoryManager::
AllocateLockedDiscardableSharedMemoryForClient(
- base::ProcessHandle process_handle,
int client_id,
size_t size,
- DiscardableSharedMemoryId id,
+ int32_t id,
base::SharedMemoryHandle* shared_memory_handle) {
- AllocateLockedDiscardableSharedMemory(process_handle, client_id, size, id,
+ AllocateLockedDiscardableSharedMemory(client_id, size, id,
shared_memory_handle);
}
void DiscardableSharedMemoryManager::ClientDeletedDiscardableSharedMemory(
- DiscardableSharedMemoryId id,
+ int32_t id,
int client_id) {
DeletedDiscardableSharedMemory(id, client_id);
}
@@ -380,10 +377,9 @@ void DiscardableSharedMemoryManager::OnMemoryStateChange(
}
void DiscardableSharedMemoryManager::AllocateLockedDiscardableSharedMemory(
- base::ProcessHandle process_handle,
int client_id,
size_t size,
- DiscardableSharedMemoryId id,
+ int32_t id,
base::SharedMemoryHandle* shared_memory_handle) {
base::AutoLock lock(lock_);
@@ -416,11 +412,7 @@ void DiscardableSharedMemoryManager::AllocateLockedDiscardableSharedMemory(
return;
}
- if (!memory->ShareToProcess(process_handle, shared_memory_handle)) {
- LOG(ERROR) << "Cannot share discardable memory segment";
- *shared_memory_handle = base::SharedMemory::NULLHandle();
- return;
- }
+ *shared_memory_handle = base::SharedMemory::DuplicateHandle(memory->handle());
// Close file descriptor to avoid running out.
memory->Close();
@@ -445,7 +437,7 @@ void DiscardableSharedMemoryManager::AllocateLockedDiscardableSharedMemory(
}
void DiscardableSharedMemoryManager::DeletedDiscardableSharedMemory(
- DiscardableSharedMemoryId id,
+ int32_t id,
int client_id) {
base::AutoLock lock(lock_);

Powered by Google App Engine
This is Rietveld 408576698