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

Unified Diff: components/search_engines/template_url_prepopulate_data.cc

Issue 2497853002: Create TemplateUrlData to base::Dictionary utility functions (Closed)
Patch Set: Fixed android compilation Created 4 years, 1 month 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 0eaa075f75ab7620fdd54c9e401934354058dcb9..a8e7fe51514b28e13d90ff06f0b93ed32311ccdc 100644
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -21,6 +21,7 @@
#include "components/search_engines/prepopulated_engines.h"
#include "components/search_engines/search_engines_pref_names.h"
#include "components/search_engines/template_url_data.h"
+#include "components/search_engines/template_url_data_util.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "url/gurl.h"
@@ -972,58 +973,10 @@ std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulationSetFromCountryID(
std::vector<std::unique_ptr<TemplateURLData>> t_urls;
for (size_t i = 0; i < num_engines; ++i)
- t_urls.push_back(MakeTemplateURLDataFromPrepopulatedEngine(*engines[i]));
+ t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(*engines[i]));
return t_urls;
}
-std::unique_ptr<TemplateURLData> MakePrepopulatedTemplateURLData(
- const base::string16& name,
- const base::string16& keyword,
- const base::StringPiece& search_url,
- const base::StringPiece& suggest_url,
- const base::StringPiece& instant_url,
- const base::StringPiece& image_url,
- const base::StringPiece& new_tab_url,
- const base::StringPiece& contextual_search_url,
- const base::StringPiece& search_url_post_params,
- const base::StringPiece& suggest_url_post_params,
- const base::StringPiece& instant_url_post_params,
- const base::StringPiece& image_url_post_params,
- const base::StringPiece& favicon_url,
- const base::StringPiece& encoding,
- const base::ListValue& alternate_urls,
- const base::StringPiece& search_terms_replacement_key,
- int id) {
- std::unique_ptr<TemplateURLData> data(new TemplateURLData);
-
- data->SetShortName(name);
- data->SetKeyword(keyword);
- data->SetURL(search_url.as_string());
- data->suggestions_url = suggest_url.as_string();
- data->instant_url = instant_url.as_string();
- data->image_url = image_url.as_string();
- data->new_tab_url = new_tab_url.as_string();
- data->contextual_search_url = contextual_search_url.as_string();
- data->search_url_post_params = search_url_post_params.as_string();
- data->suggestions_url_post_params = suggest_url_post_params.as_string();
- data->instant_url_post_params = instant_url_post_params.as_string();
- data->image_url_post_params = image_url_post_params.as_string();
- data->favicon_url = GURL(favicon_url);
- data->safe_for_autoreplace = true;
- data->input_encodings.push_back(encoding.as_string());
- data->date_created = base::Time();
- data->last_modified = base::Time();
- data->prepopulate_id = id;
- for (size_t i = 0; i < alternate_urls.GetSize(); ++i) {
- std::string alternate_url;
- alternate_urls.GetString(i, &alternate_url);
- DCHECK(!alternate_url.empty());
- data->alternate_urls.push_back(alternate_url);
- }
- data->search_terms_replacement_key = search_terms_replacement_key.as_string();
- return data;
-}
-
std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedTemplateURLData(
PrefService* prefs) {
std::vector<std::unique_ptr<TemplateURLData>> t_urls;
@@ -1037,52 +990,10 @@ std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedTemplateURLData(
size_t num_engines = list->GetSize();
for (size_t i = 0; i != num_engines; ++i) {
const base::DictionaryValue* engine;
- base::string16 name;
- base::string16 keyword;
- std::string search_url;
- std::string favicon_url;
- std::string encoding;
- int id = -1;
- // The following fields are required for each search engine configuration.
- if (list->GetDictionary(i, &engine) &&
- engine->GetString("name", &name) && !name.empty() &&
- engine->GetString("keyword", &keyword) && !keyword.empty() &&
- engine->GetString("search_url", &search_url) && !search_url.empty() &&
- engine->GetString("favicon_url", &favicon_url) &&
- !favicon_url.empty() &&
- engine->GetString("encoding", &encoding) && !encoding.empty() &&
- engine->GetInteger("id", &id)) {
- // These fields are optional.
- std::string suggest_url;
- std::string instant_url;
- std::string image_url;
- std::string new_tab_url;
- std::string contextual_search_url;
- std::string search_url_post_params;
- std::string suggest_url_post_params;
- std::string instant_url_post_params;
- std::string image_url_post_params;
- base::ListValue empty_list;
- const base::ListValue* alternate_urls = &empty_list;
- std::string search_terms_replacement_key;
- engine->GetString("suggest_url", &suggest_url);
- engine->GetString("instant_url", &instant_url);
- engine->GetString("image_url", &image_url);
- engine->GetString("new_tab_url", &new_tab_url);
- engine->GetString("contextual_search_url", &contextual_search_url);
- engine->GetString("search_url_post_params", &search_url_post_params);
- engine->GetString("suggest_url_post_params", &suggest_url_post_params);
- engine->GetString("instant_url_post_params", &instant_url_post_params);
- engine->GetString("image_url_post_params", &image_url_post_params);
- 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,
- suggest_url_post_params, instant_url_post_params,
- image_url_post_params, favicon_url, encoding, *alternate_urls,
- search_terms_replacement_key, id));
+ if (list->GetDictionary(i, &engine)) {
+ auto t_url = TemplateURLDataFromOverrideDictionary(*engine);
+ if (t_url)
+ t_urls.push_back(std::move(t_url));
}
}
return t_urls;
@@ -1145,24 +1056,6 @@ std::vector<const PrepopulatedEngine*> GetAllPrepopulatedEngines() {
std::end(kAllEngines));
}
-std::unique_ptr<TemplateURLData> MakeTemplateURLDataFromPrepopulatedEngine(
- const PrepopulatedEngine& engine) {
- base::ListValue alternate_urls;
- if (engine.alternate_urls) {
- for (size_t i = 0; i < engine.alternate_urls_size; ++i)
- alternate_urls.AppendString(std::string(engine.alternate_urls[i]));
- }
-
- return MakePrepopulatedTemplateURLData(
- base::WideToUTF16(engine.name), base::WideToUTF16(engine.keyword),
- engine.search_url, engine.suggest_url, engine.instant_url,
- engine.image_url, engine.new_tab_url, engine.contextual_search_url,
- engine.search_url_post_params, engine.suggest_url_post_params,
- engine.instant_url_post_params, engine.image_url_post_params,
- engine.favicon_url, engine.encoding, alternate_urls,
- engine.search_terms_replacement_key, engine.id);
-}
-
void ClearPrepopulatedEnginesInPrefs(PrefService* prefs) {
if (!prefs)
return;

Powered by Google App Engine
This is Rietveld 408576698