Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(903)

Unified Diff: chrome/browser/ui/views/autofill/save_card_bubble_views.cc

Issue 1407093007: Autofill: Add legal message footer to save credit card bubble. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/autofill/save_card_bubble_views.cc
diff --git a/chrome/browser/ui/views/autofill/save_card_bubble_views.cc b/chrome/browser/ui/views/autofill/save_card_bubble_views.cc
index 214f508e7316c2e04f5ea2459ded67a8425f03c9..7605238dd260805478af64d1753713b905b63fef 100644
--- a/chrome/browser/ui/views/autofill/save_card_bubble_views.cc
+++ b/chrome/browser/ui/views/autofill/save_card_bubble_views.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/ui/views/autofill/save_card_bubble_views.h"
#include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/ui/autofill/autofill_dialog_types.h"
#include "chrome/browser/ui/autofill/save_card_bubble_controller.h"
#include "grit/components_strings.h"
#include "ui/base/l10n/l10n_util.h"
@@ -12,6 +13,8 @@
#include "ui/views/controls/button/blue_button.h"
#include "ui/views/controls/button/label_button.h"
#include "ui/views/controls/link.h"
+#include "ui/views/controls/styled_label.h"
+#include "ui/views/layout/box_layout.h"
#include "ui/views/layout/grid_layout.h"
#include "ui/views/layout/layout_constants.h"
@@ -95,14 +98,27 @@ void SaveCardBubbleViews::LinkClicked(views::Link* source, int event_flags) {
controller_->OnLearnMoreClicked();
}
-void SaveCardBubbleViews::Init() {
+void SaveCardBubbleViews::StyledLabelLinkClicked(const gfx::Range& range,
+ int event_flags) {
+ controller_->OnLegalMessageLinkClicked(range);
+}
+
+// Create view containing everything except for the footnote.
+// ASCII art diagram of view contents:
+// +---------------------------------------------------------------------------+
+// | |
+// | learn_more_link_ save_button_ cancel_button_ |
+// | |
+// +---------------------------------------------------------------------------+
+views::View* SaveCardBubbleViews::CreateMainContentView() {
enum {
COLUMN_SET_ID_MESSAGE,
COLUMN_SET_ID_BUTTONS,
};
- GridLayout* layout = new GridLayout(this);
- SetLayoutManager(layout);
+ View* view = new View();
+ GridLayout* layout = new GridLayout(view);
+ view->SetLayoutManager(layout);
// Set up ColumnSet that will contain the full-width message text.
int horizontal_inset = GetBubbleFrameView()->GetTitleInsets().left();
@@ -151,8 +167,45 @@ void SaveCardBubbleViews::Init() {
}
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
+ return view;
+}
+
+// Create view containing the legal message text.
+views::View* SaveCardBubbleViews::CreateFootnoteView() {
+ // Use BoxLayout to provide insets around the label.
+ View* view = new View();
+ int horizontal_inset = GetBubbleFrameView()->GetTitleInsets().left();
+ view->SetLayoutManager(
+ new views::BoxLayout(views::BoxLayout::kHorizontal, horizontal_inset,
+ views::kRelatedControlVerticalSpacing, 0));
+ view->SetBorder(
+ views::Border::CreateSolidSidedBorder(1, 0, 0, 0, kSubtleBorderColor));
+ view->set_background(
+ views::Background::CreateSolidBackground(kLightShadingColor));
Evan Stade 2015/11/07 03:03:19 this should probably actually use color_utils::Ble
bondd 2015/11/11 01:53:36 How about I change all of these at once in a follo
Evan Stade 2015/11/11 22:22:54 sure, can you file a bug for it
bondd 2015/11/13 01:19:52 Done. https://code.google.com/p/chromium/issues/de
+
+ // Create the StyledLabel.
+ views::StyledLabel* label =
+ new views::StyledLabel(controller_->GetLegalMessage(), this);
+ views::StyledLabel::RangeStyleInfo style =
+ views::StyledLabel::RangeStyleInfo::CreateForLink();
Evan Stade 2015/11/07 03:03:19 no need to put this here, you're copying it over a
Justin Donnelly 2015/11/09 16:04:35 The default for CreateForLink in not underlined. (
Evan Stade 2015/11/09 18:59:10 uh, well it's a little different. A standalone lin
bondd 2015/11/11 01:53:36 Done. And I removed the underline from the "Learn
+
+ // Add all of the label's links.
+ for (size_t i = 0; i < controller_->GetLegalMessageNumLinks(); ++i) {
+ label->AddStyleRange(controller_->GetLegalMessageLinkRange(i), style);
+ }
+ label->SizeToFit(kWidthOfMessageText);
+ view->AddChildView(label);
+
+ return view;
+}
+
+void SaveCardBubbleViews::Init() {
+ SetLayoutManager(new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 0));
+ AddChildView(CreateMainContentView());
+ if (!controller_->GetLegalMessage().empty())
+ AddChildView(CreateFootnoteView());
+
set_margins(gfx::Insets(1, 0, 1, 0));
- Layout();
}
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698