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

Unified Diff: extensions/renderer/api_binding_bridge.cc

Issue 2727583004: [Extensions Bindings] Add a registerEventArgumentMassager (Closed)
Patch Set: . Created 3 years, 10 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_binding_bridge.h ('k') | extensions/renderer/api_bindings_system.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/renderer/api_binding_bridge.cc
diff --git a/extensions/renderer/api_binding_bridge.cc b/extensions/renderer/api_binding_bridge.cc
index d3b5805e49d002bc3cf18ca62348d6c0ce9066a8..6d8b2dc67728d000a13f34c6c134827366349f2e 100644
--- a/extensions/renderer/api_binding_bridge.cc
+++ b/extensions/renderer/api_binding_bridge.cc
@@ -6,6 +6,7 @@
#include "base/values.h"
#include "extensions/renderer/api_binding_hooks.h"
+#include "extensions/renderer/api_event_handler.h"
#include "extensions/renderer/api_request_handler.h"
#include "extensions/renderer/api_signature.h"
#include "extensions/renderer/api_type_reference_map.h"
@@ -30,6 +31,7 @@ gin::WrapperInfo APIBindingBridge::kWrapperInfo = {gin::kEmbedderNativeGin};
APIBindingBridge::APIBindingBridge(const APITypeReferenceMap* type_refs,
APIRequestHandler* request_handler,
+ APIEventHandler* event_handler,
APIBindingHooks* hooks,
v8::Local<v8::Context> context,
v8::Local<v8::Value> api_object,
@@ -38,6 +40,7 @@ APIBindingBridge::APIBindingBridge(const APITypeReferenceMap* type_refs,
const binding::RunJSFunction& run_js)
: type_refs_(type_refs),
request_handler_(request_handler),
+ event_handler_(event_handler),
hooks_(hooks),
extension_id_(extension_id),
context_type_(context_type),
@@ -64,7 +67,9 @@ gin::ObjectTemplateBuilder APIBindingBridge::GetObjectTemplateBuilder(
v8::Isolate* isolate) {
return Wrappable<APIBindingBridge>::GetObjectTemplateBuilder(isolate)
.SetMethod("registerCustomHook", &APIBindingBridge::RegisterCustomHook)
- .SetMethod("sendRequest", &APIBindingBridge::SendRequest);
+ .SetMethod("sendRequest", &APIBindingBridge::SendRequest)
+ .SetMethod("registerEventArgumentMassager",
+ &APIBindingBridge::RegisterEventArgumentMassager);
}
void APIBindingBridge::RegisterCustomHook(v8::Isolate* isolate,
@@ -133,4 +138,17 @@ void APIBindingBridge::SendRequest(
hooks_->GetCustomJSCallback(name, context));
}
+void APIBindingBridge::RegisterEventArgumentMassager(
+ gin::Arguments* arguments,
+ const std::string& event_name,
+ v8::Local<v8::Function> massager) {
+ v8::Isolate* isolate = arguments->isolate();
+ v8::HandleScope handle_scope(isolate);
+ v8::Local<v8::Object> holder;
+ CHECK(arguments->GetHolder(&holder));
+ v8::Local<v8::Context> context = holder->CreationContext();
+
+ event_handler_->RegisterArgumentMassager(context, event_name, massager);
+}
+
} // namespace extensions
« no previous file with comments | « extensions/renderer/api_binding_bridge.h ('k') | extensions/renderer/api_bindings_system.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698