| 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);
|
| };
|
|
|
|
|