Index: extensions/renderer/dispatcher.h |
diff --git a/extensions/renderer/dispatcher.h b/extensions/renderer/dispatcher.h |
index efb24f1eba60f16e0aba35156a81615017b035d4..ece1f4d3040a06043b2edb8b9c43464d860570c9 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" |
@@ -49,7 +50,6 @@ class RenderThread; |
} |
namespace extensions { |
-class ContentWatcher; |
class DispatcherDelegate; |
class Extension; |
class FilteredEventRouter; |
@@ -59,6 +59,9 @@ class ScriptContext; |
class ScriptInjectionManager; |
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, |
@@ -81,8 +84,6 @@ class Dispatcher : public content::RenderProcessObserver, |
V8SchemaRegistry* v8_schema_registry() { return v8_schema_registry_.get(); } |
- ContentWatcher* content_watcher() { return content_watcher_.get(); } |
- |
RequestSender* request_sender() { return request_sender_.get(); } |
void OnRenderViewCreated(content::RenderView* render_view); |
@@ -189,6 +190,10 @@ class Dispatcher : public content::RenderProcessObserver, |
const std::set<std::string>& changed_extensions, |
const std::vector<UserScript*>& scripts) OVERRIDE; |
+ // Handler for ExtensionMsg_WatchPages. |
+ void OnWatchPages(const std::string& event_name, |
+ const std::vector<std::string>& css_selectors); |
+ |
void UpdateActiveExtensions(); |
// Sets up the host permissions for |extension|. |
@@ -257,7 +262,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<UserScriptSet> user_script_set_; |