| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/views/autofill/autofill_dialog_views.h" | 5 #include "chrome/browser/ui/views/autofill/autofill_dialog_views.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 // Horizontal padding between text and other elements (in pixels). | 70 // Horizontal padding between text and other elements (in pixels). |
| 71 const int kAroundTextPadding = 4; | 71 const int kAroundTextPadding = 4; |
| 72 | 72 |
| 73 // The space between the edges of a notification bar and the text within (in | 73 // The space between the edges of a notification bar and the text within (in |
| 74 // pixels). | 74 // pixels). |
| 75 const int kNotificationPadding = 17; | 75 const int kNotificationPadding = 17; |
| 76 | 76 |
| 77 // Vertical padding above and below each detail section (in pixels). | 77 // Vertical padding above and below each detail section (in pixels). |
| 78 const int kDetailSectionVerticalPadding = 10; | 78 const int kDetailSectionVerticalPadding = 10; |
| 79 | 79 |
| 80 const int kAutocheckoutStepsAreaPadding = 28; | |
| 81 const int kAutocheckoutStepInset = 20; | |
| 82 | |
| 83 const int kAutocheckoutProgressBarWidth = 375; | |
| 84 const int kAutocheckoutProgressBarHeight = 15; | |
| 85 | |
| 86 const int kArrowHeight = 7; | 80 const int kArrowHeight = 7; |
| 87 const int kArrowWidth = 2 * kArrowHeight; | 81 const int kArrowWidth = 2 * kArrowHeight; |
| 88 | 82 |
| 89 // The padding inside the edges of the dialog, in pixels. | 83 // The padding inside the edges of the dialog, in pixels. |
| 90 const int kDialogEdgePadding = 20; | 84 const int kDialogEdgePadding = 20; |
| 91 | 85 |
| 92 // Slight shading for mouse hover and legal document background. | 86 // Slight shading for mouse hover and legal document background. |
| 93 SkColor kShadingColor = SkColorSetARGB(7, 0, 0, 0); | 87 SkColor kShadingColor = SkColorSetARGB(7, 0, 0, 0); |
| 94 | 88 |
| 95 // A border color for the legal document view. | 89 // A border color for the legal document view. |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 PreferredSizeChanged(); | 258 PreferredSizeChanged(); |
| 265 } | 259 } |
| 266 virtual void ChildPreferredSizeChanged(views::View* child) OVERRIDE { | 260 virtual void ChildPreferredSizeChanged(views::View* child) OVERRIDE { |
| 267 PreferredSizeChanged(); | 261 PreferredSizeChanged(); |
| 268 } | 262 } |
| 269 | 263 |
| 270 private: | 264 private: |
| 271 DISALLOW_COPY_AND_ASSIGN(LayoutPropagationView); | 265 DISALLOW_COPY_AND_ASSIGN(LayoutPropagationView); |
| 272 }; | 266 }; |
| 273 | 267 |
| 274 // A class which displays the status of an individual step in an | |
| 275 // Autocheckout flow. | |
| 276 class AutocheckoutStepProgressView : public views::View { | |
| 277 public: | |
| 278 AutocheckoutStepProgressView(const base::string16& description, | |
| 279 const gfx::Font& font, | |
| 280 const SkColor color, | |
| 281 const bool is_icon_visible) { | |
| 282 views::GridLayout* layout = new views::GridLayout(this); | |
| 283 SetLayoutManager(layout); | |
| 284 const int kColumnSetId = 0; | |
| 285 views::ColumnSet* columns = layout->AddColumnSet(kColumnSetId); | |
| 286 columns->AddColumn(views::GridLayout::LEADING, | |
| 287 views::GridLayout::CENTER, | |
| 288 0, | |
| 289 views::GridLayout::USE_PREF, | |
| 290 0, | |
| 291 0); | |
| 292 columns->AddPaddingColumn(0, 8); | |
| 293 columns->AddColumn(views::GridLayout::LEADING, | |
| 294 views::GridLayout::CENTER, | |
| 295 0, | |
| 296 views::GridLayout::USE_PREF, | |
| 297 0, | |
| 298 0); | |
| 299 layout->StartRow(0, kColumnSetId); | |
| 300 views::Label* label = new views::Label(); | |
| 301 label->SetHorizontalAlignment(gfx::ALIGN_LEFT); | |
| 302 label->set_border(views::Border::CreateEmptyBorder(0, 0, 0, 0)); | |
| 303 label->SetText(description); | |
| 304 label->SetFont(font); | |
| 305 label->SetEnabledColor(color); | |
| 306 | |
| 307 views::ImageView* icon = new views::ImageView(); | |
| 308 icon->SetVisible(is_icon_visible); | |
| 309 icon->SetImage(ui::ResourceBundle::GetSharedInstance().GetImageNamed( | |
| 310 IDR_WALLET_STEP_CHECK).ToImageSkia()); | |
| 311 | |
| 312 layout->AddView(icon); | |
| 313 layout->AddView(label); | |
| 314 } | |
| 315 | |
| 316 virtual ~AutocheckoutStepProgressView() {} | |
| 317 | |
| 318 private: | |
| 319 DISALLOW_COPY_AND_ASSIGN(AutocheckoutStepProgressView); | |
| 320 }; | |
| 321 | |
| 322 // A tooltip icon (just an ImageView with a tooltip). Looks like (?). | 268 // A tooltip icon (just an ImageView with a tooltip). Looks like (?). |
| 323 class TooltipIcon : public views::ImageView { | 269 class TooltipIcon : public views::ImageView { |
| 324 public: | 270 public: |
| 325 explicit TooltipIcon(const base::string16& tooltip) : tooltip_(tooltip) { | 271 explicit TooltipIcon(const base::string16& tooltip) : tooltip_(tooltip) { |
| 326 SetImage(ui::ResourceBundle::GetSharedInstance().GetImageNamed( | 272 SetImage(ui::ResourceBundle::GetSharedInstance().GetImageNamed( |
| 327 IDR_AUTOFILL_TOOLTIP_ICON).ToImageSkia()); | 273 IDR_AUTOFILL_TOOLTIP_ICON).ToImageSkia()); |
| 328 } | 274 } |
| 329 virtual ~TooltipIcon() {} | 275 virtual ~TooltipIcon() {} |
| 330 | 276 |
| 331 // views::View implementation | 277 // views::View implementation |
| (...skipping 797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1129 } | 1075 } |
| 1130 | 1076 |
| 1131 void AutofillDialogViews::SuggestionView::SetTextfield( | 1077 void AutofillDialogViews::SuggestionView::SetTextfield( |
| 1132 const base::string16& placeholder_text, | 1078 const base::string16& placeholder_text, |
| 1133 const gfx::Image& icon) { | 1079 const gfx::Image& icon) { |
| 1134 decorated_->set_placeholder_text(placeholder_text); | 1080 decorated_->set_placeholder_text(placeholder_text); |
| 1135 decorated_->SetIcon(icon); | 1081 decorated_->SetIcon(icon); |
| 1136 decorated_->SetVisible(!placeholder_text.empty()); | 1082 decorated_->SetVisible(!placeholder_text.empty()); |
| 1137 } | 1083 } |
| 1138 | 1084 |
| 1139 // AutofillDialogViews::AutocheckoutStepsArea --------------------------------- | |
| 1140 | |
| 1141 AutofillDialogViews::AutocheckoutStepsArea::AutocheckoutStepsArea() { | |
| 1142 SetLayoutManager(new views::BoxLayout(views::BoxLayout::kVertical, | |
| 1143 kAutocheckoutStepsAreaPadding, | |
| 1144 0, | |
| 1145 kAutocheckoutStepInset)); | |
| 1146 } | |
| 1147 | |
| 1148 void AutofillDialogViews::AutocheckoutStepsArea::SetSteps( | |
| 1149 const std::vector<DialogAutocheckoutStep>& steps) { | |
| 1150 RemoveAllChildViews(true); | |
| 1151 for (size_t i = 0; i < steps.size(); ++i) { | |
| 1152 const DialogAutocheckoutStep& step = steps[i]; | |
| 1153 AutocheckoutStepProgressView* progressView = | |
| 1154 new AutocheckoutStepProgressView(step.GetDisplayText(), | |
| 1155 step.GetTextFont(), | |
| 1156 step.GetTextColor(), | |
| 1157 step.IsIconVisible()); | |
| 1158 | |
| 1159 AddChildView(progressView); | |
| 1160 } | |
| 1161 | |
| 1162 PreferredSizeChanged(); | |
| 1163 } | |
| 1164 | |
| 1165 // AutofillDialogViews::AutocheckoutProgressBar | |
| 1166 | |
| 1167 AutofillDialogViews::AutocheckoutProgressBar::AutocheckoutProgressBar() {} | |
| 1168 AutofillDialogViews::AutocheckoutProgressBar::~AutocheckoutProgressBar() {} | |
| 1169 | |
| 1170 gfx::Size AutofillDialogViews::AutocheckoutProgressBar::GetPreferredSize() { | |
| 1171 return gfx::Size(kAutocheckoutProgressBarWidth, | |
| 1172 kAutocheckoutProgressBarHeight); | |
| 1173 } | |
| 1174 | |
| 1175 // AutofillDialogView ---------------------------------------------------------- | 1085 // AutofillDialogView ---------------------------------------------------------- |
| 1176 | 1086 |
| 1177 // static | 1087 // static |
| 1178 AutofillDialogView* AutofillDialogView::Create( | 1088 AutofillDialogView* AutofillDialogView::Create( |
| 1179 AutofillDialogViewDelegate* delegate) { | 1089 AutofillDialogViewDelegate* delegate) { |
| 1180 return new AutofillDialogViews(delegate); | 1090 return new AutofillDialogViews(delegate); |
| 1181 } | 1091 } |
| 1182 | 1092 |
| 1183 // AutofillDialogViews --------------------------------------------------------- | 1093 // AutofillDialogViews --------------------------------------------------------- |
| 1184 | 1094 |
| 1185 AutofillDialogViews::AutofillDialogViews(AutofillDialogViewDelegate* delegate) | 1095 AutofillDialogViews::AutofillDialogViews(AutofillDialogViewDelegate* delegate) |
| 1186 : delegate_(delegate), | 1096 : delegate_(delegate), |
| 1187 updates_scope_(0), | 1097 updates_scope_(0), |
| 1188 needs_update_(false), | 1098 needs_update_(false), |
| 1189 window_(NULL), | 1099 window_(NULL), |
| 1190 browser_resize_timer_(false, false), | 1100 browser_resize_timer_(false, false), |
| 1191 notification_area_(NULL), | 1101 notification_area_(NULL), |
| 1192 account_chooser_(NULL), | 1102 account_chooser_(NULL), |
| 1193 sign_in_webview_(NULL), | 1103 sign_in_webview_(NULL), |
| 1194 scrollable_area_(NULL), | 1104 scrollable_area_(NULL), |
| 1195 details_container_(NULL), | 1105 details_container_(NULL), |
| 1196 loading_shield_(NULL), | 1106 loading_shield_(NULL), |
| 1197 overlay_view_(NULL), | 1107 overlay_view_(NULL), |
| 1198 button_strip_extra_view_(NULL), | 1108 button_strip_extra_view_(NULL), |
| 1199 save_in_chrome_checkbox_(NULL), | 1109 save_in_chrome_checkbox_(NULL), |
| 1200 save_in_chrome_checkbox_container_(NULL), | 1110 save_in_chrome_checkbox_container_(NULL), |
| 1201 button_strip_image_(NULL), | 1111 button_strip_image_(NULL), |
| 1202 autocheckout_steps_area_(NULL), | |
| 1203 autocheckout_progress_bar_view_(NULL), | |
| 1204 autocheckout_progress_bar_(NULL), | |
| 1205 footnote_view_(NULL), | 1112 footnote_view_(NULL), |
| 1206 legal_document_view_(NULL), | 1113 legal_document_view_(NULL), |
| 1207 focus_manager_(NULL), | 1114 focus_manager_(NULL), |
| 1208 observer_(this) { | 1115 observer_(this) { |
| 1209 DCHECK(delegate); | 1116 DCHECK(delegate); |
| 1210 detail_groups_.insert(std::make_pair(SECTION_EMAIL, | 1117 detail_groups_.insert(std::make_pair(SECTION_EMAIL, |
| 1211 DetailsGroup(SECTION_EMAIL))); | 1118 DetailsGroup(SECTION_EMAIL))); |
| 1212 detail_groups_.insert(std::make_pair(SECTION_CC, | 1119 detail_groups_.insert(std::make_pair(SECTION_CC, |
| 1213 DetailsGroup(SECTION_CC))); | 1120 DetailsGroup(SECTION_CC))); |
| 1214 detail_groups_.insert(std::make_pair(SECTION_BILLING, | 1121 detail_groups_.insert(std::make_pair(SECTION_BILLING, |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1301 link_ranges[i], | 1208 link_ranges[i], |
| 1302 views::StyledLabel::RangeStyleInfo::CreateForLink()); | 1209 views::StyledLabel::RangeStyleInfo::CreateForLink()); |
| 1303 } | 1210 } |
| 1304 } | 1211 } |
| 1305 | 1212 |
| 1306 footnote_view_->SetVisible(!text.empty()); | 1213 footnote_view_->SetVisible(!text.empty()); |
| 1307 ContentsPreferredSizeChanged(); | 1214 ContentsPreferredSizeChanged(); |
| 1308 } | 1215 } |
| 1309 } | 1216 } |
| 1310 | 1217 |
| 1311 void AutofillDialogViews::UpdateAutocheckoutStepsArea() { | |
| 1312 autocheckout_steps_area_->SetSteps(delegate_->CurrentAutocheckoutSteps()); | |
| 1313 ContentsPreferredSizeChanged(); | |
| 1314 } | |
| 1315 | |
| 1316 void AutofillDialogViews::UpdateButtonStrip() { | 1218 void AutofillDialogViews::UpdateButtonStrip() { |
| 1317 button_strip_extra_view_->SetVisible( | 1219 button_strip_extra_view_->SetVisible( |
| 1318 GetDialogButtons() != ui::DIALOG_BUTTON_NONE); | 1220 GetDialogButtons() != ui::DIALOG_BUTTON_NONE); |
| 1319 UpdateButtonStripExtraView(); | 1221 UpdateButtonStripExtraView(); |
| 1320 GetDialogClientView()->UpdateDialogButtons(); | 1222 GetDialogClientView()->UpdateDialogButtons(); |
| 1321 | 1223 |
| 1322 overlay_view_->SetState(delegate_->GetDialogOverlay(), this); | 1224 overlay_view_->SetState(delegate_->GetDialogOverlay(), this); |
| 1323 | 1225 |
| 1324 ContentsPreferredSizeChanged(); | 1226 ContentsPreferredSizeChanged(); |
| 1325 } | 1227 } |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1405 ContentsPreferredSizeChanged(); | 1307 ContentsPreferredSizeChanged(); |
| 1406 return &sign_in_webview_->web_contents()->GetController(); | 1308 return &sign_in_webview_->web_contents()->GetController(); |
| 1407 } | 1309 } |
| 1408 | 1310 |
| 1409 void AutofillDialogViews::HideSignIn() { | 1311 void AutofillDialogViews::HideSignIn() { |
| 1410 sign_in_webview_->SetVisible(false); | 1312 sign_in_webview_->SetVisible(false); |
| 1411 UpdateButtonStrip(); | 1313 UpdateButtonStrip(); |
| 1412 ContentsPreferredSizeChanged(); | 1314 ContentsPreferredSizeChanged(); |
| 1413 } | 1315 } |
| 1414 | 1316 |
| 1415 void AutofillDialogViews::UpdateProgressBar(double value) { | |
| 1416 autocheckout_progress_bar_->SetValue(value); | |
| 1417 } | |
| 1418 | |
| 1419 void AutofillDialogViews::ModelChanged() { | 1317 void AutofillDialogViews::ModelChanged() { |
| 1420 menu_runner_.reset(); | 1318 menu_runner_.reset(); |
| 1421 | 1319 |
| 1422 for (DetailGroupMap::const_iterator iter = detail_groups_.begin(); | 1320 for (DetailGroupMap::const_iterator iter = detail_groups_.begin(); |
| 1423 iter != detail_groups_.end(); ++iter) { | 1321 iter != detail_groups_.end(); ++iter) { |
| 1424 UpdateDetailsGroupState(iter->second); | 1322 UpdateDetailsGroupState(iter->second); |
| 1425 } | 1323 } |
| 1426 } | 1324 } |
| 1427 | 1325 |
| 1428 TestableAutofillDialogView* AutofillDialogViews::GetTestableView() { | 1326 TestableAutofillDialogView* AutofillDialogViews::GetTestableView() { |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1510 return; | 1408 return; |
| 1511 } | 1409 } |
| 1512 | 1410 |
| 1513 const int x = content_bounds.x(); | 1411 const int x = content_bounds.x(); |
| 1514 const int y = content_bounds.y(); | 1412 const int y = content_bounds.y(); |
| 1515 const int width = content_bounds.width(); | 1413 const int width = content_bounds.width(); |
| 1516 // Layout notification area at top of dialog. | 1414 // Layout notification area at top of dialog. |
| 1517 int notification_height = notification_area_->GetHeightForWidth(width); | 1415 int notification_height = notification_area_->GetHeightForWidth(width); |
| 1518 notification_area_->SetBounds(x, y, width, notification_height); | 1416 notification_area_->SetBounds(x, y, width, notification_height); |
| 1519 | 1417 |
| 1520 // Layout Autocheckout steps at bottom of dialog. | |
| 1521 int steps_height = autocheckout_steps_area_->GetHeightForWidth(width); | |
| 1522 autocheckout_steps_area_->SetBounds(x, content_bounds.bottom() - steps_height, | |
| 1523 width, steps_height); | |
| 1524 | |
| 1525 // The rest (the |scrollable_area_|) takes up whatever's left. | 1418 // The rest (the |scrollable_area_|) takes up whatever's left. |
| 1526 if (scrollable_area_->visible()) { | 1419 if (scrollable_area_->visible()) { |
| 1527 int scroll_y = y; | 1420 int scroll_y = y; |
| 1528 if (notification_height > 0) | 1421 if (notification_height > 0) |
| 1529 scroll_y += notification_height + views::kRelatedControlVerticalSpacing; | 1422 scroll_y += notification_height + views::kRelatedControlVerticalSpacing; |
| 1530 | 1423 |
| 1531 int scroll_bottom = content_bounds.bottom(); | 1424 int scroll_bottom = content_bounds.bottom(); |
| 1532 if (steps_height > 0) | |
| 1533 scroll_bottom -= steps_height + views::kRelatedControlVerticalSpacing; | |
| 1534 | |
| 1535 scrollable_area_->contents()->SizeToPreferredSize(); | 1425 scrollable_area_->contents()->SizeToPreferredSize(); |
| 1536 scrollable_area_->SetBounds(x, scroll_y, width, scroll_bottom - scroll_y); | 1426 scrollable_area_->SetBounds(x, scroll_y, width, scroll_bottom - scroll_y); |
| 1537 } | 1427 } |
| 1538 | 1428 |
| 1539 if (loading_shield_->visible()) | 1429 if (loading_shield_->visible()) |
| 1540 loading_shield_->SetBoundsRect(bounds()); | 1430 loading_shield_->SetBoundsRect(bounds()); |
| 1541 | 1431 |
| 1542 if (error_bubble_) | 1432 if (error_bubble_) |
| 1543 error_bubble_->UpdatePosition(); | 1433 error_bubble_->UpdatePosition(); |
| 1544 } | 1434 } |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1758 int height = overlay_view_->GetHeightForContentsForWidth(width); | 1648 int height = overlay_view_->GetHeightForContentsForWidth(width); |
| 1759 if (height != 0) | 1649 if (height != 0) |
| 1760 return gfx::Size(width + insets.width(), height + insets.height()); | 1650 return gfx::Size(width + insets.width(), height + insets.height()); |
| 1761 } | 1651 } |
| 1762 | 1652 |
| 1763 int height = 0; | 1653 int height = 0; |
| 1764 int notification_height = notification_area_->GetHeightForWidth(width); | 1654 int notification_height = notification_area_->GetHeightForWidth(width); |
| 1765 if (notification_height > 0) | 1655 if (notification_height > 0) |
| 1766 height += notification_height + views::kRelatedControlVerticalSpacing; | 1656 height += notification_height + views::kRelatedControlVerticalSpacing; |
| 1767 | 1657 |
| 1768 int steps_height = autocheckout_steps_area_->GetHeightForWidth(width); | |
| 1769 if (steps_height > 0) | |
| 1770 height += steps_height + views::kRelatedControlVerticalSpacing; | |
| 1771 | |
| 1772 if (scrollable_area_->visible()) { | 1658 if (scrollable_area_->visible()) { |
| 1773 // Show as much of the scroll view as is possible without going past the | 1659 // Show as much of the scroll view as is possible without going past the |
| 1774 // bottom of the browser window. | 1660 // bottom of the browser window. |
| 1775 views::Widget* widget = | 1661 views::Widget* widget = |
| 1776 views::Widget::GetTopLevelWidgetForNativeView( | 1662 views::Widget::GetTopLevelWidgetForNativeView( |
| 1777 delegate_->GetWebContents()->GetView()->GetNativeView()); | 1663 delegate_->GetWebContents()->GetView()->GetNativeView()); |
| 1778 int browser_window_height = | 1664 int browser_window_height = |
| 1779 widget ? widget->GetContentsView()->bounds().height() : INT_MAX; | 1665 widget ? widget->GetContentsView()->bounds().height() : INT_MAX; |
| 1780 const int kWindowDecorationHeight = 200; | 1666 const int kWindowDecorationHeight = 200; |
| 1781 int browser_constrained_height = | 1667 int browser_constrained_height = |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1804 new views::Checkbox(delegate_->SaveLocallyText()); | 1690 new views::Checkbox(delegate_->SaveLocallyText()); |
| 1805 save_in_chrome_checkbox_->SetChecked(true); | 1691 save_in_chrome_checkbox_->SetChecked(true); |
| 1806 save_in_chrome_checkbox_container_->AddChildView(save_in_chrome_checkbox_); | 1692 save_in_chrome_checkbox_container_->AddChildView(save_in_chrome_checkbox_); |
| 1807 | 1693 |
| 1808 save_in_chrome_checkbox_container_->AddChildView( | 1694 save_in_chrome_checkbox_container_->AddChildView( |
| 1809 new TooltipIcon(delegate_->SaveLocallyTooltip())); | 1695 new TooltipIcon(delegate_->SaveLocallyTooltip())); |
| 1810 | 1696 |
| 1811 button_strip_image_ = new views::ImageView(); | 1697 button_strip_image_ = new views::ImageView(); |
| 1812 button_strip_extra_view_->AddChildView(button_strip_image_); | 1698 button_strip_extra_view_->AddChildView(button_strip_image_); |
| 1813 | 1699 |
| 1814 autocheckout_progress_bar_view_ = new views::View(); | |
| 1815 views::GridLayout* progress_bar_layout = | |
| 1816 new views::GridLayout(autocheckout_progress_bar_view_); | |
| 1817 autocheckout_progress_bar_view_->SetLayoutManager(progress_bar_layout); | |
| 1818 const int kColumnSetId = 0; | |
| 1819 views::ColumnSet* columns = progress_bar_layout->AddColumnSet(kColumnSetId); | |
| 1820 columns->AddColumn(views::GridLayout::LEADING, | |
| 1821 views::GridLayout::CENTER, | |
| 1822 0, | |
| 1823 views::GridLayout::USE_PREF, | |
| 1824 0, | |
| 1825 0); | |
| 1826 progress_bar_layout->StartRow(1.0, kColumnSetId); | |
| 1827 | |
| 1828 autocheckout_progress_bar_ = new AutocheckoutProgressBar(); | |
| 1829 progress_bar_layout->AddView(autocheckout_progress_bar_); | |
| 1830 button_strip_extra_view_->AddChildView(autocheckout_progress_bar_view_); | |
| 1831 | |
| 1832 account_chooser_ = new AccountChooser(delegate_); | 1700 account_chooser_ = new AccountChooser(delegate_); |
| 1833 notification_area_ = new NotificationArea(delegate_); | 1701 notification_area_ = new NotificationArea(delegate_); |
| 1834 notification_area_->set_arrow_centering_anchor(account_chooser_->AsWeakPtr()); | 1702 notification_area_->set_arrow_centering_anchor(account_chooser_->AsWeakPtr()); |
| 1835 AddChildView(notification_area_); | 1703 AddChildView(notification_area_); |
| 1836 | 1704 |
| 1837 scrollable_area_ = new views::ScrollView(); | 1705 scrollable_area_ = new views::ScrollView(); |
| 1838 scrollable_area_->set_hide_horizontal_scrollbar(true); | 1706 scrollable_area_->set_hide_horizontal_scrollbar(true); |
| 1839 scrollable_area_->SetContents(CreateDetailsContainer()); | 1707 scrollable_area_->SetContents(CreateDetailsContainer()); |
| 1840 AddChildView(scrollable_area_); | 1708 AddChildView(scrollable_area_); |
| 1841 | 1709 |
| 1842 autocheckout_steps_area_ = new AutocheckoutStepsArea(); | |
| 1843 AddChildView(autocheckout_steps_area_); | |
| 1844 | |
| 1845 loading_shield_ = new views::Label(); | 1710 loading_shield_ = new views::Label(); |
| 1846 loading_shield_->SetVisible(false); | 1711 loading_shield_->SetVisible(false); |
| 1847 loading_shield_->set_background(views::Background::CreateSolidBackground( | 1712 loading_shield_->set_background(views::Background::CreateSolidBackground( |
| 1848 GetNativeTheme()->GetSystemColor( | 1713 GetNativeTheme()->GetSystemColor( |
| 1849 ui::NativeTheme::kColorId_DialogBackground))); | 1714 ui::NativeTheme::kColorId_DialogBackground))); |
| 1850 loading_shield_->SetFont(ui::ResourceBundle::GetSharedInstance().GetFont( | 1715 loading_shield_->SetFont(ui::ResourceBundle::GetSharedInstance().GetFont( |
| 1851 ui::ResourceBundle::BaseFont).DeriveFont(15)); | 1716 ui::ResourceBundle::BaseFont).DeriveFont(15)); |
| 1852 AddChildView(loading_shield_); | 1717 AddChildView(loading_shield_); |
| 1853 | 1718 |
| 1854 sign_in_webview_ = new views::WebView(delegate_->profile()); | 1719 sign_in_webview_ = new views::WebView(delegate_->profile()); |
| (...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2281 decorated->SetIcon(icon); | 2146 decorated->SetIcon(icon); |
| 2282 } | 2147 } |
| 2283 | 2148 |
| 2284 void AutofillDialogViews::UpdateButtonStripExtraView() { | 2149 void AutofillDialogViews::UpdateButtonStripExtraView() { |
| 2285 save_in_chrome_checkbox_container_->SetVisible( | 2150 save_in_chrome_checkbox_container_->SetVisible( |
| 2286 delegate_->ShouldOfferToSaveInChrome()); | 2151 delegate_->ShouldOfferToSaveInChrome()); |
| 2287 | 2152 |
| 2288 gfx::Image image = delegate_->ButtonStripImage(); | 2153 gfx::Image image = delegate_->ButtonStripImage(); |
| 2289 button_strip_image_->SetVisible(!image.IsEmpty()); | 2154 button_strip_image_->SetVisible(!image.IsEmpty()); |
| 2290 button_strip_image_->SetImage(image.AsImageSkia()); | 2155 button_strip_image_->SetImage(image.AsImageSkia()); |
| 2291 | |
| 2292 autocheckout_progress_bar_view_->SetVisible( | |
| 2293 delegate_->ShouldShowProgressBar()); | |
| 2294 } | 2156 } |
| 2295 | 2157 |
| 2296 void AutofillDialogViews::ContentsPreferredSizeChanged() { | 2158 void AutofillDialogViews::ContentsPreferredSizeChanged() { |
| 2297 if (updates_scope_ != 0) { | 2159 if (updates_scope_ != 0) { |
| 2298 needs_update_ = true; | 2160 needs_update_ = true; |
| 2299 return; | 2161 return; |
| 2300 } | 2162 } |
| 2301 | 2163 |
| 2302 preferred_size_ = gfx::Size(); | 2164 preferred_size_ = gfx::Size(); |
| 2303 | 2165 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2372 AutofillDialogViews::DetailsGroup::DetailsGroup(DialogSection section) | 2234 AutofillDialogViews::DetailsGroup::DetailsGroup(DialogSection section) |
| 2373 : section(section), | 2235 : section(section), |
| 2374 container(NULL), | 2236 container(NULL), |
| 2375 manual_input(NULL), | 2237 manual_input(NULL), |
| 2376 suggested_info(NULL), | 2238 suggested_info(NULL), |
| 2377 suggested_button(NULL) {} | 2239 suggested_button(NULL) {} |
| 2378 | 2240 |
| 2379 AutofillDialogViews::DetailsGroup::~DetailsGroup() {} | 2241 AutofillDialogViews::DetailsGroup::~DetailsGroup() {} |
| 2380 | 2242 |
| 2381 } // namespace autofill | 2243 } // namespace autofill |
| OLD | NEW |