Chromium Code Reviews| Index: chrome/browser/importer/profile_writer.cc |
| diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc |
| index a56281659f7f06366fcf15993f1fe4bfd76d3a02..d962d8d12e6ba0931642bcaf1a65d82eea5d0ba8 100644 |
| --- a/chrome/browser/importer/profile_writer.cc |
| +++ b/chrome/browser/importer/profile_writer.cc |
| @@ -60,10 +60,12 @@ void ProfileWriter::AddHomepage(const GURL& home_page) { |
| } |
| } |
| -void ProfileWriter::AddBookmarkEntry( |
| - const std::vector<BookmarkEntry>& bookmark, |
| - const string16& first_folder_name, |
| - int options) { |
| +void ProfileWriter::AddBookmarks(const std::vector<BookmarkEntry>& bookmarks, |
| + const string16& first_folder_name, |
| + int options) { |
| + if (bookmarks.empty()) |
| + return; |
| + |
| BookmarkModel* model = profile_->GetBookmarkModel(); |
| DCHECK(model->IsLoaded()); |
| @@ -73,13 +75,11 @@ void ProfileWriter::AddBookmarkEntry( |
| bool show_bookmark_toolbar = false; |
| std::set<const BookmarkNode*> folders_added_to; |
| - bool import_mode = false; |
| - if (bookmark.size() > 1) { |
| - model->BeginImportMode(); |
| - import_mode = true; |
| - } |
| - for (std::vector<BookmarkEntry>::const_iterator it = bookmark.begin(); |
| - it != bookmark.end(); ++it) { |
| + |
| + model->BeginImportMode(); |
| + |
| + for (std::vector<BookmarkEntry>::const_iterator it = bookmarks.begin(); |
| + it != bookmarks.end(); ++it) { |
| // Don't insert this url if it isn't valid. |
| if (!it->is_folder && !it->url.is_valid()) |
| continue; |
| @@ -105,17 +105,16 @@ void ProfileWriter::AddBookmarkEntry( |
| for (int index = 0; index < parent->child_count(); ++index) { |
| const BookmarkNode* node = parent->GetChild(index); |
| - if ((node->type() == BookmarkNode::BOOKMARK_BAR || |
| - node->type() == BookmarkNode::FOLDER) && |
| - node->GetTitle() == folder_name) { |
| + if (node->is_folder() && node->GetTitle() == folder_name) { |
| child = node; |
| break; |
| } |
| } |
| - if (child == NULL) |
| + if (!child) |
| child = model->AddFolder(parent, parent->child_count(), folder_name); |
| parent = child; |
| } |
| + |
| folders_added_to.insert(parent); |
| if (it->is_folder) { |
| model->AddFolder(parent, parent->child_count(), it->title); |
| @@ -130,18 +129,15 @@ void ProfileWriter::AddBookmarkEntry( |
| show_bookmark_toolbar = true; |
| } |
| - // Reset the date modified time of the folders we added to. We do this to |
| - // make sure the 'recently added to' combobox in the bubble doesn't get random |
| - // folders. |
| + // In order to avoid the imported-to folders from appearing in the 'recently |
|
Miranda Callahan
2011/05/21 11:34:21
nit: s/avoid/keep
Ilya Sherman
2011/05/24 06:01:13
Done.
|
| + // added to' combobox, reset their modified times. |
| for (std::set<const BookmarkNode*>::const_iterator i = |
| - folders_added_to.begin(); |
| + folders_added_to.begin(); |
| i != folders_added_to.end(); ++i) { |
| model->ResetDateFolderModified(*i); |
| } |
| - if (import_mode) { |
| - model->EndImportMode(); |
| - } |
| + model->EndImportMode(); |
| if (show_bookmark_toolbar && !(options & BOOKMARK_BAR_DISABLED)) |
| ShowBookmarkBar(); |