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

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: Add note about what it means to revert RequestContentScript Created 6 years, 6 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 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_;

Powered by Google App Engine
This is Rietveld 408576698