Index: views/controls/textfield/native_textfield_views.cc |
diff --git a/views/controls/textfield/native_textfield_views.cc b/views/controls/textfield/native_textfield_views.cc |
index 4889b2900a6cbf8d291f89f3dec81873ec224e8f..4c38df836c47e6b450bba8db326217c0718f4559 100644 |
--- a/views/controls/textfield/native_textfield_views.cc |
+++ b/views/controls/textfield/native_textfield_views.cc |
@@ -19,7 +19,8 @@ |
#include "views/background.h" |
#include "views/border.h" |
#include "views/controls/focusable_border.h" |
-#include "views/controls/menu/menu_2.h" |
+#include "views/controls/menu/menu_item_view.h" |
+#include "views/controls/menu/menu_model_adapter.h" |
#include "views/controls/textfield/text_style.h" |
#include "views/controls/textfield/textfield.h" |
#include "views/controls/textfield/textfield_controller.h" |
@@ -29,6 +30,7 @@ |
#include "views/metrics.h" |
#include "views/views_delegate.h" |
#include "views/widget/widget.h" |
+#include "views/window/window.h" |
#if defined(OS_LINUX) |
#include "ui/gfx/gtk_util.h" |
@@ -261,7 +263,14 @@ void NativeTextfieldViews::ShowContextMenuForView(View* source, |
const gfx::Point& p, |
bool is_mouse_gesture) { |
InitContextMenuIfRequired(); |
- context_menu_menu_->RunContextMenuAt(p); |
+ |
+ views::MenuModelAdapter menu_delegate(context_menu_contents_.get()); |
+ views::MenuItemView menu(&menu_delegate); |
oshima
2011/06/03 17:06:23
Any reason to change from member variable to stack
rhashimoto
2011/06/03 19:20:44
The menu needs to be updated because item enabled
|
+ menu_delegate.BuildMenu(&menu); |
+ menu.RunMenuAt(GetWindow()->GetNativeWindow(), NULL, |
+ gfx::Rect(p, gfx::Size(0, 0)), |
+ views::MenuItemView::TOPLEFT, |
oshima
2011/06/03 17:06:23
RTL?
rhashimoto
2011/06/03 19:20:44
Should I make it TOPRIGHT for RTL? Menu2 context
|
+ true); |
} |
///////////////////////////////////////////////////////////////// |
@@ -1031,7 +1040,7 @@ void NativeTextfieldViews::UpdateAfterChange(bool text_changed, |
} |
void NativeTextfieldViews::InitContextMenuIfRequired() { |
- if (context_menu_menu_.get()) |
+ if (context_menu_contents_.get()) |
return; |
context_menu_contents_.reset(new ui::SimpleMenuModel(this)); |
context_menu_contents_->AddItemWithStringId(IDS_APP_CUT, IDS_APP_CUT); |
@@ -1041,7 +1050,6 @@ void NativeTextfieldViews::InitContextMenuIfRequired() { |
context_menu_contents_->AddSeparator(); |
context_menu_contents_->AddItemWithStringId(IDS_APP_SELECT_ALL, |
IDS_APP_SELECT_ALL); |
- context_menu_menu_.reset(new Menu2(context_menu_contents_.get())); |
} |
void NativeTextfieldViews::OnTextInputTypeChanged() { |