Modified: trunk/Source/WebCore/ChangeLog (246309 => 246310)
--- trunk/Source/WebCore/ChangeLog 2019-06-11 12:50:50 UTC (rev 246309)
+++ trunk/Source/WebCore/ChangeLog 2019-06-11 12:52:21 UTC (rev 246310)
@@ -1,3 +1,19 @@
+2019-06-11 Ludovico de Nittis <[email protected]>
+
+ [GTK] Replace gdk_screen_get_monitor_geometry and gdk_screen_get_monitor_workarea
+ https://bugs.webkit.org/show_bug.cgi?id=198750
+
+ Reviewed by Carlos Garcia Campos.
+
+ Since GTK 3.22 gdk_screen_get_monitor_geometry and
+ gdk_screen_get_monitor_workarea has been deprecated.
+
+ No behavior change.
+
+ * platform/gtk/PlatformScreenGtk.cpp:
+ (WebCore::screenRect):
+ (WebCore::screenAvailableRect):
+
2019-06-11 Fujii Hironori <[email protected]>
[cairo][SVG] Putting multiple path elements in clippath causes rendering artifacts
Modified: trunk/Source/WebCore/platform/gtk/PlatformScreenGtk.cpp (246309 => 246310)
--- trunk/Source/WebCore/platform/gtk/PlatformScreenGtk.cpp 2019-06-11 12:50:50 UTC (rev 246309)
+++ trunk/Source/WebCore/platform/gtk/PlatformScreenGtk.cpp 2019-06-11 12:52:21 UTC (rev 246310)
@@ -150,10 +150,12 @@
}
}
+#if !GTK_CHECK_VERSION(3, 22, 0)
static GdkScreen* getScreen(GtkWidget* widget)
{
return gtk_widget_has_screen(widget) ? gtk_widget_get_screen(widget) : gdk_screen_get_default();
}
+#endif
FloatRect screenRect(Widget* widget)
{
@@ -161,6 +163,16 @@
if (container)
container = getToplevel(container);
+ GdkRectangle geometry;
+#if GTK_CHECK_VERSION(3, 22, 0)
+ GdkDisplay* display = container ? gtk_widget_get_display(container) : gdk_display_get_default();
+ if (!display)
+ return FloatRect();
+
+ GdkMonitor* monitor = container ? gdk_display_get_monitor_at_window(display, gtk_widget_get_window(container)) : gdk_display_get_monitor(display, 0);
+
+ gdk_monitor_get_geometry(monitor, &geometry);
+#else
GdkScreen* screen = container ? getScreen(container) : gdk_screen_get_default();
if (!screen)
return FloatRect();
@@ -167,8 +179,8 @@
gint monitor = container ? gdk_screen_get_monitor_at_window(screen, gtk_widget_get_window(container)) : 0;
- GdkRectangle geometry;
gdk_screen_get_monitor_geometry(screen, monitor, &geometry);
+#endif // !GTK_CHECK_VERSION(3, 22, 0)
return FloatRect(geometry.x, geometry.y, geometry.width, geometry.height);
}
@@ -179,6 +191,16 @@
if (container && !gtk_widget_get_realized(container))
return screenRect(widget);
+ GdkRectangle workArea;
+#if GTK_CHECK_VERSION(3, 22, 0)
+ GdkDisplay* display = container ? gtk_widget_get_display(container) : gdk_display_get_default();
+ if (!display)
+ return FloatRect();
+
+ GdkMonitor* monitor = container ? gdk_display_get_monitor_at_window(display, gtk_widget_get_window(container)) : gdk_display_get_monitor(display, 0);
+
+ gdk_monitor_get_workarea(monitor, &workArea);
+#else
GdkScreen* screen = container ? getScreen(container) : gdk_screen_get_default();
if (!screen)
return FloatRect();
@@ -185,8 +207,8 @@
gint monitor = container ? gdk_screen_get_monitor_at_window(screen, gtk_widget_get_window(container)) : 0;
- GdkRectangle workArea;
gdk_screen_get_monitor_workarea(screen, monitor, &workArea);
+#endif // !GTK_CHECK_VERSION(3, 22, 0)
return FloatRect(workArea.x, workArea.y, workArea.width, workArea.height);