[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