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

Unified Diff: chrome/utility/importer/firefox_importer.cc

Issue 616763002: Importing certain bookmarks from firefox and HTML file as search engines. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Replacing custom code by existing function for checking if an url supports replacement terms. Created 6 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: chrome/utility/importer/firefox_importer.cc
diff --git a/chrome/utility/importer/firefox_importer.cc b/chrome/utility/importer/firefox_importer.cc
index fdb14cd09472b666bb08d0070c65b2e20c471719..107a2faa58a5ad4c581d45beb49332c8cc5c4055 100644
--- a/chrome/utility/importer/firefox_importer.cc
+++ b/chrome/utility/importer/firefox_importer.cc
@@ -50,10 +50,12 @@ void LoadDefaultBookmarks(const base::FilePath& app_path,
urls->clear();
std::vector<ImportedBookmarkEntry> bookmarks;
+ std::vector<importer::SearchEngineInfo> search_engines;
bookmark_html_reader::ImportBookmarksFile(base::Callback<bool(void)>(),
base::Callback<bool(const GURL&)>(),
file,
&bookmarks,
+ &search_engines,
NULL);
for (size_t i = 0; i < bookmarks.size(); ++i)
urls->insert(bookmarks[i].url);
@@ -225,7 +227,7 @@ void FirefoxImporter::ImportBookmarks() {
GetWholeBookmarkFolder(&db, &list, i, NULL);
std::vector<ImportedBookmarkEntry> bookmarks;
- std::vector<importer::URLKeywordInfo> url_keywords;
+ std::vector<importer::SearchEngineInfo> search_engines;
FaviconMap favicon_map;
// TODO(jcampan): http://b/issue?id=1196285 we do not support POST based
@@ -247,16 +249,22 @@ void FirefoxImporter::ImportBookmarks() {
for (size_t i = 0; i < list.size(); ++i) {
BookmarkItem* item = list[i];
- if (item->type == TYPE_FOLDER) {
+ if (item->type != TYPE_BOOKMARK) {
// Folders are added implicitly on adding children, so we only explicitly
// add empty folders.
- if (!item->empty_folder)
+ if ((item->type != TYPE_FOLDER) || !item->empty_folder)
continue;
- } else if (item->type == TYPE_BOOKMARK) {
- // Import only valid bookmarks
- if (!CanImportURL(item->url))
- continue;
- } else {
+ } else if (!CanImportURL(item->url)) {
+ importer::SearchEngineInfo search_engine_info;
+ // Import invalid bookmark's keyword as search engine, provided that the
+ // bookmark's url is a valid search engine url.
+ if (!item->keyword.empty() &&
+ bookmark_html_reader::CanImportURLAsSearchEngine(item->url,
Ilya Sherman 2014/11/07 00:22:35 nit: Please wrap this arg to the next line.
Tapu Ghose 2014/11/09 14:03:07 Done.
+ base::UTF8ToUTF16(item->keyword),
+ item->title,
+ &search_engine_info)) {
+ search_engines.push_back(search_engine_info);
+ }
continue;
}
@@ -316,11 +324,11 @@ void FirefoxImporter::ImportBookmarks() {
// This bookmark has a keyword, we should import it.
if (!item->keyword.empty() && item->url.is_valid()) {
- importer::URLKeywordInfo url_keyword_info;
- url_keyword_info.url = item->url;
- url_keyword_info.keyword.assign(base::UTF8ToUTF16(item->keyword));
- url_keyword_info.display_name = item->title;
- url_keywords.push_back(url_keyword_info);
+ importer::SearchEngineInfo search_engine_info;
+ search_engine_info.url.assign(base::UTF8ToUTF16(item->url.spec()));
+ search_engine_info.keyword.assign(base::UTF8ToUTF16(item->keyword));
+ search_engine_info.display_name = item->title;
+ search_engines.push_back(search_engine_info);
}
}
}
@@ -333,8 +341,8 @@ void FirefoxImporter::ImportBookmarks() {
bridge_->GetLocalizedString(IDS_BOOKMARK_GROUP_FROM_FIREFOX);
bridge_->AddBookmarks(bookmarks, first_folder_name);
}
- if (!url_keywords.empty() && !cancelled()) {
- bridge_->SetKeywords(url_keywords, false);
+ if (!search_engines.empty() && !cancelled()) {
+ bridge_->SetKeywords(search_engines, false);
}
if (!favicon_map.empty() && !cancelled()) {
std::vector<ImportedFaviconUsage> favicons;

Powered by Google App Engine
This is Rietveld 408576698