summaryrefslogtreecommitdiffstats
path: root/ui/views
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-26 00:29:05 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-26 00:29:05 +0000
commitbfc62feeadcea15648dde3eb01b6dcdfde972aa1 (patch)
tree0155b87930b84afd55c7d1e9cf517774e18ff3d7 /ui/views
parentfd01bda38591a60d78469c9e0790caf3c861a228 (diff)
downloadchromium_src-bfc62feeadcea15648dde3eb01b6dcdfde972aa1.zip
chromium_src-bfc62feeadcea15648dde3eb01b6dcdfde972aa1.tar.gz
chromium_src-bfc62feeadcea15648dde3eb01b6dcdfde972aa1.tar.bz2
views: Convert NativeTextfieldWin from Menu2 API to MenuModelApdater/MenuRunner API.
This patches removes the usage of the deprecated Menu2 API and makes it work under use_aura=1. BUG=124733 R=sky@chromium.org,msw@chromium.org Review URL: https://chromiumcodereview.appspot.com/10205005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134023 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views')
-rw-r--r--ui/views/controls/textfield/native_textfield_win.cc14
-rw-r--r--ui/views/controls/textfield/native_textfield_win.h4
2 files changed, 12 insertions, 6 deletions
diff --git a/ui/views/controls/textfield/native_textfield_win.cc b/ui/views/controls/textfield/native_textfield_win.cc
index 51e3404..11c6a4d 100644
--- a/ui/views/controls/textfield/native_textfield_win.cc
+++ b/ui/views/controls/textfield/native_textfield_win.cc
@@ -24,8 +24,9 @@
#include "ui/base/win/mouse_wheel_util.h"
#include "ui/gfx/native_theme_win.h"
#include "ui/views/controls/label.h"
-#include "ui/views/controls/menu/menu_2.h"
-#include "ui/views/controls/menu/menu_win.h"
+#include "ui/views/controls/menu/menu_item_view.h"
+#include "ui/views/controls/menu/menu_model_adapter.h"
+#include "ui/views/controls/menu/menu_runner.h"
#include "ui/views/controls/native/native_view_host.h"
#include "ui/views/controls/textfield/native_textfield_views.h"
#include "ui/views/controls/textfield/textfield.h"
@@ -527,7 +528,13 @@ void NativeTextfieldWin::OnContextMenu(HWND window, const POINT& point) {
MapWindowPoints(HWND_DESKTOP, &p, 1);
}
BuildContextMenu();
- context_menu_->RunContextMenuAt(gfx::Point(p));
+
+ MenuModelAdapter adapter(context_menu_contents_.get());
+ context_menu_runner_.reset(new MenuRunner(adapter.CreateMenu()));
+
+ ignore_result(context_menu_runner_->RunMenuAt(textfield_->GetWidget(), NULL,
+ gfx::Rect(gfx::Point(p), gfx::Size()), MenuItemView::TOPLEFT,
+ MenuRunner::HAS_MNEMONICS));
}
void NativeTextfieldWin::OnCopy() {
@@ -1155,7 +1162,6 @@ void NativeTextfieldWin::BuildContextMenu() {
context_menu_contents_->AddSeparator();
context_menu_contents_->AddItemWithStringId(IDS_APP_SELECT_ALL,
IDS_APP_SELECT_ALL);
- context_menu_.reset(new Menu2(context_menu_contents_.get()));
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/ui/views/controls/textfield/native_textfield_win.h b/ui/views/controls/textfield/native_textfield_win.h
index 5088a61..f8df261 100644
--- a/ui/views/controls/textfield/native_textfield_win.h
+++ b/ui/views/controls/textfield/native_textfield_win.h
@@ -27,7 +27,7 @@ class SelectionModel;
namespace views {
-class Menu2;
+class MenuRunner;
class NativeViewHost;
class Textfield;
@@ -265,7 +265,7 @@ class NativeTextfieldWin
// The contents of the context menu for the edit.
scoped_ptr<ui::SimpleMenuModel> context_menu_contents_;
- scoped_ptr<Menu2> context_menu_;
+ scoped_ptr<MenuRunner> context_menu_runner_;
// Border insets.
gfx::Insets content_insets_;