Index: chrome/browser/search_engines/default_search_manager.cc |
diff --git a/chrome/browser/search_engines/default_search_manager.cc b/chrome/browser/search_engines/default_search_manager.cc |
index 3f6bacdb1dc0b4bb3e2bf01e660759172c583c15..905f1f5a54ba1a7e887689d284eab29b5742e04e 100644 |
--- a/chrome/browser/search_engines/default_search_manager.cc |
+++ b/chrome/browser/search_engines/default_search_manager.cc |
@@ -10,6 +10,7 @@ |
#include "base/compiler_specific.h" |
#include "base/i18n/case_conversion.h" |
#include "base/prefs/pref_service.h" |
+#include "base/prefs/pref_value_map.h" |
#include "base/stl_util.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_split.h" |
@@ -67,6 +68,7 @@ const char DefaultSearchManager::kAlternateURLs[] = "alternate_urls"; |
const char DefaultSearchManager::kSearchTermsReplacementKey[] = |
"search_terms_replacement_key"; |
const char DefaultSearchManager::kCreatedByPolicy[] = "created_by_policy"; |
+const char DefaultSearchManager::kDisabledByPolicy[] = "disabled_by_policy"; |
DefaultSearchManager::DefaultSearchManager(PrefService* pref_service) |
: pref_service_(pref_service) { |
@@ -84,6 +86,12 @@ void DefaultSearchManager::RegisterProfilePrefs( |
user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
} |
+// static |
+void DefaultSearchManager::AddPrefValueToMap(PrefValueMap* pref_value_map, |
+ base::DictionaryValue* value) { |
+ pref_value_map->SetValue(kDefaultSearchProviderData, value); |
+} |
+ |
bool DefaultSearchManager::GetDefaultSearchEngine(TemplateURLData* data) { |
const base::DictionaryValue* url_dict = |
pref_service_->GetDictionary(kDefaultSearchProviderData); |
@@ -138,7 +146,7 @@ bool DefaultSearchManager::GetDefaultSearchEngine(TemplateURLData* data) { |
url_dict->GetInteger(kUsageCount, &data->usage_count); |
- const base::ListValue* alternate_urls = new base::ListValue; |
+ const base::ListValue* alternate_urls; |
url_dict->GetList(kAlternateURLs, &alternate_urls); |
data->alternate_urls.clear(); |
for (base::ListValue::const_iterator it = alternate_urls->begin(); |
@@ -148,7 +156,7 @@ bool DefaultSearchManager::GetDefaultSearchEngine(TemplateURLData* data) { |
data->alternate_urls.push_back(alternate_url); |
} |
- const base::ListValue* encodings = new base::ListValue; |
+ const base::ListValue* encodings; |
url_dict->GetList(kInputEncodings, &encodings); |
data->input_encodings.clear(); |
for (base::ListValue::const_iterator it = encodings->begin(); |
@@ -187,7 +195,7 @@ void DefaultSearchManager::SetUserSelectedDefaultSearchEngine( |
url_dict.SetString(kSearchURLPostParams, data.search_url_post_params); |
url_dict.SetString(kSuggestionsURLPostParams, |
- data.suggestions_url_post_params); |
+ data.suggestions_url_post_params); |
url_dict.SetString(kInstantURLPostParams, data.instant_url_post_params); |
url_dict.SetString(kImageURLPostParams, data.image_url_post_params); |
@@ -197,24 +205,24 @@ void DefaultSearchManager::SetUserSelectedDefaultSearchEngine( |
url_dict.SetDouble(kLastModified, data.last_modified.ToInternalValue()); |
url_dict.SetInteger(kUsageCount, data.usage_count); |
- base::ListValue* alternate_urls = new base::ListValue; |
+ scoped_ptr<base::ListValue> alternate_urls(new base::ListValue); |
for (std::vector<std::string>::const_iterator it = |
data.alternate_urls.begin(); |
it != data.alternate_urls.end(); ++it) { |
alternate_urls->AppendString(*it); |
} |
- url_dict.Set(kAlternateURLs, alternate_urls); |
+ url_dict.Set(kAlternateURLs, alternate_urls.release()); |
- base::ListValue* encodings = new base::ListValue; |
+ scoped_ptr<base::ListValue> encodings(new base::ListValue); |
for (std::vector<std::string>::const_iterator it = |
data.input_encodings.begin(); |
it != data.input_encodings.end(); ++it) { |
encodings->AppendString(*it); |
} |
- url_dict.Set(kInputEncodings, encodings); |
+ url_dict.Set(kInputEncodings, encodings.release()); |
url_dict.SetString(kSearchTermsReplacementKey, |
- data.search_terms_replacement_key); |
+ data.search_terms_replacement_key); |
url_dict.SetBoolean(kCreatedByPolicy, data.created_by_policy); |