> Could you explain this. Currently shift+vertical wheel is back-forward. Does this new behavior override that feature always or only when it is enabled explicitly?
>
> How is shift+horizontal supposed to work for back-forward if shift+vertical is for scrolling? One often gets both horizontal and vertical scrolling when using touchpad.
Yes, when the new pref is enabled, the modifier (default value is Shift on non-macOS platforms) with vertical wheel overrides the default action.
the modifier with horizontal wheel or diagonal wheel operation works exactly same as current build. See NeedToTreatAsHorizontalScroll() implementation for the detail.
> That seems like a silly reason to not use Modifier.
> If you're really worried about the build time change, why not just move Modifier to its own header?
Sure. I'll move it to EventForwards.h.
> Cache the result in the widget? I don't see anything stored in the widget.
Ah, I meant in WidgetWheelEvent.
> No ifdef 0 code, please
Oops, sorry and nice catch!
> Why they are 0?
Because NeedToTreatAsHorizontalScroll() checks |if (aEvent->mDeltaX || !aEvent->mDeltaY || aEvent-DeltaZ)| and return false if it's true.
Comment on attachment 8915954
Bug 143038 Make users can scroll contents horizontally with vertical wheel operation with a modifier
https:/ /reviewboard. mozilla. org/r/186794/ #review192674
> Could you explain this. Currently shift+vertical wheel is back-forward. Does this new behavior override that feature always or only when it is enabled explicitly?
>
> How is shift+horizontal supposed to work for back-forward if shift+vertical is for scrolling? One often gets both horizontal and vertical scrolling when using touchpad.
Yes, when the new pref is enabled, the modifier (default value is Shift on non-macOS platforms) with vertical wheel overrides the default action.
the modifier with horizontal wheel or diagonal wheel operation works exactly same as current build. See NeedToTreatAsHo rizontalScroll( ) implementation for the detail.
> That seems like a silly reason to not use Modifier.
> If you're really worried about the build time change, why not just move Modifier to its own header?
Sure. I'll move it to EventForwards.h.
> Cache the result in the widget? I don't see anything stored in the widget.
Ah, I meant in WidgetWheelEvent.
> No ifdef 0 code, please
Oops, sorry and nice catch!
> Why they are 0?
Because NeedToTreatAsHo rizontalScroll( ) checks |if (aEvent->mDeltaX || !aEvent->mDeltaY || aEvent-DeltaZ)| and return false if it's true.