Index: chrome/browser/extensions/api/web_request/web_request_api.h |
diff --git a/chrome/browser/extensions/api/web_request/web_request_api.h b/chrome/browser/extensions/api/web_request/web_request_api.h |
index 4142a38a6d6e1312fe16842e692d4b5007284024..00c3190f5d8197f231bd13eb8c7131ee721937d1 100644 |
--- a/chrome/browser/extensions/api/web_request/web_request_api.h |
+++ b/chrome/browser/extensions/api/web_request/web_request_api.h |
@@ -16,6 +16,7 @@ |
#include "base/time.h" |
#include "chrome/browser/extensions/api/declarative_webrequest/request_stages.h" |
#include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h" |
+#include "chrome/browser/extensions/api/web_request/web_request_permissions.h" |
#include "chrome/browser/extensions/extension_function.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/common/extensions/url_pattern_set.h" |
@@ -132,7 +133,10 @@ class ExtensionWebRequestEventRouter |
static ExtensionWebRequestEventRouter* GetInstance(); |
+ // Registers a rule registry. Pass null for |rules_registry| to unregister |
+ // the rule registry for |profile|. |
void RegisterRulesRegistry( |
+ void* profile, |
scoped_refptr<extensions::WebRequestRulesRegistry> rules_registry); |
// Dispatches the OnBeforeRequest event to any extensions whose filters match |
@@ -266,7 +270,6 @@ class ExtensionWebRequestEventRouter |
typedef std::map<uint64, BlockedRequest> BlockedRequestMap; |
// Map of request_id -> bit vector of EventTypes already signaled |
typedef std::map<uint64, int> SignaledRequestMap; |
- typedef std::map<void*, void*> CrossProfileMap; |
typedef std::list<base::Closure> CallbacksForPageLoad; |
ExtensionWebRequestEventRouter(); |
@@ -375,17 +378,17 @@ class ExtensionWebRequestEventRouter |
// signaled and should not be sent again. |
SignaledRequestMap signaled_requests_; |
- // A map of original profile -> corresponding incognito profile (and vice |
- // versa). |
- CrossProfileMap cross_profile_map_; |
- |
// Keeps track of time spent waiting on extensions using the blocking |
// webRequest API. |
scoped_ptr<ExtensionWebRequestTimeTracker> request_time_tracker_; |
CallbacksForPageLoad callbacks_for_page_load_; |
- scoped_refptr<extensions::WebRequestRulesRegistry> rules_registry_; |
+ // Maps each profile (and OTRProfile) to its respective rules registry. |
+ std::map<void*, scoped_refptr<extensions::WebRequestRulesRegistry> > |
+ rules_registries_; |
+ |
+ WebRequestPermissions permissions_; |
DISALLOW_COPY_AND_ASSIGN(ExtensionWebRequestEventRouter); |
}; |