diff options
author | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-09 22:20:25 +0000 |
---|---|---|
committer | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-09 22:20:25 +0000 |
commit | e0ddd75a4e0c8b13e9d1b0b231399e2eed3420fd (patch) | |
tree | 119be1305c71b8f276c3078b166f541730d8660c /chrome/browser/ui/gtk | |
parent | 8ebabc4e5f83fe66ff719f732b99971eef067e99 (diff) | |
download | chromium_src-e0ddd75a4e0c8b13e9d1b0b231399e2eed3420fd.zip chromium_src-e0ddd75a4e0c8b13e9d1b0b231399e2eed3420fd.tar.gz chromium_src-e0ddd75a4e0c8b13e9d1b0b231399e2eed3420fd.tar.bz2 |
Add a global error messages UI
This is change adds a new UI to show global error messages. Currenlty this only supports adding a wrench menu badge and wrench menu item. I'll add a buble view in later patches. See the bug for more info.
BUG=95146
TEST=
Review URL: http://codereview.chromium.org/7792088
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100516 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/gtk')
-rw-r--r-- | chrome/browser/ui/gtk/browser_toolbar_gtk.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/chrome/browser/ui/gtk/browser_toolbar_gtk.cc b/chrome/browser/ui/gtk/browser_toolbar_gtk.cc index 09e6285..8e64303 100644 --- a/chrome/browser/ui/gtk/browser_toolbar_gtk.cc +++ b/chrome/browser/ui/gtk/browser_toolbar_gtk.cc @@ -20,6 +20,8 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/themes/theme_service.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/global_error_service.h" +#include "chrome/browser/ui/global_error_service_factory.h" #include "chrome/browser/ui/gtk/accelerators_gtk.h" #include "chrome/browser/ui/gtk/back_forward_button_gtk.h" #include "chrome/browser/ui/gtk/browser_actions_toolbar_gtk.h" @@ -619,16 +621,20 @@ bool BrowserToolbarGtk::ShouldOnlyShowLocation() const { gboolean BrowserToolbarGtk::OnWrenchMenuButtonExpose(GtkWidget* sender, GdkEventExpose* expose) { - const SkBitmap* badge = NULL; + int resource_id = 0; if (UpgradeDetector::GetInstance()->notify_upgrade()) { - badge = theme_service_->GetBitmapNamed( - UpgradeDetector::GetInstance()->GetIconResourceID( - UpgradeDetector::UPGRADE_ICON_TYPE_BADGE)); + resource_id = UpgradeDetector::GetInstance()->GetIconResourceID( + UpgradeDetector::UPGRADE_ICON_TYPE_BADGE); } else { - return FALSE; + resource_id = GlobalErrorServiceFactory::GetForProfile( + browser_->profile())->GetFirstBadgeResourceID(); } + if (!resource_id) + return FALSE; + // Draw the chrome app menu icon onto the canvas. + const SkBitmap* badge = theme_service_->GetBitmapNamed(resource_id); gfx::CanvasSkiaPaint canvas(expose, false); int x_offset = base::i18n::IsRTL() ? 0 : sender->allocation.width - badge->width(); |