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

Unified Diff: chrome/browser/extensions/api/declarative/rules_registry_service.cc

Issue 10560013: Persist declarative rules to the extension state store. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: RegisterKey Created 8 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: chrome/browser/extensions/api/declarative/rules_registry_service.cc
diff --git a/chrome/browser/extensions/api/declarative/rules_registry_service.cc b/chrome/browser/extensions/api/declarative/rules_registry_service.cc
index ca665c627a19453e17e6d9716efa6a51fd976c84..e44793c6605213adfea11f3b1d89700f7b9e89a2 100644
--- a/chrome/browser/extensions/api/declarative/rules_registry_service.cc
+++ b/chrome/browser/extensions/api/declarative/rules_registry_service.cc
@@ -6,13 +6,14 @@
#include "base/bind.h"
#include "base/logging.h"
-#include "content/public/browser/browser_thread.h"
#include "chrome/browser/extensions/api/declarative/initializing_rules_registry.h"
+#include "chrome/browser/extensions/api/declarative/rules_registry_storage_delegate.h"
#include "chrome/browser/extensions/api/declarative_webrequest/webrequest_constants.h"
#include "chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.h"
#include "chrome/browser/extensions/api/web_request/web_request_api.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/extensions/extension.h"
+#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
@@ -20,6 +21,11 @@ namespace extensions {
namespace {
+// Returns the key to use for storing declarative rules in the state store.
+std::string GetDeclarativeRuleStorageKey(const std::string& event_name) {
+ return "declarative_rules." + event_name;
+}
+
// Registers |web_request_rules_registry| on the IO thread.
void RegisterToExtensionWebRequestEventRouterOnIO(
scoped_refptr<WebRequestRulesRegistry> web_request_rules_registry) {
@@ -40,8 +46,13 @@ RulesRegistryService::RulesRegistryService(Profile* profile)
RulesRegistryService::~RulesRegistryService() {}
void RulesRegistryService::RegisterDefaultRulesRegistries() {
+ RulesRegistryStorageDelegate* delegate = new RulesRegistryStorageDelegate();
scoped_refptr<WebRequestRulesRegistry> web_request_rules_registry(
- new WebRequestRulesRegistry(profile_));
+ new WebRequestRulesRegistry(profile_, delegate));
+ delegate->Init(profile_, web_request_rules_registry,
+ GetDeclarativeRuleStorageKey(
+ declarative_webrequest_constants::kOnRequest));
+
RegisterRulesRegistry(declarative_webrequest_constants::kOnRequest,
web_request_rules_registry);
content::BrowserThread::PostTask(

Powered by Google App Engine
This is Rietveld 408576698