| Index: chrome/browser/importer/firefox2_importer.cc
|
| diff --git a/chrome/browser/importer/firefox2_importer.cc b/chrome/browser/importer/firefox2_importer.cc
|
| index b14105aebb4c00bd01a0b458f8952dea2e41bdd8..0e1899e644e93194d3ce60df4599544ef9768990 100644
|
| --- a/chrome/browser/importer/firefox2_importer.cc
|
| +++ b/chrome/browser/importer/firefox2_importer.cc
|
| @@ -148,8 +148,6 @@ TemplateURL* Firefox2Importer::CreateTemplateURL(const string16& title,
|
| void Firefox2Importer::ImportBookmarksFile(
|
| const FilePath& file_path,
|
| const std::set<GURL>& default_urls,
|
| - bool import_to_bookmark_bar,
|
| - const string16& first_folder_name,
|
| Importer* importer,
|
| std::vector<ProfileWriter::BookmarkEntry>* bookmarks,
|
| std::vector<TemplateURL*>* template_urls,
|
| @@ -160,7 +158,7 @@ void Firefox2Importer::ImportBookmarksFile(
|
| base::SplitString(content, '\n', &lines);
|
|
|
| std::vector<ProfileWriter::BookmarkEntry> toolbar_bookmarks;
|
| - string16 last_folder = first_folder_name;
|
| + string16 last_folder;
|
| bool last_folder_on_toolbar = false;
|
| bool last_folder_is_empty = true;
|
| bool has_subfolder = false;
|
| @@ -214,22 +212,18 @@ void Firefox2Importer::ImportBookmarksFile(
|
| entry.url = url;
|
| entry.title = title;
|
|
|
| - if (import_to_bookmark_bar && toolbar_folder) {
|
| - // Flatten the items in toolbar.
|
| + if (toolbar_folder) {
|
| + // The toolbar folder should be at the top level.
|
| entry.in_toolbar = true;
|
| - entry.path.assign(path.begin() + toolbar_folder, path.end());
|
| + entry.path.assign(path.begin() + toolbar_folder - 1, path.end());
|
| toolbar_bookmarks.push_back(entry);
|
| } else {
|
| - // Insert the item into the "Imported from Firefox" folder.
|
| + // Add this bookmark to the list of |bookmarks|.
|
| if (!has_subfolder && !last_folder.empty()) {
|
| path.push_back(last_folder);
|
| last_folder.clear();
|
| }
|
| entry.path.assign(path.begin(), path.end());
|
| - if (import_to_bookmark_bar) {
|
| - DCHECK(!entry.path.empty());
|
| - entry.path.erase(entry.path.begin());
|
| - }
|
| bookmarks->push_back(entry);
|
| }
|
|
|
| @@ -252,7 +246,7 @@ void Firefox2Importer::ImportBookmarksFile(
|
| // Bookmarks in sub-folder are encapsulated with <DL> tag.
|
| if (StartsWithASCII(line, "<DL>", false)) {
|
| has_subfolder = true;
|
| - if (last_folder.length() != 0) {
|
| + if (!last_folder.empty()) {
|
| path.push_back(last_folder);
|
| last_folder.clear();
|
| }
|
| @@ -274,18 +268,17 @@ void Firefox2Importer::ImportBookmarksFile(
|
| entry.is_folder = true;
|
| entry.creation_time = last_folder_add_date;
|
| entry.title = folder_title;
|
| - if (import_to_bookmark_bar && toolbar_folder) {
|
| - // Flatten the folder in toolbar.
|
| - entry.in_toolbar = true;
|
| - entry.path.assign(path.begin() + toolbar_folder, path.end());
|
| - toolbar_bookmarks.push_back(entry);
|
| + if (toolbar_folder) {
|
| + // The toolbar folder should be at the top level.
|
| + // Make sure we don't add the toolbar folder itself if it is empty.
|
| + if (toolbar_folder <= path.size()) {
|
| + entry.in_toolbar = true;
|
| + entry.path.assign(path.begin() + toolbar_folder - 1, path.end());
|
| + toolbar_bookmarks.push_back(entry);
|
| + }
|
| } else {
|
| - // Insert the folder into the "Imported from Firefox" folder.
|
| + // Add this folder to the list of |bookmarks|.
|
| entry.path.assign(path.begin(), path.end());
|
| - if (import_to_bookmark_bar) {
|
| - DCHECK(!entry.path.empty());
|
| - entry.path.erase(entry.path.begin());
|
| - }
|
| bookmarks->push_back(entry);
|
| }
|
|
|
| @@ -315,22 +308,16 @@ void Firefox2Importer::ImportBookmarks() {
|
| FilePath file = source_path_;
|
| if (!parsing_bookmarks_html_file_)
|
| file = file.AppendASCII("bookmarks.html");
|
| - string16 first_folder_name = bridge_->GetLocalizedString(
|
| - parsing_bookmarks_html_file_ ? IDS_BOOKMARK_GROUP :
|
| - IDS_BOOKMARK_GROUP_FROM_FIREFOX);
|
|
|
| - ImportBookmarksFile(file, default_urls, import_to_bookmark_bar(),
|
| - first_folder_name, this, &bookmarks, &template_urls,
|
| + ImportBookmarksFile(file, default_urls, this, &bookmarks, &template_urls,
|
| &favicons);
|
|
|
| // Write data into profile.
|
| if (!bookmarks.empty() && !cancelled()) {
|
| - int options = 0;
|
| - if (import_to_bookmark_bar())
|
| - options |= ProfileWriter::IMPORT_TO_BOOKMARK_BAR;
|
| - if (bookmark_bar_disabled())
|
| - options |= ProfileWriter::BOOKMARK_BAR_DISABLED;
|
| - bridge_->AddBookmarks(bookmarks, first_folder_name, options);
|
| + string16 first_folder_name = bridge_->GetLocalizedString(
|
| + parsing_bookmarks_html_file_ ? IDS_BOOKMARK_GROUP :
|
| + IDS_BOOKMARK_GROUP_FROM_FIREFOX);
|
| + bridge_->AddBookmarks(bookmarks, first_folder_name);
|
| }
|
| if (!parsing_bookmarks_html_file_ && !template_urls.empty() &&
|
| !cancelled()) {
|
|
|