Closed Bug 667010 Opened 8 years ago Closed 8 years ago
"ASSERTION: unexpected block frame" with text-overflow: ellipsis, <fieldset>
No description provided.
###!!! 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
When text-overflow style on BODY we shouldn't traverse this frame, so I guess we need to check for blocks after all...
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)
Comment on attachment 543682 [details] [diff] [review] fix + reftest, rev. 2 Review of attachment 543682 [details] [diff] [review]: -----------------------------------------------------------------
Attachment #543682 - Flags: review?(roc) → review+
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. http://hg.mozilla.org/integration/mozilla-inbound/rev/c8c8aa5f9870
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.