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; |