| Index: extensions/browser/event_router.h
|
| diff --git a/extensions/browser/event_router.h b/extensions/browser/event_router.h
|
| index af0fdfd3a1f4a47d9067223ee8f9318f99985a56..aed05e2dd67b7eb0c5d0a7c5d6eeaa5d57f235ea 100644
|
| --- a/extensions/browser/event_router.h
|
| +++ b/extensions/browser/event_router.h
|
| @@ -93,7 +93,9 @@ class EventRouter : public content::NotificationObserver,
|
| ExtensionPrefs* extension_prefs);
|
| virtual ~EventRouter();
|
|
|
| - // Add or remove the process/extension pair as a listener for |event_name|.
|
| + // Add or remove a listener for |event_name| given the listener's
|
| + // |extension_id| and/or |listener_url|.
|
| + //
|
| // Note that multiple extensions can share a process due to process
|
| // collapsing. Also, a single extension can have 2 processes if it is a split
|
| // mode extension.
|
| @@ -104,6 +106,15 @@ class EventRouter : public content::NotificationObserver,
|
| content::RenderProcessHost* process,
|
| const std::string& extension_id);
|
|
|
| + // Add or remove a listener for |event_name| given the listener's
|
| + // URL. TODO better comment.
|
| + void AddEventListenerForURL(const std::string& event_name,
|
| + content::RenderProcessHost* process,
|
| + const GURL& listener_url);
|
| + void RemoveEventListenerForURL(const std::string& event_name,
|
| + content::RenderProcessHost* process,
|
| + const GURL& listener_url);
|
| +
|
| EventListenerMap& listeners() { return listeners_; }
|
|
|
| // Registers an observer to be notified when an event listener for
|
| @@ -223,6 +234,7 @@ class EventRouter : public content::NotificationObserver,
|
|
|
| // Dispatches the event to the specified extension running in |process|.
|
| void DispatchEventToProcess(const std::string& extension_id,
|
| + const GURL& listener_url,
|
| content::RenderProcessHost* process,
|
| const linked_ptr<Event>& event);
|
|
|
| @@ -357,12 +369,14 @@ struct Event {
|
| struct EventListenerInfo {
|
| EventListenerInfo(const std::string& event_name,
|
| const std::string& extension_id,
|
| + const GURL& listener_url,
|
| content::BrowserContext* browser_context);
|
| // The event name including any sub-event, e.g. "runtime.onStartup" or
|
| // "webRequest.onCompleted/123".
|
| const std::string event_name;
|
|
|
| const std::string extension_id;
|
| + const GURL listener_url;
|
| content::BrowserContext* browser_context;
|
| };
|
|
|
|
|