Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(756)

Unified Diff: components/search_engines/template_url_prepopulate_data.cc

Issue 2307663002: Remove ScopedVector from search_engines. (Closed)
Patch Set: ios fix Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..0b2121d05ae29a5d7f3440eb96c5b11958a0b912 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,16 @@ 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;
+
+ if (default_search_index < loaded_urls.size())
+ return std::move(loaded_urls[default_search_index]);
Peter Kasting 2016/09/01 23:17:32 Nit: Maybe return (default_search_index < loade
Avi (use Gerrit) 2016/09/01 23:26:43 Done.
+
+ return std::unique_ptr<TemplateURLData>();
Peter Kasting 2016/09/01 23:17:32 Nit: return nullptr?
Avi (use Gerrit) 2016/09/01 23:26:43 Acknowledged.
}
SearchEngineType GetEngineType(const GURL& url) {

Powered by Google App Engine
This is Rietveld 408576698