summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/views/toolbar_view.cc
diff options
context:
space:
mode:
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();
}
}