OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/decorated_textfield.h" | 5 #include "chrome/browser/ui/views/autofill/decorated_textfield.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "chrome/browser/ui/autofill/autofill_dialog_types.h" | |
10 #include "chrome/browser/ui/views/autofill/tooltip_icon.h" | 9 #include "chrome/browser/ui/views/autofill/tooltip_icon.h" |
11 #include "ui/gfx/canvas.h" | 10 #include "ui/gfx/canvas.h" |
| 11 #include "ui/gfx/color_palette.h" |
12 #include "ui/views/background.h" | 12 #include "ui/views/background.h" |
13 #include "ui/views/controls/button/label_button.h" | 13 #include "ui/views/controls/button/label_button.h" |
14 #include "ui/views/controls/focusable_border.h" | 14 #include "ui/views/controls/focusable_border.h" |
15 #include "ui/views/controls/textfield/textfield_controller.h" | 15 #include "ui/views/controls/textfield/textfield_controller.h" |
16 #include "ui/views/view_targeter.h" | 16 #include "ui/views/view_targeter.h" |
17 | 17 |
18 namespace { | 18 namespace { |
19 | 19 |
20 // Padding around icons inside DecoratedTextfields. | 20 // Padding around icons inside DecoratedTextfields. |
21 const int kTextfieldIconPadding = 3; | 21 const int kTextfieldIconPadding = 3; |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 UseDefaultBackgroundColor(); | 144 UseDefaultBackgroundColor(); |
145 else | 145 else |
146 SetBackgroundColor(SK_ColorTRANSPARENT); | 146 SetBackgroundColor(SK_ColorTRANSPARENT); |
147 set_background( | 147 set_background( |
148 views::Background::CreateSolidBackground(GetBackgroundColor())); | 148 views::Background::CreateSolidBackground(GetBackgroundColor())); |
149 } | 149 } |
150 | 150 |
151 void DecoratedTextfield::UpdateBorder() { | 151 void DecoratedTextfield::UpdateBorder() { |
152 std::unique_ptr<views::FocusableBorder> border(new views::FocusableBorder()); | 152 std::unique_ptr<views::FocusableBorder> border(new views::FocusableBorder()); |
153 if (invalid_) | 153 if (invalid_) |
154 border->SetColor(kWarningColor); | 154 border->SetColor(gfx::kGoogleRed700); |
155 else if (!editable_) | 155 else if (!editable_) |
156 border->SetColor(SK_ColorTRANSPARENT); | 156 border->SetColor(SK_ColorTRANSPARENT); |
157 | 157 |
158 // Adjust the border insets to include the icon and its padding. | 158 // Adjust the border insets to include the icon and its padding. |
159 if (icon_view_ && icon_view_->visible()) { | 159 if (icon_view_ && icon_view_->visible()) { |
160 int w = icon_view_->GetPreferredSize().width() + 2 * kTextfieldIconPadding; | 160 int w = icon_view_->GetPreferredSize().width() + 2 * kTextfieldIconPadding; |
161 gfx::Insets insets = border->GetInsets(); | 161 gfx::Insets insets = border->GetInsets(); |
162 int left = insets.left() + (base::i18n::IsRTL() ? w : 0); | 162 int left = insets.left() + (base::i18n::IsRTL() ? w : 0); |
163 int right = insets.right() + (base::i18n::IsRTL() ? 0 : w); | 163 int right = insets.right() + (base::i18n::IsRTL() ? 0 : w); |
164 border->SetInsets(insets.top(), left, insets.bottom(), right); | 164 border->SetInsets(insets.top(), left, insets.bottom(), right); |
165 } | 165 } |
166 | 166 |
167 SetBorder(std::move(border)); | 167 SetBorder(std::move(border)); |
168 } | 168 } |
169 | 169 |
170 void DecoratedTextfield::IconChanged() { | 170 void DecoratedTextfield::IconChanged() { |
171 // Don't show the icon if nothing else is showing. | 171 // Don't show the icon if nothing else is showing. |
172 icon_view_->SetVisible(editable_ || !text().empty()); | 172 icon_view_->SetVisible(editable_ || !text().empty()); |
173 UpdateBorder(); | 173 UpdateBorder(); |
174 Layout(); | 174 Layout(); |
175 } | 175 } |
176 | 176 |
177 } // namespace autofill | 177 } // namespace autofill |
OLD | NEW |