Title: [240922] trunk/Source/WebKit
- Revision
- 240922
- Author
- [email protected]
- Date
- 2019-02-04 07:47:07 -0800 (Mon, 04 Feb 2019)
Log Message
[GTK] Allow pinch zoom on touchpad
https://bugs.webkit.org/show_bug.cgi?id=194201
Patch by Alexander Mikhaylenko <[email protected]> on 2019-02-04
Reviewed by Michael Catanzaro.
Enable touchpad events for WebkitWebViewBase, then feed touchpad
pinch events to GestureController.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize): Added GDK_TOUCHPAD_GESTURE_MASK to event mask.
(webkitWebViewBaseEvent): Added.
(webkit_web_view_base_class_init): Override event vfunc.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (240921 => 240922)
--- trunk/Source/WebKit/ChangeLog 2019-02-04 15:39:48 UTC (rev 240921)
+++ trunk/Source/WebKit/ChangeLog 2019-02-04 15:47:07 UTC (rev 240922)
@@ -1,3 +1,18 @@
+2019-02-04 Alexander Mikhaylenko <[email protected]>
+
+ [GTK] Allow pinch zoom on touchpad
+ https://bugs.webkit.org/show_bug.cgi?id=194201
+
+ Reviewed by Michael Catanzaro.
+
+ Enable touchpad events for WebkitWebViewBase, then feed touchpad
+ pinch events to GestureController.
+
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (webkitWebViewBaseRealize): Added GDK_TOUCHPAD_GESTURE_MASK to event mask.
+ (webkitWebViewBaseEvent): Added.
+ (webkit_web_view_base_class_init): Override event vfunc.
+
2019-02-04 Michael Catanzaro <[email protected]>
Unreviewed, only force settings.acceleratedCompositingEnabled() to true for Cocoa ports
Modified: trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp (240921 => 240922)
--- trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp 2019-02-04 15:39:48 UTC (rev 240921)
+++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp 2019-02-04 15:47:07 UTC (rev 240922)
@@ -364,6 +364,9 @@
| GDK_BUTTON2_MOTION_MASK
| GDK_BUTTON3_MOTION_MASK
| GDK_TOUCH_MASK;
+#if HAVE(GTK_GESTURES)
+ attributes.event_mask |= GDK_TOUCHPAD_GESTURE_MASK;
+#endif
gint attributesMask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
@@ -1192,6 +1195,16 @@
}
#endif // ENABLE(DRAG_SUPPORT)
+static gboolean webkitWebViewBaseEvent(GtkWidget* widget, GdkEvent* event)
+{
+#if HAVE(GTK_GESTURES)
+ if (event->type == GDK_TOUCHPAD_PINCH)
+ webkitWebViewBaseGestureController(WEBKIT_WEB_VIEW_BASE(widget)).handleEvent(event);
+#endif
+
+ return GDK_EVENT_PROPAGATE;
+}
+
static AtkObject* webkitWebViewBaseGetAccessible(GtkWidget* widget)
{
// If the socket has already been created and embedded a plug ID, return it.
@@ -1315,6 +1328,7 @@
widgetClass->drag_drop = webkitWebViewBaseDragDrop;
widgetClass->drag_data_received = webkitWebViewBaseDragDataReceived;
#endif // ENABLE(DRAG_SUPPORT)
+ widgetClass->event = webkitWebViewBaseEvent;
widgetClass->get_accessible = webkitWebViewBaseGetAccessible;
widgetClass->hierarchy_changed = webkitWebViewBaseHierarchyChanged;
widgetClass->destroy = webkitWebViewBaseDestroy;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes