layout: Have SameFormattingContextBlock be a LayoutBoxBase (#34530)

This allows `SameFormattingContextBlock` to cache inline content sizes
and will eventually allow it to participate in incremental layout.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Martin Robinson 2024-12-09 07:57:15 +01:00 committed by GitHub
parent af8f35f5ef
commit f5fdbd70d0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 28 additions and 33 deletions

View file

@ -26,6 +26,7 @@ use crate::dom_traversal::{
use crate::flow::float::FloatBox;
use crate::flow::{BlockContainer, BlockFormattingContext, BlockLevelBox};
use crate::formatting_contexts::IndependentFormattingContext;
use crate::layout_box_base::LayoutBoxBase;
use crate::positioned::AbsolutelyPositionedBox;
use crate::style_ext::{ComputedValuesExt, DisplayGeneratingBox, DisplayInside, DisplayOutside};
use crate::table::{AnonymousTableContent, Table};
@ -654,9 +655,8 @@ where
let contents = intermediate_block_container.finish(context, info);
let contains_floats = contents.contains_floats();
ArcRefCell::new(BlockLevelBox::SameFormattingContextBlock {
base_fragment_info: info.into(),
base: LayoutBoxBase::new(info.into(), info.style.clone()),
contents,
style: Arc::clone(&info.style),
contains_floats,
})
},