Index: chrome/browser/gtk/bookmark_menu_controller_gtk.h |
=================================================================== |
--- chrome/browser/gtk/bookmark_menu_controller_gtk.h (revision 20108) |
+++ chrome/browser/gtk/bookmark_menu_controller_gtk.h (working copy) |
@@ -34,7 +34,7 @@ |
bool show_other_folder); |
virtual ~BookmarkMenuController(); |
- // Pops up the menu. |
+ // Pops up the menu. |widget| must be a GtkChromeButton. |
void Popup(GtkWidget* widget, gint button_type, guint32 timestamp); |
// Overridden from BaseBookmarkModelObserver: |
@@ -64,6 +64,10 @@ |
GdkEventButton* event, |
BookmarkMenuController* controller); |
+ // We have to stop drawing |triggering_widget_| as active when the menu |
+ // closes. |
+ static void OnMenuHidden(GtkWidget* menu, BookmarkMenuController* controller); |
+ |
// We respond to the activate signal because things other than mouse button |
// events can trigger it. |
static void OnMenuItemActivated(GtkMenuItem* menuitem, |
@@ -105,6 +109,9 @@ |
// dragging). |
bool ignore_button_release_; |
+ // The widget we are showing for (i.e. the bookmark bar folder button). |
+ GtkWidget* triggering_widget_; |
+ |
// Mapping from node to GtkMenuItem menu id. This only contains entries for |
// nodes of type URL. |
std::map<const BookmarkNode*, GtkWidget*> node_to_menu_widget_map_; |