Index: extensions/renderer/api_event_handler.h |
diff --git a/extensions/renderer/api_event_handler.h b/extensions/renderer/api_event_handler.h |
index a0ba36416a610fabbf3250830d01e52ecc4579c3..33e6d8a155f8c46986679eebb7621118d8a675a7 100644 |
--- a/extensions/renderer/api_event_handler.h |
+++ b/extensions/renderer/api_event_handler.h |
@@ -9,6 +9,7 @@ |
#include "base/callback.h" |
#include "base/macros.h" |
+#include "extensions/common/event_filter.h" |
#include "extensions/renderer/api_binding_types.h" |
#include "extensions/renderer/event_emitter.h" |
#include "v8/include/v8.h" |
@@ -18,6 +19,7 @@ class ListValue; |
} |
namespace extensions { |
+class EventFilteringInfo; |
// The object to handle API events. This includes vending v8::Objects for the |
// event; handling adding, removing, and querying listeners; and firing events |
@@ -28,6 +30,7 @@ class APIEventHandler { |
using EventListenersChangedMethod = |
base::Callback<void(const std::string& event_name, |
binding::EventListenersChanged, |
+ const base::DictionaryValue* filter, |
v8::Local<v8::Context>)>; |
APIEventHandler(const binding::RunJSFunction& call_js, |
@@ -36,6 +39,7 @@ class APIEventHandler { |
// Returns a new v8::Object for an event with the given |event_name|. |
v8::Local<v8::Object> CreateEventInstance(const std::string& event_name, |
+ bool supports_filters, |
v8::Local<v8::Context> context); |
// Creates a new event without any name. This is used by custom bindings when |
@@ -53,7 +57,8 @@ class APIEventHandler { |
// specified |context|, sending the included |arguments|. |
void FireEventInContext(const std::string& event_name, |
v8::Local<v8::Context> context, |
- const base::ListValue& arguments); |
+ const base::ListValue& arguments, |
+ const EventFilteringInfo& filter); |
// Registers a |function| to serve as an "argument massager" for the given |
// |event_name|, mutating the original arguments. |
@@ -80,6 +85,9 @@ class APIEventHandler { |
EventListenersChangedMethod listeners_changed_; |
+ // The associated EventFilter; shared across all contexts and events. |
+ EventFilter event_filter_; |
+ |
DISALLOW_COPY_AND_ASSIGN(APIEventHandler); |
}; |