Bug 250207
Summary: | Fix scrollbar thumb drag cancellation in RTL mode | ||
---|---|---|---|
Product: | WebKit | Reporter: | Ahmad Saleem <ahmad.saleem792> |
Component: | Scrolling | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | fantasai.bugs, runarberg, simon.fraser, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | Safari Technology Preview | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Ahmad Saleem
Hi Team,
While going through Blink's commit, I came across another filing testcase:
Test Case - https://jsfiddle.net/dbskt3jo/
^ Try to pick horizontal scrollbar knob and scroll on left side, it will not do anything in Safari 16.2. It works in Chrome Canary 111 and Firefox Nightly 110 and move the scrollbar on drag while selecting knob.
Blink Commit - https://src.chromium.org/viewvc/blink?view=revision&revision=175100
WebKit Source - https://searchfox.org/wubkat/source/Source/WebCore/platform/Scrollbar.cpp#311
Just wanted to raise so we can fix this bug as well.
Thanks!
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/104223915>
Ahmad Saleem
Tried: https://github.com/WebKit/WebKit/pull/8355
NOTE: The portion of code, this is trying to modify is within platform 'if' block to restrict it to non-iOS, so we might need to skip this test on iOS.
m_scrollableArea.scrollToOffsetWithoutAnimation(m_orientation, (m_dragOrigin + m_scrollableArea.minimumScrollPosition().y()));
^ This does not fix test.
m_scrollableArea.scrollToOffsetWithoutAnimation(m_orientation, (m_dragOrigin + m_scrollableArea.minimumScrollPosition().x()));
^ This does not fix test.
______
Plus 'm_orientation' or (orientation()) also don't work similar to Blink patch.
Ahmad Saleem
(In reply to Ahmad Saleem from comment #2)
> Tried: https://github.com/WebKit/WebKit/pull/8355
>
> NOTE: The portion of code, this is trying to modify is within platform 'if'
> block to restrict it to non-iOS, so we might need to skip this test on iOS.
>
> m_scrollableArea.scrollToOffsetWithoutAnimation(m_orientation,
> (m_dragOrigin + m_scrollableArea.minimumScrollPosition().y()));
>
> ^ This does not fix test.
>
> m_scrollableArea.scrollToOffsetWithoutAnimation(m_orientation,
> (m_dragOrigin + m_scrollableArea.minimumScrollPosition().x()));
>
> ^ This does not fix test.
>
> ______
>
> Plus 'm_orientation' or (orientation()) also don't work similar to Blink
> patch.
Note - this seems to be interesting as well: https://src.chromium.org/viewvc/blink?view=revision&revision=161649
^ Will build WebKit ToT to test updated testcase to confirm whether WebKit suffer from also 'typo' error or not, which leads to breaking horizontal drag.
fantasai
This also affects scrolling in reversed flex containers, see https://bugs.webkit.org/show_bug.cgi?id=221347#c11
Basically scrolling to the right of the origin is broken.
fantasai
Pull request: https://github.com/WebKit/WebKit/pull/23720
fantasai
Actually this looks like it's maybe a duplicate of https://bugs.webkit.org/show_bug.cgi?id=256995 ? Which got fixed in https://github.com/WebKit/WebKit/pull/22189 I think.