[Webkit-unassigned] [Bug 102857] Fix a problem that GestureTap event is not converted to mouse event on the top frame

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Nov 28 09:25:32 PST 2012


https://bugs.webkit.org/show_bug.cgi?id=102857





--- Comment #10 from Min Qin <qinmin at chromium.org>  2012-11-28 09:27:46 PST ---
(From update of attachment 175476)
View in context: https://bugs.webkit.org/attachment.cgi?id=175476&action=review

>> Source/WebCore/page/EventHandler.cpp:2609
>> +        if (gestureTapOriginatingFrame != m_frame)
> 
> I don't think that this is the right way to do this.
> 
> if (m_frame->page()->mainFrame() == m_frame) { ... }
> 
> would be better and eliminate a lot of this other code?

I think if the hittest reaches a target inside the plugin, m_frame->page()->mainFrame() will be the plugin's main frame. So we are not converting the gestureTap to mouse events in the top level frame, but inside the plugin.

>>>>> Source/WebCore/page/EventHandler.cpp:2612
>>>>>          return handleGestureTap(gestureEvent);
>>>> 
>>>> Can you just check to see if this is in the mainFrame, instead of maintaining [mis-styled] gestureTapOriginatingFrame? i.e.
>>>> 
>>>>     return (m_frame->page() && m_frame->page()->mainFrame() != m_frame) ? handleGestureTap(gestureEvent) : false;
>>> 
>>> No. If javascript send the touch event to a particular frame, the touch event shouldn't be converted to mouse events in the main frame, but should be converted in the frame where the touch events get dispatched.
>> 
>> Javascript can't send a *gesture* event to a particular frame, can it? Does any of the platforms convert JS-created touch-events into gesture-events (I know that chromium does not)?
> 
> It would be a p0 bug if they do. synthetic events (i.e. JS created) are forbidden from implementing default actions.

Ok, but i think we still need to record the top frame since m_frame->page()->mainFrame() could return the main frame of a plugin.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list