Boris Zbarsky wrote:
> Robert O'Callahan wrote:
>> Actually I had it backwards; the problem is when the height after the
>> first pass is too *large*, then we set the scrollbar maxpos to zero and
>> scroll to the top of the listbox. See
>> https://bugzilla.mozilla.org/show_bug.cgi?id=301439#c8. If you can avoid
>> regressing that testcase, then I'm happy :-).
> 
> Well.  That testcase won't regress because it only does one-pass reflow
> in the new world.  A testcase that _would_ regress is one in which the
> font-size is decreased at the same time as the "size" attribute is
> increased.  Then we'd do a first-pass reflow using the old font size and
> the new "size" attribute, figure out that the size of our options has
> changed, and do a second reflow at the right (smaller) size.
> 
> Unfortunately, with the new setup we don't know until we're done with
> the first reflow whether we'll have to do a second one...  I suppose I
> could always do two reflows, and the second one would always have to do
> _some_ work because it'd need to update the scrollbars.  But I'd really
> like to avoid that if I can; it seems wasteful.

Yeah, definitely.

Maybe you could have the nsSelectsAreaFrame detect whether a second
reflow will be needed, before it returns from its reflow near the end of
the first pass, and set up suppression from there if necessary.

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

Reply via email to