diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-27 00:08:21 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-27 00:08:21 +0000 |
commit | 4478c651139125df2de939b2085592fd206db97e (patch) | |
tree | dd57b9adef31ff7c57922dc2fb5cb17e834a0bad | |
parent | c5816849d0d7d0c68ea35109958fceb96adeac2f (diff) | |
download | chromium_src-4478c651139125df2de939b2085592fd206db97e.zip chromium_src-4478c651139125df2de939b2085592fd206db97e.tar.gz chromium_src-4478c651139125df2de939b2085592fd206db97e.tar.bz2 |
bookmarks: Add HasBookmarks() method to BookmarkModel API.
BUG=45551
TEST=out/Debug/unit_tests --gtest_filter=BookmarkModelTest.HasBookmarks
Review URL: http://codereview.chromium.org/3181030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57611 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/bookmarks/bookmark_model.cc | 5 | ||||
-rw-r--r-- | chrome/browser/bookmarks/bookmark_model.h | 4 | ||||
-rw-r--r-- | chrome/browser/bookmarks/bookmark_model_unittest.cc | 7 |
3 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc index 7aaf761..c5bc62f 100644 --- a/chrome/browser/bookmarks/bookmark_model.cc +++ b/chrome/browser/bookmarks/bookmark_model.cc @@ -343,6 +343,11 @@ void BookmarkModel::GetBookmarks(std::vector<GURL>* urls) { } } +bool BookmarkModel::HasBookmarks() { + AutoLock url_lock(url_lock_); + return !nodes_ordered_by_url_set_.empty(); +} + bool BookmarkModel::IsBookmarked(const GURL& url) { AutoLock url_lock(url_lock_); return IsBookmarkedNoLock(url); diff --git a/chrome/browser/bookmarks/bookmark_model.h b/chrome/browser/bookmarks/bookmark_model.h index 988ad7d..e56c58d 100644 --- a/chrome/browser/bookmarks/bookmark_model.h +++ b/chrome/browser/bookmarks/bookmark_model.h @@ -249,6 +249,10 @@ class BookmarkModel : public NotificationObserver, public BookmarkService { // Returns all the bookmarked urls. This method is thread safe. virtual void GetBookmarks(std::vector<GURL>* urls); + // Returns true if there are bookmarks, otherwise returns false. This method + // is thread safe. + bool HasBookmarks(); + // Returns true if there is a bookmark for the specified URL. This method is // thread safe. See BookmarkService for more details on this. virtual bool IsBookmarked(const GURL& url); diff --git a/chrome/browser/bookmarks/bookmark_model_unittest.cc b/chrome/browser/bookmarks/bookmark_model_unittest.cc index 37fcb01..66459c7 100644 --- a/chrome/browser/bookmarks/bookmark_model_unittest.cc +++ b/chrome/browser/bookmarks/bookmark_model_unittest.cc @@ -478,6 +478,13 @@ TEST_F(BookmarkModelTest, GetBookmarksWithDups) { ASSERT_TRUE(urls[0] == url); } +TEST_F(BookmarkModelTest, HasBookmarks) { + const GURL url("http://foo.com/"); + model.AddURL(model.GetBookmarkBarNode(), 0, ASCIIToUTF16("bar"), url); + + EXPECT_TRUE(model.HasBookmarks()); +} + namespace { // NotificationObserver implementation used in verifying we've received the |