OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef EXTENSIONS_BROWSER_EVENT_ROUTER_H_ | 5 #ifndef EXTENSIONS_BROWSER_EVENT_ROUTER_H_ |
6 #define EXTENSIONS_BROWSER_EVENT_ROUTER_H_ | 6 #define EXTENSIONS_BROWSER_EVENT_ROUTER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 // the base name of the event (e.g. adding an event listener for event name | 64 // the base name of the event (e.g. adding an event listener for event name |
65 // "foo.onBar/123" will trigger observers registered for "foo.onBar"). | 65 // "foo.onBar/123" will trigger observers registered for "foo.onBar"). |
66 class Observer { | 66 class Observer { |
67 public: | 67 public: |
68 // Called when a listener is added. | 68 // Called when a listener is added. |
69 virtual void OnListenerAdded(const EventListenerInfo& details) {} | 69 virtual void OnListenerAdded(const EventListenerInfo& details) {} |
70 // Called when a listener is removed. | 70 // Called when a listener is removed. |
71 virtual void OnListenerRemoved(const EventListenerInfo& details) {} | 71 virtual void OnListenerRemoved(const EventListenerInfo& details) {} |
72 }; | 72 }; |
73 | 73 |
| 74 // Struct that is sent along with a NOTIFICATION_EXTENSION_MESSAGE_DISPATCHED. |
| 75 // |event_name_| is the name of the event being dispatched and |message_id_| |
| 76 // is a unique identifier associated with the message sent to the extension |
| 77 // renderer. |extension_id_| is the id of the extension that the message is |
| 78 // being dispatched to. |
| 79 struct DispatchDetails { |
| 80 DispatchDetails(const std::string& extension_id, |
| 81 const std::string& event_name, |
| 82 int message_id); |
| 83 ~DispatchDetails(); |
| 84 |
| 85 const std::string extension_id_; |
| 86 const std::string event_name_; |
| 87 const int message_id_; |
| 88 }; |
| 89 |
74 // Gets the EventRouter for |browser_context|. | 90 // Gets the EventRouter for |browser_context|. |
75 // Shorthand for ExtensionSystem::Get(browser_context)->event_router(); it's | 91 // Shorthand for ExtensionSystem::Get(browser_context)->event_router(); it's |
76 // a very common operation. | 92 // a very common operation. |
77 static EventRouter* Get(content::BrowserContext* browser_context); | 93 static EventRouter* Get(content::BrowserContext* browser_context); |
78 | 94 |
79 // Converts event names like "foo.onBar/123" into "foo.onBar". Event names | 95 // Converts event names like "foo.onBar/123" into "foo.onBar". Event names |
80 // without a "/" are returned unchanged. | 96 // without a "/" are returned unchanged. |
81 static std::string GetBaseEventName(const std::string& full_event_name); | 97 static std::string GetBaseEventName(const std::string& full_event_name); |
82 | 98 |
83 // Sends an event via ipc_sender to the given extension. Can be called on any | 99 // Sends an event via ipc_sender to the given extension. Can be called on any |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
383 const std::string event_name; | 399 const std::string event_name; |
384 | 400 |
385 const std::string extension_id; | 401 const std::string extension_id; |
386 const GURL listener_url; | 402 const GURL listener_url; |
387 content::BrowserContext* browser_context; | 403 content::BrowserContext* browser_context; |
388 }; | 404 }; |
389 | 405 |
390 } // namespace extensions | 406 } // namespace extensions |
391 | 407 |
392 #endif // EXTENSIONS_BROWSER_EVENT_ROUTER_H_ | 408 #endif // EXTENSIONS_BROWSER_EVENT_ROUTER_H_ |
OLD | NEW |