Closed Bug 364512 Opened 19 years ago Closed 18 years ago

ASSERTION: unexpected frame type: 'IS_TABLE_CELL(frameType) || nsLayoutAtoms::tableRowFrame == frameType || nsLayoutAtoms::tableRowGroupFrame == frameType || nsLayoutAtoms::tableFrame == frameType'

Categories

(Core :: Layout: Tables, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jruderman, Assigned: bernd_mozilla)

References

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Loading this testcase triggers: ###!!! ASSERTION: unexpected frame type: 'IS_TABLE_CELL(frameType) || nsLayoutAtoms::tableRowFrame == frameType || nsLayoutAtoms::tableRowGroupFrame == frameType || nsLayoutAtoms::tableFrame == frameType', file /Users/admin/trunk/mozilla/layout/tables/nsTableFrame.cpp, line 1798
Attached file testcase
yep the assertion 1794 NS_ASSERTION(IS_TABLE_CELL(frameType) || 1795 nsLayoutAtoms::tableRowFrame == frameType || 1796 nsLayoutAtoms::tableRowGroupFrame == frameType || 1797 nsLayoutAtoms::tableFrame == frameType, 1798 "unexpected frame type"); is not complete, as rowgroups can be wrapped in a scroll frame
Attached patch patchSplinter Review
Assignee: nobody → bernd_mozilla
Status: NEW → ASSIGNED
Attachment #249334 - Flags: superreview?
Attachment #249334 - Flags: review?
Attachment #249334 - Flags: superreview?(dbaron)
Attachment #249334 - Flags: superreview?
Attachment #249334 - Flags: review?(dbaron)
Attachment #249334 - Flags: review?
This assertion is documenting an assumption that I was making when I wrote the code -- will the special height reflow actually propagate through the scrollframe correctly, or is additional code needed for that? I really should have rewritten the comment above RequestSpecialHeightReflow to reflect what I was thinking. I'll need to have a closer look tomorrow and try to remember.
Comment on attachment 249334 [details] [diff] [review] patch I'm trying to think of what will be broken in this case. So far, I think that: * if the table is IsGeometryDirty, we'll need to mark the row group (and scroll frame containing it?) as NS_FRAME_HAS_DIRTY_CHILDREN to make the reflow propagate down to it. We may also need to propagate the mHResize flag the way nsTableRowGroupFrame::ReflowChildren does, although maybe we should replace that propagation with SetGeometryDirty. But this patch looks fine. I can't think of anything else broken in this case, although there probably is something since I'd forgotten about it. I suppose I should make sure there are bugs on file for the above problems...
Attachment #249334 - Flags: superreview?(dbaron)
Attachment #249334 - Flags: superreview+
Attachment #249334 - Flags: review?(dbaron)
Attachment #249334 - Flags: review+
Comment on attachment 249334 [details] [diff] [review] patch its a safe change, it adjusts the assertion to the code reality.
Attachment #249334 - Flags: approval1.9?
Comment on attachment 249334 [details] [diff] [review] patch a1.9=dbaron
Attachment #249334 - Flags: approval1.9? → approval1.9+
fix checked in
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Crashtest checked in.
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: