Steps to reproduce problem 1. Open https://jsfiddle.net/ytfh4r2k/ 2. Focus the first input field and move mouse pointer on it. 3. Turn the mouse wheel on the first input field. 4. Then, focus the second input field and move mouse pointer on it. 5. Turn the mouse wheel on the second input field. Actual: Each input field behaves differently: the value of the first input field changes but the value of the second input field doesn't change. Expected: Both input fields behave in the same way. I think it is strange that the wheel behavior changes by an event handler of not-self nor not-ancestor elements. It behaves as expected in Firefox. Chrome behaves as the same as Safari. https://bugs.chromium.org/p/chromium/issues/detail?id=1355750
Reproduces with trackpad too. Also reproduces in Chrome. This is strange indeed, TextFieldInputType::shouldSpinButtonRespondToWheelEvents() is a very simple function. I think that this isn't even a DOM issue, but we probably short circuit these wheel events in UI process. Both input fields respect wheel/scroll events in WebKit1, and the bug only reproduces with WebKit2. It's curious that Chrome appears to have an identical one.
<rdar://problem/99318505>
This is happening because the <p> with the wheel event handler is creating an event region, so we send wheel events to the main thread. What we should be doing is to add <input type="number"> to the wheel event region, like we do for <select>