Index: chrome/browser/ui/views/infobars/infobar_view.cc |
diff --git a/chrome/browser/ui/views/infobars/infobar_view.cc b/chrome/browser/ui/views/infobars/infobar_view.cc |
index 8faa905a9dfc4a60100ab33d6db12678f2ab148e..2da2235aadcd039838704ae9504b22ddc31596a2 100644 |
--- a/chrome/browser/ui/views/infobars/infobar_view.cc |
+++ b/chrome/browser/ui/views/infobars/infobar_view.cc |
@@ -210,7 +210,10 @@ void InfoBarView::Layout() { |
void InfoBarView::ViewHierarchyChanged(bool is_add, View* parent, View* child) { |
View::ViewHierarchyChanged(is_add, parent, child); |
- if (is_add && (child == this) && (close_button_ == NULL)) { |
+ if (!is_add && (child == this)) { |
+ // We're being removed. Cancel any menus we may have open. |
Peter Kasting
2011/09/12 18:06:00
Do this at the top of PlatformSpecificHide() inste
|
+ CancelMenu(); |
+ } else if (is_add && (child == this) && (close_button_ == NULL)) { |
gfx::Image* image = delegate()->GetIcon(); |
if (image) { |
icon_ = new views::ImageView; |