summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/render_widget_host_view_gtk.h
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-11 22:57:16 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-11 22:57:16 +0000
commitb93542fd121fa7f1ec65a27fdf94ccdcbbd638b9 (patch)
tree9deefa0a108bf596f3616897b2389c6c28e20cb6 /chrome/browser/renderer_host/render_widget_host_view_gtk.h
parentd72aa00d29a465e37454afc6db6d1080c62051e3 (diff)
downloadchromium_src-b93542fd121fa7f1ec65a27fdf94ccdcbbd638b9.zip
chromium_src-b93542fd121fa7f1ec65a27fdf94ccdcbbd638b9.tar.gz
chromium_src-b93542fd121fa7f1ec65a27fdf94ccdcbbd638b9.tar.bz2
Linux: Special case focus handling so that we don't tell webkit it's lost focus when a context menu is showing.
BUG=13404,13554 TEST=copy/paste *via the right-click context menu* works as expected in gmail. Review URL: http://codereview.chromium.org/118339 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18225 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host/render_widget_host_view_gtk.h')
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_gtk.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_view_gtk.h b/chrome/browser/renderer_host/render_widget_host_view_gtk.h
index fdd5a97..0bed0c5 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_gtk.h
+++ b/chrome/browser/renderer_host/render_widget_host_view_gtk.h
@@ -59,6 +59,7 @@ class RenderWidgetHostViewGtk : public RenderWidgetHostView {
void SetTooltipText(const std::wstring& tooltip_text);
void SelectionChanged(const std::string& text);
void PasteFromSelectionClipboard();
+ void ShowingContextMenu(bool showing);
BackingStore* AllocBackingStore(const gfx::Size& size);
// ---------------------------------------------------------------------------
@@ -82,12 +83,7 @@ class RenderWidgetHostViewGtk : public RenderWidgetHostView {
RenderWidgetHost *const host_;
// The native UI widget.
OwnedWidgetGtk view_;
- // Variables used only for popups --------------------------------------------
- // Our parent widget.
- RenderWidgetHostView* parent_host_view_;
- // The native view of our parent, equivalent to
- // parent_host_view_->GetNativeView().
- GtkWidget* parent_;
+
// This is true when we are currently painting and thus should handle extra
// paint requests by expanding the invalid rect rather than actually
// painting.
@@ -95,15 +91,23 @@ class RenderWidgetHostViewGtk : public RenderWidgetHostView {
// This is the rectangle which we'll paint.
gfx::Rect invalid_rect_;
+ // Whether or not this widget is hidden.
+ bool is_hidden_;
+
// Whether we are currently loading.
bool is_loading_;
-
// The cursor for the page. This is passed up from the renderer.
WebCursor current_cursor_;
- // Whether or not this widget is hidden.
- bool is_hidden_;
+ // Whether we are showing a context menu.
+ bool is_showing_context_menu_;
+ // Variables used only for popups --------------------------------------------
+ // Our parent widget.
+ RenderWidgetHostView* parent_host_view_;
+ // The native view of our parent, equivalent to
+ // parent_host_view_->GetNativeView().
+ GtkWidget* parent_;
// We ignore the first mouse release on popups. This allows the popup to
// stay open.
bool is_popup_first_mouse_release_;