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

Unified Diff: chrome/browser/extensions/api/web_request/web_request_api.h

Issue 10831008: Refactor and fix declarative webRequest API permissions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nits Created 8 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: 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);
};

Powered by Google App Engine
This is Rietveld 408576698