mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Partial implementation of keyword sizes for block layout (#34568)
Adds support for min-content, max-content, fit-content and stretch, for block-level elements that don't establish an independent formatting context, and for block-level elements when there is no float. Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
parent
6be403d8b4
commit
eb82161a8a
115 changed files with 244 additions and 632 deletions
|
@ -42,7 +42,8 @@ use crate::positioned::{AbsolutelyPositionedBox, PositioningContext, Positioning
|
|||
use crate::replaced::ReplacedContents;
|
||||
use crate::sizing::{self, ComputeInlineContentSizes, ContentSizes, InlineContentSizesResult};
|
||||
use crate::style_ext::{
|
||||
Clamp, ComputedValuesExt, ContentBoxSizesAndPBMDeprecated, PaddingBorderMargin,
|
||||
Clamp, ComputedValuesExt, ContentBoxSizesAndPBM, ContentBoxSizesAndPBMDeprecated,
|
||||
PaddingBorderMargin,
|
||||
};
|
||||
use crate::{
|
||||
ConstraintSpace, ContainingBlock, ContainingBlockSize, IndefiniteContainingBlock,
|
||||
|
@ -715,8 +716,7 @@ impl BlockLevelBox {
|
|||
layout_context,
|
||||
positioning_context,
|
||||
containing_block,
|
||||
base.base_fragment_info,
|
||||
&base.style,
|
||||
base,
|
||||
contents,
|
||||
sequential_layout_state,
|
||||
collapsible_with_parent_start_margin,
|
||||
|
@ -785,13 +785,17 @@ fn layout_in_flow_non_replaced_block_level_same_formatting_context(
|
|||
layout_context: &LayoutContext,
|
||||
positioning_context: &mut PositioningContext,
|
||||
containing_block: &ContainingBlock,
|
||||
mut base_fragment_info: BaseFragmentInfo,
|
||||
style: &Arc<ComputedValues>,
|
||||
base: &LayoutBoxBase,
|
||||
contents: &BlockContainer,
|
||||
mut sequential_layout_state: Option<&mut SequentialLayoutState>,
|
||||
collapsible_with_parent_start_margin: Option<CollapsibleWithParentStartMargin>,
|
||||
) -> BoxFragment {
|
||||
let style = &base.style;
|
||||
let containing_block_writing_mode = containing_block.style.writing_mode;
|
||||
let get_inline_content_sizes = |constraint_space: &ConstraintSpace| {
|
||||
base.inline_content_sizes(layout_context, constraint_space, contents)
|
||||
.sizes
|
||||
};
|
||||
let ContainingBlockPaddingAndBorder {
|
||||
containing_block: containing_block_for_children,
|
||||
pbm,
|
||||
|
@ -799,7 +803,12 @@ fn layout_in_flow_non_replaced_block_level_same_formatting_context(
|
|||
min_box_size,
|
||||
max_box_size,
|
||||
depends_on_block_constraints,
|
||||
} = solve_containing_block_padding_and_border_for_in_flow_box(containing_block, style);
|
||||
available_block_size,
|
||||
} = solve_containing_block_padding_and_border_for_in_flow_box(
|
||||
containing_block,
|
||||
style,
|
||||
get_inline_content_sizes,
|
||||
);
|
||||
let ResolvedMargins {
|
||||
margin,
|
||||
effective_margin_inline_start,
|
||||
|
@ -933,10 +942,20 @@ fn layout_in_flow_non_replaced_block_level_same_formatting_context(
|
|||
content_block_size += collapsible_margins_in_children.end.solve();
|
||||
}
|
||||
|
||||
let block_size = box_size
|
||||
let available_block_size = available_block_size.unwrap_or(content_block_size);
|
||||
let block_content_sizes = LazyCell::new(|| content_block_size.into());
|
||||
let preferred_block_size =
|
||||
box_size
|
||||
.block
|
||||
.resolve(Size::FitContent, available_block_size, &block_content_sizes);
|
||||
let min_block_size = min_box_size
|
||||
.block
|
||||
.auto_is(|| content_block_size)
|
||||
.clamp_between_extremums(min_box_size.block, max_box_size.block);
|
||||
.resolve_non_initial(available_block_size, &block_content_sizes)
|
||||
.unwrap_or_default();
|
||||
let max_block_size = max_box_size
|
||||
.block
|
||||
.resolve_non_initial(available_block_size, &block_content_sizes);
|
||||
let block_size = preferred_block_size.clamp_between_extremums(min_block_size, max_block_size);
|
||||
|
||||
if let Some(ref mut sequential_layout_state) = sequential_layout_state {
|
||||
// Now that we're done laying out our children, we can restore the
|
||||
|
@ -978,6 +997,7 @@ fn layout_in_flow_non_replaced_block_level_same_formatting_context(
|
|||
},
|
||||
};
|
||||
|
||||
let mut base_fragment_info = base.base_fragment_info;
|
||||
if depends_on_block_constraints {
|
||||
base_fragment_info
|
||||
.flags
|
||||
|
@ -1022,6 +1042,10 @@ impl IndependentNonReplacedContents {
|
|||
);
|
||||
}
|
||||
|
||||
let get_inline_content_sizes = |constraint_space: &ConstraintSpace| {
|
||||
base.inline_content_sizes(layout_context, constraint_space, self)
|
||||
.sizes
|
||||
};
|
||||
let ContainingBlockPaddingAndBorder {
|
||||
containing_block: containing_block_for_children,
|
||||
pbm,
|
||||
|
@ -1029,9 +1053,11 @@ impl IndependentNonReplacedContents {
|
|||
min_box_size,
|
||||
max_box_size,
|
||||
depends_on_block_constraints,
|
||||
available_block_size,
|
||||
} = solve_containing_block_padding_and_border_for_in_flow_box(
|
||||
containing_block,
|
||||
&base.style,
|
||||
get_inline_content_sizes,
|
||||
);
|
||||
|
||||
let layout = self.layout(
|
||||
|
@ -1043,13 +1069,26 @@ impl IndependentNonReplacedContents {
|
|||
|
||||
let (block_size, inline_size) = match layout.content_inline_size_for_table {
|
||||
Some(inline_size) => (layout.content_block_size, inline_size),
|
||||
None => (
|
||||
box_size
|
||||
None => {
|
||||
let available_block_size =
|
||||
available_block_size.unwrap_or(layout.content_block_size);
|
||||
let block_content_sizes = LazyCell::new(|| layout.content_block_size.into());
|
||||
let preferred_block_size = box_size.block.resolve(
|
||||
Size::FitContent,
|
||||
available_block_size,
|
||||
&block_content_sizes,
|
||||
);
|
||||
let min_block_size = min_box_size
|
||||
.block
|
||||
.auto_is(|| layout.content_block_size)
|
||||
.clamp_between_extremums(min_box_size.block, max_box_size.block),
|
||||
containing_block_for_children.size.inline,
|
||||
),
|
||||
.resolve_non_initial(available_block_size, &block_content_sizes)
|
||||
.unwrap_or_default();
|
||||
let max_block_size = max_box_size
|
||||
.block
|
||||
.resolve_non_initial(available_block_size, &block_content_sizes);
|
||||
let block_size =
|
||||
preferred_block_size.clamp_between_extremums(min_block_size, max_block_size);
|
||||
(block_size, containing_block_for_children.size.inline)
|
||||
},
|
||||
};
|
||||
|
||||
let ResolvedMargins {
|
||||
|
@ -1488,10 +1527,11 @@ impl ReplacedContents {
|
|||
struct ContainingBlockPaddingAndBorder<'a> {
|
||||
containing_block: ContainingBlock<'a>,
|
||||
pbm: PaddingBorderMargin,
|
||||
box_size: LogicalVec2<AuOrAuto>,
|
||||
min_box_size: LogicalVec2<Au>,
|
||||
max_box_size: LogicalVec2<Option<Au>>,
|
||||
box_size: LogicalVec2<Size<Au>>,
|
||||
min_box_size: LogicalVec2<Size<Au>>,
|
||||
max_box_size: LogicalVec2<Size<Au>>,
|
||||
depends_on_block_constraints: bool,
|
||||
available_block_size: Option<Au>,
|
||||
}
|
||||
|
||||
struct ResolvedMargins {
|
||||
|
@ -1515,6 +1555,7 @@ struct ResolvedMargins {
|
|||
fn solve_containing_block_padding_and_border_for_in_flow_box<'a>(
|
||||
containing_block: &ContainingBlock<'_>,
|
||||
style: &'a Arc<ComputedValues>,
|
||||
get_inline_content_sizes: impl FnOnce(&ConstraintSpace) -> ContentSizes,
|
||||
) -> ContainingBlockPaddingAndBorder<'a> {
|
||||
if matches!(style.pseudo(), Some(PseudoElement::ServoAnonymousBox)) {
|
||||
// <https://drafts.csswg.org/css2/#anonymous-block-level>
|
||||
|
@ -1532,53 +1573,78 @@ fn solve_containing_block_padding_and_border_for_in_flow_box<'a>(
|
|||
return ContainingBlockPaddingAndBorder {
|
||||
containing_block: containing_block_for_children,
|
||||
pbm: PaddingBorderMargin::zero(),
|
||||
box_size: LogicalVec2 {
|
||||
inline: AuOrAuto::Auto,
|
||||
block: AuOrAuto::Auto,
|
||||
},
|
||||
box_size: LogicalVec2::default(),
|
||||
min_box_size: LogicalVec2::default(),
|
||||
max_box_size: LogicalVec2::default(),
|
||||
depends_on_block_constraints: false,
|
||||
// The available block size may actually be definite, but it should be irrelevant
|
||||
// since the sizing properties are set to their initial value.
|
||||
available_block_size: None,
|
||||
};
|
||||
}
|
||||
|
||||
let ContentBoxSizesAndPBMDeprecated {
|
||||
let ContentBoxSizesAndPBM {
|
||||
content_box_size,
|
||||
content_min_box_size,
|
||||
content_max_box_size,
|
||||
pbm,
|
||||
depends_on_block_constraints,
|
||||
} = style
|
||||
.content_box_sizes_and_padding_border_margin(&containing_block.into())
|
||||
.into();
|
||||
let content_min_box_size = content_min_box_size.auto_is(Au::zero);
|
||||
} = style.content_box_sizes_and_padding_border_margin(&containing_block.into());
|
||||
|
||||
// https://drafts.csswg.org/css2/#the-width-property
|
||||
// https://drafts.csswg.org/css2/visudet.html#min-max-widths
|
||||
let inline_size = content_box_size
|
||||
.inline
|
||||
.auto_is(|| {
|
||||
let margin_inline_start = pbm.margin.inline_start.auto_is(Au::zero);
|
||||
let margin_inline_end = pbm.margin.inline_end.auto_is(Au::zero);
|
||||
containing_block.size.inline -
|
||||
pbm.padding_border_sums.inline -
|
||||
margin_inline_start -
|
||||
margin_inline_end
|
||||
})
|
||||
.clamp_between_extremums(content_min_box_size.inline, content_max_box_size.inline);
|
||||
let margin = pbm.margin.auto_is(Au::zero);
|
||||
let pbm_sums = pbm.padding + pbm.border + margin;
|
||||
let writing_mode = style.writing_mode;
|
||||
let available_inline_size =
|
||||
Au::zero().max(containing_block.size.inline - pbm_sums.inline_sum());
|
||||
let available_block_size = containing_block
|
||||
.size
|
||||
.block
|
||||
.non_auto()
|
||||
.map(|block_size| Au::zero().max(block_size - pbm_sums.block_sum()));
|
||||
|
||||
// https://drafts.csswg.org/css2/#the-height-property
|
||||
// https://drafts.csswg.org/css2/visudet.html#min-max-heights
|
||||
let mut block_size = content_box_size.block;
|
||||
if let AuOrAuto::LengthPercentage(ref mut block_size) = block_size {
|
||||
*block_size = block_size
|
||||
.clamp_between_extremums(content_min_box_size.block, content_max_box_size.block);
|
||||
}
|
||||
let preferred_block_size = content_box_size
|
||||
.block
|
||||
.maybe_resolve_extrinsic(available_block_size);
|
||||
let min_block_size = content_min_box_size
|
||||
.block
|
||||
.maybe_resolve_extrinsic(available_block_size)
|
||||
.unwrap_or_default();
|
||||
let max_block_size = content_max_box_size
|
||||
.block
|
||||
.maybe_resolve_extrinsic(available_block_size);
|
||||
let tentative_block_size =
|
||||
SizeConstraint::new(preferred_block_size, min_block_size, max_block_size);
|
||||
|
||||
// https://drafts.csswg.org/css2/#the-width-property
|
||||
// https://drafts.csswg.org/css2/visudet.html#min-max-widths
|
||||
let inline_content_sizes = LazyCell::new(|| {
|
||||
get_inline_content_sizes(&ConstraintSpace::new(
|
||||
tentative_block_size,
|
||||
writing_mode,
|
||||
None, /* TODO: support preferred aspect ratios on non-replaced boxes */
|
||||
))
|
||||
});
|
||||
let preferred_inline_size = content_box_size.inline.resolve(
|
||||
Size::Stretch,
|
||||
available_inline_size,
|
||||
&inline_content_sizes,
|
||||
);
|
||||
let min_inline_size = content_min_box_size
|
||||
.inline
|
||||
.resolve_non_initial(available_inline_size, &inline_content_sizes)
|
||||
.unwrap_or_default();
|
||||
let max_inline_size = content_max_box_size
|
||||
.inline
|
||||
.resolve_non_initial(available_inline_size, &inline_content_sizes);
|
||||
let inline_size =
|
||||
preferred_inline_size.clamp_between_extremums(min_inline_size, max_inline_size);
|
||||
|
||||
let containing_block_for_children = ContainingBlock {
|
||||
size: ContainingBlockSize {
|
||||
inline: inline_size,
|
||||
block: block_size,
|
||||
block: tentative_block_size.to_auto_or(),
|
||||
},
|
||||
style,
|
||||
};
|
||||
|
@ -1598,6 +1664,7 @@ fn solve_containing_block_padding_and_border_for_in_flow_box<'a>(
|
|||
min_box_size: content_min_box_size,
|
||||
max_box_size: content_max_box_size,
|
||||
depends_on_block_constraints,
|
||||
available_block_size,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
2
tests/wpt/meta/css/css-backgrounds/background-gradient-interpolation-002.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-backgrounds/background-gradient-interpolation-002.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[background-gradient-interpolation-002.html]
|
||||
expected: FAIL
|
12
tests/wpt/meta/css/css-cascade/layer-counter-style-override.html.ini
vendored
Normal file
12
tests/wpt/meta/css/css-cascade/layer-counter-style-override.html.ini
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
[layer-counter-style-override.html]
|
||||
[@counter-style unlayered overrides layered]
|
||||
expected: FAIL
|
||||
|
||||
[@counter-style override between layers]
|
||||
expected: FAIL
|
||||
|
||||
[@counter-style override update with appended sheet 1]
|
||||
expected: FAIL
|
||||
|
||||
[@counter-style override update with appended sheet 2]
|
||||
expected: FAIL
|
|
@ -1,16 +0,0 @@
|
|||
[flex-minimum-width-flex-items-014.html]
|
||||
[body > div 3]
|
||||
expected: FAIL
|
||||
|
||||
[body > div 2]
|
||||
expected: FAIL
|
||||
|
||||
[body > div 6]
|
||||
expected: FAIL
|
||||
|
||||
[body > div 5]
|
||||
expected: FAIL
|
||||
|
||||
[body > div 4]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[gap-016.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[gap-019.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[gap-020.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[gap-021.html]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[col-wrap-004.html]
|
||||
[body > div 1]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[col-wrap-010.html]
|
||||
[body > div 1]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[col-wrap-011.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[col-wrap-012.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[col-wrap-015.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[col-wrap-016.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[col-wrap-017.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[row-006.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[row-007.html]
|
||||
expected: FAIL
|
|
@ -1,33 +0,0 @@
|
|||
[row-008.html]
|
||||
[.min-width-flexbox 1]
|
||||
expected: FAIL
|
||||
|
||||
[.min-width-flexbox 2]
|
||||
expected: FAIL
|
||||
|
||||
[.min-width-flexbox 3]
|
||||
expected: FAIL
|
||||
|
||||
[.min-width-flexbox 4]
|
||||
expected: FAIL
|
||||
|
||||
[.min-width-flexbox 5]
|
||||
expected: FAIL
|
||||
|
||||
[.min-width-flexbox 6]
|
||||
expected: FAIL
|
||||
|
||||
[.min-width-flexbox 7]
|
||||
expected: FAIL
|
||||
|
||||
[.min-width-flexbox 8]
|
||||
expected: FAIL
|
||||
|
||||
[.min-width-flexbox 9]
|
||||
expected: FAIL
|
||||
|
||||
[.min-width-flexbox 10]
|
||||
expected: FAIL
|
||||
|
||||
[.min-width-flexbox 11]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[table-as-flex-item-max-content.html]
|
||||
expected: FAIL
|
|
@ -1,27 +1,3 @@
|
|||
[empty-grid-001.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 2]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 5]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 6]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 7]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 8]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 9]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,16 +1,4 @@
|
|||
[grid-align-justify-margin-border-padding.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 2]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 5]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -20,9 +8,6 @@
|
|||
[.grid 7]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 8]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 9]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,22 +1,10 @@
|
|||
[grid-align-justify-overflow.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 2]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 5]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 6]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 7]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,40 +1,7 @@
|
|||
[grid-align-justify-stretch.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 2]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 5]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 6]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 7]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 8]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 9]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 10]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 11]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 12]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 13]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,25 +1,16 @@
|
|||
[grid-align.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 2]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 5]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 6]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 7]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 8]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[grid-container-auto-margins-scrollbars-001.html]
|
||||
expected: FAIL
|
|
@ -32,9 +32,6 @@
|
|||
[.grid 15]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 16]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 17]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[child-border-box-and-max-content-001.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[child-border-box-and-max-content-002.html]
|
||||
expected: FAIL
|
|
@ -1,28 +1,16 @@
|
|||
[grid-auto-repeat-max-size-001.tentative.html]
|
||||
[.grid 10]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 11]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 13]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 14]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 15]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 16: Percentage padding, min-content]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 17]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 18]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 19: Percentage padding, max-content]
|
||||
expected: FAIL
|
||||
|
||||
|
|
6
tests/wpt/meta/css/css-grid/grid-definition/grid-auto-repeat-max-size-002.html.ini
vendored
Normal file
6
tests/wpt/meta/css/css-grid/grid-definition/grid-auto-repeat-max-size-002.html.ini
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
[grid-auto-repeat-max-size-002.html]
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
|
@ -1,16 +1,10 @@
|
|||
[grid-automatic-minimum-intrinsic-aspect-ratio-001.html]
|
||||
[.container 1]
|
||||
expected: FAIL
|
||||
|
||||
[.container 2]
|
||||
expected: FAIL
|
||||
|
||||
[.container 3]
|
||||
expected: FAIL
|
||||
|
||||
[.container 4]
|
||||
expected: FAIL
|
||||
|
||||
[.container 5]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -20,23 +14,8 @@
|
|||
[.container 7]
|
||||
expected: FAIL
|
||||
|
||||
[.container 8]
|
||||
expected: FAIL
|
||||
|
||||
[.container 9]
|
||||
expected: FAIL
|
||||
|
||||
[.container 10]
|
||||
expected: FAIL
|
||||
|
||||
[.container 11]
|
||||
expected: FAIL
|
||||
|
||||
[.container 12]
|
||||
expected: FAIL
|
||||
|
||||
[.container 13]
|
||||
expected: FAIL
|
||||
|
||||
[.container 14]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
[compute-intrinsic-widths-scrollbar-001.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 2]
|
||||
expected: FAIL
|
|
@ -1,48 +0,0 @@
|
|||
[grid-container-margin-border-padding-scrollbar-001.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 2]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 5]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 6]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 7]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 8]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 9]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 10]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 11]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 12]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 13]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 14]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 15]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 16]
|
||||
expected: FAIL
|
|
@ -1,9 +0,0 @@
|
|||
[grid-container-sizing-constraints-001.html]
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 9]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 14]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[grid-floats-no-intrude-002.html]
|
||||
expected: FAIL
|
|
@ -1,25 +1,10 @@
|
|||
[grid-gutters-and-tracks-001.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 5]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 7]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 8]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 9]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 12]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -2,18 +2,9 @@
|
|||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 2]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 6]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 9]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
[flex-and-intrinsic-sizes-001.html]
|
||||
[.grid 2]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 5]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 6]
|
||||
expected: FAIL
|
|
@ -1,57 +1,9 @@
|
|||
[grid-container-percentage-002.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 5]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 6]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 7]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 9]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 10]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 11]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 12]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 13]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 15]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 16]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 17]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 18]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 19]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 21]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 22]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 23]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 24]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
[grid-item-margin-auto-columns-rows-001.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 2]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[dynamic-min-content-001.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[dynamic-min-content-002.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[dynamic-min-content-003.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[standalone-axis-size-006.html]
|
||||
expected: FAIL
|
|
@ -1,6 +0,0 @@
|
|||
[inline-size-computed.html]
|
||||
[Property inline-size value 'min-content']
|
||||
expected: FAIL
|
||||
|
||||
[Property inline-size value 'max-content']
|
||||
expected: FAIL
|
|
@ -514,3 +514,21 @@
|
|||
|
||||
[Web Animations: property <width> from neutral to [min-content\] at (1.5) should be [min-content\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (-0.3) should be [auto\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (0) should be [auto\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.3) should be [auto\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (-0.3) should be [auto\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (0) should be [auto\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.3) should be [auto\]]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[block-aspect-ratio-056.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[block-aspect-ratio-057.tentative.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[grid-aspect-ratio-027.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-size-007.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-size-020.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-size-021.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-size-022.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-size-023.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-size-024.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-size-025.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-sizing/block-size-with-min-or-max-content-1a.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-sizing/block-size-with-min-or-max-content-1a.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[block-size-with-min-or-max-content-1a.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[block-size-with-min-or-max-content-2.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[block-size-with-min-or-max-content-3.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[border-box-and-max-content-001.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[border-box-and-max-content-003.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[calc-margins-block.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[calc-margins-fieldset-content.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[calc-margins-fieldset-legend.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[calc-margins-flex.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[fit-content-max-inline-size.tentative.html]
|
||||
expected: FAIL
|
|
@ -1,9 +0,0 @@
|
|||
[fit-content-percentage-padding.html]
|
||||
[Initial layout]
|
||||
expected: FAIL
|
||||
|
||||
[Shrink width]
|
||||
expected: FAIL
|
||||
|
||||
[Grow width]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-percent-replaced-012.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-percent-replaced-013.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-percent-replaced-022.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[intrinsic-percent-replaced-023.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[min-content-min-width-000.html]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[percentage-min-width.html]
|
||||
[#container 1]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[auto-margins-1.html]
|
||||
[[data-expected-width\] 2]
|
||||
expected: FAIL
|
|
@ -1,27 +0,0 @@
|
|||
[block-height-001.html]
|
||||
[[data-expected-height\] 1]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 2]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 3]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 7]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 8]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 9]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 13]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 14]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 15]
|
||||
expected: FAIL
|
|
@ -1,6 +1,3 @@
|
|||
[block-height-002.tentative.html]
|
||||
[main > div > div 1]
|
||||
expected: FAIL
|
||||
|
||||
[main > div > div 2]
|
||||
expected: FAIL
|
||||
|
|
|
@ -2,17 +2,8 @@
|
|||
[.inner 1]
|
||||
expected: FAIL
|
||||
|
||||
[.inner 2]
|
||||
expected: FAIL
|
||||
|
||||
[.inner 3]
|
||||
expected: FAIL
|
||||
|
||||
[.inner 4]
|
||||
expected: FAIL
|
||||
|
||||
[.inner 5]
|
||||
expected: FAIL
|
||||
|
||||
[.inner 6]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
[content-contribution-001.html]
|
||||
[.test 1]
|
||||
expected: FAIL
|
||||
|
||||
[.test 2]
|
||||
expected: FAIL
|
||||
|
||||
[.test 5]
|
||||
expected: FAIL
|
||||
|
|
3
tests/wpt/meta/css/css-sizing/stretch/indefinite-2.html.ini
vendored
Normal file
3
tests/wpt/meta/css/css-sizing/stretch/indefinite-2.html.ini
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[indefinite-2.html]
|
||||
[[data-expected-client-height\] 1]
|
||||
expected: FAIL
|
3
tests/wpt/meta/css/css-sizing/stretch/indefinite-3.html.ini
vendored
Normal file
3
tests/wpt/meta/css/css-sizing/stretch/indefinite-3.html.ini
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[indefinite-3.html]
|
||||
[[data-expected-client-height\] 1]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[min-width-1.html]
|
||||
expected: FAIL
|
|
@ -1,7 +1,4 @@
|
|||
[stretch-block-size-001.html]
|
||||
[[data-expected-height\] 1]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 8]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -14,12 +11,6 @@
|
|||
[[data-expected-height\] 22]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 23]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 24]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 31]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -31,6 +22,3 @@
|
|||
|
||||
[[data-expected-height\] 45]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 46]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
[stretch-max-block-size-001.html]
|
||||
[[data-expected-height\] 1]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 8]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -14,9 +11,6 @@
|
|||
[[data-expected-height\] 22]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\]:not([skip-second-pass\]) 24]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\]:not([skip-second-pass\]) 31]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -28,3 +22,6 @@
|
|||
|
||||
[[data-expected-height\]:not([skip-second-pass\]) 45]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 23]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
[stretch-max-inline-size-001.html]
|
||||
[[data-expected-width\] 1]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-width\] 8]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -14,9 +11,6 @@
|
|||
[[data-expected-width\] 22]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-width\]:not([skip-second-pass\]) 24]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-width\]:not([skip-second-pass\]) 31]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -28,3 +22,6 @@
|
|||
|
||||
[[data-expected-width\]:not([skip-second-pass\]) 45]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-width\] 23]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
[stretch-min-block-size-001.html]
|
||||
[[data-expected-height\] 1]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 8]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -17,12 +14,6 @@
|
|||
[[data-expected-height\] 22]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 23]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 24]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 31]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -37,6 +28,3 @@
|
|||
|
||||
[[data-expected-height\] 45]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 46]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
[stretch-min-inline-size-001.html]
|
||||
[[data-expected-width\] 1]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-width\] 8]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -17,12 +14,6 @@
|
|||
[[data-expected-width\] 22]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-width\] 23]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-width\] 24]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-width\] 31]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -37,6 +28,3 @@
|
|||
|
||||
[[data-expected-width\] 45]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-width\] 46]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[whitespace-and-break.html]
|
||||
expected: FAIL
|
|
@ -1,7 +1,4 @@
|
|||
[table-width-redistribution.html]
|
||||
[table 3]
|
||||
expected: FAIL
|
||||
|
||||
[table 5]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[overflow-wrap-min-content-size-006.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-center-vlr.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-center-vlr.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-group-align-center-vlr.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-center.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-center.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-group-align-center.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-end-vlr.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-end-vlr.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-group-align-end-vlr.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-end.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-end.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-group-align-end.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-left-vlr.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-left-vlr.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-group-align-left-vlr.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-left.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-left.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-group-align-left.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-right-vlr.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-right-vlr.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-group-align-right-vlr.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-right.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-right.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-group-align-right.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-start-vlr.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-start-vlr.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-group-align-start-vlr.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-start.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/text-group-align/text-group-align-start.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-group-align-start.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[pre-wrap-017.html]
|
||||
expected: FAIL
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue