Index: chrome/browser/ui/views/autofill/save_card_bubble_views.h |
diff --git a/chrome/browser/ui/views/autofill/save_card_bubble_views.h b/chrome/browser/ui/views/autofill/save_card_bubble_views.h |
index eba7e6025ded9d9cb9bc9659c8e88544cbc01c03..958ffd0ed112e0aa4e83351ef8c9d7a5f22a5220 100644 |
--- a/chrome/browser/ui/views/autofill/save_card_bubble_views.h |
+++ b/chrome/browser/ui/views/autofill/save_card_bubble_views.h |
@@ -6,10 +6,12 @@ |
#define CHROME_BROWSER_UI_VIEWS_AUTOFILL_SAVE_CARD_BUBBLE_VIEWS_H_ |
#include "base/macros.h" |
+#include "chrome/browser/ui/autofill/save_card_bubble_controller.h" |
#include "chrome/browser/ui/autofill/save_card_bubble_view.h" |
#include "chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h" |
#include "ui/views/controls/button/button.h" |
#include "ui/views/controls/link_listener.h" |
+#include "ui/views/controls/styled_label_listener.h" |
namespace content { |
class WebContents; |
@@ -18,19 +20,19 @@ class WebContents; |
namespace views { |
class LabelButton; |
class Link; |
+class StyledLabel; |
} |
namespace autofill { |
-class SaveCardBubbleController; |
- |
// This class displays the "Save credit card?" bubble that is shown when the |
// user submits a form with a credit card number that Autofill has not |
// previously saved. |
class SaveCardBubbleViews : public SaveCardBubbleView, |
public LocationBarBubbleDelegateView, |
public views::ButtonListener, |
- public views::LinkListener { |
+ public views::LinkListener, |
+ public views::StyledLabelListener { |
public: |
// Bubble will be anchored to |anchor_view|. |
SaveCardBubbleViews(views::View* anchor_view, |
@@ -54,9 +56,17 @@ class SaveCardBubbleViews : public SaveCardBubbleView, |
// views::LinkListener |
void LinkClicked(views::Link* source, int event_flags) override; |
+ // views::StyledLabelListener |
+ void StyledLabelLinkClicked(views::StyledLabel& label, |
+ const gfx::Range& range, |
+ int event_flags) override; |
+ |
private: |
~SaveCardBubbleViews() override; |
+ views::View* CreateMainContentView(); |
+ views::View* CreateFootnoteView(); |
+ |
// views::BubbleDelegateView |
void Init() override; |
@@ -67,6 +77,12 @@ class SaveCardBubbleViews : public SaveCardBubbleView, |
views::LabelButton* cancel_button_; |
+ // Mapping of each StyledLabel in the footer to the corresponding |
+ // LegalMessageLine. Weak references. |
+ std::map<views::StyledLabel*, |
+ const SaveCardBubbleController::LegalMessageLine*> |
+ legal_message_lines_; |
+ |
views::Link* learn_more_link_; |
DISALLOW_COPY_AND_ASSIGN(SaveCardBubbleViews); |