summaryrefslogtreecommitdiffstats
path: root/chrome/browser/bookmarks/bookmark_utils.cc
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-03 03:07:56 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-03 03:07:56 +0000
commit4394f2bd350d8b65188e98f0227a706a0d327947 (patch)
tree9538abdc2e6c2050b31d3e2c84d9363954e5fb3c /chrome/browser/bookmarks/bookmark_utils.cc
parenta3c4ef3bf3bfc924680ecb827e9f43c4c2c45ee2 (diff)
downloadchromium_src-4394f2bd350d8b65188e98f0227a706a0d327947.zip
chromium_src-4394f2bd350d8b65188e98f0227a706a0d327947.tar.gz
chromium_src-4394f2bd350d8b65188e98f0227a706a0d327947.tar.bz2
bookmarks: Split BookmarkModel::SetURLStarred in two helper functions in bookmark_utils.
This patch splits SetURLStarred into: - bookmark_utils::AddIfNotBookmarked - bookmark_utils::RemoveAllBookmarks BUG=None TEST=None R=sky@chromium.org Review URL: http://codereview.chromium.org/7825017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99524 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/bookmarks/bookmark_utils.cc')
-rw-r--r--chrome/browser/bookmarks/bookmark_utils.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/chrome/browser/bookmarks/bookmark_utils.cc b/chrome/browser/bookmarks/bookmark_utils.cc
index fcb3dc8..22563c9 100644
--- a/chrome/browser/bookmarks/bookmark_utils.cc
+++ b/chrome/browser/bookmarks/bookmark_utils.cc
@@ -752,4 +752,29 @@ void DeleteBookmarkFolders(BookmarkModel* model,
}
}
+void AddIfNotBookmarked(BookmarkModel* model,
+ const GURL& url,
+ const string16& title) {
+ std::vector<const BookmarkNode*> bookmarks;
+ model->GetNodesByURL(url, &bookmarks);
+ if (!bookmarks.empty())
+ return; // Nothing to do, a bookmark with that url already exists.
+
+ const BookmarkNode* parent = model->GetParentForNewNodes();
+ model->AddURL(parent, parent->child_count(), title, url);
+}
+
+void RemoveAllBookmarks(BookmarkModel* model, const GURL& url) {
+ std::vector<const BookmarkNode*> bookmarks;
+ model->GetNodesByURL(url, &bookmarks);
+
+ // Remove all the bookmarks.
+ for (size_t i = 0; i < bookmarks.size(); ++i) {
+ const BookmarkNode* node = bookmarks[i];
+ int index = node->parent()->GetIndexOf(node);
+ if (index > -1)
+ model->Remove(node->parent(), index);
+ }
+}
+
} // namespace bookmark_utils