reflow branch status

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

reflow branch status

L. David Baron
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

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

attachment0 (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: reflow branch status

L. David Baron
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.

-David

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

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

attachment0 (196 bytes) Download Attachment