Implement flex-flow shorthand semantics

Parse the unordered flex-direction/flex-wrap shorthand atomically, reset
omitted constituents to their initial values, and expose the same grammar
through CSS.supports and computed-style capability surfaces.

Add a Chromium-paired fixture covering both token orders, shorthand resets,
invalid-declaration fallback, and JavaScript capability reporting.
This commit is contained in:
SGavrl committed 2026-08-04 07:47:14 +00:00
1 parent c2b57c74a1
commit 98c53b6b15
5 files changed
+204 -4

No files matched your search

+8 -2
View File
@@ -4708,13 +4708,19 @@ mod tests {
CSS.supports("word-break", "break-all"),
CSS.supports("filter", "blur(2px)"),
CSS.supports("content", "attr(data-label)"),
CSS.supports("display", "grid;")
CSS.supports("display", "grid;"),
CSS.supports("flex-flow", "column"),
CSS.supports("flex-flow", "wrap column"),
CSS.supports("flex-flow", "column wrap"),
CSS.supports("flex-flow", "row column"),
CSS.supports("flex-flow", "nowrap wrap-reverse"),
CSS.supports("(flex-flow:column)")
])"#,
)
.unwrap();
assert_eq!(
result,
serde_json::json!("[false,false,false,false,false,true,true,true,false,false,false,true,false,true,true,false,false,true,false,true,false,true,false]")
serde_json::json!("[false,false,false,false,false,true,true,true,false,false,false,true,false,true,true,false,false,true,false,true,false,true,false,true,true,true,false,false,true]")
);
}