layout: Rewrite Servo's vertical-align support to match CSS 2.1 §

10.8, and implement `vertical-align: middle` per CSS 2.1 § 10.8.1.

`InlineMetrics` has been split into `InlineMetrics` for fragments and
`LineMetrics` for lines. Both structures' fields have been renamed in
order to more clearly delineate the difference between *space* and
*content*. Vertical positioning of fragments has been reworked to take
margins and borders into account only for replaced content.

This patch fixes the `vertical_align_super_a.html` reftest. Servo now
matches the rendering that Gecko and WebKit produce.

Additionally, this includes a test for the popular inline-block
centering technique described here:
https://s.codepen.io/shshaw/fullpage/gEiDt?#Inline-Block
This commit is contained in:
Patrick Walton
2016-10-05 11:27:40 -07:00
parent 56b41fa2ea
commit 773614f84c
35 changed files with 522 additions and 389 deletions

View File

@@ -1,3 +0,0 @@
[c5501-imrgn-t-000.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[c5503-imrgn-b-000.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[inline-block-valign-002.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[line-height-129.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[margin-applies-to-012.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-007.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-008.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-019.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-020.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-031.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-032.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-043.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-044.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-055.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-056.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-067.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-068.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-079.htm]
type: reftest
expected: FAIL

View File

@@ -1,3 +0,0 @@
[vertical-align-080.htm]
type: reftest
expected: FAIL