Stop sending mouse position updates during scrolling

While scrolling via trackpad or mousewheel, we previously sent mouse position updates every 100ms. On pages with heavy mouse handlers or :hover styles, this could cause significant amounts of scroll jank. Sending a mouse position update includes updating :hover styles, and dispatching mousemove, mouseover, mouseenter, mouseleave, and mouseout events. We’re planning to stop sending mouse position updates while scrolling. Instead, we'll trigger this behavior 100ms after scrolling ends.


Here's an example of a user facing behavior change, using the jQuery UI tooltip ( To see the behavior difference, place the mouse cursor over the red box, then scroll via mouse wheel or trackpad. Without this change, every 100ms, the tooltip moves to the location of the cursor. With this change, the tooltip only moves once scrolling is complete.


Status in Chromium


Enabled by default (tracking bug) in:

  • Chrome for desktop release 45
  • Chrome for Android release 45
  • Android WebView release 45

Consensus & Standardization

After a feature ships in Chrome, the values listed here are not guaranteed to be up to date.


Last updated on 2017-06-14