Consider adding an optional way to allow smooth wheel scrolling
Categories
(Remote Protocol :: Marionette, enhancement, P2)
Tracking
(Not tracked)
People
(Reporter: hiro, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [webdriver:backlog])
I am not sure Remote Protocol::Marionette is the right component for this issue though, I'd start with here.
While I was running overscroll-behavior.html locally, I realized scrolling in the test is instant rather then smooth. Though the test itself scrolling in the test is supposed to be smooth.
There are basically two different types of wheel scrolling in Gecko, two fingers scrolling on touchpad and mouse wheel scrolling. On the touchpad case scrolling is instant while the user keeps touching the touchpad. On the mouse wheel case scrolling is smooth by default (depending on general.smoothScroll pref).
Their behaviors are slightly different, scrolling on touchpad causes overscrolling but mouse wheel scroll never cause overscrolling, for example.
So we should provide an option whether the scroll operation needs to be instant or smooth. Maybe it's an issue in WebDriver's spec?
(Note that the test, overscroll-behavior.html isn't related to overscrolling at all though)
Comment 1•1 year ago
|
||
Thanks for the bug Hiro! Lets see what we currently have...
As of now the scroll
action is tight to a wheel
input device only, which means that this will be the mentioned case for mouse
, but we do not have it as part of a pointer
input device. As such my idea over on https://github.com/w3c/webdriver/issues/1758 was to actually move the wheel
action into the pointer
type.
Beside that I assume that the instant/smooth setting would be the same for all browsers? This would be the requirement to have a cross-browser solution added to the specification.
Comment 2•1 year ago
|
||
The way we'd do this in the current spec is to have a scrollType: "normal" / "smooth"
attribute on the scroll action. But yes, putting it in the spec does depend somewhat on other browser having similar categories of scrolling (we can ofc make a gecko extension if needed, but that doesn't help with shared wpt).
Reporter | ||
Comment 3•1 year ago
|
||
(In reply to Henrik Skupin [:whimboo][⌚️UTC+2] from comment #1)
Thanks for the bug Hiro! Lets see what we currently have...
As of now the
scroll
action is tight to awheel
input device only, which means that this will be the mentioned case formouse
, but we do not have it as part of apointer
input device. As such my idea over on https://github.com/w3c/webdriver/issues/1758 was to actually move thewheel
action into thepointer
type.
The current GeckoDriver's scroll operation is rather the touchpad one.
Beside that I assume that the instant/smooth setting would be the same for all browsers? This would be the requirement to have a cross-browser solution added to the specification.
As far as I can tell Chrome has the same behavior as Firefox does. So for example, both Chrome and Firefox do overscroll while scrolling by touchpad, but don't while scrolling by mouse wheel.
So your idea does make sense to me.
Note that whether to scroll smooth or instant is somewhat orthogonal to pointer device types, for example, on Gecko mouse wheel scrolling is smooth by default, but users can change the behavior to instant scrolling by changing a pref.
Reporter | ||
Comment 4•1 year ago
|
||
(In reply to Hiroyuki Ikezoe (:hiro) from comment #3)
Note that whether to scroll smooth or instant is somewhat orthogonal to pointer device types, for example, on Gecko mouse wheel scrolling is smooth by default, but users can change the behavior to instant scrolling by changing a pref.
Well, I should have used "independent" rather than "orthogonal".
Updated•1 year ago
|
Updated•8 months ago
|
Description
•