Index: extensions/renderer/native_extension_bindings_system.cc |
diff --git a/extensions/renderer/native_extension_bindings_system.cc b/extensions/renderer/native_extension_bindings_system.cc |
index fd29b6017e1f71c6a019b9c2a038f896f794e5db..de2948617815096de6de5adc7322915d8caf8b87 100644 |
--- a/extensions/renderer/native_extension_bindings_system.cc |
+++ b/extensions/renderer/native_extension_bindings_system.cc |
@@ -747,18 +747,18 @@ void NativeExtensionBindingsSystem::OnEventListenerChanged( |
const std::string& event_name, |
binding::EventListenersChanged change, |
const base::DictionaryValue* filter, |
- bool was_manual, |
+ bool update_lazy_listeners, |
v8::Local<v8::Context> context) { |
ScriptContext* script_context = |
ScriptContextSet::GetContextByV8Context(context); |
// Note: Check context_type() first to avoid accessing ExtensionFrameHelper on |
// a worker thread. |
bool is_lazy = |
- script_context->context_type() == Feature::SERVICE_WORKER_CONTEXT || |
- ExtensionFrameHelper::IsContextForEventPage(script_context); |
+ update_lazy_listeners && |
+ (script_context->context_type() == Feature::SERVICE_WORKER_CONTEXT || |
+ ExtensionFrameHelper::IsContextForEventPage(script_context)); |
// We only remove a lazy listener if the listener removal was triggered |
// manually by the extension. |
- bool remove_lazy_listener = is_lazy && was_manual; |
if (filter) { // Filtered event listeners. |
DCHECK(filter); |
@@ -768,7 +768,7 @@ void NativeExtensionBindingsSystem::OnEventListenerChanged( |
} else { |
DCHECK_EQ(binding::EventListenersChanged::NO_LISTENERS, change); |
ipc_message_sender_->SendRemoveFilteredEventListenerIPC( |
- script_context, event_name, *filter, remove_lazy_listener); |
+ script_context, event_name, *filter, is_lazy); |
} |
} else { // Unfiltered event listeners. |
if (change == binding::EventListenersChanged::HAS_LISTENERS) { |
@@ -788,7 +788,7 @@ void NativeExtensionBindingsSystem::OnEventListenerChanged( |
DCHECK_EQ(binding::EventListenersChanged::NO_LISTENERS, change); |
ipc_message_sender_->SendRemoveUnfilteredEventListenerIPC(script_context, |
event_name); |
- if (remove_lazy_listener) { |
+ if (is_lazy) { |
ipc_message_sender_->SendRemoveUnfilteredLazyEventListenerIPC( |
script_context, event_name); |
} |