Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(317)

Unified Diff: chrome/browser/bookmarks/chrome_bookmark_client.h

Issue 306293006: Introduce ChromeBookmarkClientFactory (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@364865
Patch Set: Add missing dependency in components/policy/policy_browser.gypi Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/bookmarks/chrome_bookmark_client.h
diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.h b/chrome/browser/bookmarks/chrome_bookmark_client.h
index 43fe2c9394a026938de66cb21d1492facaa84b89..90daaef8bcc76ce49c31d78ef42af9f233ed8b26 100644
--- a/chrome/browser/bookmarks/chrome_bookmark_client.h
+++ b/chrome/browser/bookmarks/chrome_bookmark_client.h
@@ -7,12 +7,11 @@
#include <vector>
-#include "base/compiler_specific.h"
#include "base/deferred_sequenced_task_runner.h"
+#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "components/bookmarks/browser/base_bookmark_model_observer.h"
#include "components/bookmarks/browser/bookmark_client.h"
-#include "components/keyed_service/core/keyed_service.h"
#include "components/policy/core/browser/managed_bookmarks_tracker.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
@@ -22,16 +21,15 @@ class Profile;
class ChromeBookmarkClient : public BookmarkClient,
public content::NotificationObserver,
- public KeyedService,
public BaseBookmarkModelObserver {
- public:
- // |index_urls| says whether URLs should be stored in the BookmarkIndex
- // in addition to bookmark titles.
- ChromeBookmarkClient(Profile* profile, bool index_urls);
+ public:
+ explicit ChromeBookmarkClient(Profile* profile);
virtual ~ChromeBookmarkClient();
- // Returns the BookmarkModel that corresponds to this ChromeBookmarkClient.
- BookmarkModel* model() { return model_.get(); }
+ void Init(BookmarkModel* model);
+
+ // KeyedService:
+ virtual void Shutdown() OVERRIDE;
// Returns the managed_node.
const BookmarkNode* managed_node() { return managed_node_; }
@@ -69,9 +67,6 @@ class ChromeBookmarkClient : public BookmarkClient,
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE;
- // KeyedService:
- virtual void Shutdown() OVERRIDE;
-
private:
// BaseBookmarkModelObserver:
virtual void BookmarkModelChanged() OVERRIDE;
@@ -101,9 +96,11 @@ class ChromeBookmarkClient : public BookmarkClient,
content::NotificationRegistrar registrar_;
- scoped_ptr<BookmarkModel> model_;
+ // Pointer to the BookmarkModel. Will be non-NULL from the call to Init to
+ // the call to Shutdown. Must be valid for the whole interval.
+ BookmarkModel* model_;
- policy::ManagedBookmarksTracker managed_bookmarks_tracker_;
+ scoped_ptr<policy::ManagedBookmarksTracker> managed_bookmarks_tracker_;
BookmarkPermanentNode* managed_node_;
DISALLOW_COPY_AND_ASSIGN(ChromeBookmarkClient);
« no previous file with comments | « chrome/browser/bookmarks/bookmark_model_factory.cc ('k') | chrome/browser/bookmarks/chrome_bookmark_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698