Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Unified Diff: extensions/renderer/dispatcher.cc

Issue 2973903002: [Extensions Bindings] Introduce a supportsLazyListeners property (Closed)
Patch Set: . Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/renderer/dispatcher.cc
diff --git a/extensions/renderer/dispatcher.cc b/extensions/renderer/dispatcher.cc
index 7dfb51c298507ec9e6d10aba12a6f6235c133aaa..7761664db00d3727dfa99cbd97f424edc7eac628 100644
--- a/extensions/renderer/dispatcher.cc
+++ b/extensions/renderer/dispatcher.cc
@@ -215,8 +215,9 @@ void SendEventListenersIPC(binding::EventListenersChanged changed,
ScriptContext* context,
const std::string& event_name,
const base::DictionaryValue* filter,
- bool was_manual) {
- bool lazy = ExtensionFrameHelper::IsContextForEventPage(context);
+ bool update_lazy_listeners) {
+ bool is_lazy = update_lazy_listeners &&
+ ExtensionFrameHelper::IsContextForEventPage(context);
// TODO(lazyboy): For service workers, use worker specific IPC::Sender
// instead of |render_thread|.
const int worker_thread_id = content::WorkerThread::GetCurrentId();
@@ -226,17 +227,17 @@ void SendEventListenersIPC(binding::EventListenersChanged changed,
if (filter) {
if (changed == binding::EventListenersChanged::HAS_LISTENERS) {
render_thread->Send(new ExtensionHostMsg_AddFilteredListener(
- extension_id, event_name, *filter, lazy));
+ extension_id, event_name, *filter, is_lazy));
} else {
DCHECK_EQ(binding::EventListenersChanged::NO_LISTENERS, changed);
render_thread->Send(new ExtensionHostMsg_RemoveFilteredListener(
- extension_id, event_name, *filter, lazy));
+ extension_id, event_name, *filter, is_lazy));
}
} else {
if (changed == binding::EventListenersChanged::HAS_LISTENERS) {
render_thread->Send(new ExtensionHostMsg_AddListener(
extension_id, context->url(), event_name, worker_thread_id));
- if (lazy) {
+ if (is_lazy) {
render_thread->Send(
new ExtensionHostMsg_AddLazyListener(extension_id, event_name));
}
@@ -244,7 +245,7 @@ void SendEventListenersIPC(binding::EventListenersChanged changed,
DCHECK_EQ(binding::EventListenersChanged::NO_LISTENERS, changed);
render_thread->Send(new ExtensionHostMsg_RemoveListener(
extension_id, context->url(), event_name, worker_thread_id));
- if (lazy && was_manual) {
+ if (is_lazy) {
render_thread->Send(
new ExtensionHostMsg_RemoveLazyListener(extension_id, event_name));
}

Powered by Google App Engine
This is Rietveld 408576698