Chromium Code Reviews| Index: chrome/browser/importer/in_process_importer_bridge.cc |
| diff --git a/chrome/browser/importer/in_process_importer_bridge.cc b/chrome/browser/importer/in_process_importer_bridge.cc |
| index 3bd1fde5be8c905e1ea3b3014adf69bb691b80f0..d6d5dccdbb29003844d98db157dd27d88f318e62 100644 |
| --- a/chrome/browser/importer/in_process_importer_bridge.cc |
| +++ b/chrome/browser/importer/in_process_importer_bridge.cc |
| @@ -91,25 +91,33 @@ class FirefoxURLParameterFilter : public TemplateURLParser::ParameterFilter { |
| DISALLOW_COPY_AND_ASSIGN(FirefoxURLParameterFilter); |
| }; |
| -// Creates a TemplateURL with the |keyword| and |url|. |title| may be empty. |
| +// Creates a TemplateURL with the |keyword| and |url|. |url| must be non-empty. |
| +// |keyword| may be empty, provided that |url| can be converted to a valid GURL. |
| +// If |url| contains replacement term(s) in host then it cannot be converted |
|
Ilya Sherman
2014/11/07 00:22:34
nit: "in host" -> "in the host"
Tapu Ghose
2014/11/09 14:03:06
Done.
|
| +// into a valid GURL. In such scenario, |keyword| can not be empty. |title| may |
|
Ilya Sherman
2014/11/07 00:22:34
nit: "In such scenario" -> "In such a scenario"
Tapu Ghose
2014/11/09 14:03:06
Done.
|
| +// be empty. |
| // This function transfers ownership of the created TemplateURL to the caller. |
| TemplateURL* CreateTemplateURL(const base::string16& title, |
| const base::string16& keyword, |
| - const GURL& url) { |
| - // Skip if the url is invalid. |
| - if (!url.is_valid()) |
| + const base::string16& url) { |
| + if (url.empty()) |
| return NULL; |
| TemplateURLData data; |
| - if (keyword.empty()) |
| - data.SetKeyword(TemplateURL::GenerateKeyword(url)); |
| - else |
| + if (keyword.empty()) { |
| + GURL gurl = GURL(url); |
| + if (!gurl.is_valid()) |
| + return NULL; |
| + data.SetKeyword(TemplateURL::GenerateKeyword(gurl)); |
| + } else { |
| data.SetKeyword(keyword); |
| + } |
| + |
| // We set short name by using the title if it exists. |
| // Otherwise, we use the shortcut. |
| data.short_name = title.empty() ? keyword : title; |
| data.SetURL( |
| - TemplateURLRef::DisplayURLToURLRef(base::UTF8ToUTF16(url.spec()))); |
| + TemplateURLRef::DisplayURLToURLRef(url)); |
|
Ilya Sherman
2014/11/07 00:22:34
nit: Looks like you can un-wrap this line.
Tapu Ghose
2014/11/09 14:03:06
Done.
|
| return new TemplateURL(data); |
| } |
| @@ -221,14 +229,14 @@ void InProcessImporterBridge::SetHistoryItems( |
| } |
| void InProcessImporterBridge::SetKeywords( |
| - const std::vector<importer::URLKeywordInfo>& url_keywords, |
| + const std::vector<importer::SearchEngineInfo>& search_engines, |
| bool unique_on_host_and_path) { |
| ScopedVector<TemplateURL> owned_template_urls; |
| - for (size_t i = 0; i < url_keywords.size(); ++i) { |
| + for (size_t i = 0; i < search_engines.size(); ++i) { |
| owned_template_urls.push_back( |
| - CreateTemplateURL(url_keywords[i].display_name, |
| - url_keywords[i].keyword, |
| - url_keywords[i].url)); |
| + CreateTemplateURL(search_engines[i].display_name, |
| + search_engines[i].keyword, |
| + search_engines[i].url)); |
| } |
| BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
| base::Bind(&ProfileWriter::AddKeywords, writer_, |