Chromium Code Reviews| 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() { |