OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" | 5 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" |
6 | 6 |
7 #if defined(OS_POSIX) && !defined(OS_MACOSX) | 7 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
8 #include <locale.h> | 8 #include <locale.h> |
9 #endif | 9 #endif |
10 | 10 |
(...skipping 1059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1070 } | 1070 } |
1071 | 1071 |
1072 TemplateURL* MakePrepopulatedTemplateURL( | 1072 TemplateURL* MakePrepopulatedTemplateURL( |
1073 Profile* profile, | 1073 Profile* profile, |
1074 const string16& name, | 1074 const string16& name, |
1075 const string16& keyword, | 1075 const string16& keyword, |
1076 const base::StringPiece& search_url, | 1076 const base::StringPiece& search_url, |
1077 const base::StringPiece& suggest_url, | 1077 const base::StringPiece& suggest_url, |
1078 const base::StringPiece& instant_url, | 1078 const base::StringPiece& instant_url, |
1079 const base::StringPiece& image_url, | 1079 const base::StringPiece& image_url, |
| 1080 const base::StringPiece& new_tab_url, |
1080 const base::StringPiece& search_url_post_params, | 1081 const base::StringPiece& search_url_post_params, |
1081 const base::StringPiece& suggest_url_post_params, | 1082 const base::StringPiece& suggest_url_post_params, |
1082 const base::StringPiece& instant_url_post_params, | 1083 const base::StringPiece& instant_url_post_params, |
1083 const base::StringPiece& image_url_post_params, | 1084 const base::StringPiece& image_url_post_params, |
1084 const base::StringPiece& favicon_url, | 1085 const base::StringPiece& favicon_url, |
1085 const base::StringPiece& encoding, | 1086 const base::StringPiece& encoding, |
1086 const ListValue& alternate_urls, | 1087 const ListValue& alternate_urls, |
1087 const base::StringPiece& search_terms_replacement_key, | 1088 const base::StringPiece& search_terms_replacement_key, |
1088 int id) { | 1089 int id) { |
1089 | 1090 |
1090 TemplateURLData data; | 1091 TemplateURLData data; |
1091 | 1092 |
1092 data.short_name = name; | 1093 data.short_name = name; |
1093 data.SetKeyword(keyword); | 1094 data.SetKeyword(keyword); |
1094 data.SetURL(search_url.as_string()); | 1095 data.SetURL(search_url.as_string()); |
1095 data.suggestions_url = suggest_url.as_string(); | 1096 data.suggestions_url = suggest_url.as_string(); |
1096 data.instant_url = instant_url.as_string(); | 1097 data.instant_url = instant_url.as_string(); |
1097 data.image_url = image_url.as_string(); | 1098 data.image_url = image_url.as_string(); |
| 1099 data.new_tab_url = new_tab_url.as_string(); |
1098 data.search_url_post_params = search_url_post_params.as_string(); | 1100 data.search_url_post_params = search_url_post_params.as_string(); |
1099 data.suggestions_url_post_params = suggest_url_post_params.as_string(); | 1101 data.suggestions_url_post_params = suggest_url_post_params.as_string(); |
1100 data.instant_url_post_params = instant_url_post_params.as_string(); | 1102 data.instant_url_post_params = instant_url_post_params.as_string(); |
1101 data.image_url_post_params = image_url_post_params.as_string(); | 1103 data.image_url_post_params = image_url_post_params.as_string(); |
1102 data.favicon_url = GURL(favicon_url.as_string()); | 1104 data.favicon_url = GURL(favicon_url.as_string()); |
1103 data.show_in_default_list = true; | 1105 data.show_in_default_list = true; |
1104 data.safe_for_autoreplace = true; | 1106 data.safe_for_autoreplace = true; |
1105 data.input_encodings.push_back(encoding.as_string()); | 1107 data.input_encodings.push_back(encoding.as_string()); |
1106 data.date_created = base::Time(); | 1108 data.date_created = base::Time(); |
1107 data.last_modified = base::Time(); | 1109 data.last_modified = base::Time(); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1141 engine->GetString("keyword", &keyword) && !keyword.empty() && | 1143 engine->GetString("keyword", &keyword) && !keyword.empty() && |
1142 engine->GetString("search_url", &search_url) && !search_url.empty() && | 1144 engine->GetString("search_url", &search_url) && !search_url.empty() && |
1143 engine->GetString("favicon_url", &favicon_url) && | 1145 engine->GetString("favicon_url", &favicon_url) && |
1144 !favicon_url.empty() && | 1146 !favicon_url.empty() && |
1145 engine->GetString("encoding", &encoding) && !encoding.empty() && | 1147 engine->GetString("encoding", &encoding) && !encoding.empty() && |
1146 engine->GetInteger("id", &id)) { | 1148 engine->GetInteger("id", &id)) { |
1147 // These fields are optional. | 1149 // These fields are optional. |
1148 std::string suggest_url; | 1150 std::string suggest_url; |
1149 std::string instant_url; | 1151 std::string instant_url; |
1150 std::string image_url; | 1152 std::string image_url; |
| 1153 std::string new_tab_url; |
1151 std::string search_url_post_params; | 1154 std::string search_url_post_params; |
1152 std::string suggest_url_post_params; | 1155 std::string suggest_url_post_params; |
1153 std::string instant_url_post_params; | 1156 std::string instant_url_post_params; |
1154 std::string image_url_post_params; | 1157 std::string image_url_post_params; |
1155 ListValue empty_list; | 1158 ListValue empty_list; |
1156 const ListValue* alternate_urls = &empty_list; | 1159 const ListValue* alternate_urls = &empty_list; |
1157 std::string search_terms_replacement_key; | 1160 std::string search_terms_replacement_key; |
1158 engine->GetString("suggest_url", &suggest_url); | 1161 engine->GetString("suggest_url", &suggest_url); |
1159 engine->GetString("instant_url", &instant_url); | 1162 engine->GetString("instant_url", &instant_url); |
1160 engine->GetString("image_url", &image_url); | 1163 engine->GetString("image_url", &image_url); |
| 1164 engine->GetString("new_tab_url", &new_tab_url); |
1161 engine->GetString("search_url_post_params", &search_url_post_params); | 1165 engine->GetString("search_url_post_params", &search_url_post_params); |
1162 engine->GetString("suggest_url_post_params", &suggest_url_post_params); | 1166 engine->GetString("suggest_url_post_params", &suggest_url_post_params); |
1163 engine->GetString("instant_url_post_params", &instant_url_post_params); | 1167 engine->GetString("instant_url_post_params", &instant_url_post_params); |
1164 engine->GetString("image_url_post_params", &image_url_post_params); | 1168 engine->GetString("image_url_post_params", &image_url_post_params); |
1165 engine->GetList("alternate_urls", &alternate_urls); | 1169 engine->GetList("alternate_urls", &alternate_urls); |
1166 engine->GetString("search_terms_replacement_key", | 1170 engine->GetString("search_terms_replacement_key", |
1167 &search_terms_replacement_key); | 1171 &search_terms_replacement_key); |
1168 t_urls->push_back(MakePrepopulatedTemplateURL(profile, name, keyword, | 1172 t_urls->push_back(MakePrepopulatedTemplateURL(profile, name, keyword, |
1169 search_url, suggest_url, instant_url, image_url, | 1173 search_url, suggest_url, instant_url, image_url, new_tab_url, |
1170 search_url_post_params, suggest_url_post_params, | 1174 search_url_post_params, suggest_url_post_params, |
1171 instant_url_post_params, image_url_post_params, | 1175 instant_url_post_params, image_url_post_params, |
1172 favicon_url, encoding, *alternate_urls, search_terms_replacement_key, | 1176 favicon_url, encoding, *alternate_urls, search_terms_replacement_key, |
1173 id)); | 1177 id)); |
1174 } | 1178 } |
1175 } | 1179 } |
1176 } | 1180 } |
1177 | 1181 |
1178 // The caller owns the returned TemplateURL. | 1182 // The caller owns the returned TemplateURL. |
1179 TemplateURL* MakePrepopulatedTemplateURLFromPrepopulateEngine( | 1183 TemplateURL* MakePrepopulatedTemplateURLFromPrepopulateEngine( |
1180 Profile* profile, | 1184 Profile* profile, |
1181 const PrepopulatedEngine& engine) { | 1185 const PrepopulatedEngine& engine) { |
1182 | 1186 |
1183 ListValue alternate_urls; | 1187 ListValue alternate_urls; |
1184 if (engine.alternate_urls) { | 1188 if (engine.alternate_urls) { |
1185 for (size_t i = 0; i < engine.alternate_urls_size; ++i) | 1189 for (size_t i = 0; i < engine.alternate_urls_size; ++i) |
1186 alternate_urls.AppendString(std::string(engine.alternate_urls[i])); | 1190 alternate_urls.AppendString(std::string(engine.alternate_urls[i])); |
1187 } | 1191 } |
1188 | 1192 |
1189 return MakePrepopulatedTemplateURL(profile, WideToUTF16(engine.name), | 1193 return MakePrepopulatedTemplateURL(profile, WideToUTF16(engine.name), |
1190 WideToUTF16(engine.keyword), engine.search_url, engine.suggest_url, | 1194 WideToUTF16(engine.keyword), engine.search_url, engine.suggest_url, |
1191 engine.instant_url, engine.image_url, engine.search_url_post_params, | 1195 engine.instant_url, engine.image_url, engine.new_tab_url, |
1192 engine.suggest_url_post_params, engine.instant_url_post_params, | 1196 engine.search_url_post_params, engine.suggest_url_post_params, |
1193 engine.image_url_post_params, engine.favicon_url, engine.encoding, | 1197 engine.instant_url_post_params, engine.image_url_post_params, |
1194 alternate_urls, engine.search_terms_replacement_key, engine.id); | 1198 engine.favicon_url, engine.encoding, alternate_urls, |
| 1199 engine.search_terms_replacement_key, engine.id); |
1195 } | 1200 } |
1196 | 1201 |
1197 bool SameDomain(const GURL& given_url, const GURL& prepopulated_url) { | 1202 bool SameDomain(const GURL& given_url, const GURL& prepopulated_url) { |
1198 return prepopulated_url.is_valid() && | 1203 return prepopulated_url.is_valid() && |
1199 net::registry_controlled_domains::SameDomainOrHost( | 1204 net::registry_controlled_domains::SameDomainOrHost( |
1200 given_url, prepopulated_url, | 1205 given_url, prepopulated_url, |
1201 net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES); | 1206 net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES); |
1202 } | 1207 } |
1203 | 1208 |
1204 } // namespace | 1209 } // namespace |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1328 } | 1333 } |
1329 | 1334 |
1330 GURL GetLogoURL(const TemplateURL& template_url, LogoSize size) { | 1335 GURL GetLogoURL(const TemplateURL& template_url, LogoSize size) { |
1331 if (GetEngineType(template_url) != SEARCH_ENGINE_GOOGLE) | 1336 if (GetEngineType(template_url) != SEARCH_ENGINE_GOOGLE) |
1332 return GURL(); | 1337 return GURL(); |
1333 return GURL((size == LOGO_200_PERCENT) ? | 1338 return GURL((size == LOGO_200_PERCENT) ? |
1334 google_logos.logo_200_percent_url : google_logos.logo_100_percent_url); | 1339 google_logos.logo_200_percent_url : google_logos.logo_100_percent_url); |
1335 } | 1340 } |
1336 | 1341 |
1337 } // namespace TemplateURLPrepopulateData | 1342 } // namespace TemplateURLPrepopulateData |
OLD | NEW |