Closed Bug 1639450 Opened 4 years ago Closed 4 years ago

clicking on scrollbar track after pinch zoom on scroll frame without overflow does not scroll at all

Categories

(Core :: Panning and Zooming, defect, P3)

defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox76 --- disabled
firefox77 --- disabled
firefox78 --- disabled

People

(Reporter: tnikkel, Assigned: tnikkel)

References

Details

No description provided.

This is how the scrolling happens from clicking on the scrollbar track

  • frame #0: 0x00000001062ea6cb XULmozilla::ScrollFrameHelper::ScrollToWithOrigin(this=0x0000000136302260, aScrollPosition=nsPoint @ 0x00007ffeefbfcff8, aMode=Smooth, aOrigin=0x000000010ac80a94, aRange=0x00007ffeefbfd098, aSnap=DISABLE_SNAP) at nsGfxScrollFrame.cpp:2281:15 [opt] frame #1: 0x00000001062e62d4 XULmozilla::ScrollFrameHelper::ScrollBy(this=0x0000000136302260, aDelta=nsIntPoint @ 0x00007fa60abdcab0, aUnit=PAGES, aMode=Smooth, aOverflow=0x00007ffeefbfd100, aOrigin=<unavailable>, aMomentum=NOT_MOMENTUM, aSnap=ENABLE_SNAP) at nsGfxScrollFrame.cpp:4349:3 [opt]
    frame #2: 0x000000010633e493 XULnon-virtual thunk to nsHTMLScrollFrame::ScrollByPage(nsScrollbarFrame*, int, nsIScrollbarMediator::ScrollSnapMode) [inlined] mozilla::ScrollFrameHelper::ScrollByUnit(this=<unavailable>, aScrollbar=<unavailable>, aMode=Smooth, aDirection=<unavailable>, aUnit=PAGES, aSnap=<unavailable>) at nsGfxScrollFrame.cpp:1549:3 [opt] frame #3: 0x000000010633e451 XULnon-virtual thunk to nsHTMLScrollFrame::ScrollByPage(nsScrollbarFrame*, int, nsIScrollbarMediator::ScrollSnapMode) [inlined] mozilla::ScrollFrameHelper::ScrollByPage(this=<unavailable>, aScrollbar=<unavailable>, aDirection=<unavailable>, aSnap=<unavailable>) at nsGfxScrollFrame.cpp:1453 [opt]
    frame #4: 0x000000010633e451 XULnon-virtual thunk to nsHTMLScrollFrame::ScrollByPage(nsScrollbarFrame*, int, nsIScrollbarMediator::ScrollSnapMode) [inlined] nsHTMLScrollFrame::ScrollByPage(this=<unavailable>, aScrollbar=<unavailable>, aDirection=<unavailable>, aSnap=<unavailable>) at nsGfxScrollFrame.h:1077 [opt] frame #5: 0x000000010633e448 XULnon-virtual thunk to nsHTMLScrollFrame::ScrollByPage(nsScrollbarFrame*, int, nsIScrollbarMediator::ScrollSnapMode) at nsGfxScrollFrame.h:0 [opt]
    frame #6: 0x00000001064b7071 XUL`nsSliderFrame::PageScroll(this=0x0000000136302818, aChange=1) at nsSliderFrame.cpp:1427:10 [opt]

The problem is that ScrollToWithOrigin and ScrollToImpl clamp the requested scroll position to the layout scroll range. Changing that looks like it might be an involved fix, possibly pulling in bug 1543485.

Perhaps some of the relevant functions (e.g. ScrollByPage) could take an option to scroll the visual viewport (via nsIPresShell::ScrollToVisual()) rather than the layout viewport?

Yeah, something like that is needed.

Assignee: nobody → tnikkel

Interacting with scrollbars works now after 1657822

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.