Open
Bug 1247128
Opened 9 years ago
Updated 2 years ago
Print-previewing a flex item with page-break-before triggers: "Assertion failure: aFrame1 && aFrame2 (why do we have an anonymous box without any non-anonymous descendants?), at layout/generic/nsFlexContainerFrame.cpp:974
Categories
(Core :: Layout, defect)
Core
Layout
Tracking
()
ASSIGNED
Tracking | Status | |
---|---|---|
firefox47 | --- | affected |
People
(Reporter: dholbert, Assigned: dholbert)
References
Details
(Keywords: assertion)
Attachments
(1 file)
(deleted),
text/html
|
Details |
STR:
1. Load the attached testcase in a debug build.
2. File | Print-preview.
ACTUAL RESULTS:
- In a debug build: "Assertion failure: aFrame1 && aFrame2 (why do we have an anonymous box without any non-anonymous descendants?), at layout/generic/nsFlexContainerFrame.cpp:974"
This happens *while we're evaluating the NS_ASSERTION condition* in nsFlexContainerFrame::BuildDisplayList (checking "IsFrameListSorted"), because we're not expecting these anonymous frames to be mixed in among our flex items.
Opt builds don't evaluate the NS_ASSERTION in, of course, so they don't hit this. (But even if they did trigger this codepath via some other way, they'd just crash with a null deref, so nothing too scary should happen.)
Anyway. We should fix this by preventing pagebreak frames in flex containers, like we're doing for grid containers in bug 1144096 part 7.
We could either layer this bug's fix on top of bug 1144096 (as suggested in bug 1144096 comment 26), or we could fix this up-front and having mats rebase bug 1144096 part 7 on top of it. (If bug 1144096 has more coming, then maybe it'd be good to get this fixed first, though, for robustness against crashes/assertion failures. But if bug 1144096 is landing soon, I'll try to avoid creating rebasing work here.)
Assignee | ||
Updated•9 years ago
|
Summary: Print-preview a flex item with "page-break-before" triggers "Assertion failure: aFrame1 && aFrame2 (why do we have an anonymous box without any non-anonymous descendants?), at layout/generic/nsFlexContainerFrame.cpp:974 → Print-previewing a flex item with page-break-before triggers: "Assertion failure: aFrame1 && aFrame2 (why do we have an anonymous box without any non-anonymous descendants?), at layout/generic/nsFlexContainerFrame.cpp:974
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•