Closed
Bug 492163
Opened 16 years ago
Closed 16 years ago
"ASSERTION: no pseudo elements in undisplayed map" with colgroup:before
Categories
(Core :: Layout: Tables, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: jruderman, Assigned: bzbarsky)
References
Details
(Keywords: assertion, testcase)
Attachments
(2 files)
466 bytes,
application/xhtml+xml
|
Details | |
8.93 KB,
patch
|
dbaron
:
review+
dbaron
:
superreview+
|
Details | Diff | Splinter Review |
###!!! ASSERTION: no pseudo elements in undisplayed map: 'Not Reached', file /Users/jruderman/central/layout/base/nsFrameManager.cpp, line 1303
![]() |
Assignee | |
Comment 1•16 years ago
|
||
Hmm. This is similar to bug 492112, but the assertion here seems a lot more reasonable... I'll think about how to fix.
Blocks: 490173
![]() |
Assignee | |
Updated•16 years ago
|
Flags: blocking1.9.2?
![]() |
Assignee | |
Comment 2•16 years ago
|
||
Most simply would be to not put the content for items with mIsGeneratedContent true into the undisplayed map. Or to not do so for cases when the style context of the item has a pseudo, maybe.
![]() |
Assignee | |
Comment 3•16 years ago
|
||
Patch coming up that also fixes bug 492112 and bug 483604.
![]() |
Assignee | |
Comment 4•16 years ago
|
||
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Attachment #377319 -
Flags: superreview?(dbaron)
Attachment #377319 -
Flags: review?(dbaron)
Did you look up the CVS history for why there was the mozNonElement check there?
![]() |
Assignee | |
Comment 6•16 years ago
|
||
The relevant CVS checkin comment is:
Fix 2 cases where ReResolveStyleContext was broken, causing serious problems with dynamic style reresolution. Change nsIFrame::GetStyleContextProvider to GetParentStyleContextFrame, always use its result rather than using the parent frame in some cases, and move a bit of the complexity into the GetParentStyleContextFrame implementations. Fix block-within-inline case (bug 129350) using a special-previous-sibling frame property and ensuring that NS_FRAME_IS_SPECIAL is copied when frames are split. Fix out-of-flow frame case (bug 88154) by going to the placeholder map and by parenting the placeholder frame style contexts to the style context from their frame parent rather than the out-of-flow frame. b=129350 r=attinasi sr=hyatt a=asa
This is rev 1.110 of nsFrameManager.cpp.
But fundamentally, as long as the non-element styles can't be display:none while the parent content is not display:none, we just can't end up with non-elements in the undisplayed content map... I think the code was there by analogy with the other place in ReResolveStyleContext, where we look at child frames and reresolve them; there of course we do need to deal with the non-element case.
Attachment #377319 -
Flags: superreview?(dbaron)
Attachment #377319 -
Flags: superreview+
Attachment #377319 -
Flags: review?(dbaron)
Attachment #377319 -
Flags: review+
Comment on attachment 377319 [details] [diff] [review]
Proposed fix
ok, r+sr=dbaron
![]() |
Assignee | |
Comment 8•16 years ago
|
||
Pushed http://hg.mozilla.org/mozilla-central/rev/ae03e9085759 with a crashtest.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Flags: blocking1.9.2?
You need to log in
before you can comment on or make changes to this bug.
Description
•