summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-24 20:03:46 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-24 20:03:46 +0000
commit0cd63f8199489357bb02fffc4c4ae712ea03e781 (patch)
tree2dee03002a32cca1a7e84df97598a381b2573bab /chrome
parentf93cff892333858bffeed41077a82210c262b0e4 (diff)
downloadchromium_src-0cd63f8199489357bb02fffc4c4ae712ea03e781.zip
chromium_src-0cd63f8199489357bb02fffc4c4ae712ea03e781.tar.gz
chromium_src-0cd63f8199489357bb02fffc4c4ae712ea03e781.tar.bz2
Fixed bug where the "Keep everything synced" preference wasn't being honored.
BUG=55026 TEST=Manual Review URL: http://codereview.chromium.org/3433017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60511 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/sync/profile_sync_service.cc22
1 files changed, 13 insertions, 9 deletions
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc
index 825f5d1..e35a5e4 100644
--- a/chrome/browser/sync/profile_sync_service.cc
+++ b/chrome/browser/sync/profile_sync_service.cc
@@ -777,15 +777,19 @@ void ProfileSyncService::GetPreferredDataTypes(
// the preference can't be read.
syncable::ModelTypeSet registered_types;
GetRegisteredDataTypes(&registered_types);
- for (int i = 0; i < syncable::MODEL_TYPE_COUNT; ++i) {
- syncable::ModelType model_type = syncable::ModelTypeFromInt(i);
- if (!registered_types.count(model_type))
- continue;
- const char* pref_name = GetPrefNameForDataType(model_type);
- if (!pref_name)
- continue;
- if (profile_->GetPrefs()->GetBoolean(pref_name))
- preferred_types->insert(model_type);
+ if (profile_->GetPrefs()->GetBoolean(prefs::kKeepEverythingSynced)) {
+ *preferred_types = registered_types;
+ } else {
+ for (int i = 0; i < syncable::MODEL_TYPE_COUNT; ++i) {
+ syncable::ModelType model_type = syncable::ModelTypeFromInt(i);
+ if (!registered_types.count(model_type))
+ continue;
+ const char* pref_name = GetPrefNameForDataType(model_type);
+ if (!pref_name)
+ continue;
+ if (profile_->GetPrefs()->GetBoolean(pref_name))
+ preferred_types->insert(model_type);
+ }
}
}