Rewrite the WebView touch to support Flash.
When a page is loaded, Flash won't be the touch target. This is ensured by another CL in external/webkit. When user taps or uses nav key to make the Flash to be the document focused node, it will take all the touch events without time out. If Flash didn't call prevent default, these touch events will be reprocessed by the Browser. For double tap and long press, Browser needs to detect and generate them for Flash. While Flash is in full screen mode, it will take all the touch events. If Flash doesn't consume them, they won't be reprocessed by the Browser. Browser does need to detect and generate the special events like double tap and long press for full screen Flash. Here are changes made for JavaScript touch events. 1. preventDefault on touchMove works now. If the author calls preventDefault on touchStart, UI will not handle this touch sequence. If the author didn't call preventDefault on touchStart, it can call preventDefault on the first touchMove to prevent UI from panning the page. We currently do not support alternating preventDefault during touchMove. 2. The first touchMove is only sent when the movement is more than the system slop. There was a bug introduced by https://android-git.corp.google.com/g/#change,42848 where the touch events are not sent to WebCore if preventDefault is called. This is fixed now. 3. Move sending TOUCH_EVENT to WebCore into each state. So if user stops a fling and continue drag, it won't send the touch_down as we are in drag mode. 4. Remove event time as Adobe doesn't need it any more Fix http://b/issue?id=2438503 Fix http://b/issue?id=2478701 Fix http://b/issue?id=2390587
Loading
Please register or sign in to comment