Chromium Code Reviews| Index: components/bookmarks/browser/bookmark_utils.cc |
| diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmarks/browser/bookmark_utils.cc |
| index 6fef26dca622b878efc9909c23a3e94531a3d0b1..53b97d835d3d364387571e1d4b1d8b25f8167c7d 100644 |
| --- a/components/bookmarks/browser/bookmark_utils.cc |
| +++ b/components/bookmarks/browser/bookmark_utils.cc |
| @@ -498,7 +498,7 @@ void AddIfNotBookmarked(BookmarkModel* model, |
| if (IsBookmarkedByUser(model, url)) |
| return; // Nothing to do, a user bookmark with that url already exists. |
| model->client()->RecordAction(base::UserMetricsAction("BookmarkAdded")); |
| - const BookmarkNode* parent = model->GetParentForNewNodes(); |
| + const BookmarkNode* parent = GetParentForNewNodes(model); |
| model->AddURL(parent, parent->child_count(), title, url); |
| } |
| @@ -569,4 +569,29 @@ bool HasDescendantsOf(const std::vector<const BookmarkNode*>& list, |
| return false; |
| } |
| +bool HasUserCreatedBookmarks(BookmarkModel* model) { |
|
sky
2016/10/11 19:13:39
Move this to anonymous namespace.
kraush
2016/10/11 21:22:39
Will do.
|
| + const BookmarkNode* root_node = model->root_node(); |
| + |
| + for (int i = 0; i < root_node->child_count(); ++i) { |
| + const BookmarkNode* node = root_node->GetChild(i); |
| + if (node->IsVisible() && model->client()->CanBeEditedByUser(node) && |
|
sky
2016/10/11 19:13:39
Can't you just check child_count() here?
kraush
2016/10/11 21:22:39
I wanted to be super-safe, but it's probably unnec
|
| + node->child_count() > 0) { |
| + return true; |
| + } |
| + } |
| + return false; |
| +} |
| + |
| +const BookmarkNode* GetParentForNewNodes(BookmarkModel* model) { |
| +#if defined(OS_ANDROID) |
| + if (!HasUserCreatedBookmarks(model)) { |
|
sky
2016/10/11 19:13:39
no {} (see style guide)
kraush
2016/10/11 21:22:39
Removed.
|
| + return model->mobile_node(); |
| + } |
| +#endif |
| + std::vector<const BookmarkNode*> nodes = |
| + GetMostRecentlyModifiedUserFolders(model, 1); |
| + DCHECK(!nodes.empty()); // This list is always padded with default folders. |
| + return nodes[0]; |
| +} |
| + |
| } // namespace bookmarks |