Boris Zbarsky wrote:
> I'm looking at the mSupppressScrollbarUpdate of scrollframe.  It's only
> used by nsListControlFrame, which calls SetSuppressScrollbarUpdate()
> when it does its first-pass reflow.  It seems to think that this
> prevents scrolling to the restored spot...

Well that's definitely wrong...

> Is that actually the case?  I can't quite figure out where (or whether!)
> the code conditioned on mSupppressScrollbarUpdate actually does any
> scrolling.

It can. nsGfxScrollFrameInner::LayoutScrollbars sets the scrollbar
maxpos, which (in nsSliderFrame::AttributeChanged) is where we check if
the current position is now out-of-bounds, and if so, scroll it to be
in-bounds. So I suspect the listbox code is trying to avoid a situation
where the listbox is scrolled to the bottom, and the first-pass reflow
gives a temporarily-shorter height than the true height, which would
cause the listbox to spuriously scroll up.

Rob
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout

Reply via email to