Title: [269096] trunk
- Revision
- 269096
- Author
- [email protected]
- Date
- 2020-10-28 02:31:17 -0700 (Wed, 28 Oct 2020)
Log Message
[GTK4] Build broken with GTK 3.99.3
https://bugs.webkit.org/show_bug.cgi?id=218270
Reviewed by Carlos Garcia Campos.
Source/WebKit:
No new tests needed.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(toplevelWindowStateChanged): Replace GDK_SURFACE_STATE_MINIMIZED with GDK_TOPLEVEL_STATE_MINIMIZED.
* UIProcess/API/gtk/WebKitWebViewGtk.cpp:
(surfaceStateChangedCallback): Ditto, and GDK_SURFACE_STATE_MAXIMIZED with GDK_TOPLEVEL_STATE_MAXIMIZED.
* UIProcess/Gamepad/gtk/UIGamepadProviderGtk.cpp:
(WebKit::getWebPageProxy): Write an implementation which works for GTK4.
(WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput): Accomodate for windows
being a bit less special in GTK4 and use gtk_widget_has_focus() directly.
Tools:
* buildstream/elements/sdk/gtk.bst: Bump GTK4 version to 3.99.4
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (269095 => 269096)
--- trunk/Source/WebKit/ChangeLog 2020-10-28 04:35:54 UTC (rev 269095)
+++ trunk/Source/WebKit/ChangeLog 2020-10-28 09:31:17 UTC (rev 269096)
@@ -1,3 +1,21 @@
+2020-10-28 Adrian Perez de Castro <[email protected]>
+
+ [GTK4] Build broken with GTK 3.99.3
+ https://bugs.webkit.org/show_bug.cgi?id=218270
+
+ Reviewed by Carlos Garcia Campos.
+
+ No new tests needed.
+
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (toplevelWindowStateChanged): Replace GDK_SURFACE_STATE_MINIMIZED with GDK_TOPLEVEL_STATE_MINIMIZED.
+ * UIProcess/API/gtk/WebKitWebViewGtk.cpp:
+ (surfaceStateChangedCallback): Ditto, and GDK_SURFACE_STATE_MAXIMIZED with GDK_TOPLEVEL_STATE_MAXIMIZED.
+ * UIProcess/Gamepad/gtk/UIGamepadProviderGtk.cpp:
+ (WebKit::getWebPageProxy): Write an implementation which works for GTK4.
+ (WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput): Accomodate for windows
+ being a bit less special in GTK4 and use gtk_widget_has_focus() directly.
+
2020-10-27 Alex Christensen <[email protected]>
Use _CFURLConnectionSetFrameworkStubs for SecItemShim instead of DYLD_INTERPOSE on Apple Silicon Macs
Modified: trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp (269095 => 269096)
--- trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp 2020-10-28 04:35:54 UTC (rev 269095)
+++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp 2020-10-28 09:31:17 UTC (rev 269096)
@@ -1779,7 +1779,7 @@
static void toplevelWindowStateChanged(GdkSurface* surface, GParamSpec*, WebKitWebViewBase* webViewBase)
{
auto state = gdk_toplevel_get_state(GDK_TOPLEVEL(surface));
- bool visible = !(state & GDK_SURFACE_STATE_MINIMIZED);
+ bool visible = !(state & GDK_TOPLEVEL_STATE_MINIMIZED);
WebKitWebViewBasePrivate* priv = webViewBase->priv;
if (visible) {
if (priv->activityState & ActivityState::IsVisible)
Modified: trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp (269095 => 269096)
--- trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp 2020-10-28 04:35:54 UTC (rev 269095)
+++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp 2020-10-28 09:31:17 UTC (rev 269096)
@@ -154,15 +154,15 @@
bool eventCompleted = false;
switch (state->type) {
case WindowStateEvent::Type::Maximize:
- if (surfaceState & GDK_SURFACE_STATE_MAXIMIZED)
+ if (surfaceState & GDK_TOPLEVEL_STATE_MAXIMIZED)
eventCompleted = true;
break;
case WindowStateEvent::Type::Minimize:
- if ((surfaceState & GDK_SURFACE_STATE_MINIMIZED) || !gdk_surface_get_mapped(surface))
+ if ((surfaceState & GDK_TOPLEVEL_STATE_MINIMIZED) || !gdk_surface_get_mapped(surface))
eventCompleted = true;
break;
case WindowStateEvent::Type::Restore:
- if (!(surfaceState & GDK_SURFACE_STATE_MAXIMIZED) && !(surfaceState & GDK_SURFACE_STATE_MINIMIZED))
+ if (!(surfaceState & GDK_TOPLEVEL_STATE_MAXIMIZED) && !(surfaceState & GDK_TOPLEVEL_STATE_MINIMIZED))
eventCompleted = true;
break;
}
Modified: trunk/Source/WebKit/UIProcess/Gamepad/gtk/UIGamepadProviderGtk.cpp (269095 => 269096)
--- trunk/Source/WebKit/UIProcess/Gamepad/gtk/UIGamepadProviderGtk.cpp 2020-10-28 04:35:54 UTC (rev 269095)
+++ trunk/Source/WebKit/UIProcess/Gamepad/gtk/UIGamepadProviderGtk.cpp 2020-10-28 09:31:17 UTC (rev 269096)
@@ -40,6 +40,18 @@
static WebPageProxy* getWebPageProxy(GtkWidget* widget)
{
+#if USE(GTK4)
+ if (!widget)
+ return nullptr;
+
+ if (WEBKIT_IS_WEB_VIEW_BASE(widget))
+ return gtk_widget_is_visible(widget) ? webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(widget)) : nullptr;
+
+ for (auto* child = gtk_widget_get_first_child(widget); child; child = gtk_widget_get_next_sibling(child)) {
+ if (WebPageProxy* proxy = getWebPageProxy(child))
+ return proxy;
+ }
+#else
if (!widget || !GTK_IS_CONTAINER(widget))
return nullptr;
@@ -51,6 +63,8 @@
if (WebPageProxy* proxy = getWebPageProxy(GTK_WIDGET(iter->data)))
return proxy;
}
+#endif // USE(GTK4)
+
return nullptr;
}
@@ -61,9 +75,15 @@
if (!WebCore::widgetIsOnscreenToplevelWindow(GTK_WIDGET(iter->data)))
continue;
+#if USE(GTK4)
+ GtkWidget* window = GTK_WIDGET(iter->data);
+ if (!gtk_widget_has_focus(window))
+ continue;
+#else
GtkWindow* window = GTK_WINDOW(iter->data);
if (!gtk_window_has_toplevel_focus(window))
continue;
+#endif // USE(GTK4)
if (WebPageProxy* proxy = getWebPageProxy(GTK_WIDGET(window)))
return proxy;
Modified: trunk/Tools/ChangeLog (269095 => 269096)
--- trunk/Tools/ChangeLog 2020-10-28 04:35:54 UTC (rev 269095)
+++ trunk/Tools/ChangeLog 2020-10-28 09:31:17 UTC (rev 269096)
@@ -1,3 +1,12 @@
+2020-10-28 Adrian Perez de Castro <[email protected]>
+
+ [GTK4] Build broken with GTK 3.99.3
+ https://bugs.webkit.org/show_bug.cgi?id=218270
+
+ Reviewed by Carlos Garcia Campos.
+
+ * buildstream/elements/sdk/gtk.bst: Bump GTK4 version to 3.99.4
+
2020-10-27 Alex Christensen <[email protected]>
Use _CFURLConnectionSetFrameworkStubs for SecItemShim instead of DYLD_INTERPOSE on Apple Silicon Macs
Modified: trunk/Tools/buildstream/elements/sdk/gtk.bst (269095 => 269096)
--- trunk/Tools/buildstream/elements/sdk/gtk.bst 2020-10-28 04:35:54 UTC (rev 269095)
+++ trunk/Tools/buildstream/elements/sdk/gtk.bst 2020-10-28 09:31:17 UTC (rev 269096)
@@ -4,7 +4,7 @@
- kind: git_tag
url: gitlab_gnome_org:GNOME/gtk.git
track: master
- ref: 3.99.0-649-g9377ce984d55a68623c7b9d50f138fb8ebdb039b
+ ref: 3.99.3-101-gdaf3b3a3b4cc70c5db278fd7142a6b49af91ae1d
build-depends:
- sdk-build-depends/sassc.bst
- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes