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

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

Issue 1203713002: Limit access to ChromeBookmarkClient to bookmarks code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cleanup_bookmark_client
Patch Set: Rebase Created 5 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.cc
diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.cc b/chrome/browser/bookmarks/chrome_bookmark_client.cc
index a3ca17a783545e887cc048085eb02816f16de113..d08a72a3b242d8fe6da592b132bb119c73401e99 100644
--- a/chrome/browser/bookmarks/chrome_bookmark_client.cc
+++ b/chrome/browser/bookmarks/chrome_bookmark_client.cc
@@ -63,10 +63,7 @@ void LoadInitialContents(BookmarkPermanentNode* node,
} // namespace
ChromeBookmarkClient::ChromeBookmarkClient(Profile* profile)
- : profile_(profile),
- model_(nullptr),
- managed_node_(nullptr),
- supervised_node_(nullptr) {
+ : profile_(profile) {
}
ChromeBookmarkClient::~ChromeBookmarkClient() {
@@ -74,39 +71,19 @@ ChromeBookmarkClient::~ChromeBookmarkClient() {
void ChromeBookmarkClient::Init(BookmarkModel* model) {
DCHECK(model);
- DCHECK(!model_);
- model_ = model;
- model_->AddObserver(this);
-
managed_bookmarks_tracker_.reset(new ManagedBookmarksTracker(
- model_,
+ model,
profile_->GetPrefs(),
false,
base::Bind(&ChromeBookmarkClient::GetManagedBookmarksDomain,
base::Unretained(this))));
supervised_bookmarks_tracker_.reset(new ManagedBookmarksTracker(
- model_,
+ model,
profile_->GetPrefs(),
true,
base::Callback<std::string()>()));
}
-void ChromeBookmarkClient::Shutdown() {
- if (model_) {
- model_->RemoveObserver(this);
- model_ = nullptr;
- }
- BookmarkClient::Shutdown();
-}
-
-bool ChromeBookmarkClient::PreferTouchIcon() {
-#if !defined(OS_IOS)
- return false;
-#else
- return true;
-#endif
-}
-
base::CancelableTaskTracker::TaskId
ChromeBookmarkClient::GetFaviconImageForPageURL(
const GURL& page_url,
@@ -158,79 +135,31 @@ void ChromeBookmarkClient::GetTypedCountForNodes(
}
}
-bool ChromeBookmarkClient::IsPermanentNodeVisible(
- const BookmarkPermanentNode* node) {
- DCHECK(node->type() == BookmarkNode::BOOKMARK_BAR ||
- node->type() == BookmarkNode::OTHER_NODE ||
- node->type() == BookmarkNode::MOBILE ||
- node == managed_node_ ||
- node == supervised_node_);
- if (node == managed_node_ || node == supervised_node_)
- return false;
-#if !defined(OS_IOS)
- return node->type() != BookmarkNode::MOBILE;
-#else
- return node->type() == BookmarkNode::MOBILE;
-#endif
-}
-
void ChromeBookmarkClient::RecordAction(const base::UserMetricsAction& action) {
content::RecordAction(action);
}
-bookmarks::LoadExtraCallback ChromeBookmarkClient::GetLoadExtraNodesCallback() {
- // Create the managed_node_ and supervised_node_ with a temporary ID of 0 now.
- // They will be populated (and assigned proper IDs) in the LoadExtraNodes
- // callback.
- // The ownership of managed_node_ and supervised_node_ is in limbo until
- // LoadExtraNodes runs, so we leave them in the care of the closure meanwhile.
- scoped_ptr<BookmarkPermanentNode> managed(new BookmarkPermanentNode(0));
- managed_node_ = managed.get();
- scoped_ptr<BookmarkPermanentNode> supervised(new BookmarkPermanentNode(0));
- supervised_node_ = supervised.get();
-
+bookmarks::LoadExtraCallback ChromeBookmarkClient::GetLoadExtraNodesCallback(
+ scoped_ptr<bookmarks::BookmarkPermanentNode> managed_node,
+ scoped_ptr<bookmarks::BookmarkPermanentNode> supervised_node,
+ const ExtraNodeLoadedCallback& callback) {
return base::Bind(
&ChromeBookmarkClient::LoadExtraNodes,
- base::Passed(&managed),
+ base::Passed(&managed_node),
base::Passed(managed_bookmarks_tracker_->GetInitialManagedBookmarks()),
- base::Passed(&supervised),
- base::Passed(
- supervised_bookmarks_tracker_->GetInitialManagedBookmarks()));
+ base::Passed(&supervised_node),
+ base::Passed(supervised_bookmarks_tracker_->GetInitialManagedBookmarks()),
+ callback);
}
-bool ChromeBookmarkClient::CanSetPermanentNodeTitle(
- const BookmarkNode* permanent_node) {
- // The |managed_node_| can have its title updated if the user signs in or
- // out, since the name of the managed domain can appear in it.
- // Also, both |managed_node_| and |supervised_node_| can have their title
- // updated on locale changes (crbug.com/459448).
- return (!bookmarks::IsDescendantOf(permanent_node, managed_node_) &&
- !bookmarks::IsDescendantOf(permanent_node, supervised_node_)) ||
- permanent_node == managed_node_ ||
- permanent_node == supervised_node_;
-}
-
-bool ChromeBookmarkClient::CanSyncNode(const BookmarkNode* node) {
- return !bookmarks::IsDescendantOf(node, managed_node_) &&
- !bookmarks::IsDescendantOf(node, supervised_node_);
-}
-
-bool ChromeBookmarkClient::CanBeEditedByUser(const BookmarkNode* node) {
- return !bookmarks::IsDescendantOf(node, managed_node_) &&
- !bookmarks::IsDescendantOf(node, supervised_node_);
-}
-
-void ChromeBookmarkClient::BookmarkModelChanged() {
-}
-
-void ChromeBookmarkClient::BookmarkModelLoaded(BookmarkModel* model,
- bool ids_reassigned) {
- BaseBookmarkModelObserver::BookmarkModelLoaded(model, ids_reassigned);
+void ChromeBookmarkClient::DoneLoading(
+ bookmarks::BookmarkPermanentNode* managed_node,
+ bookmarks::BookmarkPermanentNode* supervised_node) {
// Start tracking the managed and supervised bookmarks. This will detect any
// changes that may have occurred while the initial managed and supervised
// bookmarks were being loaded on the background.
- managed_bookmarks_tracker_->Init(managed_node_);
- supervised_bookmarks_tracker_->Init(supervised_node_);
+ managed_bookmarks_tracker_->Init(managed_node);
+ supervised_bookmarks_tracker_->Init(supervised_node);
}
// static
@@ -239,6 +168,7 @@ bookmarks::BookmarkPermanentNodeList ChromeBookmarkClient::LoadExtraNodes(
scoped_ptr<base::ListValue> initial_managed_bookmarks,
scoped_ptr<BookmarkPermanentNode> supervised_node,
scoped_ptr<base::ListValue> initial_supervised_bookmarks,
+ const ExtraNodeLoadedCallback& callback,
int64* next_node_id) {
LoadInitialContents(
managed_node.get(), initial_managed_bookmarks.get(), next_node_id);
@@ -250,8 +180,11 @@ bookmarks::BookmarkPermanentNodeList ChromeBookmarkClient::LoadExtraNodes(
supervised_node->SetTitle(l10n_util::GetStringUTF16(
IDS_BOOKMARK_BAR_SUPERVISED_FOLDER_DEFAULT_NAME));
- bookmarks::BookmarkPermanentNodeList extra_nodes;
+ if (!callback.is_null())
+ callback.Run(managed_node.get(), supervised_node.get());
+
// Ownership of the managed and supervised nodes passed to the caller.
+ bookmarks::BookmarkPermanentNodeList extra_nodes;
extra_nodes.push_back(managed_node.release());
extra_nodes.push_back(supervised_node.release());

Powered by Google App Engine
This is Rietveld 408576698