Index: chrome/browser/ui/autofill/autofill_popup_controller_impl.cc |
diff --git a/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc b/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc |
index 1827dc7e61860f056916e42d9824cab8650e7448..05944892b1059abb40cc7d680556108d1273a933 100644 |
--- a/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc |
+++ b/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc |
@@ -18,6 +18,7 @@ |
#include "components/autofill/core/common/autofill_util.h" |
#include "content/public/browser/native_web_keyboard_event.h" |
#include "grit/components_scaled_resources.h" |
+#include "ui/base/resource/material_design/material_design_controller.h" |
#include "ui/base/resource/resource_bundle.h" |
#include "ui/events/event.h" |
#include "ui/gfx/geometry/rect_conversions.h" |
@@ -36,6 +37,10 @@ const int kNoSelection = -1; |
// The vertical height of each row in pixels. |
const size_t kRowHeight = 24; |
+const size_t kMaterialRowHeight = 36; |
+ |
+// The vertical height of the option row in pixel. |
+const size_t kMaterialOptionRowHeight = 44; |
// The vertical height of a separator in pixels. |
const size_t kSeparatorHeight = 1; |
@@ -43,10 +48,12 @@ const size_t kSeparatorHeight = 1; |
#if !defined(OS_ANDROID) || defined(USE_AURA) |
// Size difference between name and label in pixels. |
const int kLabelFontSizeDelta = -2; |
+const int kMaterialLabelFontSizeDelta = -3; |
const size_t kNamePadding = AutofillPopupView::kNamePadding; |
const size_t kIconPadding = AutofillPopupView::kIconPadding; |
const size_t kEndPadding = AutofillPopupView::kEndPadding; |
+const size_t kMaterialEndPadding = AutofillPopupView::kMaterialEndPadding; |
#endif |
struct DataResource { |
@@ -114,7 +121,10 @@ AutofillPopupControllerImpl::AutofillPopupControllerImpl( |
base::Bind(&AutofillPopupControllerImpl::HandleKeyPressEvent, |
base::Unretained(this))); |
#if !defined(OS_ANDROID) || defined(USE_AURA) |
- label_font_list_ = value_font_list_.DeriveWithSizeDelta(kLabelFontSizeDelta); |
+ label_font_list_ = value_font_list_.DeriveWithSizeDelta( |
+ ui::MaterialDesignController::IsModeMaterial() |
Evan Stade
2015/12/14 21:37:44
please don't reuse this flag. I'm not sure we need
|
+ ? kMaterialLabelFontSizeDelta |
+ : kLabelFontSizeDelta); |
title_font_list_ = value_font_list_.DeriveWithStyle(gfx::Font::BOLD); |
#if defined(OS_MACOSX) |
// There is no italic version of the system font. |
@@ -377,11 +387,9 @@ gfx::Rect AutofillPopupControllerImpl::GetRowBounds(size_t index) { |
top += GetRowHeightFromId(suggestions_[i].frontend_id); |
} |
- return gfx::Rect( |
- kPopupBorderThickness, |
- top, |
- popup_bounds_.width() - 2 * kPopupBorderThickness, |
- GetRowHeightFromId(suggestions_[index].frontend_id)); |
+ return gfx::Rect(kPopupBorderThickness, top, |
+ popup_bounds_.width() - 2 * kPopupBorderThickness, |
+ GetRowHeightFromId(suggestions_[index].frontend_id)); |
} |
void AutofillPopupControllerImpl::SetPopupBounds(const gfx::Rect& bounds) { |
@@ -563,6 +571,13 @@ int AutofillPopupControllerImpl::GetRowHeightFromId(int identifier) const { |
if (identifier == POPUP_ITEM_ID_SEPARATOR) |
return kSeparatorHeight; |
+ if (ui::MaterialDesignController::IsModeMaterial()) { |
+ if (identifier == POPUP_ITEM_ID_AUTOFILL_OPTIONS) |
Evan Stade
2015/12/14 21:37:44
ternary operator
|
+ return kMaterialOptionRowHeight; |
+ else |
+ return kMaterialRowHeight; |
+ } |
+ |
return kRowHeight; |
} |
@@ -629,7 +644,9 @@ int AutofillPopupControllerImpl::GetDesiredPopupHeight() const { |
} |
int AutofillPopupControllerImpl::RowWidthWithoutText(int row) const { |
- int row_size = kEndPadding; |
+ int row_size = ui::MaterialDesignController::IsModeMaterial() |
+ ? kMaterialEndPadding |
+ : kEndPadding; |
if (!elided_labels_[row].empty()) |
row_size += kNamePadding; |
@@ -643,7 +660,9 @@ int AutofillPopupControllerImpl::RowWidthWithoutText(int row) const { |
} |
// Add the padding at the end. |
- row_size += kEndPadding; |
+ row_size += ui::MaterialDesignController::IsModeMaterial() |
+ ? kMaterialEndPadding |
+ : kEndPadding; |
// Add room for the popup border. |
row_size += 2 * kPopupBorderThickness; |