From ad55613c2648edb67353c3882d1956b54fc323b4 Mon Sep 17 00:00:00 2001
From: Alan Alpert <alan.alpert@bluescape.com>
Date: Wed, 23 Aug 2017 14:56:00 -0700
Subject: [PATCH] Compile with Gestures disabled

Change-Id: Ibad2b8ebb90e79ff8337d994b2234eed5e230daa
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---
 src/core/render_widget_host_view_qt.cpp                     | 4 ++++
 src/core/render_widget_host_view_qt.h                       | 2 ++
 src/core/web_event_factory.cpp                              | 2 ++
 src/core/web_event_factory.h                                | 6 ++++++
 src/webengine/render_widget_host_view_qt_delegate_quick.cpp | 2 ++
 5 files changed, 16 insertions(+)

diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index 728357e14..9968d3e49 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -942,9 +942,11 @@ bool RenderWidgetHostViewQt::forwardEvent(QEvent *event)
     case QEvent::TouchCancel:
         handleTouchEvent(static_cast<QTouchEvent*>(event));
         break;
+#ifndef QT_NO_GESTURES
     case QEvent::NativeGesture:
         handleGestureEvent(static_cast<QNativeGestureEvent *>(event));
         break;
+#endif // QT_NO_GESTURES
     case QEvent::HoverMove:
         handleHoverEvent(static_cast<QHoverEvent*>(event));
         break;
@@ -1336,6 +1338,7 @@ void RenderWidgetHostViewQt::clearPreviousTouchMotionState()
     m_touchMotionStarted = false;
 }
 
+#ifndef QT_NO_GESTURES
 void RenderWidgetHostViewQt::handleGestureEvent(QNativeGestureEvent *ev)
 {
     const Qt::NativeGestureType type = ev->gestureType();
@@ -1346,6 +1349,7 @@ void RenderWidgetHostViewQt::handleGestureEvent(QNativeGestureEvent *ev)
                                         static_cast<double>(dpiScale())));
     }
 }
+#endif
 
 Q_DECLARE_LOGGING_CATEGORY(QWEBENGINE_TOUCH_HANDLING);
 Q_LOGGING_CATEGORY(QWEBENGINE_TOUCH_HANDLING, "qt.webengine.touch");
diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h
index 3b679923e..ae3ce610c 100644
--- a/src/core/render_widget_host_view_qt.h
+++ b/src/core/render_widget_host_view_qt.h
@@ -189,7 +189,9 @@ public:
     void handleKeyEvent(QKeyEvent*);
     void handleWheelEvent(QWheelEvent*);
     void handleTouchEvent(QTouchEvent*);
+#ifndef QT_NO_GESTURES
     void handleGestureEvent(QNativeGestureEvent *);
+#endif
     void handleHoverEvent(QHoverEvent*);
     void handleFocusEvent(QFocusEvent*);
     void handleInputMethodEvent(QInputMethodEvent*);
diff --git a/src/core/web_event_factory.cpp b/src/core/web_event_factory.cpp
index a7df934e4..7853986b0 100644
--- a/src/core/web_event_factory.cpp
+++ b/src/core/web_event_factory.cpp
@@ -1212,6 +1212,7 @@ WebMouseEvent WebEventFactory::toWebMouseEvent(QHoverEvent *ev, double dpiScale)
     return webKitEvent;
 }
 
+#ifndef QT_NO_GESTURES
 WebGestureEvent WebEventFactory::toWebGestureEvent(QNativeGestureEvent *ev, double dpiScale)
 {
     WebGestureEvent webKitEvent;
@@ -1248,6 +1249,7 @@ WebGestureEvent WebEventFactory::toWebGestureEvent(QNativeGestureEvent *ev, doub
 
     return webKitEvent;
 }
+#endif
 
 blink::WebMouseWheelEvent WebEventFactory::toWebWheelEvent(QWheelEvent *ev, double dpiScale)
 {
diff --git a/src/core/web_event_factory.h b/src/core/web_event_factory.h
index d82113db3..859e97643 100644
--- a/src/core/web_event_factory.h
+++ b/src/core/web_event_factory.h
@@ -42,7 +42,9 @@
 
 #include "content/public/browser/native_web_keyboard_event.h"
 #include "third_party/WebKit/public/platform/WebInputEvent.h"
+#ifndef QT_NO_GESTURES
 #include "third_party/WebKit/public/platform/WebGestureEvent.h"
+#endif
 
 #include <QtGlobal>
 
@@ -51,7 +53,9 @@ class QHoverEvent;
 class QKeyEvent;
 class QMouseEvent;
 class QWheelEvent;
+#ifndef QT_NO_GESTURES
 class QNativeGestureEvent;
+#endif
 QT_END_NAMESPACE
 
 class WebEventFactory {
@@ -59,7 +63,9 @@ class WebEventFactory {
 public:
     static blink::WebMouseEvent toWebMouseEvent(QMouseEvent*, double dpiScale);
     static blink::WebMouseEvent toWebMouseEvent(QHoverEvent*, double dpiScale);
+#ifndef QT_NO_GESTURES
     static blink::WebGestureEvent toWebGestureEvent(QNativeGestureEvent *, double dpiScale);
+#endif
     static blink::WebMouseWheelEvent toWebWheelEvent(QWheelEvent*, double dpiScale);
     static content::NativeWebKeyboardEvent toWebKeyboardEvent(QKeyEvent*);
 };
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
index b6069d519..5d8c4fa43 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
+++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
@@ -243,8 +243,10 @@ bool RenderWidgetHostViewQtDelegateQuick::event(QEvent *event)
     if (event->type() == QEvent::ShortcutOverride)
         return m_client->handleShortcutOverrideEvent(static_cast<QKeyEvent *>(event));
 
+#ifndef QT_NO_GESTURES
     if (event->type() == QEvent::NativeGesture)
         return m_client->forwardEvent(event);
+#endif
 
     return QQuickItem::event(event);
 }
-- 
GitLab