| Index: chrome/browser/ui/cocoa/toolbar/app_toolbar_button.mm
|
| diff --git a/chrome/browser/ui/cocoa/toolbar/app_toolbar_button.mm b/chrome/browser/ui/cocoa/toolbar/app_toolbar_button.mm
|
| index 13cf0d7c3fab2cc7239d0b13edc3a30676528fac..24fcb6869e50d26d92247e0db2433b70a398da0d 100644
|
| --- a/chrome/browser/ui/cocoa/toolbar/app_toolbar_button.mm
|
| +++ b/chrome/browser/ui/cocoa/toolbar/app_toolbar_button.mm
|
| @@ -7,6 +7,7 @@
|
| #include "base/macros.h"
|
| #import "chrome/browser/ui/cocoa/themed_window.h"
|
| #import "chrome/browser/ui/cocoa/view_id_util.h"
|
| +#include "ui/base/material_design/material_design_controller.h"
|
| #include "ui/gfx/color_palette.h"
|
|
|
| class AppMenuButtonIconPainterDelegateMac :
|
| @@ -47,19 +48,36 @@ class AppMenuButtonIconPainterDelegateMac :
|
| view_id_util::SetID(self, VIEW_ID_APP_MENU);
|
| delegate_.reset(new AppMenuButtonIconPainterDelegateMac(self));
|
| severity_ = AppMenuIconPainter::Severity::SEVERITY_NONE;
|
| + type_ = AppMenuIconController::IconType::NONE;
|
| }
|
|
|
| - (gfx::VectorIconId)vectorIconId {
|
| - return gfx::VectorIconId::BROWSER_TOOLS;
|
| + CHECK(ui::MaterialDesignController::IsModeMaterial());
|
| + switch (type_) {
|
| + case AppMenuIconController::IconType::NONE:
|
| + DCHECK_EQ(severity_, AppMenuIconPainter::SEVERITY_NONE);
|
| + return gfx::VectorIconId::BROWSER_TOOLS;
|
| + case AppMenuIconController::IconType::UPGRADE_NOTIFICATION:
|
| + return gfx::VectorIconId::BROWSER_TOOLS_UPDATE;
|
| + case AppMenuIconController::IconType::GLOBAL_ERROR:
|
| + return gfx::VectorIconId::BROWSER_TOOLS_ERROR;
|
| + case AppMenuIconController::IconType::INCOMPATIBILITY_WARNING:
|
| + return gfx::VectorIconId::BROWSER_TOOLS_WARNING;
|
| + }
|
| +
|
| + return gfx::VectorIconId::VECTOR_ICON_NONE;
|
| }
|
|
|
| - (SkColor)vectorIconColor:(BOOL)themeIsDark {
|
| switch (severity_) {
|
| case AppMenuIconPainter::Severity::SEVERITY_NONE:
|
| - case AppMenuIconPainter::Severity::SEVERITY_LOW:
|
| return themeIsDark ? SK_ColorWHITE : gfx::kChromeIconGrey;
|
| break;
|
|
|
| + case AppMenuIconPainter::Severity::SEVERITY_LOW:
|
| + return themeIsDark ? gfx::kGoogleGreen300 : gfx::kGoogleGreen700;
|
| + break;
|
| +
|
| case AppMenuIconPainter::Severity::SEVERITY_MEDIUM:
|
| return themeIsDark ? gfx::kGoogleYellow300 : gfx::kGoogleYellow700;
|
| break;
|
| @@ -74,10 +92,12 @@ class AppMenuButtonIconPainterDelegateMac :
|
| }
|
|
|
| - (void)setSeverity:(AppMenuIconPainter::Severity)severity
|
| + iconType:(AppMenuIconController::IconType)type
|
| shouldAnimate:(BOOL)shouldAnimate {
|
| - if (severity != severity_) {
|
| + if (severity != severity_ || type != type_) {
|
| severity_ = severity;
|
| - // Update the button state images with the new severity color.
|
| + type_ = type;
|
| + // Update the button state images with the new severity color or icon type.
|
| [self resetButtonStateImages];
|
| }
|
| }
|
|
|