Index: extensions/renderer/dispatcher.h |
diff --git a/extensions/renderer/dispatcher.h b/extensions/renderer/dispatcher.h |
index 8729cc2c27b2860d4fbe322e4cfa73fb0163a1bb..0db2aacc9cedbc2b6c6b3f2ac406712204b6b228 100644 |
--- a/extensions/renderer/dispatcher.h |
+++ b/extensions/renderer/dispatcher.h |
@@ -17,6 +17,7 @@ |
#include "extensions/common/extension_set.h" |
#include "extensions/common/extensions_client.h" |
#include "extensions/common/features/feature.h" |
+#include "extensions/renderer/content_watcher.h" |
#include "extensions/renderer/resource_bundle_source_map.h" |
#include "extensions/renderer/script_context.h" |
#include "extensions/renderer/script_context_set.h" |
@@ -48,7 +49,6 @@ class RenderThread; |
} |
namespace extensions { |
-class ContentWatcher; |
class DispatcherDelegate; |
class Extension; |
class FilteredEventRouter; |
@@ -58,6 +58,9 @@ class ScriptContext; |
class UserScriptSlave; |
struct Message; |
+// Map from RuleRegistry::event_name to associated ContentWatcher. |
+typedef std::map< std::string, linked_ptr<ContentWatcher> > ContentWatcherMap; |
+ |
// Dispatches extension control messages sent to the renderer and stores |
// renderer extension related state. |
class Dispatcher : public content::RenderProcessObserver { |
@@ -79,8 +82,6 @@ class Dispatcher : public content::RenderProcessObserver { |
V8SchemaRegistry* v8_schema_registry() { return v8_schema_registry_.get(); } |
- ContentWatcher* content_watcher() { return content_watcher_.get(); } |
- |
UserScriptSlave* user_script_slave() { return user_script_slave_.get(); } |
RequestSender* request_sender() { return request_sender_.get(); } |
@@ -184,6 +185,11 @@ class Dispatcher : public content::RenderProcessObserver { |
const std::set<std::string>& extension_ids); |
void OnUsingWebRequestAPI(bool webrequest_used); |
+ // Handler for ExtensionMsg_WatchPages. |
+ void OnWatchPages(const std::string& event_name, |
+ const WatchedPagesRecipient& watched_pages_recipient, |
+ const std::vector<std::string>& css_selectors); |
+ |
void UpdateActiveExtensions(); |
// Sets up the host permissions for |extension|. |
@@ -252,7 +258,8 @@ class Dispatcher : public content::RenderProcessObserver { |
// There is zero or one for each v8 context. |
ScriptContextSet script_context_set_; |
- scoped_ptr<ContentWatcher> content_watcher_; |
+ // Content watchers, keyed by event_name. |
+ ContentWatcherMap content_watchers_; |
scoped_ptr<UserScriptSlave> user_script_slave_; |