Replace ComputedValues with WritingMode on IndefiniteContainingBlock (#34090)

We only need the writing mode, not the entire computed style.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Oriol Brufau 2024-11-04 19:00:58 +01:00 committed by GitHub
parent 73d2f3c453
commit 072ff302d2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 70 additions and 82 deletions

View file

@ -2188,7 +2188,7 @@ fn inline_container_needs_strut(
/// A struct which takes care of computing [`ContentSizes`] for an [`InlineFormattingContext`].
struct ContentSizesComputation<'layout_data> {
layout_context: &'layout_data LayoutContext<'layout_data>,
containing_block: &'layout_data IndefiniteContainingBlock<'layout_data>,
containing_block: &'layout_data IndefiniteContainingBlock,
paragraph: ContentSizes,
current_line: ContentSizes,
/// Size for whitespace pending to be added to this line.
@ -2236,14 +2236,14 @@ impl<'layout_data> ContentSizesComputation<'layout_data> {
let zero = Au::zero();
let padding = inline_box
.style
.padding(self.containing_block.style.writing_mode)
.padding(self.containing_block.writing_mode)
.percentages_relative_to(zero);
let border = inline_box
.style
.border_width(self.containing_block.style.writing_mode);
.border_width(self.containing_block.writing_mode);
let margin = inline_box
.style
.margin(self.containing_block.style.writing_mode)
.margin(self.containing_block.writing_mode)
.percentages_relative_to(zero)
.auto_is(Au::zero);

View file

@ -235,7 +235,7 @@ impl OutsideMarker {
) -> Fragment {
let content_sizes = self.block_container.inline_content_sizes(
layout_context,
&IndefiniteContainingBlock::new_for_style(&self.marker_style),
&IndefiniteContainingBlock::new_for_writing_mode(self.marker_style.writing_mode),
);
let containing_block_for_children = ContainingBlock {
inline_size: content_sizes.sizes.max_content,
@ -2058,8 +2058,8 @@ impl IndependentFormattingContext {
let mut get_content_size = || {
let containing_block_for_children =
IndefiniteContainingBlock::new_for_style_and_block_size(
&style,
IndefiniteContainingBlock::new_for_writing_mode_and_block_size(
style.writing_mode,
tentative_block_size,
);
non_replaced