Index: chrome/browser/ui/views/autofill/save_card_icon_view.h |
diff --git a/chrome/browser/ui/views/autofill/save_card_icon_view.h b/chrome/browser/ui/views/autofill/save_card_icon_view.h |
index f591420faba5724cef50a760d4fb31e6b10aec4a..f2c2971a00bad3d473dd4ae77b87e32ed7d37557 100644 |
--- a/chrome/browser/ui/views/autofill/save_card_icon_view.h |
+++ b/chrome/browser/ui/views/autofill/save_card_icon_view.h |
@@ -6,6 +6,7 @@ |
#define CHROME_BROWSER_UI_VIEWS_AUTOFILL_SAVE_CARD_ICON_VIEW_H_ |
#include "base/macros.h" |
+#include "chrome/browser/ui/tabs/tab_strip_model_observer.h" |
#include "chrome/browser/ui/views/location_bar/bubble_icon_view.h" |
class Browser; |
@@ -13,10 +14,12 @@ class CommandUpdater; |
namespace autofill { |
+class SaveCardBubbleControllerImpl; |
+ |
// The location bar icon to show the Save Credit Card bubble where the user can |
// choose to save the credit card info to use again later without re-entering |
// it. |
-class SaveCardIconView : public BubbleIconView { |
+class SaveCardIconView : public BubbleIconView, public TabStripModelObserver { |
public: |
explicit SaveCardIconView(CommandUpdater* command_updater, Browser* browser); |
~SaveCardIconView() override; |
@@ -24,10 +27,16 @@ class SaveCardIconView : public BubbleIconView { |
protected: |
// BubbleIconView: |
void OnExecuting(BubbleIconView::ExecuteSource execute_source) override; |
+ bool OnMousePressed(const ui::MouseEvent& event) override; |
views::BubbleDelegateView* GetBubble() const override; |
gfx::VectorIconId GetVectorIcon() const override; |
+ // TabStripModelObserver: |
+ void TabDeactivated(content::WebContents* contents) override; |
+ |
private: |
+ SaveCardBubbleControllerImpl* GetController() const; |
+ |
// May be nullptr. |
Browser* browser_; |