Index: chrome/browser/gtk/location_bar_view_gtk.cc |
=================================================================== |
--- chrome/browser/gtk/location_bar_view_gtk.cc (revision 29822) |
+++ chrome/browser/gtk/location_bar_view_gtk.cc (working copy) |
@@ -6,6 +6,7 @@ |
#include <string> |
+#include "app/gfx/canvas_paint.h" |
#include "app/gfx/gtk_util.h" |
#include "app/l10n_util.h" |
#include "app/resource_bundle.h" |
@@ -684,6 +685,8 @@ |
gtk_event_box_set_visible_window(GTK_EVENT_BOX(event_box_.get()), FALSE); |
g_signal_connect(event_box_.get(), "button-press-event", |
G_CALLBACK(&OnButtonPressed), this); |
+ g_signal_connect_after(event_box_.get(), "expose-event", |
+ G_CALLBACK(OnExposeEvent), this); |
image_.Own(gtk_image_new()); |
gtk_container_add(GTK_CONTAINER(event_box_.get()), image_.get()); |
@@ -793,3 +796,20 @@ |
event->button); |
return true; |
} |
+ |
+// static |
+gboolean LocationBarViewGtk::PageActionViewGtk::OnExposeEvent( |
+ GtkWidget* widget, GdkEventExpose* event, PageActionViewGtk* view) { |
+ TabContents* contents = view->owner_->browser_->GetSelectedTabContents(); |
+ if (!contents) |
+ return FALSE; |
+ const ExtensionActionState* state = |
+ contents->GetPageActionState(view->page_action_); |
+ if (!state || state->badge_text().empty()) |
+ return FALSE; |
+ |
+ gfx::CanvasPaint canvas(event, false); |
+ gfx::Rect bounding_rect(widget->allocation); |
+ state->PaintBadge(&canvas, bounding_rect); |
+ return FALSE; |
+} |
Property changes on: chrome\browser\gtk\location_bar_view_gtk.cc |
___________________________________________________________________ |
Modified: svn:mergeinfo |
Merged /trunk/src/chrome/browser/gtk/location_bar_view_gtk.cc:r29556 |