I'm surprised by this code. Since this event is triggered in response to a touch move event, I would have thought that the amount of scrolling would be the amount of motion.

This is a corner case, and we may just need to get something landed, but this doesn't seem ideal. (I haven't actually tried the code out yet, so maybe it will feel right when I actually use it.)

More generally, however, why is any of this scrolling code necessary. What if we use CSS overflow-y:scroll?  Would it just work?