Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

reflow branch status

0 views
Skip to first unread message

L. David Baron

unread,
Oct 19, 2006, 7:56:39 PM10/19/06
to dev-tec...@lists.mozilla.org
A few changes of note on the reflow branch:

A few weeks ago, I changed intrinsic width calculation for
percentage margins and percentage padding so that it does
multiplication by 1/(1-%) and thus correctly accounts for the
intrinsic width contribution of percentages. This involved
rewriting nsLayoutUtils::IntrinsicForContainer. I also made it
significantly *less* parameterized while I was there, and made its
quirks live in a new virtual function on nsIFrame
(IntrinsicWidthOffsets).

Today I mostly finished up the ComputeSize changes and turned them
on (although not exactly in that order; things were pretty busted
most of the day but should at least be vaguely working now). I
managed to get away without very many overrides of ComputeSize by
having the implementation on nsFrame defer a good part of its work
to another virtual function, ComputeAutoSize, and then putting
reasonable implementations of that on nsFrame and nsContainerFrame
(it could perhaps have been a single implementation, except that at
least nsFrame itself is occasionally used as an "empty frame" but is
not marked as nsIFrame::eReplaced).

While doing that, I also ripped out the quirk that *inline*
fieldsets ignore the 'width' and 'height' properties.

I'm sure I regressed something, though. I need to investigate
percentage height quirks a bit.

-David

--
L. David Baron <URL: http://dbaron.org/ >
Technical Lead, Layout & CSS, Mozilla Corporation

L. David Baron

unread,
Oct 19, 2006, 8:01:08 PM10/19/06
to dev-tec...@lists.mozilla.org
On Thursday 2006-10-19 16:56 -0700, L. David Baron wrote:
> Today I mostly finished up the ComputeSize changes and turned them
> on (although not exactly in that order; things were pretty busted

Oh -- I still haven't made
nsHTMLReflowState::InitAbsoluteConstraints call ComputeSize, so
absolutely positioned images are probably pretty broken right now
(since nsImageFrame::Reflow and nsHTMLCanvasFrame::Reflow now depend
on the computed heights in the reflow state). This means I haven't
yet been able to remove a whole bunch of code from nsHTMLReflowState
that is being replaced by ComputeSize. And there's probably other
code in various places that I can remove -- most notably
nsHTMLScrollFrame, I suspect.

0 new messages