Index: chrome/browser/ui/views/autofill/save_card_icon_view.cc |
diff --git a/chrome/browser/ui/views/autofill/save_card_icon_view.cc b/chrome/browser/ui/views/autofill/save_card_icon_view.cc |
index 39d7820ee40570caea247846395e1ebb1d99c743..43f0daa5fa9343cf439270544a55784e94418221 100644 |
--- a/chrome/browser/ui/views/autofill/save_card_icon_view.cc |
+++ b/chrome/browser/ui/views/autofill/save_card_icon_view.cc |
@@ -29,15 +29,28 @@ SaveCardIconView::~SaveCardIconView() {} |
void SaveCardIconView::OnExecuting( |
BubbleIconView::ExecuteSource execute_source) {} |
-views::BubbleDelegateView* SaveCardIconView::GetBubble() const { |
+bool SaveCardIconView::OnMousePressed(const ui::MouseEvent& event) { |
+ bool result = BubbleIconView::OnMousePressed(event); |
+ |
+ SaveCardBubbleControllerImpl* controller = GetController(); |
+ if (controller) |
+ controller->HideBubble(); |
+ |
+ return result; |
+} |
+ |
+SaveCardBubbleControllerImpl* SaveCardIconView::GetController() const { |
if (!browser_) |
return nullptr; |
content::WebContents* web_contents = |
browser_->tab_strip_model()->GetActiveWebContents(); |
if (!web_contents) |
return nullptr; |
- autofill::SaveCardBubbleControllerImpl* controller = |
- autofill::SaveCardBubbleControllerImpl::FromWebContents(web_contents); |
+ return autofill::SaveCardBubbleControllerImpl::FromWebContents(web_contents); |
+} |
+ |
+views::BubbleDelegateView* SaveCardIconView::GetBubble() const { |
+ SaveCardBubbleControllerImpl* controller = GetController(); |
if (!controller) |
return nullptr; |