Chromium Code Reviews| Index: chrome/browser/ui/views/toolbar/app_menu_button.cc |
| diff --git a/chrome/browser/ui/views/toolbar/app_menu_button.cc b/chrome/browser/ui/views/toolbar/app_menu_button.cc |
| index 9db62bc1d38cccf88dee9237922739e7215db784..8b4e639801b12869f984c0c5ed9d7b917c936b8c 100644 |
| --- a/chrome/browser/ui/views/toolbar/app_menu_button.cc |
| +++ b/chrome/browser/ui/views/toolbar/app_menu_button.cc |
| @@ -11,6 +11,7 @@ |
| #include "base/time/time.h" |
| #include "chrome/browser/themes/theme_properties.h" |
| #include "chrome/browser/ui/browser.h" |
| +#include "chrome/browser/ui/browser_otr_state.h" |
| #include "chrome/browser/ui/layout_constants.h" |
| #include "chrome/browser/ui/toolbar/app_menu_model.h" |
| #include "chrome/browser/ui/views/extensions/browser_action_drag_data.h" |
| @@ -51,9 +52,11 @@ AppMenuButton::AppMenuButton(ToolbarView* toolbar_view) |
| AppMenuButton::~AppMenuButton() {} |
| void AppMenuButton::SetSeverity(AppMenuIconPainter::Severity severity, |
| + AppMenuBadgeController::BadgeType type, |
| bool animate) { |
| if (ui::MaterialDesignController::IsModeMaterial()) { |
| severity_ = severity; |
| + type_ = type; |
| UpdateIcon(); |
| return; |
| } |
| @@ -133,7 +136,9 @@ void AppMenuButton::ScheduleAppMenuIconPaint() { |
| } |
| void AppMenuButton::UpdateIcon() { |
| + using BadgeType = AppMenuBadgeController::BadgeType; |
| DCHECK(ui::MaterialDesignController::IsModeMaterial()); |
| + gfx::VectorIconId icon_id = gfx::VectorIconId::BROWSER_TOOLS; |
| SkColor color = gfx::kPlaceholderColor; |
| switch (severity_) { |
| case AppMenuIconPainter::SEVERITY_NONE: |
| @@ -142,17 +147,25 @@ void AppMenuButton::UpdateIcon() { |
| break; |
| case AppMenuIconPainter::SEVERITY_LOW: |
| color = gfx::kGoogleGreen700; |
| + icon_id = gfx::VectorIconId::UPDATE_MENU_SEVERITY_LOW_MEDIUM_HIGH; |
| break; |
| case AppMenuIconPainter::SEVERITY_MEDIUM: |
| color = gfx::kGoogleYellow700; |
| + if (type_ == BadgeType::GLOBAL_ERROR) |
| + icon_id = gfx::VectorIconId::UPDATE_MENU_FAILED; |
| + else if (type_ == BadgeType::INCOMPATIBILITY_WARNING) |
| + icon_id = gfx::VectorIconId::UPDATE_MENU_SEVERITY_WARNING; |
| + else |
| + icon_id = gfx::VectorIconId::UPDATE_MENU_SEVERITY_LOW_MEDIUM_HIGH; |
|
Evan Stade
2016/06/03 18:58:14
it seems like icon id and color should be orthogon
kylix_rd
2016/06/03 19:27:14
Done.
|
| break; |
| case AppMenuIconPainter::SEVERITY_HIGH: |
| color = gfx::kGoogleRed700; |
| + icon_id = gfx::VectorIconId::UPDATE_MENU_SEVERITY_LOW_MEDIUM_HIGH; |
| break; |
| } |
| SetImage(views::Button::STATE_NORMAL, |
| - gfx::CreateVectorIcon(gfx::VectorIconId::BROWSER_TOOLS, color)); |
| + gfx::CreateVectorIcon(icon_id, 16, color)); |
| } |
| void AppMenuButton::SetTrailingMargin(int margin) { |