Changeset 154729 in webkit


Ignore:
Timestamp:
Aug 28, 2013 2:45:14 AM (11 years ago)
Author:
zandobersek@gmail.com
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):

Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r154728 r154729  
     12013-08-28  Zan Dobersek  <zdobersek@igalia.com>
     2
     3        [GTK][WK2] Only set up a RedirectedXCompositeWindow if running under an X11 display
     4        https://bugs.webkit.org/show_bug.cgi?id=120321
     5
     6        Reviewed by Gustavo Noronha Silva.
     7
     8        Only set up the RedirectedXCompositeWindow member of the WebKitWebViewBasePrivate struct
     9        if we're running under an X11 display. This is now done in the webkitWebViewBaseConstructed
     10        function rather than the constructor, which is removed.
     11
     12        This allows for the UIProcess to run in a Wayland environment even when built with accelerated
     13        compositing enabled. Of course, at the moment there's no support yet for accelerated compositing
     14        under Wayland, so we fall back to rendering the backing store. No changes are introduced to
     15        the behavior under X11 - accelerated compositing will be used where possible, if supported.
     16
     17        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
     18        (webkitWebViewBaseConstructed):
     19
    1202013-08-28  Zan Dobersek  <zdobersek@igalia.com>
    221
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp

    r152626 r154729  
    5858#include <gdk/gdk.h>
    5959#include <gdk/gdkkeysyms.h>
     60#ifdef GDK_WINDOWING_X11
     61#include <gdk/gdkx.h>
     62#endif
    6063#include <wtf/HashMap.h>
    6164#include <wtf/gobject/GOwnPtr.h>
     
    8184
    8285struct _WebKitWebViewBasePrivate {
    83     _WebKitWebViewBasePrivate()
    84 #if USE(TEXTURE_MAPPER_GL)
    85         : redirectedWindow(RedirectedXCompositeWindow::create(IntSize(1, 1), RedirectedXCompositeWindow::DoNotCreateGLContext))
    86 #endif
    87     {
    88     }
    89 
    9086    ~_WebKitWebViewBasePrivate()
    9187    {
     
    383379    priv->dragAndDropHelper.setWidget(viewWidget);
    384380
    385 #if USE(TEXTURE_MAPPER_GL)
    386     if (priv->redirectedWindow)
    387         priv->redirectedWindow->setDamageNotifyCallback(redirectedWindowDamagedCallback, object);
     381#if USE(TEXTURE_MAPPER_GL) && defined(GDK_WINDOWING_X11)
     382    GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get());
     383    if (GDK_IS_X11_DISPLAY(display)) {
     384        priv->redirectedWindow = RedirectedXCompositeWindow::create(IntSize(1, 1), RedirectedXCompositeWindow::DoNotCreateGLContext);
     385        if (priv->redirectedWindow)
     386            priv->redirectedWindow->setDamageNotifyCallback(redirectedWindowDamagedCallback, object);
     387    }
    388388#endif
    389389
Note: See TracChangeset for help on using the changeset viewer.