Index: content/common/host_shared_bitmap_manager.cc |
diff --git a/content/common/host_shared_bitmap_manager.cc b/content/common/host_shared_bitmap_manager.cc |
index f913dba71bf0b5b31916fed5e5e431846837a4ac..04dcaa76363309682573b410303060121ed60484 100644 |
--- a/content/common/host_shared_bitmap_manager.cc |
+++ b/content/common/host_shared_bitmap_manager.cc |
@@ -63,6 +63,7 @@ HostSharedBitmapManagerClient::HostSharedBitmapManagerClient( |
} |
HostSharedBitmapManagerClient::~HostSharedBitmapManagerClient() { |
+ base::AutoLock lock(lock_); |
for (const auto& id : owned_bitmaps_) |
manager_->ChildDeletedSharedBitmap(id); |
} |
@@ -72,6 +73,7 @@ void HostSharedBitmapManagerClient::AllocateSharedBitmapForChild( |
size_t buffer_size, |
const cc::SharedBitmapId& id, |
base::SharedMemoryHandle* shared_memory_handle) { |
+ base::AutoLock lock(lock_); |
piman
2015/11/24 01:39:58
Is it possible to lock only when accessing the map
|
manager_->AllocateSharedBitmapForChild(process_handle, buffer_size, id, |
shared_memory_handle); |
owned_bitmaps_.insert(id); |
@@ -82,12 +84,14 @@ void HostSharedBitmapManagerClient::ChildAllocatedSharedBitmap( |
const base::SharedMemoryHandle& handle, |
base::ProcessHandle process_handle, |
const cc::SharedBitmapId& id) { |
+ base::AutoLock lock(lock_); |
manager_->ChildAllocatedSharedBitmap(buffer_size, handle, process_handle, id); |
owned_bitmaps_.insert(id); |
} |
void HostSharedBitmapManagerClient::ChildDeletedSharedBitmap( |
const cc::SharedBitmapId& id) { |
+ base::AutoLock lock(lock_); |
manager_->ChildDeletedSharedBitmap(id); |
owned_bitmaps_.erase(id); |
} |