Closed
Bug 366952
Opened 19 years ago
Closed 19 years ago
"ASSERTION: used padding property missing (out of memory?)" involving -moz-inline-grid and position: fixed
Categories
(Core :: Layout, defect)
Core
Layout
Tracking
()
RESOLVED
FIXED
People
(Reporter: jruderman, Assigned: dbaron)
References
Details
(Keywords: assertion, testcase, Whiteboard: [patch])
Attachments
(2 files, 3 obsolete files)
197 bytes,
text/html
|
Details | |
4.40 KB,
patch
|
roc
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
Loading this testcase triggers:
###!!! ASSERTION: used padding property missing (out of memory?): 'p', file /Users/admin/trunk/mozilla/layout/generic/nsFrame.cpp, line 731
![]() |
||
Comment 1•19 years ago
|
||
So the problem is that in nsHTMLReflowState::InitConstraints for the div with the padding-right there is no parentReflowState, so we never call InitOffsets(), so never compute the padding...
This is the "Sort out the behavior of nsHTMLReflowState::InitConstraints when parentReflowState is null. This happens for reflow roots and for frames being reflowed as a child of a box (via nsFrame::BoxReflow). The current behavior seems wrong." item in the to-do list on http://wiki.mozilla.org/Gecko:Reflow_Refactoring.
Assignee | ||
Updated•19 years ago
|
Assignee | ||
Updated•19 years ago
|
Assignee: nobody → dbaron
Assignee | ||
Comment 2•19 years ago
|
||
This is untested; I originally wrote it while working on bug 359769.
Assignee | ||
Comment 3•19 years ago
|
||
This patch breaks a bunch of things (HTTP auth dialogs to narrow, scrollbars a pixel or two off), as I'd noticed the previous time I tried doing this. Need to figure out why.
Assignee | ||
Comment 4•19 years ago
|
||
This starts constructing the padding and border on the reflow state properly for reflow states with no parent, and switches the box/block adaptation code to using the reflow state border/padding on the block inside rather than the box's notion of border/padding, which fixes the regressions I was seeing without that change (and makes sense).
Attachment #251603 -
Attachment is obsolete: true
Attachment #251688 -
Flags: superreview?(roc)
Attachment #251688 -
Flags: review?(roc)
Assignee | ||
Updated•19 years ago
|
Status: NEW → ASSIGNED
Whiteboard: [patch]
![]() |
||
Comment 5•19 years ago
|
||
Shouldn't we also ensure that the computed width/height doesn't go below 0? Or are we guaranteed that it can't?
Assignee | ||
Comment 6•19 years ago
|
||
Yep.
This addresses Boris's comment.
Attachment #251688 -
Attachment is obsolete: true
Attachment #251688 -
Flags: superreview?(roc)
Attachment #251688 -
Flags: review?(roc)
![]() |
||
Comment 7•19 years ago
|
||
What about the 4th hunk in nsFrame::BoxReflow and the nsHTMLReflowState changes?
Assignee | ||
Comment 8•19 years ago
|
||
Right.
Attachment #251690 -
Attachment is obsolete: true
Attachment #251703 -
Flags: superreview?(roc)
Attachment #251703 -
Flags: review?(roc)
![]() |
||
Comment 9•19 years ago
|
||
r=bzbarsky, for what it's worth. But I'm not as familiar with the box code as you guys, so it's probably still worth roc looking...
Attachment #251703 -
Flags: superreview?(roc)
Attachment #251703 -
Flags: superreview+
Attachment #251703 -
Flags: review?(roc)
Attachment #251703 -
Flags: review+
Assignee | ||
Comment 10•19 years ago
|
||
Checked in to trunk.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Updated•19 years ago
|
Flags: blocking1.9?
Updated•18 years ago
|
Flags: in-testsuite?
Comment 12•17 years ago
|
||
Comment on attachment 251703 [details] [diff] [review]
patch
>+ InitOffsets(aContainingBlockWidth, aBorder, aPadding);
>+ // Override mComputedMargin since reflow roots start from the
>+ // frame's boundary, which is inside the margin.
> mComputedMargin.SizeTo(0, 0, 0, 0);
>- mComputedPadding.SizeTo(0, 0, 0, 0);
>- mComputedBorderPadding.SizeTo(0, 0, 0, 0);
This caused bug 391358.
(I verified by manually applying these specific changes to a working build.)
![]() |
||
Updated•17 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•