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 0e65f4703110c25278612ed894b6caebd4eb95bf..c777890f1493869d0a1cfebe2d60e39deb68487d 100644 |
--- a/extensions/renderer/native_extension_bindings_system.cc |
+++ b/extensions/renderer/native_extension_bindings_system.cc |
@@ -8,6 +8,7 @@ |
#include "base/memory/ptr_util.h" |
#include "content/public/common/content_switches.h" |
#include "extensions/common/constants.h" |
+#include "extensions/common/event_filtering_info.h" |
#include "extensions/common/extension_api.h" |
#include "extensions/common/extension_messages.h" |
#include "extensions/common/features/feature_provider.h" |
@@ -446,13 +447,15 @@ void NativeExtensionBindingsSystem::UpdateBindingsForContext( |
void NativeExtensionBindingsSystem::DispatchEventInContext( |
const std::string& event_name, |
const base::ListValue* event_args, |
- const base::DictionaryValue* filtering_info, |
+ const base::DictionaryValue* filtering_info_dict, |
ScriptContext* context) { |
v8::HandleScope handle_scope(context->isolate()); |
v8::Context::Scope context_scope(context->v8_context()); |
- // TODO(devlin): Take into account |filtering_info|. |
- api_system_.FireEventInContext(event_name, context->v8_context(), |
- *event_args); |
+ EventFilteringInfo filter; |
+ if (filtering_info_dict) |
+ filter = EventFilteringInfo(*filtering_info_dict); |
+ api_system_.FireEventInContext(event_name, context->v8_context(), *event_args, |
+ filter); |
} |
void NativeExtensionBindingsSystem::HandleResponse( |
@@ -634,9 +637,11 @@ void NativeExtensionBindingsSystem::SendRequest( |
void NativeExtensionBindingsSystem::OnEventListenerChanged( |
const std::string& event_name, |
binding::EventListenersChanged change, |
+ const base::DictionaryValue* filter, |
v8::Local<v8::Context> context) { |
- send_event_listener_ipc_.Run( |
- change, ScriptContextSet::GetContextByV8Context(context), event_name); |
+ send_event_listener_ipc_.Run(change, |
+ ScriptContextSet::GetContextByV8Context(context), |
+ event_name, filter); |
} |
void NativeExtensionBindingsSystem::GetJSBindingUtil( |