Index: chrome/browser/ui/autofill/save_card_bubble_controller.h |
diff --git a/chrome/browser/ui/autofill/save_card_bubble_controller.h b/chrome/browser/ui/autofill/save_card_bubble_controller.h |
index 75ae33b142fa5a515948cc2e1e2e38d00a9da6ec..d8a21420d19ef52b89a3a1afb1bf5f247d1d9c8b 100644 |
--- a/chrome/browser/ui/autofill/save_card_bubble_controller.h |
+++ b/chrome/browser/ui/autofill/save_card_bubble_controller.h |
@@ -5,7 +5,12 @@ |
#ifndef CHROME_BROWSER_UI_AUTOFILL_SAVE_CARD_BUBBLE_CONTROLLER_H_ |
#define CHROME_BROWSER_UI_AUTOFILL_SAVE_CARD_BUBBLE_CONTROLLER_H_ |
+#include <vector> |
+ |
#include "base/macros.h" |
+#include "base/strings/string16.h" |
+#include "ui/gfx/range/range.h" |
+#include "url/gurl.h" |
namespace autofill { |
@@ -14,11 +19,33 @@ class SaveCardBubbleView; |
// Interface that exposes controller functionality to SaveCardBubbleView. |
class SaveCardBubbleController { |
public: |
+ struct LegalMessageLine { |
+ struct Link { |
+ gfx::Range range; |
+ GURL url; |
+ }; |
+ |
+ LegalMessageLine(); |
Evan Stade
2015/11/18 00:21:13
are you sure it's necessary to define this outside
bondd
2015/11/18 01:59:39
Yes. If I get rid of the constructor and destructo
|
+ ~LegalMessageLine(); |
+ |
+ base::string16 text; |
+ std::vector<Link> links; |
+ }; |
+ |
+ typedef std::vector<LegalMessageLine> LegalMessageLines; |
+ |
+ // Interaction. |
virtual void OnSaveButton() = 0; |
virtual void OnCancelButton() = 0; |
virtual void OnLearnMoreClicked() = 0; |
+ virtual void OnLegalMessageLinkClicked(const GURL& url) = 0; |
virtual void OnBubbleClosed() = 0; |
+ // State. |
+ |
+ // Returns empty vector if no legal message should be shown. |
+ virtual const LegalMessageLines& GetLegalMessageLines() const = 0; |
+ |
protected: |
SaveCardBubbleController() {} |
virtual ~SaveCardBubbleController() {} |