summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/views/infobars/after_translate_infobar.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/views/infobars/after_translate_infobar.cc')
-rw-r--r--chrome/browser/ui/views/infobars/after_translate_infobar.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/chrome/browser/ui/views/infobars/after_translate_infobar.cc b/chrome/browser/ui/views/infobars/after_translate_infobar.cc
index a661079..e6879da 100644
--- a/chrome/browser/ui/views/infobars/after_translate_infobar.cc
+++ b/chrome/browser/ui/views/infobars/after_translate_infobar.cc
@@ -126,6 +126,8 @@ void AfterTranslateInfoBar::ViewHierarchyChanged(bool is_add,
void AfterTranslateInfoBar::ButtonPressed(views::Button* sender,
const views::Event& event) {
+ if (!owned())
+ return; // We're closing; don't call anything, it might access the owner.
if (sender == revert_button_)
GetDelegate()->RevertTranslation();
else
@@ -163,6 +165,8 @@ void AfterTranslateInfoBar::TargetLanguageChanged() {
}
void AfterTranslateInfoBar::RunMenu(View* source, const gfx::Point& pt) {
+ if (!owned())
+ return; // We're closing; don't call anything, it might access the owner.
ui::MenuModel* menu_model = NULL;
views::MenuButton* button = NULL;
views::MenuItemView::AnchorPosition anchor = views::MenuItemView::TOPLEFT;
@@ -179,5 +183,4 @@ void AfterTranslateInfoBar::RunMenu(View* source, const gfx::Point& pt) {
anchor = views::MenuItemView::TOPRIGHT;
}
RunMenuAt(menu_model, button, anchor);
- // TODO(pkasting): this may be deleted after rewrite.
}