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

Unified Diff: chrome/browser/ui/views/infobars/after_translate_infobar.cc

Issue 7796010: Attempt at fixing crash in menus shown from infobars. Here's what the (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ignore return value Created 9 years, 3 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/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 43803afdd4bd0f86c6070064d750519a291c3904..a661079758f94352126c0ee5d8ce48719a30ae14 100644
--- a/chrome/browser/ui/views/infobars/after_translate_infobar.cc
+++ b/chrome/browser/ui/views/infobars/after_translate_infobar.cc
@@ -11,9 +11,6 @@
#include "views/controls/button/menu_button.h"
#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(
TabContentsWrapper* owner,
@@ -167,20 +164,20 @@ void AfterTranslateInfoBar::TargetLanguageChanged() {
void AfterTranslateInfoBar::RunMenu(View* source, const gfx::Point& pt) {
ui::MenuModel* menu_model = NULL;
+ views::MenuButton* button = NULL;
+ views::MenuItemView::AnchorPosition anchor = views::MenuItemView::TOPLEFT;
if (source == original_language_menu_button_) {
menu_model = &original_language_menu_model_;
+ button = original_language_menu_button_;
} else if (source == target_language_menu_button_) {
menu_model = &target_language_menu_model_;
+ button = target_language_menu_button_;
} else {
DCHECK_EQ(options_menu_button_, source);
menu_model = &options_menu_model_;
+ button = options_menu_button_;
+ anchor = views::MenuItemView::TOPRIGHT;
}
-
- views::MenuModelAdapter menu_model_adapter(menu_model);
- menu_runner_.reset(new views::MenuRunner(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;
+ RunMenuAt(menu_model, button, anchor);
+ // TODO(pkasting): this may be deleted after rewrite.
}

Powered by Google App Engine
This is Rietveld 408576698