summaryrefslogtreecommitdiffstats
path: root/chrome/browser/bookmarks/bookmark_service.h
diff options
context:
space:
mode:
authorkaiwang@chromium.org <kaiwang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-20 14:52:47 +0000
committerkaiwang@chromium.org <kaiwang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-20 14:52:47 +0000
commit07cd37385dc9d907a30743af6173eb4a4bbcc15a (patch)
tree54d5cb06699353552645053e26e9e83c33c335b3 /chrome/browser/bookmarks/bookmark_service.h
parentaecb87b57a874d20e1f3141c5bc98346c5c68b53 (diff)
downloadchromium_src-07cd37385dc9d907a30743af6173eb4a4bbcc15a.zip
chromium_src-07cd37385dc9d907a30743af6173eb4a4bbcc15a.tar.gz
chromium_src-07cd37385dc9d907a30743af6173eb4a4bbcc15a.tar.bz2
Move files from c/b/a/bookmarks and c/b/a/sync back to c/b
This is because we changed the approach to componentize code into src/components. So c/b/api directory is depereated. ProfileSyncServiceBase is going to be folded into ProfileSyncService. I will have a followup change for this. BUG=138280 Review URL: https://chromiumcodereview.appspot.com/12614015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189273 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/bookmarks/bookmark_service.h')
-rw-r--r--chrome/browser/bookmarks/bookmark_service.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/chrome/browser/bookmarks/bookmark_service.h b/chrome/browser/bookmarks/bookmark_service.h
new file mode 100644
index 0000000..95afaf4
--- /dev/null
+++ b/chrome/browser/bookmarks/bookmark_service.h
@@ -0,0 +1,53 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_BOOKMARKS_BOOKMARK_SERVICE_H_
+#define CHROME_BROWSER_BOOKMARKS_BOOKMARK_SERVICE_H_
+
+#include <vector>
+
+#include "base/string16.h"
+#include "googleurl/src/gurl.h"
+
+namespace content {
+class BrowserContext;
+}
+
+// BookmarkService provides a thread safe view of bookmarks. It is used by
+// HistoryBackend when it needs to determine the set of bookmarked URLs
+// or if a URL is bookmarked.
+//
+// BookmarkService is owned by Profile and deleted when the Profile is deleted.
+class BookmarkService {
+ public:
+ struct URLAndTitle {
+ GURL url;
+ string16 title;
+ };
+
+ static BookmarkService* FromBrowserContext(
+ content::BrowserContext* browser_context);
+
+ // Returns true if the specified URL is bookmarked.
+ //
+ // If not on the main thread you *must* invoke BlockTillLoaded first.
+ virtual bool IsBookmarked(const GURL& url) = 0;
+
+ // Returns, by reference in |bookmarks|, the set of bookmarked urls and their
+ // titles. This returns the unique set of URLs. For example, if two bookmarks
+ // reference the same URL only one entry is added not matter the titles are
+ // same or not.
+ //
+ // If not on the main thread you *must* invoke BlockTillLoaded first.
+ virtual void GetBookmarks(std::vector<URLAndTitle>* bookmarks) = 0;
+
+ // Blocks until loaded. This is intended for usage on a thread other than
+ // the main thread.
+ virtual void BlockTillLoaded() = 0;
+
+ protected:
+ virtual ~BookmarkService() {}
+};
+
+#endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_SERVICE_H_