As of bug 1556556,
WidgetEvent::mRefPoint is stored in visual coordinates, which can include an arbitrary floating-point resolution in the presence of pinch-zooming.
For synthesized events, particularly those generated by tests, the coordinates originate as layout coordinates (e.g. using
getBoundingClientRect()) and are therefore round-tripped through visual coordinates before targeting elements inside zoomed content.
The fact that
mRefPoint is an
IntPoint means this round-tripping can introduce rounding errors. To avoid this, it would be nice to make
mRefPoint store floating-point coordinates.