Follow Chrome: https://www.chromestatus.com/feature/6662647093133312 https://developers.google.com/web/updates/2019/02/scrolling-intervention and make wheel/mousewheel event listeners registered on the window/document/body to be passive, as we do for touch listeners.
<rdar://problem/71312668>
Created attachment 413985 [details] Patch
Comment on attachment 413985 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=413985&action=review r=me with nits > Source/WebCore/page/Quirks.cpp:818 > + if (is<DOMWindow>(eventTarget)) I believe can can simply do: return downcast<Document>(eventTarget.scriptExecutionContext()); since we know here to EventTarget is a Window or a Node, and thus its script execution context has to be a Document. > LayoutTests/fast/events/wheel/wheel-event-listeners-on-body-made-passive.html:26 > + event.preventDefault(); In these tests, I would recommend checking event.defaultPrevented after calling preventDefault(). This is the easiest way to check if we are passive.
Created attachment 413994 [details] Patch
Created attachment 414001 [details] Patch
https://trac.webkit.org/changeset/269780/webkit