Index: chrome/browser/sync/sync_prefs.h |
diff --git a/chrome/browser/sync/sync_prefs.h b/chrome/browser/sync/sync_prefs.h |
index bb67b1c3812c26210a06d427d25519a84bcbf862..a599d15689b27c6f94853e933b9bd3255156caa3 100644 |
--- a/chrome/browser/sync/sync_prefs.h |
+++ b/chrome/browser/sync/sync_prefs.h |
@@ -118,6 +118,7 @@ class SyncPrefs : public base::SupportsWeakPtr<SyncPrefs>, |
syncable::ModelTypeSet GetAcknowledgeSyncedTypesForTest() const; |
private: |
+ void RegisterPrefGroups(); |
void RegisterPreferences(); |
void RegisterDataTypePreferredPref( |
@@ -125,6 +126,12 @@ class SyncPrefs : public base::SupportsWeakPtr<SyncPrefs>, |
bool GetDataTypePreferred(syncable::ModelType type) const; |
void SetDataTypePreferred(syncable::ModelType type, bool is_preferred); |
+ // Returns a ModelTypeSet based on |types| expanded to include pref groups |
+ // (see |pref_groups_|), but as a subset of |registered_types|. |
+ syncable::ModelTypeSet ResolvePrefGroups( |
+ syncable::ModelTypeSet registered_types, |
+ syncable::ModelTypeSet types) const; |
+ |
base::NonThreadSafe non_thread_safe_; |
// May be NULL. |
@@ -136,6 +143,16 @@ class SyncPrefs : public base::SupportsWeakPtr<SyncPrefs>, |
// configuration management. |
BooleanPrefMember pref_sync_managed_; |
+ // Groups of prefs that always have the same value as a "master" pref. |
+ // For example, the APPS group has {APP_NOTIFICATIONS, APP_SETTINGS} |
+ // (as well as APPS, but that is implied), so |
+ // pref_groups_[syncable::APPS] = { syncable::APP_NOTIFICATIONS, |
+ // syncable::APP_SETTINGS } |
+ // pref_groups_[syncable::EXTENSIONS] = { syncable::EXTENSION_SETTINGS } |
+ // etc. |
+ typedef std::map<syncable::ModelType, syncable::ModelTypeSet> PrefGroupsMap; |
+ PrefGroupsMap pref_groups_; |
+ |
DISALLOW_COPY_AND_ASSIGN(SyncPrefs); |
}; |