diff --git a/ipc/chromium/src/base/id_map.h b/ipc/chromium/src/base/id_map.h index a101509ff8c5..15c4aeac7128 100644 --- a/ipc/chromium/src/base/id_map.h +++ b/ipc/chromium/src/base/id_map.h @@ -41,15 +41,6 @@ class IDMap { void Put(int32_t id, const T& data) { data_[id] = data; } void Remove(int32_t id) { - iterator i = data_.find(id); - if (i == data_.end()) { - NOTREACHED() << "Attempting to remove an item not in the list"; - return; - } - data_.erase(i); - } - - void RemoveIfPresent(int32_t id) { iterator i = data_.find(id); if (i != data_.end()) { data_.erase(i); diff --git a/ipc/glue/ProtocolUtils.cpp b/ipc/glue/ProtocolUtils.cpp index c73e61de765e..3e3331d9429c 100644 --- a/ipc/glue/ProtocolUtils.cpp +++ b/ipc/glue/ProtocolUtils.cpp @@ -673,10 +673,12 @@ IProtocol* IToplevelProtocol::Lookup(int32_t aId) { } void IToplevelProtocol::Unregister(int32_t aId) { + MOZ_ASSERT(mActorMap.Contains(aId), + "Attempting to remove an ID not in the actor map"); mActorMap.Remove(aId); MutexAutoLock lock(mEventTargetMutex); - mEventTargetMap.RemoveIfPresent(aId); + mEventTargetMap.Remove(aId); } Shmem::SharedMemory* IToplevelProtocol::CreateSharedMemory( @@ -737,6 +739,8 @@ bool IToplevelProtocol::DestroySharedMemory(Shmem& shmem) { Message* descriptor = shmem.UnshareFrom(Shmem::PrivateIPDLCaller(), MSG_ROUTING_CONTROL); + MOZ_ASSERT(mShmemMap.Contains(aId), + "Attempting to remove an ID not in the shmem map"); mShmemMap.Remove(aId); Shmem::Dealloc(Shmem::PrivateIPDLCaller(), segment); @@ -778,6 +782,8 @@ bool IToplevelProtocol::ShmemDestroyed(const Message& aMsg) { Shmem::SharedMemory* rawmem = LookupSharedMemory(id); if (rawmem) { + MOZ_ASSERT(mShmemMap.Contains(id), + "Attempting to remove an ID not in the shmem map"); mShmemMap.Remove(id); Shmem::Dealloc(Shmem::PrivateIPDLCaller(), rawmem); }