DOM Events Proposal: EventListenerOptions 'mayCancel' for improved scroll performance
In Chromium we've long struggled with maximizing scroll performance, with scroll-blocking DOM events (wheel and touchstart in particular) being by far the biggest source of scroll jank.
I've been talking about this problem off-and-on for several years with various folks including the Pointer Events Working Group, engineers of other browser vendors, and engineers working on popular libraries that are a source of such scroll-blocking event handlers (eg. Google Ads and Google Analytics).
I've now written a relatively formal (but still sloppy by W3C standards) concrete spec for extending the DOM event model to address this problem and would like to solicit feedback. It's probably most constructive to discuss specific issues on GitHub, but I'd appreciate any high-level feedback here by e-mail too. Please feel free to submit pull requests for eg. editorial improvements.
Once there's a bit more consensus on the API shape, I plan to write a polyfill and W3C-style tests and then begin a prototype implementation in Chromium. We have some initial evidence to believe that this (in partnership with a few key library authors) can make a substantial improvement to the user experience on mobile. I hope to be able to share more concrete data on the real-world performance impact, but there's obviously a chicken and egg problem here.