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

Unified Diff: extensions/renderer/bindings/api_event_handler.cc

Issue 2973903002: [Extensions Bindings] Introduce a supportsLazyListeners property (Closed)
Patch Set: onMessage event fix 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/bindings/api_event_handler.cc
diff --git a/extensions/renderer/bindings/api_event_handler.cc b/extensions/renderer/bindings/api_event_handler.cc
index 7935df6255e405ea2769a3e165512da0962bad5e..ab4f8c28d484140a8991b7b29a046515f162f325 100644
--- a/extensions/renderer/bindings/api_event_handler.cc
+++ b/extensions/renderer/bindings/api_event_handler.cc
@@ -26,7 +26,7 @@ namespace {
void DoNothingOnListenersChanged(binding::EventListenersChanged change,
const base::DictionaryValue* filter,
- bool was_manual,
+ bool update_lazy_listeners,
v8::Local<v8::Context> context) {}
const char kExtensionAPIEventPerContextKey[] = "extension_api_events";
@@ -120,6 +120,7 @@ APIEventHandler::~APIEventHandler() {}
v8::Local<v8::Object> APIEventHandler::CreateEventInstance(
const std::string& event_name,
bool supports_filters,
+ bool supports_lazy_listeners,
int max_listeners,
bool notify_on_change,
v8::Local<v8::Context> context) {
@@ -138,10 +139,11 @@ v8::Local<v8::Object> APIEventHandler::CreateEventInstance(
std::unique_ptr<APIEventListeners> listeners;
if (supports_filters) {
listeners = base::MakeUnique<FilteredEventListeners>(
- updated, event_name, max_listeners, &event_filter_);
+ updated, event_name, max_listeners, supports_lazy_listeners,
+ &event_filter_);
} else {
- listeners =
- base::MakeUnique<UnfilteredEventListeners>(updated, max_listeners);
+ listeners = base::MakeUnique<UnfilteredEventListeners>(
+ updated, max_listeners, supports_lazy_listeners);
}
gin::Handle<EventEmitter> emitter_handle = gin::CreateHandle(
@@ -166,7 +168,8 @@ v8::Local<v8::Object> APIEventHandler::CreateAnonymousEventInstance(
bool supports_filters = false;
std::unique_ptr<APIEventListeners> listeners =
base::MakeUnique<UnfilteredEventListeners>(
- base::Bind(&DoNothingOnListenersChanged), binding::kNoListenerMax);
+ base::Bind(&DoNothingOnListenersChanged), binding::kNoListenerMax,
+ false);
gin::Handle<EventEmitter> emitter_handle = gin::CreateHandle(
context->GetIsolate(),
new EventEmitter(supports_filters, std::move(listeners), call_js_,
« no previous file with comments | « extensions/renderer/bindings/api_event_handler.h ('k') | extensions/renderer/bindings/api_event_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698