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

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

Issue 12550006: Mac: Add a shortcut to open the Apps page from the bookmark bar. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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/bookmark_model.cc
diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc
index 52533b4c2be72210353f7fc5c17cb7d33441eae5..bf7c5f73c024d028149757c198e51a195e72581d 100644
--- a/chrome/browser/bookmarks/bookmark_model.cc
+++ b/chrome/browser/bookmarks/bookmark_model.cc
@@ -203,6 +203,7 @@ BookmarkModel::BookmarkModel(Profile* profile)
bookmark_bar_node_(NULL),
other_node_(NULL),
mobile_node_(NULL),
+ apps_node_(NULL),
next_node_id_(1),
observers_(ObserverList<BookmarkModelObserver>::NOTIFY_EXISTING_ONLY),
loaded_signal_(true, false),
@@ -660,6 +661,9 @@ void BookmarkModel::SetPermanentNodeVisible(BookmarkNode::Type type,
case BookmarkNode::MOBILE:
mobile_node_->set_visible(value);
break;
+ case BookmarkNode::APPS_NODE:
+ apps_node_->set_visible(value);
+ break;
default:
NOTREACHED();
}
@@ -724,11 +728,15 @@ void BookmarkModel::DoneLoading(BookmarkLoadDetails* details_delete_me) {
mobile_node_ = details->release_mobile_folder_node();
index_.reset(details->release_index());
+ // The apps node does not hold any data, we create is from scratch every time.
+ apps_node_ = CreatePermanentNode(BookmarkNode::APPS_NODE);
+
// WARNING: order is important here, various places assume the order is
// constant.
root_.Add(bookmark_bar_node_, 0);
root_.Add(other_node_, 1);
root_.Add(mobile_node_, 2);
+ root_.Add(apps_node_, 3);
root_.set_meta_info_str(details->model_meta_info());
@@ -836,7 +844,8 @@ BookmarkPermanentNode* BookmarkModel::CreatePermanentNode(
BookmarkNode::Type type) {
DCHECK(type == BookmarkNode::BOOKMARK_BAR ||
type == BookmarkNode::OTHER_NODE ||
- type == BookmarkNode::MOBILE);
+ type == BookmarkNode::MOBILE ||
+ type == BookmarkNode::APPS_NODE);
BookmarkPermanentNode* node =
new BookmarkPermanentNode(generate_next_node_id());
if (type == BookmarkNode::MOBILE)
@@ -853,6 +862,9 @@ BookmarkPermanentNode* BookmarkModel::CreatePermanentNode(
case BookmarkNode::MOBILE:
title_id = IDS_BOOKMARK_BAR_MOBILE_FOLDER_NAME;
break;
+ case BookmarkNode::APPS_NODE:
+ title_id = IDS_BOOKMARK_BAR_APPS_SHORTCUT_NAME;
+ break;
default:
NOTREACHED();
title_id = IDS_BOOKMARK_BAR_FOLDER_NAME;

Powered by Google App Engine
This is Rietveld 408576698