Index: chrome/browser/ui/cocoa/location_bar/manage_passwords_decoration.mm |
diff --git a/chrome/browser/ui/cocoa/location_bar/manage_passwords_decoration.mm b/chrome/browser/ui/cocoa/location_bar/manage_passwords_decoration.mm |
index edab9a05196fbddfa2b9b31fd5ee5b0c91084d12..802f4ed9cd29c35a54b2d7a97ccd5b3d2aaac47f 100644 |
--- a/chrome/browser/ui/cocoa/location_bar/manage_passwords_decoration.mm |
+++ b/chrome/browser/ui/cocoa/location_bar/manage_passwords_decoration.mm |
@@ -25,6 +25,10 @@ void ManagePasswordsIconCocoa::UpdateVisibleUI() { |
decoration_->UpdateVisibleUI(); |
} |
+void ManagePasswordsIconCocoa::OnChangingState() { |
+ decoration_->HideBubble(); |
+} |
+ |
// ManagePasswordsDecoration |
ManagePasswordsDecoration::ManagePasswordsDecoration( |
@@ -75,8 +79,6 @@ void ManagePasswordsDecoration::UpdateUIState() { |
if (icon_->state() == password_manager::ui::INACTIVE_STATE) { |
SetVisible(false); |
SetImage(nil); |
- if (ManagePasswordsBubbleCocoa::instance()) |
- ManagePasswordsBubbleCocoa::instance()->Close(); |
return; |
} |
SetVisible(true); |
@@ -87,3 +89,8 @@ void ManagePasswordsDecoration::UpdateVisibleUI() { |
UpdateUIState(); |
OnChange(); |
} |
+ |
+void ManagePasswordsDecoration::HideBubble() { |
+ if (icon()->active() && ManagePasswordsBubbleCocoa::instance()) |
+ ManagePasswordsBubbleCocoa::instance()->Close(); |
+} |