| 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 |