Index: chrome/browser/ui/views/infobars/after_translate_infobar.cc |
=================================================================== |
--- chrome/browser/ui/views/infobars/after_translate_infobar.cc (revision 65711) |
+++ chrome/browser/ui/views/infobars/after_translate_infobar.cc (working copy) |
@@ -117,15 +117,21 @@ |
void AfterTranslateInfoBar::ButtonPressed(views::Button* sender, |
const views::Event& event) { |
- if (sender == revert_button_) { |
+ if (delegate() && (sender == revert_button_)) { |
GetDelegate()->RevertTranslation(); |
return; |
} |
+ |
TranslateInfoBarBase::ButtonPressed(sender, event); |
} |
void AfterTranslateInfoBar::RunMenu(views::View* source, |
const gfx::Point& pt) { |
+ if (!delegate()) |
+ return; |
+ // TODO(pkasting): What if the InfoBarDelegate is closed while the menu is |
+ // open? Then the menu models may deref garbage delegate pointers. |
+ |
if (source == original_language_menu_button_) { |
if (!original_language_menu_.get()) { |
original_language_menu_.reset( |