diff options
author | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-20 02:42:31 +0000 |
---|---|---|
committer | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-20 02:42:31 +0000 |
commit | 95e30e7c7712f4a98768c9dc04233e21acd30a4f (patch) | |
tree | 0c380c1bee643fde863da5a5a59825f2f8e4da1c /chrome/browser/ui/views/toolbar_view.cc | |
parent | 17fbefe1a1cb2314d31ec1082b18d2f172d5eb9d (diff) | |
download | chromium_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.cc | 26 |
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(); } } |