summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/views/toolbar_view.cc
diff options
context:
space:
mode:
authorsail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-20 02:42:31 +0000
committersail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-20 02:42:31 +0000
commit95e30e7c7712f4a98768c9dc04233e21acd30a4f (patch)
tree0c380c1bee643fde863da5a5a59825f2f8e4da1c /chrome/browser/ui/views/toolbar_view.cc
parent17fbefe1a1cb2314d31ec1082b18d2f172d5eb9d (diff)
downloadchromium_src-95e30e7c7712f4a98768c9dc04233e21acd30a4f.zip
chromium_src-95e30e7c7712f4a98768c9dc04233e21acd30a4f.tar.gz
chromium_src-95e30e7c7712f4a98768c9dc04233e21acd30a4f.tar.bz2
Update error badge on wrench menu button
With this change we now update the error badge on the wrench menu button if a global error is updated, added or removed. BUG=95146 TEST= Review URL: http://codereview.chromium.org/7948003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101904 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/views/toolbar_view.cc')
-rw-r--r--chrome/browser/ui/views/toolbar_view.cc26
1 files changed, 17 insertions, 9 deletions
diff --git a/chrome/browser/ui/views/toolbar_view.cc b/chrome/browser/ui/views/toolbar_view.cc
index 0ab4c94..6c6b5e2 100644
--- a/chrome/browser/ui/views/toolbar_view.cc
+++ b/chrome/browser/ui/views/toolbar_view.cc
@@ -112,6 +112,8 @@ ToolbarView::ToolbarView(Browser* browser)
registrar_.Add(this,
chrome::NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE,
NotificationService::AllSources());
+ registrar_.Add(this, chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED,
+ Source<Profile>(browser_->profile()));
}
ToolbarView::~ToolbarView() {
@@ -399,16 +401,22 @@ void ToolbarView::ButtonPressed(views::Button* sender,
void ToolbarView::Observe(int type,
const NotificationSource& source,
const NotificationDetails& details) {
- if (type == chrome::NOTIFICATION_PREF_CHANGED) {
- std::string* pref_name = Details<std::string>(details).ptr();
- if (*pref_name == prefs::kShowHomeButton) {
- Layout();
- SchedulePaint();
+ switch (type) {
+ case chrome::NOTIFICATION_PREF_CHANGED: {
+ std::string* pref_name = Details<std::string>(details).ptr();
+ if (*pref_name == prefs::kShowHomeButton) {
+ Layout();
+ SchedulePaint();
+ }
+ break;
}
- } else if (
- type == chrome::NOTIFICATION_UPGRADE_RECOMMENDED ||
- type == chrome::NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE) {
- UpdateAppMenuBadge();
+ case chrome::NOTIFICATION_UPGRADE_RECOMMENDED:
+ case chrome::NOTIFICATION_MODULE_INCOMPATIBILITY_BADGE_CHANGE:
+ case chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED:
+ UpdateAppMenuBadge();
+ break;
+ default:
+ NOTREACHED();
}
}