OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/bookmarks/bookmark_model.h" | 5 #include "chrome/browser/bookmarks/bookmark_model.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <functional> | 8 #include <functional> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
393 bool BookmarkModel::HasBookmarks() { | 393 bool BookmarkModel::HasBookmarks() { |
394 base::AutoLock url_lock(url_lock_); | 394 base::AutoLock url_lock(url_lock_); |
395 return !nodes_ordered_by_url_set_.empty(); | 395 return !nodes_ordered_by_url_set_.empty(); |
396 } | 396 } |
397 | 397 |
398 bool BookmarkModel::IsBookmarked(const GURL& url) { | 398 bool BookmarkModel::IsBookmarked(const GURL& url) { |
399 base::AutoLock url_lock(url_lock_); | 399 base::AutoLock url_lock(url_lock_); |
400 return IsBookmarkedNoLock(url); | 400 return IsBookmarkedNoLock(url); |
401 } | 401 } |
402 | 402 |
403 void BookmarkModel::GetBookmarks(std::vector<GURL>* urls) { | 403 void BookmarkModel::GetBookmarks( |
| 404 std::vector<BookmarkService::Bookmark>* bookmarks) { |
404 base::AutoLock url_lock(url_lock_); | 405 base::AutoLock url_lock(url_lock_); |
405 const GURL* last_url = NULL; | 406 const GURL* last_url = NULL; |
406 for (NodesOrderedByURLSet::iterator i = nodes_ordered_by_url_set_.begin(); | 407 for (NodesOrderedByURLSet::iterator i = nodes_ordered_by_url_set_.begin(); |
407 i != nodes_ordered_by_url_set_.end(); ++i) { | 408 i != nodes_ordered_by_url_set_.end(); ++i) { |
408 const GURL* url = &((*i)->url()); | 409 const GURL* url = &((*i)->url()); |
409 // Only add unique URLs. | 410 // Only add unique URLs. |
410 if (!last_url || *url != *last_url) | 411 if (!last_url || *url != *last_url) { |
411 urls->push_back(*url); | 412 BookmarkService::Bookmark bookmark; |
| 413 bookmark.url = *url; |
| 414 bookmark.title = (*i)->GetTitle(); |
| 415 bookmarks->push_back(bookmark); |
| 416 } |
412 last_url = url; | 417 last_url = url; |
413 } | 418 } |
414 } | 419 } |
415 | 420 |
416 void BookmarkModel::BlockTillLoaded() { | 421 void BookmarkModel::BlockTillLoaded() { |
417 loaded_signal_.Wait(); | 422 loaded_signal_.Wait(); |
418 } | 423 } |
419 | 424 |
420 const BookmarkNode* BookmarkModel::GetNodeByID(int64 id) const { | 425 const BookmarkNode* BookmarkModel::GetNodeByID(int64 id) const { |
421 // TODO(sky): TreeNode needs a method that visits all nodes using a predicate. | 426 // TODO(sky): TreeNode needs a method that visits all nodes using a predicate. |
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
865 BookmarkLoadDetails* BookmarkModel::CreateLoadDetails() { | 870 BookmarkLoadDetails* BookmarkModel::CreateLoadDetails() { |
866 BookmarkPermanentNode* bb_node = | 871 BookmarkPermanentNode* bb_node = |
867 CreatePermanentNode(BookmarkNode::BOOKMARK_BAR); | 872 CreatePermanentNode(BookmarkNode::BOOKMARK_BAR); |
868 BookmarkPermanentNode* other_node = | 873 BookmarkPermanentNode* other_node = |
869 CreatePermanentNode(BookmarkNode::OTHER_NODE); | 874 CreatePermanentNode(BookmarkNode::OTHER_NODE); |
870 BookmarkPermanentNode* mobile_node = | 875 BookmarkPermanentNode* mobile_node = |
871 CreatePermanentNode(BookmarkNode::MOBILE); | 876 CreatePermanentNode(BookmarkNode::MOBILE); |
872 return new BookmarkLoadDetails(bb_node, other_node, mobile_node, | 877 return new BookmarkLoadDetails(bb_node, other_node, mobile_node, |
873 new BookmarkIndex(profile_), next_node_id_); | 878 new BookmarkIndex(profile_), next_node_id_); |
874 } | 879 } |
OLD | NEW |