Index: chrome/browser/prefs/pref_model_associator.cc |
diff --git a/chrome/browser/prefs/pref_model_associator.cc b/chrome/browser/prefs/pref_model_associator.cc |
index 4a3bd1f5ce5e4fec86871544ec8a67d63d901274..0c51a136d40ef6fc32273ad7204e45d475349e01 100644 |
--- a/chrome/browser/prefs/pref_model_associator.cc |
+++ b/chrome/browser/prefs/pref_model_associator.cc |
@@ -16,7 +16,8 @@ |
#include "chrome/browser/chrome_notification_types.h" |
#include "chrome/browser/prefs/pref_service_syncable.h" |
#include "chrome/common/pref_names.h" |
-#include "components/content_settings/core/browser/content_settings_pref_provider.h" |
+#include "components/content_settings/core/browser/website_settings_info.h" |
+#include "components/content_settings/core/browser/website_settings_registry.h" |
#include "sync/api/sync_change.h" |
#include "sync/api/sync_error_factory.h" |
#include "sync/protocol/preference_specifics.pb.h" |
@@ -320,17 +321,19 @@ scoped_ptr<base::Value> PrefModelAssociator::MergePreference( |
// to merge for all migrated values. |
if (name == prefs::kURLsToRestoreOnStartup || |
name == prefs::kURLsToRestoreOnStartupOld) { |
- return scoped_ptr<base::Value>( |
- MergeListValues(local_value, server_value)).Pass(); |
+ return make_scoped_ptr(MergeListValues(local_value, server_value)); |
} |
- if (content_settings::PrefProvider::IsContentSettingsExceptionsPref(name)) { |
- return scoped_ptr<base::Value>( |
- MergeDictionaryValues(local_value, server_value)).Pass(); |
+ content_settings::WebsiteSettingsRegistry* registry = |
+ content_settings::WebsiteSettingsRegistry::GetInstance(); |
+ for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i) { |
+ ContentSettingsType type = static_cast<ContentSettingsType>(i); |
+ if (registry->Get(type)->pref_name() == name) |
+ return make_scoped_ptr(MergeDictionaryValues(local_value, server_value)); |
} |
// If this is not a specially handled preference, server wins. |
- return scoped_ptr<base::Value>(server_value.DeepCopy()).Pass(); |
+ return make_scoped_ptr(server_value.DeepCopy()); |
} |
bool PrefModelAssociator::CreatePrefSyncData( |