diff options
author | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-22 17:24:44 +0000 |
---|---|---|
committer | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-22 17:24:44 +0000 |
commit | 5b19952e27008d9cca170c1a517987795d145928 (patch) | |
tree | 34fea6a6f74a0388c68c4ba8cd8846f3ac879027 /chrome/browser/web_resource | |
parent | 96828ec57f67f91b3b1b2269963680501a6de4b9 (diff) | |
download | chromium_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')
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); |