Bug 140803

Summary: Touchmove Events suffer mutation with time
Product: WebKit Reporter: Miguel Camba <miguel.camba>
Component: DOMAssignee: Benjamin Poulain <benjamin>
Status: NEW ---    
Severity: Normal CC: benjamin, bfulgham, joepeck, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: iPhone / iPad   
OS: iOS 8.0   
Attachments:
Description Flags
console output none

Description Miguel Camba 2015-01-22 17:06:52 PST
Created attachment 245186 [details]
console output

I've found while creating a mobile webpage that if I store touchmove events in an array to later on read them, by the time I do that the event does not have the pageX and pageY it had when it was fired.

To reproduce it:

1. Go to this jsbin (http://jsbin.com/koyobo/1) with mobile safari in an iOS emulator (I've seen this in a real device too) while remote debugging is enabled.
2. Perform some touchmove over the red div. The pageX of the first 5 events will be logged with console.log. After the 6th event there is a conditional that logs the pageX again, along with a distinctive text, and a debugger line just after that console.log
3. After you are stopped in the debugger, if you inspect e.touches[0].pageX of the event, you'll see that it has a different value that the one that was printed the previous line.

Somehow, if you store event for later inspection, the events are mutated. This very example works as expected in chrome and firefox. No clue about IE.
Comment 1 Radar WebKit Bug Importer 2015-01-22 17:09:27 PST
<rdar://problem/19572669>
Comment 2 Benjamin Poulain 2015-01-26 15:09:05 PST
Thanks for filing this bug report.
Comment 3 Lucas Forschler 2019-02-06 09:18:58 PST
Mass move bugs into the DOM component.
Comment 4 Brent Fulgham 2022-02-10 20:03:38 PST
This is actually:
<rdar://18077550>