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

Unified Diff: chrome/browser/ui/views/infobars/before_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/before_translate_infobar.cc
diff --git a/chrome/browser/ui/views/infobars/before_translate_infobar.cc b/chrome/browser/ui/views/infobars/before_translate_infobar.cc
index cadd177ea43fb3d2e1fcdbdf47f3f4498bec0ccf..d8d557b69b6b5a83d5ec52f744271437af4e5c9d 100644
--- a/chrome/browser/ui/views/infobars/before_translate_infobar.cc
+++ b/chrome/browser/ui/views/infobars/before_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"
BeforeTranslateInfoBar::BeforeTranslateInfoBar(
TabContentsWrapper* owner,
@@ -190,17 +187,17 @@ void BeforeTranslateInfoBar::OriginalLanguageChanged() {
void BeforeTranslateInfoBar::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 == language_menu_button_) {
menu_model = &languages_menu_model_;
+ button = 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