summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-27 00:08:21 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-27 00:08:21 +0000
commit4478c651139125df2de939b2085592fd206db97e (patch)
treedd57b9adef31ff7c57922dc2fb5cb17e834a0bad
parentc5816849d0d7d0c68ea35109958fceb96adeac2f (diff)
downloadchromium_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.cc5
-rw-r--r--chrome/browser/bookmarks/bookmark_model.h4
-rw-r--r--chrome/browser/bookmarks/bookmark_model_unittest.cc7
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