Automatic update from web-platform-tests Support margin-trim on block containers. This adds parsing support for the CSS margin-trim property, and layout support for block containers. Still no support for flex, grid or multicol containers. See https://drafts.csswg.org/css-box-4/#margin-trim Also note that in our implementation margin-trim doesn't affect the resolved value of margin properties, at least for now. There are existing tests that expect this, but not clear whether it's correct. See https://github.com/w3c/csswg-drafts/issues/11506 There are still some failures in css-box/parsing/margin-trim.html , but not sure if they are valid. Canonical order should match the order in the spec, which is "block" before "inline", and "start" before "end". Bug: 40886857 Change-Id: Ie00d463b5f42fb09eac2958bc7ed7cb2ae28df2b Skip-Clang-Tidy-Checks: google-readability-casting Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7544283 Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Rune Lillesveen <futhark@chromium.org> Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/main@{#1580724} -- wpt-commits: c5fb6197614edb58d6c5c16e0c0245573ac7e174 wpt-pr: 57608
60 lines
2.7 KiB
HTML
60 lines
2.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>CSS margin-trim: property parsing</title>
|
|
<link rel="help" href="https://www.w3.org/TR/css-box-4/#margin-trim">
|
|
<link rel="author" title="Sammy Gill" href="mailto:sammy.gill@apple.com">
|
|
<meta name="assert" content="Test parsing for the margin-trim property">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/css/support/parsing-testcommon.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
// Individual values should get set
|
|
test_valid_value("margin-trim", "none");
|
|
test_valid_value("margin-trim", "block");
|
|
test_valid_value("margin-trim", "inline");
|
|
test_valid_value("margin-trim", "block-start");
|
|
test_valid_value("margin-trim", "block-end");
|
|
test_valid_value("margin-trim", "inline-start");
|
|
test_valid_value("margin-trim", "inline-end");
|
|
|
|
test_valid_value("margin-trim", "block inline");
|
|
test_valid_value("margin-trim", "inline block");
|
|
|
|
// Serialize values into either block or inline
|
|
test_valid_value("margin-trim", "block-start block-end", "block");
|
|
test_valid_value("margin-trim", "inline-start inline-end", "inline");
|
|
test_valid_value("margin-trim", "block-end block-start", "block");
|
|
test_valid_value("margin-trim", "inline-end inline-start", "inline");
|
|
test_valid_value("margin-trim", "inline-start block-start");
|
|
|
|
test_valid_value("margin-trim", "inline-end block-start block-end");
|
|
|
|
// Serialize 4 values into "block inline"
|
|
test_valid_value("margin-trim", "block-start inline-start block-end inline-end", "block inline");
|
|
test_valid_value("margin-trim", "block-start block-end inline-end inline-start", "block inline");
|
|
test_valid_value("margin-trim", "block-start block-end inline-start inline-end", "block inline");
|
|
test_valid_value("margin-trim", "inline-start block-end block-start inline-end", "block inline");
|
|
test_valid_value("margin-trim", "inline-start inline-end block-start block-end", "block inline");
|
|
test_valid_value("margin-trim", "inline-end block-end inline-start block-start", "block inline");
|
|
|
|
test_invalid_value("margin-trim", "block block");
|
|
test_invalid_value("margin-trim", "inline inline");
|
|
test_invalid_value("margin-trim", "block inline-start inline-end");
|
|
test_invalid_value("margin-trim", "block block-start block-end");
|
|
test_invalid_value("margin-trim", "block-start block-end block");
|
|
test_invalid_value("margin-trim", "block-start block-start");
|
|
test_invalid_value("margin-trim", "block 10px");
|
|
test_invalid_value("margin-trim", "auto");
|
|
test_invalid_value("margin-trim", "left");
|
|
test_invalid_value("margin-trim", "none block");
|
|
test_invalid_value("margin-trim", "none block-start");
|
|
test_invalid_value("margin-trim", "inline none");
|
|
test_invalid_value("margin-trim", "inline-end none");
|
|
</script>
|
|
</body>
|
|
</html>
|