summaryrefslogtreecommitdiffstats
path: root/chrome/browser/web_resource
diff options
context:
space:
mode:
authorjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-22 17:24:44 +0000
committerjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-22 17:24:44 +0000
commit5b19952e27008d9cca170c1a517987795d145928 (patch)
tree34fea6a6f74a0388c68c4ba8cd8846f3ac879027 /chrome/browser/web_resource
parent96828ec57f67f91b3b1b2269963680501a6de4b9 (diff)
downloadchromium_src-5b19952e27008d9cca170c1a517987795d145928.zip
chromium_src-5b19952e27008d9cca170c1a517987795d145928.tar.gz
chromium_src-5b19952e27008d9cca170c1a517987795d145928.tar.bz2
Split PrefService into PrefService, PrefServiceSimple and PrefServiceSyncable.
The first two (PrefServiceSimple is a subclass of PrefService) know nothing about sync or any Chrome or content concepts. The third (PrefServiceSyncable, a separate subclass of PrefService) knows about sync and requires users to choose whether each individual preference is syncable or not when it is registered. BrowserProcess::local_state() is a PrefServiceSimple after this change, and Profile::prefs() is a PrefServiceSyncable. COLLABORATOR=kaiwang@chromium.org TBR=ben@chromium.org BUG=155525 Review URL: https://chromiumcodereview.appspot.com/11570009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174531 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/web_resource')
-rw-r--r--chrome/browser/web_resource/notification_promo.cc4
-rw-r--r--chrome/browser/web_resource/notification_promo.h3
-rw-r--r--chrome/browser/web_resource/plugins_resource_service.cc2
-rw-r--r--chrome/browser/web_resource/plugins_resource_service.h5
-rw-r--r--chrome/browser/web_resource/promo_resource_service.cc6
-rw-r--r--chrome/browser/web_resource/promo_resource_service.h7
6 files changed, 16 insertions, 11 deletions
diff --git a/chrome/browser/web_resource/notification_promo.cc b/chrome/browser/web_resource/notification_promo.cc
index 86687f5..692d305 100644
--- a/chrome/browser/web_resource/notification_promo.cc
+++ b/chrome/browser/web_resource/notification_promo.cc
@@ -316,10 +316,10 @@ void NotificationPromo::OnNewNotification() {
}
// static
-void NotificationPromo::RegisterUserPrefs(PrefService* prefs) {
+void NotificationPromo::RegisterUserPrefs(PrefServiceSyncable* prefs) {
prefs->RegisterDictionaryPref(kPrefPromoObject,
new base::DictionaryValue,
- PrefService::UNSYNCABLE_PREF);
+ PrefServiceSyncable::UNSYNCABLE_PREF);
}
void NotificationPromo::WritePrefs() {
diff --git a/chrome/browser/web_resource/notification_promo.h b/chrome/browser/web_resource/notification_promo.h
index efe5bbd..f3b2c5b 100644
--- a/chrome/browser/web_resource/notification_promo.h
+++ b/chrome/browser/web_resource/notification_promo.h
@@ -19,6 +19,7 @@ class ListValue;
}
class PrefService;
+class PrefServiceSyncable;
class Profile;
// Helper class for PromoResourceService that parses promo notification info
@@ -65,7 +66,7 @@ class NotificationPromo {
}
// Register preferences.
- static void RegisterUserPrefs(PrefService* prefs);
+ static void RegisterUserPrefs(PrefServiceSyncable* prefs);
private:
// For testing.
diff --git a/chrome/browser/web_resource/plugins_resource_service.cc b/chrome/browser/web_resource/plugins_resource_service.cc
index e54776ca..77777d8 100644
--- a/chrome/browser/web_resource/plugins_resource_service.cc
+++ b/chrome/browser/web_resource/plugins_resource_service.cc
@@ -65,7 +65,7 @@ PluginsResourceService::~PluginsResourceService() {
}
// static
-void PluginsResourceService::RegisterPrefs(PrefService* local_state) {
+void PluginsResourceService::RegisterPrefs(PrefServiceSimple* local_state) {
local_state->RegisterDictionaryPref(
prefs::kPluginsMetadata, new base::DictionaryValue());
local_state->RegisterStringPref(prefs::kPluginsResourceCacheUpdate, "0");
diff --git a/chrome/browser/web_resource/plugins_resource_service.h b/chrome/browser/web_resource/plugins_resource_service.h
index 7114cc7..d01597e 100644
--- a/chrome/browser/web_resource/plugins_resource_service.h
+++ b/chrome/browser/web_resource/plugins_resource_service.h
@@ -7,13 +7,16 @@
#include "chrome/browser/web_resource/web_resource_service.h"
+class PrefService;
+class PrefServiceSimple;
+
// This resource service periodically fetches plug-in metadata
// from a remote server and updates local state and PluginFinder.
class PluginsResourceService : public WebResourceService {
public:
explicit PluginsResourceService(PrefService* local_state);
- static void RegisterPrefs(PrefService* local_state);
+ static void RegisterPrefs(PrefServiceSimple* local_state);
private:
virtual ~PluginsResourceService();
diff --git a/chrome/browser/web_resource/promo_resource_service.cc b/chrome/browser/web_resource/promo_resource_service.cc
index 48c6388..ad4c185 100644
--- a/chrome/browser/web_resource/promo_resource_service.cc
+++ b/chrome/browser/web_resource/promo_resource_service.cc
@@ -62,7 +62,7 @@ int GetCacheUpdateDelay() {
} // namespace
// static
-void PromoResourceService::RegisterPrefs(PrefService* local_state) {
+void PromoResourceService::RegisterPrefs(PrefServiceSimple* local_state) {
// TODO(achuith): Delete this in M26. http://crbug.com/143773
// The promo service version number, and last locale.
const char kNtpPromoVersion[] = "ntp.promo_version";
@@ -74,10 +74,10 @@ void PromoResourceService::RegisterPrefs(PrefService* local_state) {
}
// static
-void PromoResourceService::RegisterUserPrefs(PrefService* prefs) {
+void PromoResourceService::RegisterUserPrefs(PrefServiceSyncable* prefs) {
prefs->RegisterStringPref(prefs::kNtpPromoResourceCacheUpdate,
"0",
- PrefService::UNSYNCABLE_PREF);
+ PrefServiceSyncable::UNSYNCABLE_PREF);
NotificationPromo::RegisterUserPrefs(prefs);
}
diff --git a/chrome/browser/web_resource/promo_resource_service.h b/chrome/browser/web_resource/promo_resource_service.h
index fa4668b..e55e59a 100644
--- a/chrome/browser/web_resource/promo_resource_service.h
+++ b/chrome/browser/web_resource/promo_resource_service.h
@@ -15,7 +15,8 @@ class DictionaryValue;
}
class NotificationPromo;
-class PrefService;
+class PrefServiceSimple;
+class PrefServiceSyncable;
class Profile;
// A PromoResourceService fetches data from a web resource server to be used to
@@ -24,9 +25,9 @@ class Profile;
// promotional messages to certain groups of Chrome users.
class PromoResourceService : public WebResourceService {
public:
- static void RegisterPrefs(PrefService* local_state);
+ static void RegisterPrefs(PrefServiceSimple* local_state);
- static void RegisterUserPrefs(PrefService* prefs);
+ static void RegisterUserPrefs(PrefServiceSyncable* prefs);
explicit PromoResourceService(Profile* profile);