| Index: chrome/browser/ui/views/download/download_item_view_md.cc
|
| diff --git a/chrome/browser/ui/views/download/download_item_view_md.cc b/chrome/browser/ui/views/download/download_item_view_md.cc
|
| index 03c8aab39736401f4e8ade0b5d79c2f3fd6da241..81281d9057126845d8a6553667960951c2dc6e54 100644
|
| --- a/chrome/browser/ui/views/download/download_item_view_md.cc
|
| +++ b/chrome/browser/ui/views/download/download_item_view_md.cc
|
| @@ -30,6 +30,7 @@
|
| #include "chrome/browser/safe_browsing/download_protection_service.h"
|
| #include "chrome/browser/safe_browsing/safe_browsing_service.h"
|
| #include "chrome/browser/themes/theme_properties.h"
|
| +#include "chrome/browser/ui/views/bar_control_button.h"
|
| #include "chrome/browser/ui/views/download/download_feedback_dialog_view.h"
|
| #include "chrome/browser/ui/views/download/download_shelf_context_menu_view.h"
|
| #include "chrome/browser/ui/views/download/download_shelf_view.h"
|
| @@ -103,8 +104,6 @@ const int kLabelPadding = 8;
|
| // Height/width of the warning icon, also in dp.
|
| const int kWarningIconSize = 24;
|
|
|
| -const SkColor kFileNameDisabledColor = SkColorSetRGB(171, 192, 212);
|
| -
|
| // How long the 'download complete' animation should last for.
|
| const int kCompleteAnimationDurationMs = 2500;
|
|
|
| @@ -180,12 +179,7 @@ DownloadItemViewMd::DownloadItemViewMd(DownloadItem* download_item,
|
|
|
| OnDownloadUpdated(download());
|
|
|
| - // TODO(estade): share this button init code with the find in page bar;
|
| - // also fix theming.
|
| - dropdown_button_ = new views::ImageButton(this);
|
| - dropdown_button_->SetBorder(views::Border::CreateEmptyBorder(4, 4, 4, 4));
|
| - dropdown_button_->SetImageAlignment(views::ImageButton::ALIGN_CENTER,
|
| - views::ImageButton::ALIGN_MIDDLE);
|
| + dropdown_button_ = new BarControlButton(this);
|
| AddChildView(dropdown_button_);
|
| SetDropdownState(NORMAL);
|
| UpdateColorsFromTheme();
|
| @@ -222,6 +216,13 @@ void DownloadItemViewMd::StopDownloadProgress() {
|
| progress_timer_.Stop();
|
| }
|
|
|
| +// static
|
| +SkColor DownloadItemViewMd::GetTextColorForThemeProvider(
|
| + ui::ThemeProvider* theme) {
|
| + return theme ? theme->GetColor(ThemeProperties::COLOR_BOOKMARK_TEXT)
|
| + : SK_ColorRED;
|
| +}
|
| +
|
| void DownloadItemViewMd::OnExtractIconComplete(gfx::Image* icon_bitmap) {
|
| if (icon_bitmap)
|
| shelf_->SchedulePaint();
|
| @@ -588,10 +589,8 @@ void DownloadItemViewMd::DrawStatusText(gfx::Canvas* canvas) {
|
| kTextWidth);
|
| int y =
|
| GetYForFilenameText() + font_list_.GetBaseline() + kVerticalTextPadding;
|
| - SkColor file_name_color = SkColorSetA(
|
| - GetThemeProvider()->GetColor(ThemeProperties::COLOR_BOOKMARK_TEXT), 0xC7);
|
| canvas->DrawStringRect(
|
| - status_text_, status_font_list_, file_name_color,
|
| + status_text_, status_font_list_, GetDimmedTextColor(),
|
| gfx::Rect(mirrored_x, y, kTextWidth, status_font_list_.GetHeight()));
|
| }
|
|
|
| @@ -624,11 +623,8 @@ void DownloadItemViewMd::DrawFilename(gfx::Canvas* canvas) {
|
| kStartPadding + DownloadShelf::kProgressIndicatorSize +
|
| kProgressTextPadding,
|
| kTextWidth);
|
| - SkColor file_name_color =
|
| - GetThemeProvider()->GetColor(ThemeProperties::COLOR_BOOKMARK_TEXT);
|
| -
|
| canvas->DrawStringRect(filename, font_list_,
|
| - enabled() ? file_name_color : kFileNameDisabledColor,
|
| + enabled() ? GetTextColor() : GetDimmedTextColor(),
|
| gfx::Rect(mirrored_x, GetYForFilenameText(),
|
| kTextWidth, font_list_.GetHeight()));
|
| }
|
| @@ -760,10 +756,8 @@ void DownloadItemViewMd::UpdateColorsFromTheme() {
|
| if (!GetThemeProvider())
|
| return;
|
|
|
| - if (dangerous_download_label_) {
|
| - dangerous_download_label_->SetEnabledColor(
|
| - GetThemeProvider()->GetColor(ThemeProperties::COLOR_BOOKMARK_TEXT));
|
| - }
|
| + if (dangerous_download_label_)
|
| + dangerous_download_label_->SetEnabledColor(GetTextColor());
|
| SetBorder(make_scoped_ptr(new SeparatorBorder(
|
| GetThemeProvider()->GetColor(ThemeProperties::COLOR_TOOLBAR_SEPARATOR))));
|
| }
|
| @@ -825,12 +819,11 @@ void DownloadItemViewMd::SetDropdownState(State new_state) {
|
| !dropdown_button_->GetImage(views::CustomButton::STATE_NORMAL).isNull())
|
| return;
|
|
|
| - // TODO(estade): theme this color instead of using a constant.
|
| - gfx::ImageSkia image =
|
| - gfx::CreateVectorIcon(new_state == PUSHED ? gfx::VectorIconId::FIND_NEXT
|
| - : gfx::VectorIconId::FIND_PREV,
|
| - 16, gfx::kChromeIconGrey);
|
| - dropdown_button_->SetImage(views::CustomButton::STATE_NORMAL, &image);
|
| + dropdown_button_->SetIcon(
|
| + new_state == PUSHED ? gfx::VectorIconId::FIND_NEXT
|
| + : gfx::VectorIconId::FIND_PREV,
|
| + base::Bind(&DownloadItemViewMd::GetTextColor, base::Unretained(this)));
|
| + dropdown_button_->OnThemeChanged();
|
| dropdown_state_ = new_state;
|
| SchedulePaint();
|
| }
|
| @@ -1077,3 +1070,11 @@ void DownloadItemViewMd::AnimateStateTransition(
|
| animation->Reset((to == HOT) ? 1.0 : 0.0);
|
| }
|
| }
|
| +
|
| +SkColor DownloadItemViewMd::GetTextColor() {
|
| + return GetTextColorForThemeProvider(GetThemeProvider());
|
| +}
|
| +
|
| +SkColor DownloadItemViewMd::GetDimmedTextColor() {
|
| + return SkColorSetA(GetTextColor(), 0xC7);
|
| +}
|
|
|