Closed Bug 667010 Opened 8 years ago Closed 8 years ago

"ASSERTION: unexpected block frame" with text-overflow: ellipsis, <fieldset>


(Core :: Layout, defect)

Not set





(Reporter: jruderman, Assigned: mats)


(Blocks 1 open bug)


(Keywords: assertion, regression, testcase, Whiteboard: [inbound])


(4 files, 2 obsolete files)

Attached file testcase
No description provided.
Attached file stack trace
###!!! ASSERTION: unexpected block frame: '!aFrame->GetStyleDisplay()->IsBlockOutside()', file layout/generic/TextOverflow.cpp, line 88
Assignee: nobody → matspal
OS: Mac OS X → All
Hardware: x86 → All
Attached file Frame dump
When text-overflow style on BODY we shouldn't traverse this frame,
so I guess we need to check for blocks after all...
Attached patch fix (obsolete) — Splinter Review
Attachment #541775 - Flags: review?(roc)
Attached patch regression test (obsolete) — Splinter Review
Hang on, so the line containing the fieldset returns true for IsInline(), but the fieldset returns true for IsBlockOutside? That seems ... wrong.
I see, the fieldset is display:inline, but its anonymous block child is returning true for IsBlockOutside.

I think we should make IsAtomicElement return true for an inline fieldset. I think probably instead of checking mDisplay != NS_STYLE_DISPLAY_INLINE, we should check whether the frame is a subclass of nsInlineFrame.
Would it make sense to check it for being a line participant?
Also fixed an unrelated bug:  when a line has overflow (say from a float)
but no inline overflow we shouldn't create a marker... this works fine,
except if there's a placeholder frame outside the block content rect
it would count as overflow and trigger a marker.
(regression from starting to include zero-sized frames in the analysis)
Attachment #541775 - Attachment is obsolete: true
Attachment #541777 - Attachment is obsolete: true
Attachment #543682 - Flags: review?(roc)
Attachment #541775 - Flags: review?(roc)
Comment on attachment 543682 [details] [diff] [review]
fix + reftest, rev. 2

Review of attachment 543682 [details] [diff] [review]:
Attachment #543682 - Flags: review?(roc) → review+
Flags: in-testsuite+
Whiteboard: [inbound]
I disabled the test on Android because of R1 orange.  Seems to work fine on
other platforms so I'm not going to worry about it for now.
Target Milestone: --- → mozilla7
You need to log in before you can comment on or make changes to this bug.