diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-20 13:01:08 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-20 13:01:08 +0200 |
commit | 49233e234e5c787396cadb2cea33b31ae0cd65c1 (patch) | |
tree | 5410cb9a8fd53168bb60d62c54b654d86f03c38d /Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp | |
parent | b211c645d8ab690f713515dfdc84d80b11c27d2c (diff) | |
download | qtwebkit-49233e234e5c787396cadb2cea33b31ae0cd65c1.tar.gz |
Imported WebKit commit 3a8c29f35d00659d2ce7a0ccdfa8304f14e82327 (http://svn.webkit.org/repository/webkit/trunk@120813)
New snapshot with Windows build fixes
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp index f8308aa14..a2cc1d97b 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp @@ -65,6 +65,10 @@ #include "WebFullScreenManagerProxy.h" #endif +#if USE(TEXTURE_MAPPER_GL) && defined(GDK_WINDOWING_X11) +#include <gdk/gdkx.h> +#endif + using namespace WebKit; using namespace WebCore; @@ -90,6 +94,7 @@ struct _WebKitWebViewBasePrivate { #endif GtkWidget* inspectorView; unsigned inspectorViewHeight; + WebContextMenuProxyGtk* activeContextMenuProxy; }; G_DEFINE_TYPE(WebKitWebViewBase, webkit_web_view_base, GTK_TYPE_CONTAINER) @@ -154,6 +159,9 @@ static void webkitWebViewBaseRealize(GtkWidget* widget) gint attributesMask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; GdkWindow* window = gdk_window_new(gtk_widget_get_parent_window(widget), &attributes, attributesMask); +#if USE(TEXTURE_MAPPER_GL) + gdk_window_ensure_native(window); +#endif gtk_widget_set_window(widget, window); gdk_window_set_user_data(window, widget); @@ -339,6 +347,13 @@ static void webkitWebViewBaseMap(GtkWidget* widget) GTK_WIDGET_CLASS(webkit_web_view_base_parent_class)->map(widget); WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(widget); +#if USE(TEXTURE_MAPPER_GL) && defined(GDK_WINDOWING_X11) + GdkWindow* gdkWindow = gtk_widget_get_window(widget); + ASSERT(gdkWindow); + if (gdk_window_has_native(gdkWindow)) + webViewBase->priv->pageProxy->widgetMapped(GDK_WINDOW_XID(gdkWindow)); +#endif + if (!webViewBase->priv->needsResizeOnMap) return; @@ -759,3 +774,13 @@ void webkitWebViewBaseSetInspectorViewHeight(WebKitWebViewBase* webkitWebViewBas webkitWebViewBase->priv->inspectorViewHeight = height; gtk_widget_queue_resize_no_redraw(GTK_WIDGET(webkitWebViewBase)); } + +void webkitWebViewBaseSetActiveContextMenuProxy(WebKitWebViewBase* webkitWebViewBase, WebContextMenuProxyGtk* contextMenuProxy) +{ + webkitWebViewBase->priv->activeContextMenuProxy = contextMenuProxy; +} + +WebContextMenuProxyGtk* webkitWebViewBaseGetActiveContextMenuProxy(WebKitWebViewBase* webkitWebViewBase) +{ + return webkitWebViewBase->priv->activeContextMenuProxy; +} |