Add touchscreen support for the revision selector.
Review Request #13313 — Created Oct. 6, 2023 and updated
The revision selector didn't really work with touchscreens. Though touch
events will generally emit mouse events, they don't really work
correctly for this widget. To make this work smoothly, we need to handle
This change adds event handlers for touch events. These work the same
way as the mouse events, with different elements and related events
being managed depending on the initial event. The mouse and touch event
handlers wrap common methods that do all the usual work.
Unit tests pass.
Tested various drag operations using both the mouse and touchscreens
(real on iOS and simulated in Chrome and Firefox).