[css-grid][css-flexbox] ApplyStyleFixups is too eager to blockify display:flex/grid children

NEW
Unassigned

Status

()

P4
minor
3 years ago
2 years ago

People

(Reporter: mats, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

3 years ago
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).
(Reporter)

Updated

2 years ago
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
(Reporter)

Updated

2 years ago
Depends on: 1339287
You need to log in before you can comment on or make changes to this bug.