I'm sending this retroactively for a
bugfix I wasn't originally involved in because we're now seeing it has some web compat impact and so probably deserves some more discussion. I don't think we want to hold Chrome 43 stable for this given that the impact appears relatively contained, but could be wrong.
Summary:
Prior to Chrome 43, if a mousemove event was cancelled by JavaScript we would not allow that movement to participate in default drag behaviors such as text selection and drag and drop. This is in violation of the
DOM events spec which says mousemove has no default action. To suppress such default actions, applications should be calling preventDefault on mousedown instead (which avoids issues like what the behavior should be when some but not all mousemove events in a stream are cancelled).
Demo:
Attempt to select text with the 'call preventDefault for mousemove' option enabled and disabled. Compare to changing the option for mousedown.
Behavior in other browsers:
Firefox: canceling mousemove has no impact, as per spec and new chrome behavior.
Safari: cancelling mousemove suppresses drag and drop and text selection as in Chrome 42.
Known sites affected:
So far I'm only aware of a couple reports of affected behavior - see bugs blocked on
the bug for this change. However there's some risk that affected sites will regress only in mouse drag performance (eg. due to issues
like this) and so people may not have noticed yet. I expect to talk more with the Google Maps team about this today.