| Index: chrome/browser/ui/views/toolbar_view.cc
|
| diff --git a/chrome/browser/ui/views/toolbar_view.cc b/chrome/browser/ui/views/toolbar_view.cc
|
| index 337635ead04bff3f7a4a05d99d9648ce51f1112b..1b1dd4995120ffab02db67ab5d837f794f8b9a31 100644
|
| --- a/chrome/browser/ui/views/toolbar_view.cc
|
| +++ b/chrome/browser/ui/views/toolbar_view.cc
|
| @@ -17,6 +17,9 @@
|
| #include "chrome/browser/ui/views/event_utils.h"
|
| #include "chrome/browser/ui/views/wrench_menu.h"
|
| #include "chrome/browser/upgrade_detector.h"
|
| +#include "chrome/browser/ui/global_error_delegate.h"
|
| +#include "chrome/browser/ui/global_error_service.h"
|
| +#include "chrome/browser/ui/global_error_service_factory.h"
|
| #include "chrome/common/chrome_notification_types.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "content/browser/accessibility/browser_accessibility_state.h"
|
| @@ -264,7 +267,21 @@ SkBitmap ToolbarView::GetAppMenuIcon(views::CustomButton::ButtonState state) {
|
| incompatibility_badge_showing = false;
|
| #endif
|
|
|
| - bool add_badge = IsUpgradeRecommended() || ShouldShowIncompatibilityWarning();
|
| + const std::vector<GlobalErrorDelegate*>& errors =
|
| + GlobalErrorServiceFactory::GetForProfile(
|
| + browser_->profile())->GetErrorDelegates();
|
| + int error_badge_id = 0;
|
| + for (std::vector<GlobalErrorDelegate*>::const_iterator
|
| + it = errors.begin(); it != errors.end(); ++it) {
|
| + GlobalErrorDelegate* error = *it;
|
| + if (error->HasBadge()) {
|
| + error_badge_id = error->GetBadgeResourceID();
|
| + break;
|
| + }
|
| + }
|
| +
|
| + bool add_badge = IsUpgradeRecommended() ||
|
| + ShouldShowIncompatibilityWarning() || error_badge_id;
|
| if (!add_badge)
|
| return icon;
|
|
|
| @@ -289,6 +306,8 @@ SkBitmap ToolbarView::GetAppMenuIcon(views::CustomButton::ButtonState state) {
|
| #else
|
| NOTREACHED();
|
| #endif
|
| + } else if (error_badge_id) {
|
| + badge = *tp->GetBitmapNamed(error_badge_id);
|
| } else {
|
| NOTREACHED();
|
| }
|
|
|