Index: chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc |
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc |
index d9be571cc4a67bcb79c9ba9af5f30f454e7bc39c..473005295529827f7336065fcc1ba5a169d84dd3 100644 |
--- a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc |
+++ b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc |
@@ -72,9 +72,12 @@ BookmarkEditorView::BookmarkEditorView( |
title_tf_(NULL), |
parent_(parent), |
details_(details), |
+ bb_model_(BookmarkModelFactory::GetForProfile(profile)), |
running_menu_for_root_(false), |
show_tree_(configuration == SHOW_TREE) { |
DCHECK(profile); |
+ DCHECK(bb_model_); |
+ DCHECK(bb_model_->client()->CanBeEditedByUser(parent)); |
Init(); |
} |
@@ -262,8 +265,6 @@ void BookmarkEditorView::ShowContextMenuForView( |
} |
void BookmarkEditorView::Init() { |
- bb_model_ = BookmarkModelFactory::GetForProfile(profile_); |
- DCHECK(bb_model_); |
bb_model_->AddObserver(this); |
title_label_ = new views::Label( |
@@ -507,7 +508,8 @@ void BookmarkEditorView::CreateNodes(const BookmarkNode* bb_node, |
BookmarkEditorView::EditorNode* b_node) { |
for (int i = 0; i < bb_node->child_count(); ++i) { |
const BookmarkNode* child_bb_node = bb_node->GetChild(i); |
- if (child_bb_node->IsVisible() && child_bb_node->is_folder()) { |
+ if (child_bb_node->IsVisible() && child_bb_node->is_folder() && |
+ bb_model_->client()->CanBeEditedByUser(child_bb_node)) { |
EditorNode* new_b_node = new EditorNode(child_bb_node->GetTitle(), |
child_bb_node->id()); |
b_node->Add(new_b_node, b_node->child_count()); |