layout: Non-auto z-index should always make stacking contexts for flex items (#32961)

Fixes #32756.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Martin Robinson 2024-08-12 14:15:20 +02:00 committed by GitHub
parent d29e937f7e
commit 564ba5969f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 87 additions and 21 deletions

View file

@ -31,7 +31,7 @@ use super::{FlexContainer, FlexItemBox, FlexLevelBox};
use crate::cell::ArcRefCell;
use crate::context::LayoutContext;
use crate::formatting_contexts::{Baselines, IndependentFormattingContext, IndependentLayout};
use crate::fragment_tree::{BoxFragment, CollapsedBlockMargins, Fragment};
use crate::fragment_tree::{BoxFragment, CollapsedBlockMargins, Fragment, FragmentFlags};
use crate::geom::{AuOrAuto, LogicalRect, LogicalSides, LogicalVec2};
use crate::positioned::{AbsolutelyPositionedBox, PositioningContext, PositioningContextLength};
use crate::sizing::ContentSizes;
@ -1522,9 +1522,12 @@ impl InitialFlexLineLayout<'_> {
all_baselines.last = Some(item_baseline);
}
let mut fragment_info = item.box_.base_fragment_info();
fragment_info.flags.insert(FragmentFlags::IS_FLEX_ITEM);
(
BoxFragment::new(
item.box_.base_fragment_info(),
fragment_info,
item.box_.style().clone(),
item_layout_result.fragments,
content_rect,