Chromium Code Reviews| Index: chrome/browser/extensions/api/bookmarks/bookmarks_api.cc |
| diff --git a/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc b/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc |
| index 3b7b29c5351e32649d1a55979094ec049baa112c..c09877b608cc353bcd091aa37d996d28686e59c3 100644 |
| --- a/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc |
| +++ b/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc |
| @@ -237,9 +237,11 @@ void BookmarksFunction::BookmarkModelLoaded(BookmarkModel* model, |
| Release(); // Balanced in RunOnReady(). |
| } |
| -BookmarkEventRouter::BookmarkEventRouter(BrowserContext* context, |
| - BookmarkModel* model) |
| - : browser_context_(context), model_(model) { |
| +BookmarkEventRouter::BookmarkEventRouter(Profile* profile) |
| + : browser_context_(profile), |
| + model_(BookmarkModelFactory::GetForProfile(profile)), |
| + client_( |
| + BookmarkModelFactory::GetChromeBookmarkClientForProfile(profile)) { |
|
not at google - send to devlin
2014/06/05 20:58:26
kinda weird that BookmarkModelFactory is a Browser
Joao da Silva
2014/06/05 21:04:16
The main getter is GetForProfile(), so I used this
not at google - send to devlin
2014/06/05 22:21:32
I didn't mean to imply that it was something to do
|
| model_->AddObserver(this); |
| } |
| @@ -291,7 +293,7 @@ void BookmarkEventRouter::BookmarkNodeAdded(BookmarkModel* model, |
| int index) { |
| const BookmarkNode* node = parent->GetChild(index); |
| scoped_ptr<BookmarkTreeNode> tree_node( |
| - bookmark_api_helpers::GetBookmarkTreeNode(node, false, false)); |
| + bookmark_api_helpers::GetBookmarkTreeNode(client_, node, false, false)); |
| DispatchEvent(bookmarks::OnCreated::kEventName, |
| bookmarks::OnCreated::Create(base::Int64ToString(node->id()), |
| *tree_node)); |
| @@ -399,10 +401,8 @@ BookmarksAPI::GetFactoryInstance() { |
| } |
| void BookmarksAPI::OnListenerAdded(const EventListenerInfo& details) { |
| - bookmark_event_router_.reset(new BookmarkEventRouter( |
| - browser_context_, |
| - BookmarkModelFactory::GetForProfile( |
| - Profile::FromBrowserContext(browser_context_)))); |
| + bookmark_event_router_.reset( |
| + new BookmarkEventRouter(Profile::FromBrowserContext(browser_context_))); |
| EventRouter::Get(browser_context_)->UnregisterObserver(this); |
| } |
| @@ -412,6 +412,7 @@ bool BookmarksGetFunction::RunOnReady() { |
| EXTENSION_FUNCTION_VALIDATE(params.get()); |
| std::vector<linked_ptr<BookmarkTreeNode> > nodes; |
| + ChromeBookmarkClient* client = GetChromeBookmarkClient(); |
| if (params->id_or_id_list.as_strings) { |
| std::vector<std::string>& ids = *params->id_or_id_list.as_strings; |
| size_t count = ids.size(); |
| @@ -420,14 +421,14 @@ bool BookmarksGetFunction::RunOnReady() { |
| const BookmarkNode* node = GetBookmarkNodeFromId(ids[i]); |
| if (!node) |
| return false; |
| - bookmark_api_helpers::AddNode(node, &nodes, false); |
| + bookmark_api_helpers::AddNode(client, node, &nodes, false); |
| } |
| } else { |
| const BookmarkNode* node = |
| GetBookmarkNodeFromId(*params->id_or_id_list.as_string); |
| if (!node) |
| return false; |
| - bookmark_api_helpers::AddNode(node, &nodes, false); |
| + bookmark_api_helpers::AddNode(client, node, &nodes, false); |
| } |
| results_ = bookmarks::Get::Results::Create(nodes); |
| @@ -447,7 +448,8 @@ bool BookmarksGetChildrenFunction::RunOnReady() { |
| int child_count = node->child_count(); |
| for (int i = 0; i < child_count; ++i) { |
| const BookmarkNode* child = node->GetChild(i); |
| - bookmark_api_helpers::AddNode(child, &nodes, false); |
| + bookmark_api_helpers::AddNode( |
| + GetChromeBookmarkClient(), child, &nodes, false); |
| } |
| results_ = bookmarks::GetChildren::Results::Create(nodes); |
| @@ -471,7 +473,8 @@ bool BookmarksGetRecentFunction::RunOnReady() { |
| std::vector<const BookmarkNode*>::iterator i = nodes.begin(); |
| for (; i != nodes.end(); ++i) { |
| const BookmarkNode* node = *i; |
| - bookmark_api_helpers::AddNode(node, &tree_nodes, false); |
| + bookmark_api_helpers::AddNode( |
| + GetChromeBookmarkClient(), node, &tree_nodes, false); |
| } |
| results_ = bookmarks::GetRecent::Results::Create(tree_nodes); |
| @@ -482,7 +485,7 @@ bool BookmarksGetTreeFunction::RunOnReady() { |
| std::vector<linked_ptr<BookmarkTreeNode> > nodes; |
| const BookmarkNode* node = |
| BookmarkModelFactory::GetForProfile(GetProfile())->root_node(); |
| - bookmark_api_helpers::AddNode(node, &nodes, true); |
| + bookmark_api_helpers::AddNode(GetChromeBookmarkClient(), node, &nodes, true); |
| results_ = bookmarks::GetTree::Results::Create(nodes); |
| return true; |
| } |
| @@ -497,7 +500,7 @@ bool BookmarksGetSubTreeFunction::RunOnReady() { |
| return false; |
| std::vector<linked_ptr<BookmarkTreeNode> > nodes; |
| - bookmark_api_helpers::AddNode(node, &nodes, true); |
| + bookmark_api_helpers::AddNode(GetChromeBookmarkClient(), node, &nodes, true); |
| results_ = bookmarks::GetSubTree::Results::Create(nodes); |
| return true; |
| } |
| @@ -542,9 +545,10 @@ bool BookmarksSearchFunction::RunOnReady() { |
| } |
| std::vector<linked_ptr<BookmarkTreeNode> > tree_nodes; |
| + ChromeBookmarkClient* client = GetChromeBookmarkClient(); |
| for (std::vector<const BookmarkNode*>::iterator node_iter = nodes.begin(); |
| node_iter != nodes.end(); ++node_iter) { |
| - bookmark_api_helpers::AddNode(*node_iter, &tree_nodes, false); |
| + bookmark_api_helpers::AddNode(client, *node_iter, &tree_nodes, false); |
| } |
| results_ = bookmarks::Search::Results::Create(tree_nodes); |
| @@ -602,8 +606,8 @@ bool BookmarksCreateFunction::RunOnReady() { |
| if (!node) |
| return false; |
| - scoped_ptr<BookmarkTreeNode> ret( |
| - bookmark_api_helpers::GetBookmarkTreeNode(node, false, false)); |
| + scoped_ptr<BookmarkTreeNode> ret(bookmark_api_helpers::GetBookmarkTreeNode( |
| + GetChromeBookmarkClient(), node, false, false)); |
| results_ = bookmarks::Create::Results::Create(*ret); |
| return true; |
| @@ -663,7 +667,8 @@ bool BookmarksMoveFunction::RunOnReady() { |
| model->Move(node, parent, index); |
| scoped_ptr<BookmarkTreeNode> tree_node( |
| - bookmark_api_helpers::GetBookmarkTreeNode(node, false, false)); |
| + bookmark_api_helpers::GetBookmarkTreeNode( |
| + GetChromeBookmarkClient(), node, false, false)); |
| results_ = bookmarks::Move::Results::Create(*tree_node); |
| return true; |
| @@ -718,7 +723,8 @@ bool BookmarksUpdateFunction::RunOnReady() { |
| model->SetURL(node, url); |
| scoped_ptr<BookmarkTreeNode> tree_node( |
| - bookmark_api_helpers::GetBookmarkTreeNode(node, false, false)); |
| + bookmark_api_helpers::GetBookmarkTreeNode( |
| + GetChromeBookmarkClient(), node, false, false)); |
| results_ = bookmarks::Update::Results::Create(*tree_node); |
| return true; |
| } |