Closed Bug 516974 Opened 11 years ago Closed 11 years ago

Store the overflow out of flows as an nsFrameList

Categories

(Core :: Layout, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.9.3a1

People

(Reporter: mats, Assigned: mats)

Details

Attachments

(1 file, 1 obsolete file)

Followup from bug 233463 comment 93:

Comment From  Boris Zbarsky:
> > nsBlockFrame::GetOverflowOutOfFlows() const
> >+  return nsFrameList(result, nsLayoutUtils::GetLastSibling(result));
Maybe file a followup bug to store the overflow out of flows as an nsFrameList,
unless we're guaranteed that there aren't many of them....  And maybe even
then.
Attached patch wip (obsolete) — Splinter Review
First naive version.  I don't think saving/checking the old value
is necessary anymore though...  new patch coming with that...
Assignee: nobody → matspal
Attached patch Patch rev. 1Splinter Review
Attachment #402023 - Attachment is obsolete: true
Attachment #402109 - Flags: review?(bzbarsky)
Comment on attachment 402109 [details] [diff] [review]
Patch rev. 1

>+++ b/layout/generic/nsBlockFrame.cpp
>+nsBlockFrame::SetOverflowOutOfFlows(const nsFrameList& aList,
>+  else {
>+    SetPropTableFrames(PresContext(), new nsFrameList(aList),
>+                       nsGkAtoms::overflowOutOfFlowsProperty);

This case could assert !aPropValue, right?  If so, please do.

r=bzbarsky
Attachment #402109 - Flags: review?(bzbarsky) → review+
(In reply to comment #3)
> This case could assert !aPropValue, right?  If so, please do.

Yes, but the NS_PRECONDITION covers that.  And SetPropTableFrames()
asserts that the property doesn't already exist.
http://hg.mozilla.org/mozilla-central/rev/ab4cfe0e49ad
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.3a1
You need to log in before you can comment on or make changes to this bug.