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

Unified Diff: extensions/renderer/api_event_handler.cc

Issue 2921013002: [Extensions Bindings] Return result from event dispatch (Closed)
Patch Set: add listener count todo Created 3 years, 6 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
« no previous file with comments | « extensions/renderer/api_event_handler.h ('k') | extensions/renderer/api_event_handler_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/renderer/api_event_handler.cc
diff --git a/extensions/renderer/api_event_handler.cc b/extensions/renderer/api_event_handler.cc
index 7c37c60d6cd0a93a64d48f84f3a0f1ef7ed883e4..212afeeef04bfce23d733b3bce78cabbe50e587a 100644
--- a/extensions/renderer/api_event_handler.cc
+++ b/extensions/renderer/api_event_handler.cc
@@ -108,8 +108,11 @@ void DispatchEvent(const v8::FunctionCallbackInfo<v8::Value>& info) {
APIEventHandler::APIEventHandler(
const binding::RunJSFunction& call_js,
+ const binding::RunJSFunctionSync& call_js_sync,
const EventListenersChangedMethod& listeners_changed)
- : call_js_(call_js), listeners_changed_(listeners_changed) {}
+ : call_js_(call_js),
+ call_js_sync_(call_js_sync),
+ listeners_changed_(listeners_changed) {}
APIEventHandler::~APIEventHandler() {}
v8::Local<v8::Object> APIEventHandler::CreateEventInstance(
@@ -139,9 +142,10 @@ v8::Local<v8::Object> APIEventHandler::CreateEventInstance(
base::MakeUnique<UnfilteredEventListeners>(updated, max_listeners);
}
- gin::Handle<EventEmitter> emitter_handle = gin::CreateHandle(
- context->GetIsolate(),
- new EventEmitter(supports_filters, std::move(listeners), call_js_));
+ gin::Handle<EventEmitter> emitter_handle =
+ gin::CreateHandle(context->GetIsolate(),
+ new EventEmitter(supports_filters, std::move(listeners),
+ call_js_, call_js_sync_));
CHECK(!emitter_handle.IsEmpty());
v8::Local<v8::Value> emitter_value = emitter_handle.ToV8();
CHECK(emitter_value->IsObject());
@@ -161,9 +165,10 @@ v8::Local<v8::Object> APIEventHandler::CreateAnonymousEventInstance(
std::unique_ptr<APIEventListeners> listeners =
base::MakeUnique<UnfilteredEventListeners>(
base::Bind(&DoNothingOnListenersChanged), binding::kNoListenerMax);
- gin::Handle<EventEmitter> emitter_handle = gin::CreateHandle(
- context->GetIsolate(),
- new EventEmitter(supports_filters, std::move(listeners), call_js_));
+ gin::Handle<EventEmitter> emitter_handle =
+ gin::CreateHandle(context->GetIsolate(),
+ new EventEmitter(supports_filters, std::move(listeners),
+ call_js_, call_js_sync_));
CHECK(!emitter_handle.IsEmpty());
v8::Local<v8::Object> emitter_object = emitter_handle.ToV8().As<v8::Object>();
data->anonymous_emitters.push_back(
« no previous file with comments | « extensions/renderer/api_event_handler.h ('k') | extensions/renderer/api_event_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698