[Qt] The WebView should be flickable only using touch events
authorjocelyn.turcotte@digia.com <jocelyn.turcotte@digia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 29 Nov 2012 11:14:51 +0000 (11:14 +0000)
committerjocelyn.turcotte@digia.com <jocelyn.turcotte@digia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 29 Nov 2012 11:14:51 +0000 (11:14 +0000)
https://bugs.webkit.org/show_bug.cgi?id=100964

Reviewed by Kenneth Rohde Christiansen.

Let a user interacting with the WebView using a mouse the same way that a
desktop browser would.
This allows normal behaviors like text selecting, hover events, mouse cursors
as well as avoid touch highlighting and touch adjustment.

To do so we let all mouse events to be handled by the page directly instead
of sending them to QtWebPageEventHandler. Since unhandled mouse events aren't
pushed back to the PageClient like touch events does, this have the intended
behavior of not letting mouse events affect QQuickFlickable.

* UIProcess/API/qt/qquickwebview.cpp:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewFlickablePrivate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h

index 627d0be..b805594 100644 (file)
@@ -1,3 +1,24 @@
+2012-11-28  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
+
+        [Qt] The WebView should be flickable only using touch events
+        https://bugs.webkit.org/show_bug.cgi?id=100964
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Let a user interacting with the WebView using a mouse the same way that a
+        desktop browser would.
+        This allows normal behaviors like text selecting, hover events, mouse cursors
+        as well as avoid touch highlighting and touch adjustment.
+
+        To do so we let all mouse events to be handled by the page directly instead
+        of sending them to QtWebPageEventHandler. Since unhandled mouse events aren't
+        pushed back to the PageClient like touch events does, this have the intended
+        behavior of not letting mouse events affect QQuickFlickable.
+
+        * UIProcess/API/qt/qquickwebview.cpp:
+        * UIProcess/API/qt/qquickwebview_p_p.h:
+        (QQuickWebViewFlickablePrivate):
+
 2012-11-29  Andras Becsi  <andras.becsi@digia.com>
 
         [Qt] Fix installation of QtWebProcess binary
index 5dd16cc..a45636a 100644 (file)
@@ -890,15 +890,6 @@ void QQuickWebViewFlickablePrivate::pageDidRequestScroll(const QPoint& pos)
         m_pageViewportController->pageDidRequestScroll(pos);
 }
 
-void QQuickWebViewFlickablePrivate::handleMouseEvent(QMouseEvent* event)
-{
-    if (!pageView->eventHandler())
-        return;
-
-    // FIXME: Update the axis locker for mouse events as well.
-    pageView->eventHandler()->handleInputEvent(event);
-}
-
 QQuickWebViewExperimental::QQuickWebViewExperimental(QQuickWebView *webView, QQuickWebViewPrivate* webViewPrivate)
     : QObject(webView)
     , q_ptr(webView)
index adedb6a..8445fe2 100644 (file)
@@ -223,7 +223,6 @@ public:
     virtual void updateViewportSize();
 
     virtual void pageDidRequestScroll(const QPoint& pos);
-    virtual void handleMouseEvent(QMouseEvent*);
 
 private:
     QScopedPointer<WebKit::PageViewportController> m_pageViewportController;