| Index: chrome/browser/extensions/event_router.h
|
| diff --git a/chrome/browser/extensions/event_router.h b/chrome/browser/extensions/event_router.h
|
| index a4f7512a2442a634c966b6dc106e2bf2954e1d1e..97d2254aded8fe7ae6c5c5dfe5a0fb1e0056c0c7 100644
|
| --- a/chrome/browser/extensions/event_router.h
|
| +++ b/chrome/browser/extensions/event_router.h
|
| @@ -44,22 +44,12 @@ class EventRouter : public content::NotificationObserver,
|
| USER_GESTURE_NOT_ENABLED = 2,
|
| };
|
|
|
| - // Sends an event via ipc_sender to the given extension. Can be called on
|
| - // any thread.
|
| + // Sends an event via ipc_sender to the given extension. Can be called on any
|
| + // thread.
|
| static void DispatchEvent(IPC::Sender* ipc_sender,
|
| const std::string& extension_id,
|
| const std::string& event_name,
|
| - const base::Value& event_args,
|
| - const GURL& event_url,
|
| - UserGestureState user_gesture,
|
| - const EventFilteringInfo& info);
|
| -
|
| - // This invocation is deprecated. All future consumers of this API should be
|
| - // sending Values as event arguments, using the above version.
|
| - static void DispatchEvent(IPC::Sender* ipc_sender,
|
| - const std::string& extension_id,
|
| - const std::string& event_name,
|
| - const std::string& event_args,
|
| + scoped_ptr<base::ListValue> event_args,
|
| const GURL& event_url,
|
| UserGestureState user_gesture,
|
| const EventFilteringInfo& info);
|
| @@ -116,20 +106,20 @@ class EventRouter : public content::NotificationObserver,
|
| // |event_url| is not empty, the event is only sent to extension with host
|
| // permissions for this url.
|
| void DispatchEventToRenderers(const std::string& event_name,
|
| - const std::string& event_args,
|
| + scoped_ptr<base::ListValue> event_args,
|
| Profile* restrict_to_profile,
|
| const GURL& event_url,
|
| EventFilteringInfo info);
|
|
|
| // As above, but defaults |info| to EventFilteringInfo().
|
| void DispatchEventToRenderers(const std::string& event_name,
|
| - const std::string& event_args,
|
| + scoped_ptr<base::ListValue> event_args,
|
| Profile* restrict_to_profile,
|
| const GURL& event_url);
|
|
|
| // As above, but enables sending an explicit user gesture indicator.
|
| void DispatchEventToRenderers(const std::string& event_name,
|
| - const std::string& event_args,
|
| + scoped_ptr<ListValue> event_args,
|
| Profile* restrict_to_profile,
|
| const GURL& event_url,
|
| UserGestureState user_gesture);
|
| @@ -137,15 +127,7 @@ class EventRouter : public content::NotificationObserver,
|
| // Same as above, except only send the event to the given extension.
|
| virtual void DispatchEventToExtension(const std::string& extension_id,
|
| const std::string& event_name,
|
| - const base::Value& event_args,
|
| - Profile* restrict_to_profile,
|
| - const GURL& event_url);
|
| -
|
| - // This invocation is deprecated. The above variant which uses a Value for
|
| - // event_args is to be used instead.
|
| - virtual void DispatchEventToExtension(const std::string& extension_id,
|
| - const std::string& event_name,
|
| - const std::string& event_args,
|
| + scoped_ptr<base::ListValue> event_args,
|
| Profile* restrict_to_profile,
|
| const GURL& event_url);
|
|
|
| @@ -153,7 +135,7 @@ class EventRouter : public content::NotificationObserver,
|
| // explicit user gesture indicator.
|
| virtual void DispatchEventToExtension(const std::string& extension_id,
|
| const std::string& event_name,
|
| - const std::string& event_args,
|
| + scoped_ptr<base::ListValue> event_args,
|
| Profile* restrict_to_profile,
|
| const GURL& event_url,
|
| UserGestureState user_gesture);
|
| @@ -167,9 +149,9 @@ class EventRouter : public content::NotificationObserver,
|
| // extensions in that profile that can't cross incognito.
|
| void DispatchEventsToRenderersAcrossIncognito(
|
| const std::string& event_name,
|
| - const std::string& event_args,
|
| + scoped_ptr<base::ListValue> event_args,
|
| Profile* restrict_to_profile,
|
| - const std::string& cross_incognito_args,
|
| + scoped_ptr<base::ListValue> cross_incognito_args,
|
| const GURL& event_url);
|
|
|
| // Record the Event Ack from the renderer. (One less event in-flight.)
|
| @@ -184,6 +166,16 @@ class EventRouter : public content::NotificationObserver,
|
| // to that event.
|
| typedef std::map<std::string, std::set<ListenerProcess> > ListenerMap;
|
|
|
| + // TODO(gdk): Document this.
|
| + static void DispatchExtensionMessage(
|
| + IPC::Sender* ipc_sender,
|
| + const std::string& extension_id,
|
| + const std::string& event_name,
|
| + base::ListValue* event_args,
|
| + const GURL& event_url,
|
| + UserGestureState user_gesture,
|
| + const extensions::EventFilteringInfo& info);
|
| +
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
| @@ -218,7 +210,7 @@ class EventRouter : public content::NotificationObserver,
|
| bool CanDispatchEventToProfile(Profile* profile,
|
| const Extension* extension,
|
| const linked_ptr<Event>& event,
|
| - const base::Value** event_args);
|
| + base::ListValue** event_args);
|
|
|
| // Possibly loads given extension's background page in preparation to
|
| // dispatch an event.
|
| @@ -252,33 +244,23 @@ class EventRouter : public content::NotificationObserver,
|
|
|
| struct Event {
|
| std::string event_name;
|
| - scoped_ptr<Value> event_args;
|
| + scoped_ptr<base::ListValue> event_args;
|
| GURL event_url;
|
| Profile* restrict_to_profile;
|
| - scoped_ptr<Value> cross_incognito_args;
|
| + scoped_ptr<base::ListValue> cross_incognito_args;
|
| EventRouter::UserGestureState user_gesture;
|
| EventFilteringInfo info;
|
|
|
| Event(const std::string& event_name,
|
| - const Value& event_args,
|
| - const GURL& event_url,
|
| - Profile* restrict_to_profile,
|
| - const Value& cross_incognito_args,
|
| - EventRouter::UserGestureState user_gesture,
|
| - const EventFilteringInfo& info);
|
| -
|
| - // TODO(gdk): This variant should be retired once the callers are switched to
|
| - // providing Values instead of just strings.
|
| - Event(const std::string& event_name,
|
| - const std::string& event_args,
|
| + scoped_ptr<base::ListValue> event_args,
|
| const GURL& event_url,
|
| Profile* restrict_to_profile,
|
| - const std::string& cross_incognito_args,
|
| + scoped_ptr<base::ListValue> cross_incognito_args,
|
| EventRouter::UserGestureState user_gesture,
|
| const EventFilteringInfo& info);
|
|
|
| Event(const std::string& event_name,
|
| - const Value& event_args,
|
| + scoped_ptr<base::ListValue> event_args,
|
| const GURL& event_url,
|
| Profile* restrict_to_profile,
|
| EventRouter::UserGestureState user_gesture,
|
|
|