Index: chrome/browser/prefs/pref_service_syncable.h |
diff --git a/chrome/browser/prefs/pref_service_syncable.h b/chrome/browser/prefs/pref_service_syncable.h |
index 3df6a0a83cb221bef644be38d83e1ad74288330c..2515be90bd9840c5e4ecfc953471e98a58a3a91e 100644 |
--- a/chrome/browser/prefs/pref_service_syncable.h |
+++ b/chrome/browser/prefs/pref_service_syncable.h |
@@ -8,7 +8,9 @@ |
#include "chrome/browser/prefs/pref_model_associator.h" |
#include "chrome/browser/prefs/pref_service.h" |
+class PrefRegistrySyncable; |
class PrefServiceSyncableObserver; |
+class Profile; |
namespace syncer { |
class SyncableService; |
@@ -19,13 +21,17 @@ class SyncableService; |
// this PrefService. |
class PrefServiceSyncable : public PrefService { |
public: |
- // Enum used when registering preferences to determine if it should be synced |
- // or not. This is only used for profile prefs, not local state prefs. |
- // See the Register*Pref methods for profile prefs below. |
- enum PrefSyncStatus { |
- UNSYNCABLE_PREF, |
- SYNCABLE_PREF |
- }; |
+ // PrefServiceSyncable is a PrefService with added integration for |
+ // sync, and knowledge of how to create an incognito |
+ // PrefService. For code that does not need to know about the sync |
+ // integration, you should use only the plain PrefService type. |
+ // |
+ // For this reason, Profile does not expose an accessor for the |
+ // PrefServiceSyncable type. Instead, you can use the utilities |
+ // below to retrieve the PrefServiceSyncable (or its incognito |
+ // version) from a Profile. |
+ static PrefServiceSyncable* FromProfile(Profile* profile); |
+ static PrefServiceSyncable* IncognitoFromProfile(Profile* profile); |
// You may wish to use PrefServiceBuilder or one of its subclasses |
// for simplified construction. |
@@ -33,7 +39,7 @@ class PrefServiceSyncable : public PrefService { |
PrefNotifierImpl* pref_notifier, |
PrefValueStore* pref_value_store, |
PersistentPrefStore* user_prefs, |
- PrefRegistry* pref_registry, |
+ PrefRegistrySyncable* pref_registry, |
base::Callback<void(PersistentPrefStore::PrefReadError)> |
read_error_callback, |
bool async); |
@@ -55,52 +61,6 @@ class PrefServiceSyncable : public PrefService { |
void AddObserver(PrefServiceSyncableObserver* observer); |
void RemoveObserver(PrefServiceSyncableObserver* observer); |
- void RegisterBooleanPref(const char* path, |
- bool default_value, |
- PrefSyncStatus sync_status); |
- void RegisterIntegerPref(const char* path, |
- int default_value, |
- PrefSyncStatus sync_status); |
- void RegisterDoublePref(const char* path, |
- double default_value, |
- PrefSyncStatus sync_status); |
- void RegisterStringPref(const char* path, |
- const std::string& default_value, |
- PrefSyncStatus sync_status); |
- void RegisterFilePathPref(const char* path, |
- const base::FilePath& default_value, |
- PrefSyncStatus sync_status); |
- void RegisterListPref(const char* path, |
- PrefSyncStatus sync_status); |
- void RegisterDictionaryPref(const char* path, |
- PrefSyncStatus sync_status); |
- void RegisterListPref(const char* path, |
- base::ListValue* default_value, |
- PrefSyncStatus sync_status); |
- void RegisterDictionaryPref(const char* path, |
- base::DictionaryValue* default_value, |
- PrefSyncStatus sync_status); |
- void RegisterLocalizedBooleanPref(const char* path, |
- int locale_default_message_id, |
- PrefSyncStatus sync_status); |
- void RegisterLocalizedIntegerPref(const char* path, |
- int locale_default_message_id, |
- PrefSyncStatus sync_status); |
- void RegisterLocalizedDoublePref(const char* path, |
- int locale_default_message_id, |
- PrefSyncStatus sync_status); |
- void RegisterLocalizedStringPref(const char* path, |
- int locale_default_message_id, |
- PrefSyncStatus sync_status); |
- void RegisterInt64Pref(const char* path, |
- int64 default_value, |
- PrefSyncStatus sync_status); |
- void RegisterUint64Pref(const char* path, |
- uint64 default_value, |
- PrefSyncStatus sync_status); |
- |
- void UnregisterPreference(const char* path); |
- |
// TODO(zea): Have PrefServiceSyncable implement |
// syncer::SyncableService directly. |
syncer::SyncableService* GetSyncableService(); |
@@ -111,16 +71,12 @@ class PrefServiceSyncable : public PrefService { |
private: |
friend class PrefModelAssociator; |
+ void AddRegisteredSyncablePreference(const char* path); |
+ virtual void RemoveRegisteredPreference(const char* path) OVERRIDE; |
+ |
// Invoked internally when the IsSyncing() state changes. |
void OnIsSyncingChanged(); |
- // Registers a preference at |path| with |default_value|. If the |
- // preference is syncable per |sync_status|, also registers it with |
- // PrefModelAssociator. |
- void RegisterSyncablePreference(const char* path, |
- Value* default_value, |
- PrefSyncStatus sync_status); |
- |
// Whether CreateIncognitoPrefService() has been called to create a |
// "forked" PrefService. |
bool pref_service_forked_; |