Bug 87808

Summary: [Qt] handled touchmove events should not cancel tap gesture recognition
Product: WebKit Reporter: Luiz Agostini <luiz>
Component: WebKit QtAssignee: Luiz Agostini <luiz>
Status: RESOLVED FIXED    
Severity: Normal CC: abecsi, cmarcelo, kenneth, menard, noam, tonikitoo, webkit.review.bot, zoltan
Priority: P3 Keywords: Qt
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch none

Description Luiz Agostini 2012-05-29 18:54:26 PDT
All the gesture recognition is canceled when a touch event is handled by webprocess.

If the touchmove event is handled by javascript then any touchmove, does not matter the length of the movement, will cancel the tap gesture recognition.
Comment 1 Antonio Gomes 2012-05-29 19:09:34 PDT
(In reply to comment #0)
> All the gesture recognition is canceled when a touch event is handled by webprocess.
> 
> If the touchmove event is handled by javascript then any touchmove, does not matter the length of the movement, will cancel the tap gesture recognition.

If I understood it correctly, we do the same for the blackberry port.
Comment 2 Luiz Agostini 2012-05-30 11:02:42 PDT
Created attachment 144870 [details]
patch
Comment 3 Kenneth Rohde Christiansen 2012-05-30 14:00:18 PDT
Comment on attachment 144870 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=144870&action=review

LGTM, but please cc Andras

> Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp:-439
> -        resetGestureRecognizers();

Maybe that method is useless now? Did you check?
Comment 4 Luiz Agostini 2012-05-30 14:20:25 PDT
(In reply to comment #3)
> (From update of attachment 144870 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=144870&action=review
> 
> LGTM, but please cc Andras
> 
> > Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp:-439
> > -        resetGestureRecognizers();
> 
> Maybe that method is useless now? Did you check?

It is used by QQuickWebViewPrivate::processDidCrash.
Comment 5 Kenneth Rohde Christiansen 2012-05-30 14:36:59 PDT
Comment on attachment 144870 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=144870&action=review

>>> Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp:-439
>>> -        resetGestureRecognizers();
>> 
>> Maybe that method is useless now? Did you check?
> 
> It is used by QQuickWebViewPrivate::processDidCrash.

OK, but I guess I will just do the cancels explicitly there instead...
Comment 6 WebKit Review Bot 2012-05-30 16:56:44 PDT
Comment on attachment 144870 [details]
patch

Clearing flags on attachment: 144870

Committed r118997: <http://trac.webkit.org/changeset/118997>
Comment 7 WebKit Review Bot 2012-05-30 16:56:49 PDT
All reviewed patches have been landed.  Closing bug.
Comment 8 Andras Becsi 2012-05-31 02:39:55 PDT
(In reply to comment #5)
> (From update of attachment 144870 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=144870&action=review
> 
> >>> Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp:-439
> >>> -        resetGestureRecognizers();
> >> 
> >> Maybe that method is useless now? Did you check?
> > 
> > It is used by QQuickWebViewPrivate::processDidCrash.
> 
> OK, but I guess I will just do the cancels explicitly there instead...

I'm working on a patch which removes that function and also the base class of the recognizers as discussed earlier, but first I want to simplify the tap gesture recognizer a bit.