[webkit-changes] [WebKit/WebKit] 8db1e0: [GTK] Move gtk specific code from PlatformDisplay ...

Carlos Garcia Campos noreply at github.com
Sun Aug 18 23:24:10 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8db1e051cf4a6d7877dd51b81b478e8367d3f052
      https://github.com/WebKit/WebKit/commit/8db1e051cf4a6d7877dd51b81b478e8367d3f052
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M Source/WebCore/PlatformGTK.cmake
    M Source/WebCore/PlatformWPE.cmake
    M Source/WebCore/SourcesGTK.txt
    M Source/WebCore/platform/graphics/PlatformDisplay.cpp
    M Source/WebCore/platform/graphics/PlatformDisplay.h
    M Source/WebCore/platform/graphics/egl/GLContext.cpp
    M Source/WebCore/platform/graphics/egl/PlatformDisplaySurfaceless.cpp
    M Source/WebCore/platform/graphics/egl/PlatformDisplaySurfaceless.h
    M Source/WebCore/platform/graphics/gbm/PlatformDisplayGBM.cpp
    M Source/WebCore/platform/graphics/gbm/PlatformDisplayGBM.h
    M Source/WebCore/platform/graphics/libwpe/PlatformDisplayLibWPE.cpp
    M Source/WebCore/platform/graphics/libwpe/PlatformDisplayLibWPE.h
    R Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp
    R Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.h
    M Source/WebCore/platform/graphics/win/PlatformDisplayWin.cpp
    M Source/WebCore/platform/graphics/win/PlatformDisplayWin.h
    R Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
    R Source/WebCore/platform/graphics/x11/PlatformDisplayX11.h
    M Source/WebKit/SourcesGTK.txt
    M Source/WebKit/UIProcess/API/glib/InputMethodFilter.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp
    M Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
    M Source/WebKit/UIProcess/glib/DRMDevice.cpp
    M Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
    A Source/WebKit/UIProcess/gtk/Display.cpp
    A Source/WebKit/UIProcess/gtk/Display.h
    A Source/WebKit/UIProcess/gtk/DisplayWayland.cpp
    A Source/WebKit/UIProcess/gtk/DisplayX11.cpp
    M Source/WebKit/UIProcess/gtk/PointerLockManager.cpp

  Log Message:
  -----------
  [GTK] Move gtk specific code from PlatformDisplay to a new class
https://bugs.webkit.org/show_bug.cgi?id=278273

Reviewed by Michael Catanzaro.

There's gtk specific code in PlatformDisplay that is only used in the UI
process. We can move that to a new Display class in WebKit layer and
remove also PlatformDisplayX11 and PlatformDisplayWayland, since they
are now unused in the web process. The remaining PlatformDisplay
implementations are only used for accelerated compositing, and they
always initialize EGL in the constructor, so we can simplify the EGL
initialization and make it fatal if there's a failure.

* Source/WebCore/PlatformGTK.cmake:
* Source/WebCore/PlatformWPE.cmake:
* Source/WebCore/SourcesGTK.txt:
* Source/WebCore/platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::sharedDisplay):
(WebCore::PlatformDisplay::PlatformDisplay):
(WebCore::PlatformDisplay::~PlatformDisplay):
(WebCore::PlatformDisplay::eglDisplay const):
(WebCore::PlatformDisplay::eglCheckVersion const):
(WebCore::PlatformDisplay::eglExtensions const):
(WebCore::PlatformDisplay::terminateEGLDisplay):
(WebCore::PlatformDisplay::createEGLImage const):
(WebCore::PlatformDisplay::destroyEGLImage const):
(WebCore::PlatformDisplay::dmabufFormats):
(WebCore::PlatformDisplay::createPlatformDisplay): Deleted.
(WebCore::PlatformDisplay::sharedDisplayDidClose): Deleted.
(WebCore::PlatformDisplay::initializeEGLDisplay): Deleted.
(WebCore::PlatformDisplay::accessibilityBusAddress const): Deleted.
* Source/WebCore/platform/graphics/PlatformDisplay.h:
(WebCore::PlatformDisplay::gtkEGLDisplay): Deleted.
* Source/WebCore/platform/graphics/egl/GLContext.cpp:
(WebCore::GLContext::createWindowContext):
(WebCore::GLContext::createOffscreen):
(WebCore::GLContext::createSharing):
* Source/WebCore/platform/graphics/egl/PlatformDisplaySurfaceless.cpp:
(WebCore::PlatformDisplaySurfaceless::create):
(WebCore::PlatformDisplaySurfaceless::PlatformDisplaySurfaceless):
* Source/WebCore/platform/graphics/egl/PlatformDisplaySurfaceless.h:
* Source/WebCore/platform/graphics/gbm/PlatformDisplayGBM.cpp:
(WebCore::PlatformDisplayGBM::create):
(WebCore::PlatformDisplayGBM::PlatformDisplayGBM):
* Source/WebCore/platform/graphics/gbm/PlatformDisplayGBM.h:
* Source/WebCore/platform/graphics/libwpe/PlatformDisplayLibWPE.cpp:
(WebCore::PlatformDisplayLibWPE::create):
(WebCore::PlatformDisplayLibWPE::PlatformDisplayLibWPE):
(WebCore::PlatformDisplayLibWPE::initializeEGLDisplay): Deleted.
* Source/WebCore/platform/graphics/libwpe/PlatformDisplayLibWPE.h:
* Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp: Removed.
* Source/WebCore/platform/graphics/win/PlatformDisplayWin.cpp:
(WebCore::PlatformDisplayWin::create):
(WebCore::PlatformDisplayWin::PlatformDisplayWin):
(WebCore::PlatformDisplayWin::initializeEGLDisplay): Deleted.
* Source/WebCore/platform/graphics/win/PlatformDisplayWin.h:
* Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp: Removed.
* Source/WebCore/platform/graphics/x11/PlatformDisplayX11.h: Removed.
* Source/WebKit/SourcesGTK.txt:
* Source/WebKit/UIProcess/API/glib/InputMethodFilter.cpp:
(WebKit::InputMethodFilter::isViewFocused const):
* Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:
(WebKit::uiProcessContextIsEGL):
(WebKit::WebKitProtocolHandler::handleGPU):
* Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp:
(UIClient::windowConfigureEventCallback):
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetToplevelOnScreenWindow):
(webkitWebViewBaseIsFocused):
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:
(webkitWebViewMaximizeWindow):
(webkitWebViewRestoreWindow):
* Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bindWayland):
(WebKit::shouldUnshareNetwork):
(WebKit::bubblewrapSpawn):
* Source/WebKit/UIProcess/glib/DRMDevice.cpp:
(WebKit::currentEGLDisplay):
(WebKit::drmPrimaryDevice):
(WebKit::drmRenderNodeDevice):
* Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::accessibilityBusAddress const):
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp:
(WebKit::AcceleratedBackingStoreDMABuf::rendererBufferMode):
(WebKit::AcceleratedBackingStoreDMABuf::preferredBufferFormats):
(WebKit::AcceleratedBackingStoreDMABuf::BufferEGLImage::create):
(WebKit::AcceleratedBackingStoreDMABuf::BufferEGLImage::~BufferEGLImage):
(WebKit::AcceleratedBackingStoreDMABuf::didCreateBuffer):
* Source/WebKit/UIProcess/gtk/Display.cpp: Added.
(WebKit::Display::singleton):
(WebKit::Display::Display):
(WebKit::Display::~Display):
(WebKit::Display::glDisplay const):
(WebKit::Display::accessibilityBusAddress const):
* Source/WebKit/UIProcess/gtk/Display.h: Added.
(WebKit::Display::glDisplayIsSharedWithGtk const):
* Source/WebKit/UIProcess/gtk/DisplayWayland.cpp: Added.
(WebKit::Display::isWayland const):
(WebKit::Display::initializeGLDisplayWayland const):
* Source/WebKit/UIProcess/gtk/DisplayX11.cpp: Added.
(WebKit::Display::isX11 const):
(WebKit::Display::initializeGLDisplayX11 const):
(WebKit::Display::accessibilityBusAddressX11 const):
* Source/WebKit/UIProcess/gtk/PointerLockManager.cpp:
(WebKit::PointerLockManager::create):

Canonical link: https://commits.webkit.org/282416@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list