Index: components/search_engines/template_url_prepopulate_data.cc |
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc |
index 229bf87e06378887012efc9b7fd0f257d2f749a2..2f2e494022c894407330d4b601160323cf1fc828 100644 |
--- a/components/search_engines/template_url_prepopulate_data.cc |
+++ b/components/search_engines/template_url_prepopulate_data.cc |
@@ -1016,9 +1016,9 @@ std::unique_ptr<TemplateURLData> MakePrepopulatedTemplateURLData( |
return data; |
} |
-ScopedVector<TemplateURLData> GetPrepopulatedTemplateURLData( |
+std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedTemplateURLData( |
PrefService* prefs) { |
- ScopedVector<TemplateURLData> t_urls; |
+ std::vector<std::unique_ptr<TemplateURLData>> t_urls; |
if (!prefs) |
return t_urls; |
@@ -1069,12 +1069,12 @@ ScopedVector<TemplateURLData> GetPrepopulatedTemplateURLData( |
engine->GetList("alternate_urls", &alternate_urls); |
engine->GetString("search_terms_replacement_key", |
&search_terms_replacement_key); |
- t_urls.push_back(MakePrepopulatedTemplateURLData(name, keyword, |
- search_url, suggest_url, instant_url, image_url, new_tab_url, |
- contextual_search_url, search_url_post_params, |
+ t_urls.push_back(MakePrepopulatedTemplateURLData( |
+ name, keyword, search_url, suggest_url, instant_url, image_url, |
+ new_tab_url, contextual_search_url, search_url_post_params, |
suggest_url_post_params, instant_url_post_params, |
image_url_post_params, favicon_url, encoding, *alternate_urls, |
- search_terms_replacement_key, id).release()); |
+ search_terms_replacement_key, id)); |
} |
} |
return t_urls; |
@@ -1104,13 +1104,14 @@ int GetDataVersion(PrefService* prefs) { |
kCurrentDataVersion; |
} |
-ScopedVector<TemplateURLData> GetPrepopulatedEngines( |
+std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEngines( |
PrefService* prefs, |
size_t* default_search_provider_index) { |
// If there is a set of search engines in the preferences file, it overrides |
// the built-in set. |
*default_search_provider_index = 0; |
- ScopedVector<TemplateURLData> t_urls = GetPrepopulatedTemplateURLData(prefs); |
+ std::vector<std::unique_ptr<TemplateURLData>> t_urls = |
+ GetPrepopulatedTemplateURLData(prefs); |
if (!t_urls.empty()) |
return t_urls; |
@@ -1118,8 +1119,7 @@ ScopedVector<TemplateURLData> GetPrepopulatedEngines( |
size_t num_engines; |
GetPrepopulationSetFromCountryID(prefs, &engines, &num_engines); |
for (size_t i = 0; i != num_engines; ++i) { |
- t_urls.push_back( |
- MakeTemplateURLDataFromPrepopulatedEngine(*engines[i]).release()); |
+ t_urls.push_back(MakeTemplateURLDataFromPrepopulatedEngine(*engines[i])); |
} |
return t_urls; |
} |
@@ -1157,17 +1157,15 @@ void ClearPrepopulatedEnginesInPrefs(PrefService* prefs) { |
std::unique_ptr<TemplateURLData> GetPrepopulatedDefaultSearch( |
PrefService* prefs) { |
- std::unique_ptr<TemplateURLData> default_search_provider; |
size_t default_search_index; |
// This could be more efficient. We are loading all the URLs to only keep |
// the first one. |
- ScopedVector<TemplateURLData> loaded_urls = |
+ std::vector<std::unique_ptr<TemplateURLData>> loaded_urls = |
GetPrepopulatedEngines(prefs, &default_search_index); |
- if (default_search_index < loaded_urls.size()) { |
- default_search_provider.reset(loaded_urls[default_search_index]); |
- loaded_urls.weak_erase(loaded_urls.begin() + default_search_index); |
- } |
- return default_search_provider; |
+ |
+ return (default_search_index < loaded_urls.size()) |
+ ? std::move(loaded_urls[default_search_index]) |
+ : nullptr; |
} |
SearchEngineType GetEngineType(const GURL& url) { |