Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(907)

Unified Diff: extensions/renderer/dispatcher.h

Issue 344433003: Prepare declarativeContent API for new script injection feature. Added Javascript types and functio… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up declarative_content.json and store RequestContentScript data in action object Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698