Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3088)

Unified Diff: chrome/browser/ui/gtk/browser_toolbar_gtk.cc

Issue 7857014: patch for global error bubbles (view/gtk) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/global_error_service_factory.cc ('k') | chrome/browser/ui/gtk/global_error_bubble.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/gtk/browser_toolbar_gtk.cc
diff --git a/chrome/browser/ui/gtk/browser_toolbar_gtk.cc b/chrome/browser/ui/gtk/browser_toolbar_gtk.cc
index 09e62850b732594fd3d716817c9be99a753b785f..6460bec5b735bdb03a3aa31cb029b4ffb4feef79 100644
--- a/chrome/browser/ui/gtk/browser_toolbar_gtk.cc
+++ b/chrome/browser/ui/gtk/browser_toolbar_gtk.cc
@@ -20,6 +20,9 @@
#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_delegate.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 +622,29 @@ 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;
+ const std::vector<GlobalErrorDelegate*>& errors =
+ GlobalErrorServiceFactory::GetForProfile(
+ browser_->profile())->GetErrorDelegates();
+ for (std::vector<GlobalErrorDelegate*>::const_iterator
+ it = errors.begin(); it != errors.end(); ++it) {
+ GlobalErrorDelegate* error = *it;
+ if (error->HasBadge()) {
+ resource_id = error->GetBadgeResourceID();
+ break;
+ }
+ }
}
+ 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();
« no previous file with comments | « chrome/browser/ui/global_error_service_factory.cc ('k') | chrome/browser/ui/gtk/global_error_bubble.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698