| Index: extensions/browser/event_listener_map.cc
|
| diff --git a/extensions/browser/event_listener_map.cc b/extensions/browser/event_listener_map.cc
|
| index d6e7d2d80094e29f6209b21c98abfb42852ca5c5..8d1f5cad73f9f1118ec3f6bd77ce2b0e695f864c 100644
|
| --- a/extensions/browser/event_listener_map.cc
|
| +++ b/extensions/browser/event_listener_map.cc
|
| @@ -176,15 +176,17 @@ bool EventListenerMap::HasProcessListener(content::RenderProcessHost* process,
|
| return false;
|
| }
|
|
|
| -void EventListenerMap::RemoveLazyListenersForExtension(
|
| +void EventListenerMap::RemoveListenersForExtension(
|
| const std::string& extension_id) {
|
| for (ListenerMap::iterator it = listeners_.begin(); it != listeners_.end();
|
| it++) {
|
| for (ListenerList::iterator it2 = it->second.begin();
|
| it2 != it->second.end();) {
|
| - if ((*it2)->IsLazy() && (*it2)->extension_id() == extension_id) {
|
| - CleanupListener(it2->get());
|
| + if ((*it2)->extension_id() == extension_id) {
|
| + linked_ptr<EventListener> listener(*it2);
|
| + CleanupListener(listener.get());
|
| it2 = it->second.erase(it2);
|
| + delegate_->OnListenerRemoved(listener.get());
|
| } else {
|
| it2++;
|
| }
|
|
|