Chromium Code Reviews| Index: chrome/browser/ui/views/autofill/autofill_dialog_views.cc |
| diff --git a/chrome/browser/ui/views/autofill/autofill_dialog_views.cc b/chrome/browser/ui/views/autofill/autofill_dialog_views.cc |
| index 64cdc04ed63cc020151b1ca1b0341054cbb538e3..7f979d4316fb50974ac31416f7471a7e4c65e039 100644 |
| --- a/chrome/browser/ui/views/autofill/autofill_dialog_views.cc |
| +++ b/chrome/browser/ui/views/autofill/autofill_dialog_views.cc |
| @@ -35,6 +35,7 @@ |
| #include "ui/base/resource/resource_bundle.h" |
| #include "ui/gfx/animation/animation_delegate.h" |
| #include "ui/gfx/canvas.h" |
| +#include "ui/gfx/color_utils.h" |
| #include "ui/gfx/path.h" |
| #include "ui/gfx/point.h" |
| #include "ui/gfx/skia_util.h" |
| @@ -578,7 +579,8 @@ int AutofillDialogViews::OverlayView::GetHeightForContentsForWidth(int width) { |
| } |
| void AutofillDialogViews::OverlayView::UpdateState() { |
| - const DialogOverlayState& state = delegate_->GetDialogOverlay(); |
| + const DialogOverlayState& state = |
| + delegate_->GetDialogOverlay(GetNativeTheme()); |
| if (state.image.IsEmpty()) { |
| SetVisible(false); |
| @@ -654,10 +656,19 @@ void AutofillDialogViews::OverlayView::OnPaint(gfx::Canvas* canvas) { |
| arrow.close(); |
| SkPaint paint; |
| - paint.setColor(kShadingColor); |
| + SkColor background_color = background()->get_color(); |
| + int background_luminance = color_utils::GetLuminanceForColor(background_color); |
| + int background_alpha = static_cast<int>( |
| + 7 - 15 * (background_luminance - 255) / 255); |
|
groby-ooo-7-16
2013/12/10 20:26:49
So we get a negative alpha for high-luma backgroun
Sheridan Rawlins
2013/12/10 20:51:56
No, alpha is always positive - the luminance retur
|
| + int subtle_border_alpha = static_cast<int>( |
| + 10 - 20 * (background_luminance - 255) / 255); |
| + |
| + paint.setColor(color_utils::BlendTowardOppositeLuminance( |
| + background_color, background_alpha)); |
| paint.setStyle(SkPaint::kFill_Style); |
| canvas->DrawPath(arrow, paint); |
| - paint.setColor(kSubtleBorderColor); |
| + paint.setColor(color_utils::BlendTowardOppositeLuminance( |
| + background_color, subtle_border_alpha)); |
| paint.setStyle(SkPaint::kStroke_Style); |
| canvas->DrawPath(arrow, paint); |
| } |