Currently we fire touchstart event once and after that all touchpoint presses and releases are fired as touchmove events until all fingers are released and touchend is sent. This is wrong. It should go like this: With event type touchstart the changedTouches list should contain only the touch point that was inserted on the screen. When another touch point is inserted, there is another touchstart event fired with the new touch point again in changedTouches. Similarly with touchend, only the released touch points are in the changedTouches and a touchend event is fired every time one or more fingers are released. This also means that in touchmove event there's never new or released touchpoints.
Created attachment 45398 [details] Corrects the TouchEvent API, layouttest for it and DumpRenderTree for Qt Submitted a patch that fixes this issue. Also removed an unused member variable from EventHandler (m_previousTouchEvent).
style-queue ran check-webkit-style on attachment 45398 [details] without any errors.
Does this new behavior match Android, iPhone etc? It would be good to explain the justification for the behavior change also in the ChangeLog.
Comment on attachment 45398 [details] Corrects the TouchEvent API, layouttest for it and DumpRenderTree for Qt We need a more detailed ChangeLog in order to review this. Please see: http://webkit.org/coding/contributing.html#changelogs
Created attachment 46045 [details] Patch with more detailed changelogs. Enhanced the changelog. Indeed this new behaviour matches what is on iPhone and Android.
style-queue ran check-webkit-style on attachment 46045 [details] without any errors.
Comment on attachment 46045 [details] Patch with more detailed changelogs. Ok. Looks good, r=me.
Comment on attachment 46045 [details] Patch with more detailed changelogs. Clearing flags on attachment: 46045 Committed r52922: <http://trac.webkit.org/changeset/52922>
All reviewed patches have been landed. Closing bug.