Index: chrome/browser/ui/views/infobars/after_translate_infobar.cc |
diff --git a/chrome/browser/ui/views/infobars/after_translate_infobar.cc b/chrome/browser/ui/views/infobars/after_translate_infobar.cc |
index 3ce1c3f3027149aa15ba094963b96def37537d41..6100958c66a21ae3b89a7a619f0b311af914a585 100644 |
--- a/chrome/browser/ui/views/infobars/after_translate_infobar.cc |
+++ b/chrome/browser/ui/views/infobars/after_translate_infobar.cc |
@@ -12,6 +12,7 @@ |
#include "views/controls/label.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/widget/widget.h" |
AfterTranslateInfoBar::AfterTranslateInfoBar( |
@@ -176,8 +177,10 @@ void AfterTranslateInfoBar::RunMenu(View* source, const gfx::Point& pt) { |
} |
views::MenuModelAdapter menu_model_adapter(menu_model); |
- views::MenuItemView menu(&menu_model_adapter); |
- menu_model_adapter.BuildMenu(&menu); |
- menu.RunMenuAt(source->GetWidget(), NULL, gfx::Rect(pt, gfx::Size()), |
- views::MenuItemView::TOPRIGHT, true); |
+ views::MenuRunner menu_runner(menu_model_adapter.CreateMenu()); |
+ if (menu_runner.RunMenuAt( |
+ source->GetWidget(), NULL, gfx::Rect(pt, gfx::Size()), |
+ views::MenuItemView::TOPRIGHT, views::MenuRunner::HAS_MNEMONICS) == |
+ views::MenuRunner::MENU_DELETED) |
+ return; |
} |