Index: components/bookmarks/browser/bookmark_model.cc |
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc |
index 9a5daf6fad87bd72214ee0e2c17a03e729eceb56..566d53cc9acb4429ed783255194c50e301a82767 100644 |
--- a/components/bookmarks/browser/bookmark_model.cc |
+++ b/components/bookmarks/browser/bookmark_model.cc |
@@ -14,6 +14,7 @@ |
#include "base/macros.h" |
#include "base/profiler/scoped_tracker.h" |
#include "base/strings/string_util.h" |
+#include "components/bookmarks/browser/bookmark_client.h" |
#include "components/bookmarks/browser/bookmark_expanded_state_tracker.h" |
#include "components/bookmarks/browser/bookmark_index.h" |
#include "components/bookmarks/browser/bookmark_match.h" |
@@ -92,8 +93,8 @@ class SortComparator : public std::binary_function<const BookmarkNode*, |
// BookmarkModel -------------------------------------------------------------- |
-BookmarkModel::BookmarkModel(BookmarkClient* client) |
- : client_(client), |
+BookmarkModel::BookmarkModel(scoped_ptr<BookmarkClient> bookmark_client) |
+ : bookmark_client_(bookmark_client.Pass()), |
loaded_(false), |
root_(GURL()), |
bookmark_bar_node_(nullptr), |
@@ -106,7 +107,8 @@ BookmarkModel::BookmarkModel(BookmarkClient* client) |
base::ObserverList<BookmarkModelObserver>::NOTIFY_EXISTING_ONLY), |
loaded_signal_(true, false), |
extensive_changes_(0) { |
- DCHECK(client_); |
+ DCHECK(bookmark_client_); |
+ bookmark_client_->Init(this); |
} |
BookmarkModel::~BookmarkModel() { |
@@ -479,7 +481,7 @@ bool BookmarkModel::IsPermanentNodeVisible(const BookmarkPermanentNode* node) { |
} |
void BookmarkModel::RecordAction(const base::UserMetricsAction& action) { |
- client_->RecordAction(action); |
+ bookmark_client_->RecordAction(action); |
} |
void BookmarkModel::SetDateAdded(const BookmarkNode* node, Time date_added) { |
@@ -848,7 +850,7 @@ void BookmarkModel::DoneLoading(scoped_ptr<BookmarkLoadDetails> details) { |
BookmarkModelLoaded(this, details->ids_reassigned())); |
// Notify client. |
- client_->DoneLoading(managed_node_, supervised_node_); |
+ bookmark_client_->DoneLoading(managed_node_, supervised_node_); |
} |
void BookmarkModel::RemoveAndDeleteNode(BookmarkNode* delete_me) { |
@@ -1009,7 +1011,7 @@ void BookmarkModel::LoadFavicon(BookmarkNode* node, |
DCHECK(node->url().is_valid()); |
node->set_favicon_state(BookmarkNode::LOADING_FAVICON); |
base::CancelableTaskTracker::TaskId taskId = |
- client_->GetFaviconImageForPageURL( |
+ bookmark_client_->GetFaviconImageForPageURL( |
node->url(), |
icon_type, |
base::Bind( |
@@ -1064,11 +1066,12 @@ scoped_ptr<BookmarkLoadDetails> BookmarkModel::CreateLoadDetails( |
new BookmarkPermanentNode(0)); |
return scoped_ptr<BookmarkLoadDetails>(new BookmarkLoadDetails( |
bb_node, other_node, mobile_node, |
- client_->GetLoadExtraNodesCallback( |
+ bookmark_client_->GetLoadExtraNodesCallback( |
managed_node.Pass(), supervised_node.Pass(), |
base::Bind(&BookmarkModel::OnExtraNodeLoaded, |
base::Unretained(this))), |
- new BookmarkIndex(client_, accept_languages), next_node_id_)); |
+ new BookmarkIndex(bookmark_client_.get(), accept_languages), |
+ next_node_id_)); |
} |
void BookmarkModel::OnExtraNodeLoaded(BookmarkPermanentNode* managed_node, |