From 5c71219819e57fe2ac5d634d8ab0d2104036c402 Mon Sep 17 00:00:00 2001 From: Pu Xingyu Date: Wed, 31 May 2023 19:32:02 +0800 Subject: [PATCH] layout_2020: Check blocks for whether they will establish a formatting context --- components/layout_2020/flow/construct.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/layout_2020/flow/construct.rs b/components/layout_2020/flow/construct.rs index c45965df6e6..2989df6c7e5 100644 --- a/components/layout_2020/flow/construct.rs +++ b/components/layout_2020/flow/construct.rs @@ -11,7 +11,7 @@ use crate::flow::inline::{InlineBox, InlineFormattingContext, InlineLevelBox, Te use crate::flow::{BlockContainer, BlockFormattingContext, BlockLevelBox}; use crate::formatting_contexts::IndependentFormattingContext; use crate::positioned::AbsolutelyPositionedBox; -use crate::style_ext::{DisplayGeneratingBox, DisplayInside, DisplayOutside}; +use crate::style_ext::{ComputedValuesExt, DisplayGeneratingBox, DisplayInside, DisplayOutside}; use rayon::iter::{IntoParallelIterator, ParallelIterator}; use rayon_croissant::ParallelIteratorExt; use servo_arc::Arc; @@ -591,7 +591,9 @@ where let kind = match contents.try_into() { Ok(contents) => match display_inside { - DisplayInside::Flow { is_list_item } => { + DisplayInside::Flow { is_list_item } + if !info.style.establishes_block_formatting_context() => + { BlockLevelCreator::SameFormattingContextBlock( IntermediateBlockContainer::Deferred { contents,