mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-10-09 12:51:45 -04:00
CDP/BiDi wheel and WebDriver wheel each had their own definition of what a wheel does. WebDriver computed cancelability from listener passivity and fired Blink's legacy mousewheel; the CDP path fired a single always cancelable wheel. Only the target lookup was legitimately different. user_input.wheel now owns the sequence: wheel, mousewheel, then the scroll unless either was canceled, each non-cancelable when every listener on its path is passive. The passivity query moves onto EventManager, next to the listeners it inspects. Callers supply the target and the deltas. For CDP this means a page's document-level wheel listener can no longer cancel scrolling unless it opts out of the default-passive behavior, and mousewheel listeners now fire, both as in Chrome.