diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-24 20:03:46 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-24 20:03:46 +0000 |
commit | 0cd63f8199489357bb02fffc4c4ae712ea03e781 (patch) | |
tree | 2dee03002a32cca1a7e84df97598a381b2573bab /chrome | |
parent | f93cff892333858bffeed41077a82210c262b0e4 (diff) | |
download | chromium_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.cc | 22 |
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(®istered_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); + } } } |