| Index: chrome/browser/extensions/extension_message_service.cc
|
| diff --git a/chrome/browser/extensions/extension_message_service.cc b/chrome/browser/extensions/extension_message_service.cc
|
| index 70396c490da7a6f086b43c0412df380c6c35e9e5..95ff7f3b35a17c1f295f1b963d66e7f9bef71d26 100644
|
| --- a/chrome/browser/extensions/extension_message_service.cc
|
| +++ b/chrome/browser/extensions/extension_message_service.cc
|
| @@ -153,11 +153,12 @@ void ExtensionMessageService::RemoveEventListener(const std::string& event_name,
|
| // It is possible that this RenderProcessHost is being destroyed. If that is
|
| // the case, we'll have already removed his listeners, so do nothing here.
|
| RenderProcessHost* rph = RenderProcessHost::FromID(render_process_id);
|
| - if (!rph)
|
| + if (!rph || rph->ListenersIterator().IsAtEnd())
|
| return;
|
|
|
| DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI);
|
| - DCHECK_EQ(listeners_[event_name].count(render_process_id), 1u) << event_name;
|
| + DCHECK_EQ(listeners_[event_name].count(render_process_id), 1u)
|
| + << " PID=" << render_process_id << " event=" << event_name;
|
| listeners_[event_name].erase(render_process_id);
|
|
|
| if (extension_devtools_manager_.get()) {
|
|
|