Description
From https://drafts.css-houdini.org/css-layout-api/#layout-api-box-tree,
The inflow children of a layout API container can act in different ways [...]
If the value of layout options' childDisplay is "block" the display value of that child is blockified.
where
A layout API container is the box generated by an element with a
<display-inside>
computed value layout().
However, this implies that if the element with a <display-inside>
computed value layout() doesn't generate any box (e.g. because it's inside a display: none
subtree), then the children shouldn't be blockified, since there is no layout API container.
So just like in w3c/csswg-drafts#4065, CSS Layout should be updated to say something like
If the computed
<display-inside>
value of an element's nearest ancestor element (skipping ''display:contents'' ancestors) is layout(), the element's own 'display' value is blockified.
This reflects the reality of what Chromium already does.