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

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

Issue 305973004: BookmarkClient can add extra nodes to BookmarkModel. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added support for extra nodes from the client 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 bf079d7e234f6357a993402f6f69aee5a9970c77..8bab8acf6a98a4b551398b843eb5b81c57b03fd4 100644
--- a/chrome/browser/bookmarks/chrome_bookmark_client.h
+++ b/chrome/browser/bookmarks/chrome_bookmark_client.h
@@ -9,6 +9,7 @@
#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"
@@ -28,6 +29,12 @@ class ChromeBookmarkClient : public BookmarkClient,
// Returns the BookmarkModel that corresponds to this ChromeBookmarkClient.
BookmarkModel* model() { return model_.get(); }
+ // Returns the managed_node.
+ const BookmarkNode* managed_node() { return managed_node_; }
+
+ // Returns true if the given node belongs to the managed bookmarks tree.
+ bool IsAManagedNode(const BookmarkNode* node);
+
// BookmarkClient:
virtual bool PreferTouchIcon() OVERRIDE;
virtual base::CancelableTaskTracker::TaskId GetFaviconImageForURL(
@@ -40,8 +47,15 @@ class ChromeBookmarkClient : public BookmarkClient,
virtual void GetTypedCountForNodes(
const NodeSet& nodes,
NodeTypedCountPairs* node_typed_count_pairs) OVERRIDE;
- virtual bool IsPermanentNodeVisible(int node_type) OVERRIDE;
+ virtual bool IsPermanentNodeVisible(const BookmarkNode* node) OVERRIDE;
virtual void RecordAction(const base::UserMetricsAction& action) OVERRIDE;
+ virtual bookmarks::LoadExtraCallback GetLoadExtraNodesCallback() OVERRIDE;
+ virtual void ExtraNodesLoaded(
+ const std::vector<BookmarkPermanentNode*>& extra_nodes) OVERRIDE;
+ virtual bool CanRemoveNode(const BookmarkNode* node) OVERRIDE;
+ virtual bool CanSetTitle(const BookmarkNode* permanent_node) OVERRIDE;
+ virtual bool CanSyncNode(const BookmarkNode* node) OVERRIDE;
+ virtual bool CanReorderChildren(const BookmarkNode* parent) OVERRIDE;
// content::NotificationObserver:
virtual void Observe(int type,
@@ -62,6 +76,17 @@ class ChromeBookmarkClient : public BookmarkClient,
virtual void BookmarkAllNodesRemoved(
BookmarkModel* model,
const std::set<GURL>& removed_urls) OVERRIDE;
+ virtual void BookmarkModelLoaded(BookmarkModel* model,
+ bool ids_reassigned) OVERRIDE;
+
+ // Helper for GetLoadExtraNodesCallback().
+ static bookmarks::BookmarkPermanentNodeList LoadExtraNodes(
+ scoped_ptr<base::ListValue> initial_managed_bookmarks,
+ int64* next_node_id);
+
+ // Returns the management domain that configured the managed bookmarks,
+ // or an empty string.
+ std::string GetManagedBookmarksDomain();
Profile* profile_;
@@ -69,6 +94,9 @@ class ChromeBookmarkClient : public BookmarkClient,
scoped_ptr<BookmarkModel> model_;
+ policy::ManagedBookmarksTracker managed_bookmarks_tracker_;
+ BookmarkPermanentNode* managed_node_;
+
DISALLOW_COPY_AND_ASSIGN(ChromeBookmarkClient);
};

Powered by Google App Engine
This is Rietveld 408576698