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

Side by Side Diff: chrome/browser/bookmarks/bookmark_model.cc

Issue 10825147: Made BookmarkService::GetBookmarks return both urls and title. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync again again Created 8 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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::URLAndTitle>* 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::URLAndTitle 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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/bookmarks/bookmark_model.h ('k') | chrome/browser/bookmarks/bookmark_model_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698