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..6e2bfeb61bcca2cb23943c2b49ac486d0308b7ad 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,31 @@ class SaveCardBubbleView; |
// Interface that exposes controller functionality to SaveCardBubbleView. |
class SaveCardBubbleController { |
public: |
+ struct LegalMessageLine { |
+ struct Link { |
+ gfx::Range range; |
+ GURL url; |
+ }; |
+ |
+ LegalMessageLine(); |
+ ~LegalMessageLine(); |
+ |
+ base::string16 text; |
+ std::vector<Link> links; |
+ }; |
+ |
+ // 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 std::vector<LegalMessageLine>& GetLegalMessageLines() const = 0; |
+ |
protected: |
SaveCardBubbleController() {} |
virtual ~SaveCardBubbleController() {} |