Pick the first or last baseline as appropriate (#31705)

The old logic was always picking the last baseline, but this should only
happen for inline-blocks.

Since replaced elements and flex containers aren't currently setting
their baselines, this is only an improvement for inline-tables.
This commit is contained in:
Oriol Brufau 2024-03-25 17:19:06 +01:00 committed by GitHub
parent a53632c0e5
commit e77dc36842
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 61 additions and 4 deletions

View file

@ -0,0 +1,2 @@
[table-vertical-align-baseline-009.xht]
expected: FAIL

View file

@ -106880,6 +106880,19 @@
{}
]
],
"table-vertical-align-baseline-009.xht": [
"4620848ddc19661b5ddfaa34cefc9c9eee266dcb",
[
null,
[
[
"/css/CSS2/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"table-visual-layout-017.xht": [
"25067cb68385a520a10a31949d742b520c7e9cd6",
[

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Test: Test for baseline alignment of table cells</title>
<link rel="author" title="Oriol Brufau" href="obrufau@igalia.com" />
<link rel="help" href="https://github.com/servo/servo/issues/31651" />
<link rel="help" href="https://drafts.csswg.org/css2/#height-layout" />
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
<meta name="assert" content="The baseline of the table should be aligned with the baseline of the cell in the first row." />
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style><![CDATA[
span {
font: 50px/1 Ahem;
color: green;
}
]]></style>
</head>
<body>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="float: left; position: relative; font-size: 0; background: red">
<span style="position: absolute; left: 0; bottom: 0">X</span>
<span>X</span>
<span style="display: inline-table">
<span style="display: table-row">X</span>
<span style="display: table-row">X</span>
</span>
</div>
</body>
</html>