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

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

Issue 7720012: Moves ownership of MenuItemView to MenuRunner as well as responbility (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unit test Created 9 years, 4 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 468a9c9c671d44cce2edc00529709a0740d8bfeb..5b43215626d3885d0469f24c6974ea1af41e917c 100644
--- a/views/controls/textfield/native_textfield_views.cc
+++ b/views/controls/textfield/native_textfield_views.cc
@@ -22,6 +22,7 @@
#include "views/controls/focusable_border.h"
#include "views/controls/menu/menu_item_view.h"
#include "views/controls/menu/menu_model_adapter.h"
+#include "views/controls/menu/menu_runner.h"
#include "views/controls/textfield/textfield.h"
#include "views/controls/textfield/textfield_controller.h"
#include "views/controls/textfield/textfield_views_model.h"
@@ -298,11 +299,11 @@ void NativeTextfieldViews::ShowContextMenuForView(View* source,
const gfx::Point& p,
bool is_mouse_gesture) {
UpdateContextMenu();
- context_menu_menu_->RunMenuAt(GetWidget(),
- NULL,
- gfx::Rect(p, gfx::Size()),
- views::MenuItemView::TOPLEFT,
- true);
+ if (context_menu_runner_->RunMenuAt(
+ GetWidget(), NULL, gfx::Rect(p, gfx::Size()),
+ views::MenuItemView::TOPLEFT, MenuRunner::HAS_MNEMONICS) ==
+ MenuRunner::MENU_DELETED)
+ return;
}
/////////////////////////////////////////////////////////////////
@@ -975,11 +976,11 @@ void NativeTextfieldViews::UpdateContextMenu() {
context_menu_delegate_.reset(
new views::MenuModelAdapter(context_menu_contents_.get()));
- context_menu_menu_.reset(
- new views::MenuItemView(context_menu_delegate_.get()));
+ context_menu_runner_.reset(
+ new MenuRunner(new views::MenuItemView(context_menu_delegate_.get())));
}
- context_menu_delegate_->BuildMenu(context_menu_menu_.get());
+ context_menu_delegate_->BuildMenu(context_menu_runner_->GetMenu());
}
void NativeTextfieldViews::OnTextInputTypeChanged() {

Powered by Google App Engine
This is Rietveld 408576698