Open Bug 846583 Opened 12 years ago Updated 2 years ago

Correctly paginate/fragment absolutely positioned frames that are children of a column set

Categories

(Core :: Layout, defect)

defect

Tracking

()

People

(Reporter: jwir3, Unassigned)

References

(Blocks 1 open bug)

Details

From bug 724978, comment 12: > Ok, so afaict, you're not handling the pagination of absolutely-positioned > children. To do that, you need to: > 1. Add a call to ReflowOveflowContainerChildren() to the nsColumnSetFrame::Reflow() > method and incorporate its output into the out parameters, i.e. add (this is copied > from nsBlockFrame::Reflow) > // Handle paginated overflow (see nsContainerFrame.h) > nsOverflowAreas ocBounds; > nsReflowStatus ocStatus = NS_FRAME_COMPLETE; > if (GetPrevInFlow()) { > ReflowOverflowContainerChildren(aPresContext, *reflowState, ocBounds, 0, > ocStatus); > } > near the beginning (before reflowing any children), and add > NS_MergeReflowStatusInto(&state.mReflowStatus, ocStatus); > NS_MergeReflowStatusInto(&state.mReflowStatus, fcStatus); > near the end. Then you also need to update StealFrames by replacing > return nsContainerFrame::StealFrame(aPresContext, aChild, true); > with > return nsContainerFrame::StealFrame(aPresContext, aChild, > IS_TRUE_OVERFLOW_CONTAINER(aChild)); > And of course add some tests. :) And I think that should take care of it, assuming > you're reflowing the abspos children correctly. This is still a situation that is in a bad state from bug 724978, and requires bug 743402 in order for it to be completed. Currently, though, we've decided not to push through layout changes to multicol, since we don't currently have fuzzing coverage for multicol (due, in part, to bug 724978). Once we have the fuzzing situation resolved, we should look at this again.
See also attachment 612093 [details] [diff] [review] of bug 724978 for a first attempt at this.
Blocks: 1491727
Summary: Correctly paginate absolutely positioned frames that are children of a column set → Correctly paginate/fragment absolutely positioned frames that are children of a column set
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.