aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock26
-rw-r--r--Cargo.toml18
-rw-r--r--components/layout_2020/flexbox/layout.rs190
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-001.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-003.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-005.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-001.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-003.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-005.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-004.html.ini22
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/inheritance.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-computed.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-valid.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-computed.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-valid.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-flexbox/align-content-wrap-005.html.ini3
-rw-r--r--tests/wpt/meta/css/css-flexbox/align-content-wrap-001.html.ini12
-rw-r--r--tests/wpt/meta/css/css-flexbox/align-content-wrap-003.html.ini15
-rw-r--r--tests/wpt/meta/css/css-flexbox/align-content-wrap-005.html.ini6
-rw-r--r--tests/wpt/meta/css/css-flexbox/flexbox-justify-content-horiz-002.xhtml.ini2
-rw-r--r--tests/wpt/meta/css/css-flexbox/flexbox-justify-content-horiz-004.xhtml.ini2
-rw-r--r--tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-rtl-001.html.ini6
-rw-r--r--tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-spacearound-negative.html.ini2
-rw-r--r--tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-spacebetween-negative.html.ini2
-rw-r--r--tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-start-rtl.html.ini2
-rw-r--r--tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-start.html.ini2
26 files changed, 181 insertions, 221 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 1503ed81b1a..59df99f7bce 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1206,7 +1206,7 @@ dependencies = [
[[package]]
name = "derive_common"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"darling",
"proc-macro2",
@@ -3550,7 +3550,7 @@ dependencies = [
[[package]]
name = "malloc_size_of"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"accountable-refcell",
"app_units",
@@ -5168,7 +5168,7 @@ dependencies = [
[[package]]
name = "selectors"
version = "0.24.0"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"bitflags 2.5.0",
"cssparser",
@@ -5456,7 +5456,7 @@ dependencies = [
[[package]]
name = "servo_arc"
version = "0.2.0"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"nodrop",
"serde",
@@ -5466,7 +5466,7 @@ dependencies = [
[[package]]
name = "servo_atoms"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"string_cache",
"string_cache_codegen",
@@ -5664,7 +5664,7 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
[[package]]
name = "size_of_test"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"static_assertions",
]
@@ -5789,7 +5789,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "static_prefs"
version = "0.1.0"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
[[package]]
name = "strict-num"
@@ -5826,7 +5826,7 @@ dependencies = [
[[package]]
name = "style"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"app_units",
"arrayvec",
@@ -5885,7 +5885,7 @@ dependencies = [
[[package]]
name = "style_config"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"lazy_static",
]
@@ -5893,7 +5893,7 @@ dependencies = [
[[package]]
name = "style_derive"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"darling",
"derive_common",
@@ -5924,7 +5924,7 @@ dependencies = [
[[package]]
name = "style_traits"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"app_units",
"bitflags 2.5.0",
@@ -6287,7 +6287,7 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "to_shmem"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"cssparser",
"servo_arc",
@@ -6300,7 +6300,7 @@ dependencies = [
[[package]]
name = "to_shmem_derive"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-04-16#81a55acca3f274fce0e365d567c4e7c4cb350d22"
+source = "git+https://github.com/servo/stylo?rev=6faedad67ac2e320b51ac72a165b0ceb52caf918#6faedad67ac2e320b51ac72a165b0ceb52caf918"
dependencies = [
"darling",
"derive_common",
diff --git a/Cargo.toml b/Cargo.toml
index f4e35a47637..db5f20fd35b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -64,7 +64,7 @@ keyboard-types = "0.6"
lazy_static = "1.4"
libc = "0.2"
log = "0.4"
-malloc_size_of = { git = "https://github.com/servo/stylo", branch = "2024-04-16", features = ["servo"] }
+malloc_size_of = { git = "https://github.com/servo/stylo", rev = "6faedad67ac2e320b51ac72a165b0ceb52caf918", features = ["servo"] }
malloc_size_of_derive = "0.1"
mime = "0.3.13"
mime_guess = "2.0.3"
@@ -87,31 +87,31 @@ rustls = { version = "0.21.12", features = ["dangerous_configuration"] }
rustls-pemfile = "1.0.4"
script_layout_interface = { path = "components/shared/script_layout" }
script_traits = { path = "components/shared/script" }
-selectors = { git = "https://github.com/servo/stylo", branch = "2024-04-16" }
+selectors = { git = "https://github.com/servo/stylo", rev = "6faedad67ac2e320b51ac72a165b0ceb52caf918" }
serde = "1.0.198"
serde_bytes = "0.11"
serde_json = "1.0"
servo-media = { git = "https://github.com/servo/media" }
servo-media-dummy = { git = "https://github.com/servo/media" }
servo-media-gstreamer = { git = "https://github.com/servo/media" }
-servo_arc = { git = "https://github.com/servo/stylo", branch = "2024-04-16" }
-servo_atoms = { git = "https://github.com/servo/stylo", branch = "2024-04-16" }
-size_of_test = { git = "https://github.com/servo/stylo", branch = "2024-04-16" }
+servo_arc = { git = "https://github.com/servo/stylo", rev = "6faedad67ac2e320b51ac72a165b0ceb52caf918" }
+servo_atoms = { git = "https://github.com/servo/stylo", rev = "6faedad67ac2e320b51ac72a165b0ceb52caf918" }
+size_of_test = { git = "https://github.com/servo/stylo", rev = "6faedad67ac2e320b51ac72a165b0ceb52caf918" }
smallbitvec = "2.5.3"
smallvec = "1.13"
sparkle = "0.1.26"
string_cache = "0.8"
string_cache_codegen = "0.5"
-style = { git = "https://github.com/servo/stylo", branch = "2024-04-16", features = ["servo"] }
-style_config = { git = "https://github.com/servo/stylo", branch = "2024-04-16" }
-style_traits = { git = "https://github.com/servo/stylo", branch = "2024-04-16", features = ["servo"] }
+style = { git = "https://github.com/servo/stylo", rev = "6faedad67ac2e320b51ac72a165b0ceb52caf918", features = ["servo"] }
+style_config = { git = "https://github.com/servo/stylo", rev = "6faedad67ac2e320b51ac72a165b0ceb52caf918" }
+style_traits = { git = "https://github.com/servo/stylo", rev = "6faedad67ac2e320b51ac72a165b0ceb52caf918", features = ["servo"] }
# NOTE: the sm-angle feature only 2024-03-01rms!
surfman = { version = "0.9", features = ["chains", "sm-angle", "sm-angle-default"] }
syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] }
synstructure = "0.13"
thin-vec = "0.2.13"
time = "0.1.41"
-to_shmem = { git = "https://github.com/servo/stylo", branch = "2024-04-16" }
+to_shmem = { git = "https://github.com/servo/stylo", rev = "6faedad67ac2e320b51ac72a165b0ceb52caf918" }
tokio = "1"
tokio-rustls = "0.24"
tungstenite = "0.20"
diff --git a/components/layout_2020/flexbox/layout.rs b/components/layout_2020/flexbox/layout.rs
index 71488d83381..393ce99760b 100644
--- a/components/layout_2020/flexbox/layout.rs
+++ b/components/layout_2020/flexbox/layout.rs
@@ -48,6 +48,8 @@ struct FlexContext<'a> {
container_min_cross_size: Length,
container_max_cross_size: Option<Length>,
flex_axis: FlexAxis,
+ flex_direction_is_reversed: bool,
+ flex_wrap_reverse: bool,
main_start_cross_start_sides_are: MainStartCrossStart,
container_definite_inner_size: FlexRelativeVec2<Option<Length>>,
align_content: AlignContent,
@@ -218,6 +220,10 @@ impl FlexContainer {
FlexWrap::Wrap | FlexWrap::WrapReverse => false,
};
let flex_axis = FlexAxis::from(flex_direction);
+ let flex_direction_is_reversed = match flex_direction {
+ FlexDirection::Row | FlexDirection::Column => false,
+ FlexDirection::RowReverse | FlexDirection::ColumnReverse => true,
+ };
let flex_wrap_reverse = match flex_wrap {
FlexWrap::Nowrap | FlexWrap::Wrap => false,
FlexWrap::WrapReverse => true,
@@ -234,6 +240,8 @@ impl FlexContainer {
container_max_cross_size,
container_is_single_line,
flex_axis,
+ flex_direction_is_reversed,
+ flex_wrap_reverse,
align_content,
align_items,
justify_content,
@@ -297,25 +305,80 @@ impl FlexContainer {
// Align all flex lines per `align-content`.
let line_count = flex_lines.len();
let mut cross_start_position_cursor = Length::zero();
-
- let line_interval = match flex_context.container_definite_inner_size.cross {
- Some(cross_size) if line_count >= 2 => {
- let free_space = cross_size - content_cross_size;
-
- cross_start_position_cursor = match flex_context.align_content {
- AlignContent::Center => free_space / 2.0,
- AlignContent::SpaceAround => free_space / (line_count * 2) as CSSFloat,
- AlignContent::FlexEnd => free_space,
- _ => Length::zero(),
+ let mut line_interval = Length::zero();
+
+ if let Some(cross_size) = flex_context.container_definite_inner_size.cross {
+ let free_space = cross_size - content_cross_size;
+ let layout_is_flex_reversed = flex_context.flex_wrap_reverse;
+
+ // Implement fallback alignment.
+ //
+ // In addition to the spec at https://www.w3.org/TR/css-align-3/ this implementation follows
+ // the resolution of https://github.com/w3c/csswg-drafts/issues/10154
+ let resolved_align_content: AlignContent = {
+ // Inital values from the style system
+ let mut resolved_align_content = flex_context.align_content;
+ let mut is_safe = false; // FIXME: retrieve from style system
+
+ // Fallback occurs in two cases:
+
+ // 1. If there is only a single item being aligned and alignment is a distributed alignment keyword
+ // https://www.w3.org/TR/css-align-3/#distribution-values
+ if line_count <= 1 || free_space <= Length::zero() {
+ (resolved_align_content, is_safe) = match resolved_align_content {
+ AlignContent::Stretch => (AlignContent::FlexStart, true),
+ AlignContent::SpaceBetween => (AlignContent::FlexStart, true),
+ AlignContent::SpaceAround => (AlignContent::Center, true),
+ AlignContent::SpaceEvenly => (AlignContent::Center, true),
+ _ => (resolved_align_content, is_safe),
+ }
};
- match flex_context.align_content {
- AlignContent::SpaceBetween => free_space / (line_count - 1) as CSSFloat,
- AlignContent::SpaceAround => free_space / line_count as CSSFloat,
- _ => Length::zero(),
+ // 2. If free space is negative the "safe" alignment variants all fallback to Start alignment
+ if free_space <= Length::zero() && is_safe {
+ resolved_align_content = AlignContent::Start;
}
- },
- _ => Length::zero(),
+
+ resolved_align_content
+ };
+
+ // Implement "unsafe" alignment. "safe" alignment is handled by the fallback process above.
+ cross_start_position_cursor = match resolved_align_content {
+ AlignContent::Start => Length::zero(),
+ AlignContent::FlexStart => {
+ if layout_is_flex_reversed {
+ free_space
+ } else {
+ Length::zero()
+ }
+ },
+ AlignContent::End => free_space,
+ AlignContent::FlexEnd => {
+ if layout_is_flex_reversed {
+ Length::zero()
+ } else {
+ free_space
+ }
+ },
+ AlignContent::Center => free_space / 2.0,
+ AlignContent::Stretch => Length::zero(),
+ AlignContent::SpaceBetween => Length::zero(),
+ AlignContent::SpaceAround => (free_space / line_count as CSSFloat) / 2.0,
+ AlignContent::SpaceEvenly => free_space / (line_count + 1) as CSSFloat,
+ };
+
+ // TODO: Implement gap property
+ line_interval = /*gap + */ match resolved_align_content {
+ AlignContent::Start => Length::zero(),
+ AlignContent::FlexStart => Length::zero(),
+ AlignContent::End => Length::zero(),
+ AlignContent::FlexEnd => Length::zero(),
+ AlignContent::Center => Length::zero(),
+ AlignContent::Stretch => Length::zero(),
+ AlignContent::SpaceBetween => free_space / (line_count - 1) as CSSFloat,
+ AlignContent::SpaceAround => free_space / line_count as CSSFloat,
+ AlignContent::SpaceEvenly => free_space / (line_count + 1) as CSSFloat,
+ };
};
let line_cross_start_positions = flex_lines
@@ -698,7 +761,7 @@ impl FlexLine<'_> {
flex_context: &mut FlexContext,
container_main_size: Length,
) -> FlexLineLayoutResult {
- let (item_used_main_sizes, remaining_free_space) =
+ let (item_used_main_sizes, mut free_space) =
self.resolve_flexible_lengths(container_main_size);
// https://drafts.csswg.org/css-flexbox/#algo-cross-item
@@ -757,35 +820,82 @@ impl FlexLine<'_> {
// Distribute any remaining free space
// https://drafts.csswg.org/css-flexbox/#algo-main-align
let (item_main_margins, free_space_distributed) =
- self.resolve_auto_main_margins(remaining_free_space);
+ self.resolve_auto_main_margins(free_space);
+ if free_space_distributed {
+ free_space = Length::zero();
+ }
// Align the items along the main-axis per justify-content.
let item_count = self.items.len();
- let main_start_position = if free_space_distributed {
- Length::zero()
- } else {
- match flex_context.justify_content {
- JustifyContent::FlexEnd => remaining_free_space,
- JustifyContent::Center => remaining_free_space / 2.0,
- JustifyContent::SpaceAround => remaining_free_space / (item_count * 2) as CSSFloat,
- _ => Length::zero(),
+ let layout_is_flex_reversed = flex_context.flex_direction_is_reversed;
+
+ // Implement fallback alignment.
+ //
+ // In addition to the spec at https://www.w3.org/TR/css-align-3/ this implementation follows
+ // the resolution of https://github.com/w3c/csswg-drafts/issues/10154
+ let resolved_justify_content: JustifyContent = {
+ // Inital values from the style system
+ let mut resolved_justify_content = flex_context.justify_content;
+ let mut is_safe = false; // FIXME: retrieve from style system
+
+ // Fallback occurs in two cases:
+
+ // 1. If there is only a single item being aligned and alignment is a distributed alignment keyword
+ // https://www.w3.org/TR/css-align-3/#distribution-values
+ if item_count <= 1 || free_space <= Length::zero() {
+ (resolved_justify_content, is_safe) = match resolved_justify_content {
+ JustifyContent::Stretch => (JustifyContent::FlexStart, true),
+ JustifyContent::SpaceBetween => (JustifyContent::FlexStart, true),
+ JustifyContent::SpaceAround => (JustifyContent::Center, true),
+ JustifyContent::SpaceEvenly => (JustifyContent::Center, true),
+ _ => (resolved_justify_content, is_safe),
+ }
+ };
+
+ // 2. If free space is negative the "safe" alignment variants all fallback to Start alignment
+ if free_space <= Length::zero() && is_safe {
+ resolved_justify_content = JustifyContent::Start;
}
+
+ resolved_justify_content
};
- let item_main_interval = if free_space_distributed {
- Length::zero()
- } else {
- match flex_context.justify_content {
- JustifyContent::SpaceBetween => {
- if item_count > 1 {
- remaining_free_space / (item_count - 1) as CSSFloat
- } else {
- Length::zero()
- }
- },
- JustifyContent::SpaceAround => remaining_free_space / item_count as CSSFloat,
- _ => Length::zero(),
- }
+ // Implement "unsafe" alignment. "safe" alignment is handled by the fallback process above.
+ let main_start_position = match resolved_justify_content {
+ JustifyContent::Start => Length::zero(),
+ JustifyContent::FlexStart => {
+ if layout_is_flex_reversed {
+ free_space
+ } else {
+ Length::zero()
+ }
+ },
+ JustifyContent::End => free_space,
+ JustifyContent::FlexEnd => {
+ if layout_is_flex_reversed {
+ Length::zero()
+ } else {
+ free_space
+ }
+ },
+ JustifyContent::Center => free_space / 2.0,
+ JustifyContent::Stretch => Length::zero(),
+ JustifyContent::SpaceBetween => Length::zero(),
+ JustifyContent::SpaceAround => (free_space / item_count as CSSFloat) / 2.0,
+ JustifyContent::SpaceEvenly => free_space / (item_count + 1) as CSSFloat,
+ };
+
+ // TODO: Implement gap property
+ let item_main_interval = /*gap + */ match resolved_justify_content {
+ JustifyContent::Start => Length::zero(),
+ JustifyContent::FlexStart => Length::zero(),
+ JustifyContent::End => Length::zero(),
+ JustifyContent::FlexEnd => Length::zero(),
+ JustifyContent::Center => Length::zero(),
+ JustifyContent::Stretch => Length::zero(),
+ JustifyContent::SpaceBetween => free_space / (item_count - 1) as CSSFloat,
+ JustifyContent::SpaceAround => free_space / item_count as CSSFloat,
+ JustifyContent::SpaceEvenly => free_space / (item_count + 1) as CSSFloat,
};
// https://drafts.csswg.org/css-flexbox/#algo-cross-margins
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-001.html.ini
index 780fd8650f2..a486c8f2fd9 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-001.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-001.html.ini
@@ -14,24 +14,14 @@
[Checking align-content: last baseline]
expected: FAIL
- [Checking align-content: start]
- expected: FAIL
-
[Checking align-content: unsafe flex-start]
expected: FAIL
[Checking align-content: unsafe end]
expected: FAIL
- [Checking align-content: end]
- expected: FAIL
-
- [Checking align-content: space-evenly]
- expected: FAIL
-
[Checking align-content: safe center]
expected: FAIL
[Checking align-content: normal]
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-003.html.ini
index 4137fe71ee4..cae41d93086 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-003.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-003.html.ini
@@ -14,24 +14,14 @@
[Checking align-content: last baseline]
expected: FAIL
- [Checking align-content: start]
- expected: FAIL
-
[Checking align-content: unsafe flex-start]
expected: FAIL
[Checking align-content: unsafe end]
expected: FAIL
- [Checking align-content: end]
- expected: FAIL
-
- [Checking align-content: space-evenly]
- expected: FAIL
-
[Checking align-content: safe center]
expected: FAIL
[Checking align-content: normal]
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-005.html.ini
index ecbb5dea0b3..b743419a2b3 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-005.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-005.html.ini
@@ -1,10 +1,6 @@
[parse-align-content-005.html]
- [Test the value 'inherit' overrides current value ('end')]
- expected: FAIL
-
[Test the value 'inherit' overrides current value ('unsafe center')]
expected: FAIL
[Test the value 'inherit' overrides current value ('safe start')]
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-001.html.ini
index e6271d20aac..6e2757a39b0 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-001.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-001.html.ini
@@ -1,13 +1,7 @@
[parse-justify-content-001.html]
- [Checking justify-content: start]
- expected: FAIL
-
[Checking justify-content: safe center]
expected: FAIL
- [Checking justify-content: end]
- expected: FAIL
-
[Checking justify-content: left]
expected: FAIL
@@ -20,9 +14,6 @@
[Checking justify-content: safe end]
expected: FAIL
- [Checking justify-content: space-evenly]
- expected: FAIL
-
[Checking justify-content: safe flex-end]
expected: FAIL
@@ -31,4 +22,3 @@
[Checking justify-content: unsafe end]
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-003.html.ini
index 6df668c18a2..9fc2d0039f3 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-003.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-003.html.ini
@@ -1,13 +1,7 @@
[parse-justify-content-003.html]
- [Checking justify-content: start]
- expected: FAIL
-
[Checking justify-content: safe center]
expected: FAIL
- [Checking justify-content: end]
- expected: FAIL
-
[Checking justify-content: left]
expected: FAIL
@@ -20,9 +14,6 @@
[Checking justify-content: safe end]
expected: FAIL
- [Checking justify-content: space-evenly]
- expected: FAIL
-
[Checking justify-content: safe flex-end]
expected: FAIL
@@ -31,4 +22,3 @@
[Checking justify-content: unsafe end]
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-005.html.ini
index 516032b7f3a..7ab98752660 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-005.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-005.html.ini
@@ -1,10 +1,6 @@
[parse-justify-content-005.html]
- [Test the value 'inherit' overrides current value ('end')]
- expected: FAIL
-
[Test the value 'inherit' overrides current value ('safe left')]
expected: FAIL
[Test the value 'inherit' overrides current value ('unsafe center')]
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-004.html.ini
deleted file mode 100644
index 79ded4dc0b0..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-004.html.ini
+++ /dev/null
@@ -1,22 +0,0 @@
-[place-content-shorthand-004.html]
- [Verify fallback values are invalid]
- expected: FAIL
-
- [Verify numeric values are invalid]
- expected: FAIL
-
- [Verify 'auto' values are invalid]
- expected: FAIL
-
- [Verify self-position values are invalid]
- expected: FAIL
-
- [Verify <baseline-position> values are invalid for the justify-content property]
- expected: FAIL
-
- [Verify empty declaration is invalid]
- expected: FAIL
-
- [Verify 'left' and 'right' values are invalid for block/cross axis alignment]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/inheritance.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/inheritance.html.ini
index 3c4206c1ae4..efe23207c84 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/inheritance.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/inheritance.html.ini
@@ -17,9 +17,6 @@
[Property justify-content has initial value normal]
expected: FAIL
- [Property justify-content does not inherit]
- expected: FAIL
-
[Property align-content does not inherit]
expected: FAIL
@@ -46,4 +43,3 @@
[Property column-gap does not inherit]
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-computed.html.ini
index 165bf87de0b..6cc4974411e 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-computed.html.ini
@@ -35,15 +35,5 @@
[Property align-content value 'normal']
expected: FAIL
- [Property align-content value 'space-evenly']
- expected: FAIL
-
[Property align-content value 'safe flex-start']
expected: FAIL
-
- [Property align-content value 'start']
- expected: FAIL
-
- [Property align-content value 'end']
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-valid.html.ini
index e6e43f8ee3f..534aae82912 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-valid.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-valid.html.ini
@@ -5,24 +5,14 @@
[e.style['align-content'\] = "unsafe end" should set the property value]
expected: FAIL
- [e.style['align-content'\] = "end" should set the property value]
- expected: FAIL
-
[e.style['align-content'\] = "normal" should set the property value]
expected: FAIL
[e.style['align-content'\] = "baseline" should set the property value]
expected: FAIL
- [e.style['align-content'\] = "space-evenly" should set the property value]
- expected: FAIL
-
- [e.style['align-content'\] = "start" should set the property value]
- expected: FAIL
-
[e.style['align-content'\] = "safe flex-start" should set the property value]
expected: FAIL
[e.style['align-content'\] = "last baseline" should set the property value]
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-computed.html.ini
index 47abd3064e3..de67d888a24 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-computed.html.ini
@@ -23,12 +23,6 @@
[Property justify-content value 'safe flex-start' computes to 'safe flex-start']
expected: FAIL
- [Property justify-content value 'start']
- expected: FAIL
-
- [Property justify-content value 'end']
- expected: FAIL
-
[Property justify-content value 'unsafe end']
expected: FAIL
@@ -41,9 +35,5 @@
[Property justify-content value 'safe flex-start']
expected: FAIL
- [Property justify-content value 'space-evenly']
- expected: FAIL
-
[Property justify-content value 'left']
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-valid.html.ini
index 1e2f46660dd..0fe3fef2683 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-valid.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-valid.html.ini
@@ -2,24 +2,14 @@
[e.style['justify-content'\] = "unsafe right" should set the property value]
expected: FAIL
- [e.style['justify-content'\] = "start" should set the property value]
- expected: FAIL
-
[e.style['justify-content'\] = "normal" should set the property value]
expected: FAIL
[e.style['justify-content'\] = "unsafe end" should set the property value]
expected: FAIL
- [e.style['justify-content'\] = "space-evenly" should set the property value]
- expected: FAIL
-
- [e.style['justify-content'\] = "end" should set the property value]
- expected: FAIL
-
[e.style['justify-content'\] = "safe flex-start" should set the property value]
expected: FAIL
[e.style['justify-content'\] = "left" should set the property value]
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-flexbox/align-content-wrap-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-flexbox/align-content-wrap-005.html.ini
index 1dd468872d4..6bccebab78f 100644
--- a/tests/wpt/meta-legacy-layout/css/css-flexbox/align-content-wrap-005.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-flexbox/align-content-wrap-005.html.ini
@@ -5,9 +5,6 @@
[.flexitem 2]
expected: FAIL
- [.flexitem 4]
- expected: FAIL
-
[.flexitem 5]
expected: FAIL
diff --git a/tests/wpt/meta/css/css-flexbox/align-content-wrap-001.html.ini b/tests/wpt/meta/css/css-flexbox/align-content-wrap-001.html.ini
index f1a6baadd38..0dbcc6e6d13 100644
--- a/tests/wpt/meta/css/css-flexbox/align-content-wrap-001.html.ini
+++ b/tests/wpt/meta/css/css-flexbox/align-content-wrap-001.html.ini
@@ -7,15 +7,3 @@
[.default, .verticalWriting 9]
expected: FAIL
-
- [.default, .verticalWriting 5]
- expected: FAIL
-
- [.default, .verticalWriting 6]
- expected: FAIL
-
- [.default, .verticalWriting 3]
- expected: FAIL
-
- [.default, .verticalWriting 2]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-flexbox/align-content-wrap-003.html.ini b/tests/wpt/meta/css/css-flexbox/align-content-wrap-003.html.ini
index c3076b03f43..75af4a4f3e2 100644
--- a/tests/wpt/meta/css/css-flexbox/align-content-wrap-003.html.ini
+++ b/tests/wpt/meta/css/css-flexbox/align-content-wrap-003.html.ini
@@ -1,7 +1,4 @@
[align-content-wrap-003.html]
- [.flexbox 6]
- expected: FAIL
-
[.flexbox 1]
expected: FAIL
@@ -11,12 +8,6 @@
[.flexbox 8]
expected: FAIL
- [.flexbox 12]
- expected: FAIL
-
- [.flexbox 11]
- expected: FAIL
-
[.flexbox 34]
expected: FAIL
@@ -59,12 +50,6 @@
[.flexbox 22]
expected: FAIL
- [.flexbox 21]
- expected: FAIL
-
- [.flexbox 20]
- expected: FAIL
-
[.flexbox 44]
expected: FAIL
diff --git a/tests/wpt/meta/css/css-flexbox/align-content-wrap-005.html.ini b/tests/wpt/meta/css/css-flexbox/align-content-wrap-005.html.ini
index 6bccebab78f..c19c93543f2 100644
--- a/tests/wpt/meta/css/css-flexbox/align-content-wrap-005.html.ini
+++ b/tests/wpt/meta/css/css-flexbox/align-content-wrap-005.html.ini
@@ -5,6 +5,12 @@
[.flexitem 2]
expected: FAIL
+ [.flexitem 3]
+ expected: FAIL
+
+ [.flexitem 4]
+ expected: FAIL
+
[.flexitem 5]
expected: FAIL
diff --git a/tests/wpt/meta/css/css-flexbox/flexbox-justify-content-horiz-002.xhtml.ini b/tests/wpt/meta/css/css-flexbox/flexbox-justify-content-horiz-002.xhtml.ini
deleted file mode 100644
index 272354a198d..00000000000
--- a/tests/wpt/meta/css/css-flexbox/flexbox-justify-content-horiz-002.xhtml.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[flexbox-justify-content-horiz-002.xhtml]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-flexbox/flexbox-justify-content-horiz-004.xhtml.ini b/tests/wpt/meta/css/css-flexbox/flexbox-justify-content-horiz-004.xhtml.ini
deleted file mode 100644
index 85bda5dda03..00000000000
--- a/tests/wpt/meta/css/css-flexbox/flexbox-justify-content-horiz-004.xhtml.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[flexbox-justify-content-horiz-004.xhtml]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-rtl-001.html.ini b/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-rtl-001.html.ini
index 6829e9c0444..81b7e481fea 100644
--- a/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-rtl-001.html.ini
+++ b/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-rtl-001.html.ini
@@ -5,15 +5,15 @@
[.container > div 2]
expected: FAIL
- [.container > div 4]
- expected: FAIL
-
[.container > div 5]
expected: FAIL
[.container > div 7]
expected: FAIL
+ [.container > div 8]
+ expected: FAIL
+
[.container > div 9]
expected: FAIL
diff --git a/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-spacearound-negative.html.ini b/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-spacearound-negative.html.ini
deleted file mode 100644
index 6dc942b83b9..00000000000
--- a/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-spacearound-negative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[flexbox_justifycontent-spacearound-negative.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-spacebetween-negative.html.ini b/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-spacebetween-negative.html.ini
deleted file mode 100644
index d24cfe1c8bf..00000000000
--- a/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-spacebetween-negative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[flexbox_justifycontent-spacebetween-negative.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-start-rtl.html.ini b/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-start-rtl.html.ini
deleted file mode 100644
index 4c4bce8a346..00000000000
--- a/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-start-rtl.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[flexbox_justifycontent-start-rtl.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-start.html.ini b/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-start.html.ini
deleted file mode 100644
index 95603d8cc87..00000000000
--- a/tests/wpt/meta/css/css-flexbox/flexbox_justifycontent-start.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[flexbox_justifycontent-start.html]
- expected: FAIL