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

Unified Diff: chrome/browser/chromeos/login/language_switch_menu.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: chrome/browser/chromeos/login/language_switch_menu.cc
diff --git a/chrome/browser/chromeos/login/language_switch_menu.cc b/chrome/browser/chromeos/login/language_switch_menu.cc
index 50425bee18d77da8cdad0d039a7de2c8701ebc7f..c1c39d4cc5961fbe2e93fadbf5f2f1529f23882a 100644
--- a/chrome/browser/chromeos/login/language_switch_menu.cc
+++ b/chrome/browser/chromeos/login/language_switch_menu.cc
@@ -23,6 +23,7 @@
#include "ui/gfx/platform_font_gtk.h"
#include "views/controls/button/menu_button.h"
#include "views/controls/menu/menu_item_view.h"
+#include "views/controls/menu/menu_runner.h"
#include "views/controls/menu/submenu_view.h"
#include "views/widget/widget.h"
@@ -38,7 +39,8 @@ const int kMoreLanguagesSubMenu = 200;
namespace chromeos {
LanguageSwitchMenu::LanguageSwitchMenu()
- : ALLOW_THIS_IN_INITIALIZER_LIST(menu_(new views::MenuItemView(this))) {
+ : ALLOW_THIS_IN_INITIALIZER_LIST(menu_(new views::MenuItemView(this))),
+ menu_runner_(new views::MenuRunner(menu_)) {
}
LanguageSwitchMenu::~LanguageSwitchMenu() {}
@@ -171,8 +173,10 @@ void LanguageSwitchMenu::RunMenu(views::View* source, const gfx::Point& pt) {
else
new_pt.set_x(pt.x() - reverse_offset);
- menu_->RunMenuAt(button->GetWidget(), button,
- gfx::Rect(new_pt, gfx::Size()), views::MenuItemView::TOPLEFT, true);
+ if (menu_runner_->RunMenuAt(button->GetWidget(), button,
+ gfx::Rect(new_pt, gfx::Size()), views::MenuItemView::TOPLEFT,
+ views::MenuRunner::HAS_MNEMONICS) == views::MenuRunner::MENU_DELETED)
+ return;
}
////////////////////////////////////////////////////////////////////////////////

Powered by Google App Engine
This is Rietveld 408576698