Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(909)

Unified Diff: views/controls/textfield/native_textfield_views.cc

Issue 7104013: Convert NativeTextFieldViews context menu from Menu2 to MenuItemView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unit test compile. Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 2d7b6152073a1d0b13c7a01bbbc2eb4aa6236271..e007c844a13a6fd09cdb743f24618b28c25c7093 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"
@@ -258,8 +260,11 @@ gfx::NativeCursor NativeTextfieldViews::GetCursor(const MouseEvent& event) {
void NativeTextfieldViews::ShowContextMenuForView(View* source,
const gfx::Point& p,
bool is_mouse_gesture) {
- InitContextMenuIfRequired();
- context_menu_menu_->RunContextMenuAt(p);
+ UpdateContextMenu();
+ context_menu_menu_->RunMenuAt(GetWindow()->GetNativeWindow(), NULL,
oshima 2011/06/07 17:21:44 move NULL to next line
rhashimoto 2011/06/07 21:07:22 Done.
+ gfx::Rect(p, gfx::Size()),
+ views::MenuItemView::TOPLEFT,
+ true);
}
/////////////////////////////////////////////////////////////////
@@ -1032,18 +1037,24 @@ void NativeTextfieldViews::UpdateAfterChange(bool text_changed,
}
}
-void NativeTextfieldViews::InitContextMenuIfRequired() {
- if (context_menu_menu_.get())
- return;
- context_menu_contents_.reset(new ui::SimpleMenuModel(this));
- context_menu_contents_->AddItemWithStringId(IDS_APP_CUT, IDS_APP_CUT);
- context_menu_contents_->AddItemWithStringId(IDS_APP_COPY, IDS_APP_COPY);
- context_menu_contents_->AddItemWithStringId(IDS_APP_PASTE, IDS_APP_PASTE);
- context_menu_contents_->AddItemWithStringId(IDS_APP_DELETE, IDS_APP_DELETE);
- 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::UpdateContextMenu() {
+ if (!context_menu_contents_.get()) {
+ context_menu_contents_.reset(new ui::SimpleMenuModel(this));
+ context_menu_contents_->AddItemWithStringId(IDS_APP_CUT, IDS_APP_CUT);
+ context_menu_contents_->AddItemWithStringId(IDS_APP_COPY, IDS_APP_COPY);
+ context_menu_contents_->AddItemWithStringId(IDS_APP_PASTE, IDS_APP_PASTE);
+ context_menu_contents_->AddItemWithStringId(IDS_APP_DELETE, IDS_APP_DELETE);
+ context_menu_contents_->AddSeparator();
+ context_menu_contents_->AddItemWithStringId(IDS_APP_SELECT_ALL,
+ IDS_APP_SELECT_ALL);
+
+ context_menu_delegate_.reset(
+ new views::MenuModelAdapter(context_menu_contents_.get()));
+ context_menu_menu_.reset(
+ new views::MenuItemView(context_menu_delegate_.get()));
+ }
+
+ context_menu_delegate_->BuildMenu(context_menu_menu_.get());
}
void NativeTextfieldViews::OnTextInputTypeChanged() {
« no previous file with comments | « views/controls/textfield/native_textfield_views.h ('k') | views/controls/textfield/native_textfield_views_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698