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

Unified Diff: extensions/browser/event_router.cc

Issue 2495213007: [Extensions] Use a separate IPC message for extension events (Closed)
Patch Set: lazyboys Created 4 years, 1 month 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/browser/app_window/app_window_contents.cc ('k') | extensions/common/event_filtering_info.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/event_router.cc
diff --git a/extensions/browser/event_router.cc b/extensions/browser/event_router.cc
index 24b6224fae1a032132060e18cc51ba6e54b8f427..e70a78c528aaf8a774142fc846997502fd294679 100644
--- a/extensions/browser/event_router.cc
+++ b/extensions/browser/event_router.cc
@@ -103,26 +103,14 @@ void EventRouter::DispatchExtensionMessage(IPC::Sender* ipc_sender,
NotifyEventDispatched(browser_context_id, extension_id, event_name,
*event_args);
- // TODO(chirantan): Make event dispatch a separate IPC so that it doesn't
- // piggyback off MessageInvoke, which is used for other things.
- ListValue args;
- args.Set(0, new base::StringValue(event_name));
- args.Set(1, event_args);
- args.Set(2, info.AsValue().release());
- args.Set(3, new base::FundamentalValue(event_id));
- ipc_sender->Send(new ExtensionMsg_MessageInvoke(
- MSG_ROUTING_CONTROL,
- extension_id,
- kEventBindings,
- "dispatchEvent",
- args,
- user_gesture == USER_GESTURE_ENABLED));
-
- // DispatchExtensionMessage does _not_ take ownership of event_args, so we
- // must ensure that the destruction of args does not attempt to free it.
- std::unique_ptr<base::Value> removed_event_args;
- args.Remove(1, &removed_event_args);
- ignore_result(removed_event_args.release());
+ ExtensionMsg_DispatchEvent_Params params;
+ params.extension_id = extension_id;
+ params.event_name = event_name;
+ params.event_id = event_id;
+ params.is_user_gesture = user_gesture == USER_GESTURE_ENABLED;
+ params.filtering_info.Swap(info.AsValue().get());
+
+ ipc_sender->Send(new ExtensionMsg_DispatchEvent(params, *event_args));
}
// static
« no previous file with comments | « extensions/browser/app_window/app_window_contents.cc ('k') | extensions/common/event_filtering_info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698