Follow-up from bug 997709. That bug was about <select style="display:flex"> where nsComboboxControlFrame child frames was blockified by ApplyStyleFixups. This problem might also affect other frame types (form controls, MathML, SVG, XUL) leading to wrong layout or crashes. This bug is about auditing the code and see if we can come up with a more general solution.
The tools we currently use this for are... (1) the RAII AutoParentDisplayBasedStyleFixupSkipper class (used in nsCSSFrameConstructor) (2) nsStyleSet::eSkipParentDisplayBasedStyleFixup. These both ultimately set the nsStyleContext constructor-arg "aSkipParentDisplayBasedStyleFixup" to true. (The goal is to cover cases where we should ignore the parent's "display" value for these fixups, because we know the parent element has its own type of [non-flex|grid] frame class that it wants, regardless of its "display".) It's possible there are more places we need to apply these tools (as shown by bug 997709 I suppose).
Summary: ApplyStyleFixups is too eager to blockify display:flex/grid children → [css-grid][css-flexbox] ApplyStyleFixups is too eager to blockify display:flex/grid children
You need to log in before you can comment on or make changes to this bug.