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 5443eba5de98e43aa46a1ae6dd906ccafb22f26a..62d095c2cc9b44af1e2d9a9c5c7fd6eb8e8c63ea 100644 |
--- a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc |
+++ b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc |
@@ -26,7 +26,8 @@ |
#include "ui/views/background.h" |
#include "ui/views/controls/button/text_button.h" |
#include "ui/views/controls/label.h" |
-#include "ui/views/controls/menu/menu_2.h" |
+#include "ui/views/controls/menu/menu_model_adapter.h" |
+#include "ui/views/controls/menu/menu_runner.h" |
#include "ui/views/controls/textfield/textfield.h" |
#include "ui/views/controls/tree/tree_view.h" |
#include "ui/views/focus/focus_manager.h" |
@@ -287,20 +288,14 @@ void BookmarkEditorView::ShowContextMenuForView(views::View* source, |
running_menu_for_root_ = |
(tree_model_->GetParent(tree_view_->GetSelectedNode()) == |
tree_model_->GetRoot()); |
-#if defined(USE_AURA) |
- NOTIMPLEMENTED(); |
-#else |
- if (!context_menu_contents_.get()) { |
- context_menu_contents_.reset(new ui::SimpleMenuModel(this)); |
- context_menu_contents_->AddItemWithStringId(IDS_EDIT, IDS_EDIT); |
- context_menu_contents_->AddItemWithStringId(IDS_DELETE, IDS_DELETE); |
- context_menu_contents_->AddItemWithStringId( |
- IDS_BOOKMARK_EDITOR_NEW_FOLDER_MENU_ITEM, |
- IDS_BOOKMARK_EDITOR_NEW_FOLDER_MENU_ITEM); |
- context_menu_.reset(new views::Menu2(context_menu_contents_.get())); |
- } |
- context_menu_->RunContextMenuAt(point); |
-#endif |
+ |
+ views::MenuModelAdapter adapter(GetMenuModel()); |
+ context_menu_runner_.reset(new views::MenuRunner(adapter.CreateMenu())); |
+ |
+ if (context_menu_runner_->RunMenuAt(source->GetWidget()->GetTopLevelWidget(), |
+ NULL, gfx::Rect(point, gfx::Size()), views::MenuItemView::TOPRIGHT, |
+ views::MenuRunner::HAS_MNEMONICS) == views::MenuRunner::MENU_DELETED) |
+ return; |
} |
void BookmarkEditorView::Init() { |
@@ -467,9 +462,7 @@ void BookmarkEditorView::Reset() { |
tree_view_->SetModel(tree_model_.get()); |
tree_view_->SetController(this); |
-#if !defined(USE_AURA) |
- context_menu_.reset(); |
-#endif |
+ context_menu_runner_.reset(); |
if (parent()) |
ExpandAndSelect(); |
@@ -669,6 +662,18 @@ void BookmarkEditorView::UpdateExpandedNodes( |
UpdateExpandedNodes(editor_node->GetChild(i), expanded_nodes); |
} |
+ui::SimpleMenuModel* BookmarkEditorView::GetMenuModel() { |
+ if (!context_menu_model_.get()) { |
+ context_menu_model_.reset(new ui::SimpleMenuModel(this)); |
+ context_menu_model_->AddItemWithStringId(IDS_EDIT, IDS_EDIT); |
+ context_menu_model_->AddItemWithStringId(IDS_DELETE, IDS_DELETE); |
+ context_menu_model_->AddItemWithStringId( |
+ IDS_BOOKMARK_EDITOR_NEW_FOLDER_MENU_ITEM, |
+ IDS_BOOKMARK_EDITOR_NEW_FOLDER_MENU_ITEM); |
+ } |
+ return context_menu_model_.get(); |
+} |
+ |
void BookmarkEditorView::EditorTreeModel::SetTitle(ui::TreeModelNode* node, |
const string16& title) { |
if (!title.empty()) |