diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-26 19:42:11 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-26 19:42:11 +0000 |
commit | 7cf368d8e41dce78f5ab8920f3f048c97b96876c (patch) | |
tree | ff030a57ae4c900e24ff27f7f0a52e21e6cf4b52 /views/controls/menu/menu_host_gtk.h | |
parent | 0401df24e2cb038578346e09be9e4bc108bc363e (diff) | |
download | chromium_src-7cf368d8e41dce78f5ab8920f3f048c97b96876c.zip chromium_src-7cf368d8e41dce78f5ab8920f3f048c97b96876c.tar.gz chromium_src-7cf368d8e41dce78f5ab8920f3f048c97b96876c.tar.bz2 |
Gets bookmark menu working on linux. There are just a handful of
NOTIMPLEMENTEDs to resolve (initiating drags is the biggest remaining
issue). I'll tackle the remaining issues separately.
BUG=none
TEST=make sure bookmark menus work well on windows still.
Review URL: http://codereview.chromium.org/173431
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24501 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls/menu/menu_host_gtk.h')
-rw-r--r-- | views/controls/menu/menu_host_gtk.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/views/controls/menu/menu_host_gtk.h b/views/controls/menu/menu_host_gtk.h index 545acb5..6e70bc9 100644 --- a/views/controls/menu/menu_host_gtk.h +++ b/views/controls/menu/menu_host_gtk.h @@ -30,12 +30,17 @@ class MenuHost : public WidgetGtk { protected: virtual RootView* CreateRootView(); - virtual void OnCancelMode(); + // If the grab breaks we cancel the menu. + virtual gboolean OnGrabBrokeEvent(GtkWidget* widget, GdkEvent* event); + virtual void OnGrabNotify(GtkWidget* widget, gboolean was_grabbed); // Overriden to return false, we do NOT want to release capture on mouse // release. virtual bool ReleaseCaptureOnMouseReleased(); + // Overriden to also release pointer grab. + virtual void ReleaseGrab(); + private: // If true, we've been closed. bool closed_; @@ -43,6 +48,9 @@ class MenuHost : public WidgetGtk { // The view we contain. SubmenuView* submenu_; + // Have we done a pointer grab? + bool did_pointer_grab_; + DISALLOW_COPY_AND_ASSIGN(MenuHost); }; |