summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/glue/preference_change_processor.cc
diff options
context:
space:
mode:
authorskrul@chromium.org <skrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-22 22:37:33 +0000
committerskrul@chromium.org <skrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-22 22:37:33 +0000
commit6d66bc2f295c5de6f6d28c1dd7e8d827459db1f4 (patch)
tree350d8679f50447b5fd53153b9a035bb5099a13b0 /chrome/browser/sync/glue/preference_change_processor.cc
parent021ac312da721b9c8814f504da55d786c83701c5 (diff)
downloadchromium_src-6d66bc2f295c5de6f6d28c1dd7e8d827459db1f4.zip
chromium_src-6d66bc2f295c5de6f6d28c1dd7e8d827459db1f4.tar.gz
chromium_src-6d66bc2f295c5de6f6d28c1dd7e8d827459db1f4.tar.bz2
Refactor MergePreferences to handle null values properly.
This change allows MergePreference to handle Value::TYPE_NULL values for either the local preference or the sever value. The old way of merging into the server parameter could no longer work since if the server value was null, the return would still need to be a list or dict. So the new API is to return the merged value and now all parameters are const. BUG=46719 TEST=unit Review URL: http://codereview.chromium.org/2821015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50539 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/glue/preference_change_processor.cc')
-rw-r--r--chrome/browser/sync/glue/preference_change_processor.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/chrome/browser/sync/glue/preference_change_processor.cc b/chrome/browser/sync/glue/preference_change_processor.cc
index a379052..375d76e 100644
--- a/chrome/browser/sync/glue/preference_change_processor.cc
+++ b/chrome/browser/sync/glue/preference_change_processor.cc
@@ -87,7 +87,10 @@ void PreferenceChangeProcessor::Observe(NotificationType type,
}
}
- if (!PreferenceModelAssociator::WritePreferenceToNode(*preference, &node)) {
+ if (!PreferenceModelAssociator::WritePreferenceToNode(
+ preference->name(),
+ *preference->GetValue(),
+ &node)) {
error_handler()->OnUnrecoverableError(FROM_HERE,
"Failed to update preference node.");
return;