[webkit-changes] [WebKit/WebKit] fda621: [WPE] WPE Platform: add monitors API

Carlos Garcia Campos noreply at github.com
Mon Feb 5 03:29:33 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fda6216679915707208bd7794ae22c0c92b808cd
      https://github.com/WebKit/WebKit/commit/fda6216679915707208bd7794ae22c0c92b808cd
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-02-05 (Mon, 05 Feb 2024)

  Changed paths:
    M Source/WebCore/platform/PlatformScreen.cpp
    M Source/WebCore/platform/ScreenProperties.h
    M Source/WebCore/platform/wpe/PlatformScreenWPE.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/Shared/WebPageCreationParameters.h
    M Source/WebKit/Shared/WebPageCreationParameters.serialization.in
    M Source/WebKit/Shared/WebProcessCreationParameters.h
    M Source/WebKit/Shared/WebProcessCreationParameters.serialization.in
    M Source/WebKit/SourcesGTK.txt
    M Source/WebKit/SourcesWPE.txt
    M Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp
    M Source/WebKit/UIProcess/API/wpe/WPEWebView.h
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp
    A Source/WebKit/UIProcess/glib/ScreenManager.cpp
    A Source/WebKit/UIProcess/glib/ScreenManager.h
    M Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
    R Source/WebKit/UIProcess/gtk/ScreenManager.cpp
    R Source/WebKit/UIProcess/gtk/ScreenManager.h
    A Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp
    A Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp
    M Source/WebKit/WPEPlatform/CMakeLists.txt
    M Source/WebKit/WPEPlatform/wpe/WPEDisplay.cpp
    M Source/WebKit/WPEPlatform/wpe/WPEDisplay.h
    A Source/WebKit/WPEPlatform/wpe/WPEMonitor.cpp
    A Source/WebKit/WPEPlatform/wpe/WPEMonitor.h
    M Source/WebKit/WPEPlatform/wpe/WPEView.cpp
    M Source/WebKit/WPEPlatform/wpe/WPEView.h
    M Source/WebKit/WPEPlatform/wpe/wayland/CMakeLists.txt
    M Source/WebKit/WPEPlatform/wpe/wayland/WPEDisplayWayland.cpp
    M Source/WebKit/WPEPlatform/wpe/wayland/WPEDisplayWaylandPrivate.h
    A Source/WebKit/WPEPlatform/wpe/wayland/WPEMonitorWayland.cpp
    A Source/WebKit/WPEPlatform/wpe/wayland/WPEMonitorWayland.h
    A Source/WebKit/WPEPlatform/wpe/wayland/WPEMonitorWaylandPrivate.h
    M Source/WebKit/WPEPlatform/wpe/wayland/WPEViewWayland.cpp
    M Source/WebKit/WPEPlatform/wpe/wayland/wpe-wayland.h
    M Source/WebKit/WPEPlatform/wpe/wpe-platform.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKit/WebProcess/WebProcess.messages.in
    M Source/WebKit/WebProcess/glib/WebProcessGLib.cpp

  Log Message:
  -----------
  [WPE] WPE Platform: add monitors API
https://bugs.webkit.org/show_bug.cgi?id=265639

Reviewed by Adrian Perez de Castro.

Add monitors API with implementation for the wayland platform for now.
This API is used inside WebKit to set the screen properties, set the
platform display ID and get the refresh rate for display link.

* Source/WebCore/platform/PlatformScreen.cpp:
* Source/WebCore/platform/ScreenProperties.h:
* Source/WebCore/platform/wpe/PlatformScreenWPE.cpp:
(WebCore::widgetDisplayID):
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
(WebCore::screenDPI):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::setScreenDPIObserverHandler): Deleted.
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/Shared/WebPageCreationParameters.h:
* Source/WebKit/Shared/WebPageCreationParameters.serialization.in:
* Source/WebKit/Shared/WebProcessCreationParameters.h:
* Source/WebKit/Shared/WebProcessCreationParameters.serialization.in:
* Source/WebKit/SourcesGTK.txt:
* Source/WebKit/SourcesWPE.txt:
* Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp:
(WKWPE::m_backend):
(WKWPE::View::~View):
(WKWPE::View::updateDisplayID):
* Source/WebKit/UIProcess/API/wpe/WPEWebView.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp:
(WebKit::findCrtc):
(WebKit::DisplayVBlankMonitorDRM::create):
* Source/WebKit/UIProcess/glib/ScreenManager.cpp: Copied from Source/WebKit/UIProcess/gtk/ScreenManager.h.
(WebKit::ScreenManager::singleton):
(WebKit::ScreenManager::displayID const):
(WebKit::ScreenManager::monitor const):
(WebKit::ScreenManager::addMonitor):
(WebKit::ScreenManager::removeMonitor):
(WebKit::ScreenManager::propertiesDidChange const):
* Source/WebKit/UIProcess/glib/ScreenManager.h: Renamed from Source/WebKit/UIProcess/gtk/ScreenManager.h.
* Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* Source/WebKit/UIProcess/gtk/ScreenManagerGtk.cpp: Renamed from Source/WebKit/UIProcess/gtk/ScreenManager.cpp.
(WebKit::ScreenManager::generatePlatformDisplayID):
(WebKit::ScreenManager::ScreenManager):
(WebKit::ScreenManager::collectScreenProperties const):
* Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp: Added.
(WebKit::ScreenManager::generatePlatformDisplayID):
(WebKit::ScreenManager::ScreenManager):
(WebKit::ScreenManager::collectScreenProperties const):
* Source/WebKit/WPEPlatform/CMakeLists.txt:
* Source/WebKit/WPEPlatform/wpe/WPEDisplay.cpp:
(wpe_display_class_init):
(wpe_display_get_n_monitors):
(wpe_display_get_monitor):
(wpe_display_monitor_added):
(wpe_display_monitor_removed):
(wpeDisplayDispose): Deleted.
* Source/WebKit/WPEPlatform/wpe/WPEDisplay.h:
* Source/WebKit/WPEPlatform/wpe/WPEMonitor.cpp: Added.
(wpeMonitorGetProperty):
(wpe_monitor_class_init):
(wpe_monitor_get_id):
(wpe_monitor_invalidate):
(wpe_monitor_get_x):
(wpe_monitor_get_y):
(wpe_monitor_set_position):
(wpe_monitor_get_width):
(wpe_monitor_get_height):
(wpe_monitor_set_size):
(wpe_monitor_get_physical_width):
(wpe_monitor_get_physical_height):
(wpe_monitor_set_physical_size):
(wpe_monitor_get_scale):
(wpe_monitor_set_scale):
(wpe_monitor_get_refresh_rate):
(wpe_monitor_set_refresh_rate):
* Source/WebKit/WPEPlatform/wpe/WPEMonitor.h: Added.
* Source/WebKit/WPEPlatform/wpe/WPEView.cpp:
(wpeViewGetProperty):
(wpe_view_class_init):
(wpe_view_get_monitor):
* Source/WebKit/WPEPlatform/wpe/WPEView.h:
* Source/WebKit/WPEPlatform/wpe/wayland/CMakeLists.txt:
* Source/WebKit/WPEPlatform/wpe/wayland/WPEDisplayWayland.cpp:
(wpeDisplayWaylandDispose):
(wpeDisplayWaylandGetNMonitors):
(wpeDisplayWaylandGetMonitor):
(wpeDisplayWaylandFindMonitor):
(wpe_display_wayland_class_init):
(wpeDisplayWaylandGetOutput): Deleted.
* Source/WebKit/WPEPlatform/wpe/wayland/WPEDisplayWaylandPrivate.h:
* Source/WebKit/WPEPlatform/wpe/wayland/WPEMonitorWayland.cpp: Added.
(wpeMonitorWaylandInvalidate):
(wpeMonitorWaylandDispose):
(wpe_monitor_wayland_class_init):
(wpe_monitor_wayland_get_wl_output):
* Source/WebKit/WPEPlatform/wpe/wayland/WPEMonitorWayland.h: Copied from Source/WebKit/WPEPlatform/wpe/wayland/wpe-wayland.h.
* Source/WebKit/WPEPlatform/wpe/wayland/WPEViewWayland.cpp:
(wpeViewWaylandConstructed):
(wpeViewWaylandDispose):
(wpeViewWaylandGetMonitor):
(wpe_view_wayland_class_init):
* Source/WebKit/WPEPlatform/wpe/wayland/wpe-wayland.h:
* Source/WebKit/WPEPlatform/wpe/wpe-platform.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_historyItemClient):
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/WebProcess.messages.in:
* Source/WebKit/WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):

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




More information about the webkit-changes mailing list