Title: [154729] trunk/Source/WebKit2
Revision
154729
Author
[email protected]
Date
2013-08-28 02:45:14 -0700 (Wed, 28 Aug 2013)

Log Message

[GTK][WK2] Only set up a RedirectedXCompositeWindow if running under an X11 display
https://bugs.webkit.org/show_bug.cgi?id=120321

Reviewed by Gustavo Noronha Silva.

Only set up the RedirectedXCompositeWindow member of the WebKitWebViewBasePrivate struct
if we're running under an X11 display. This is now done in the webkitWebViewBaseConstructed
function rather than the constructor, which is removed.

This allows for the UIProcess to run in a Wayland environment even when built with accelerated
compositing enabled. Of course, at the moment there's no support yet for accelerated compositing
under Wayland, so we fall back to rendering the backing store. No changes are introduced to
the behavior under X11 - accelerated compositing will be used where possible, if supported.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseConstructed):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (154728 => 154729)


--- trunk/Source/WebKit2/ChangeLog	2013-08-28 09:34:50 UTC (rev 154728)
+++ trunk/Source/WebKit2/ChangeLog	2013-08-28 09:45:14 UTC (rev 154729)
@@ -1,5 +1,24 @@
 2013-08-28  Zan Dobersek  <[email protected]>
 
+        [GTK][WK2] Only set up a RedirectedXCompositeWindow if running under an X11 display
+        https://bugs.webkit.org/show_bug.cgi?id=120321
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Only set up the RedirectedXCompositeWindow member of the WebKitWebViewBasePrivate struct
+        if we're running under an X11 display. This is now done in the webkitWebViewBaseConstructed
+        function rather than the constructor, which is removed.
+
+        This allows for the UIProcess to run in a Wayland environment even when built with accelerated
+        compositing enabled. Of course, at the moment there's no support yet for accelerated compositing
+        under Wayland, so we fall back to rendering the backing store. No changes are introduced to
+        the behavior under X11 - accelerated compositing will be used where possible, if supported.
+
+        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+        (webkitWebViewBaseConstructed):
+
+2013-08-28  Zan Dobersek  <[email protected]>
+
         [GTK][WK2] Disable accelerated compositing under Wayland
         https://bugs.webkit.org/show_bug.cgi?id=120347
 

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (154728 => 154729)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp	2013-08-28 09:34:50 UTC (rev 154728)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp	2013-08-28 09:45:14 UTC (rev 154729)
@@ -57,6 +57,9 @@
 #include <WebCore/Region.h>
 #include <gdk/gdk.h>
 #include <gdk/gdkkeysyms.h>
+#ifdef GDK_WINDOWING_X11
+#include <gdk/gdkx.h>
+#endif
 #include <wtf/HashMap.h>
 #include <wtf/gobject/GOwnPtr.h>
 #include <wtf/gobject/GRefPtr.h>
@@ -80,13 +83,6 @@
 #endif
 
 struct _WebKitWebViewBasePrivate {
-    _WebKitWebViewBasePrivate()
-#if USE(TEXTURE_MAPPER_GL)
-        : redirectedWindow(RedirectedXCompositeWindow::create(IntSize(1, 1), RedirectedXCompositeWindow::DoNotCreateGLContext))
-#endif
-    {
-    }
-
     ~_WebKitWebViewBasePrivate()
     {
         pageProxy->close();
@@ -382,9 +378,13 @@
     priv->pageClient = PageClientImpl::create(viewWidget);
     priv->dragAndDropHelper.setWidget(viewWidget);
 
-#if USE(TEXTURE_MAPPER_GL)
-    if (priv->redirectedWindow)
-        priv->redirectedWindow->setDamageNotifyCallback(redirectedWindowDamagedCallback, object);
+#if USE(TEXTURE_MAPPER_GL) && defined(GDK_WINDOWING_X11)
+    GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get());
+    if (GDK_IS_X11_DISPLAY(display)) {
+        priv->redirectedWindow = RedirectedXCompositeWindow::create(IntSize(1, 1), RedirectedXCompositeWindow::DoNotCreateGLContext);
+        if (priv->redirectedWindow)
+            priv->redirectedWindow->setDamageNotifyCallback(redirectedWindowDamagedCallback, object);
+    }
 #endif
 
     priv->authenticationDialog = 0;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to