abs.pos. child of <legend> is not rendered. (URL is testcase from bug 310879) This is a trunk regression: 2006-01-25-05 -- 2006-01-26-04 http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2006-01-25+03%3A00&maxdate=2006-01-26+06%3A00&cvsroot=%2Fcvsroot Most likely in that range: bug 317375
This is the frame tree from trunk. I also dumped from 1.8 branch (where the testcase works) and the frame trees are identical AFAICT.
So this seems to sorta work on reflow branch, I think... Not sure why.
Okay ... the problem here is that the placeholder is inside the <legend> frame, but the abs-pos frame is a child of the fieldset's anonymous block frame, which violates the invariant that the placeholder is a descendant of the out-of-flow frame's parent. We need to do BuildDisplayList on the abs-pos container before we reach the placeholder, because that needs to set up the abs-pos frames to be painted later through the placeholders. In this case we're seeing the placeholder before we've visited the abs-pos container so the abs-pos frame doesn't get painted.
fairly straightforward approach ... just process mContentFrame before mLegendFrame, because mContentFrame might have out-of-flow frames whose placeholders are under mLegendFrame, but the other way around is not possible. The patch ensures that we still keep content in the same z-order. Hmm, actually we might currently have a bug where the legend should be z-ordered according to where it is in the content relative to other children of the fieldset. But at least this patch preserves current z-ordering.
Flags: blocking1.9a2? → blocking1.9-
FWIW, the bug still occurs after the reflow branch landing. The attached patch still fixes it.
Comment on attachment 229924 [details] [diff] [review] fix r+sr=dbaron. Sorry for the delay.
Status: ASSIGNED → RESOLVED
Last Resolved: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.