summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/bookmark_menu_controller_gtk.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/gtk/bookmark_menu_controller_gtk.h')
-rw-r--r--chrome/browser/gtk/bookmark_menu_controller_gtk.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/chrome/browser/gtk/bookmark_menu_controller_gtk.h b/chrome/browser/gtk/bookmark_menu_controller_gtk.h
index d24dcf2..63788f1 100644
--- a/chrome/browser/gtk/bookmark_menu_controller_gtk.h
+++ b/chrome/browser/gtk/bookmark_menu_controller_gtk.h
@@ -34,7 +34,7 @@ class BookmarkMenuController : public BaseBookmarkModelObserver {
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 @@ class BookmarkMenuController : public BaseBookmarkModelObserver {
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 @@ class BookmarkMenuController : public BaseBookmarkModelObserver {
// 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_;