Auto merge of #10691 - pcwalton:float-fixes, r=mbrubeck

layout: Fix float speculation with percentage inline sizes, rewrite vertical alignment, fix inline block ascent/descent computation, and fix absolute inline-block hypothetical boxes.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10691)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-05-04 13:49:23 -07:00
commit 35ba29355f
32 changed files with 540 additions and 405 deletions

View file

@ -0,0 +1,3 @@
[flexbox_align-items-stretch-2.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +1,3 @@
[c414-flt-fit-001.htm]
[ttwf-reftest-flex-inline.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +0,0 @@
[c414-flt-wrap-001.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +0,0 @@
[c5525-fltmrgn-000.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +0,0 @@
[c5525-fltwidth-001.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +0,0 @@
[first-line-pseudo-014.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +0,0 @@
[first-line-pseudo-015.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +0,0 @@
[floats-132.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +0,0 @@
[floats-wrap-top-below-inline-002l.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +0,0 @@
[floats-wrap-top-below-inline-002r.htm]
type: reftest
expected: FAIL

View file

@ -1,4 +0,0 @@
[inline-block-zorder-003.htm]
type: reftest
expected:
if os == "mac": FAIL

View file

@ -1,3 +0,0 @@
[inline-replaced-width-012.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +0,0 @@
[inline-replaced-width-013.htm]
type: reftest
expected: FAIL

View file

@ -1,3 +0,0 @@
[inline-replaced-width-015.htm]
type: reftest
expected: FAIL

View file

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

View file

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

View file

@ -1644,6 +1644,18 @@
"url": "/_mozilla/css/floats_margin_collapse_with_clearance_a.html"
}
],
"css/floats_percentage_width_a.html": [
{
"path": "css/floats_percentage_width_a.html",
"references": [
[
"/_mozilla/css/floats_percentage_width_ref.html",
"=="
]
],
"url": "/_mozilla/css/floats_percentage_width_a.html"
}
],
"css/focus_selector.html": [
{
"path": "css/focus_selector.html",
@ -2280,6 +2292,18 @@
"url": "/_mozilla/css/inline_background_a.html"
}
],
"css/inline_block_absolute_hypothetical_a.html": [
{
"path": "css/inline_block_absolute_hypothetical_a.html",
"references": [
[
"/_mozilla/css/inline_block_absolute_hypothetical_ref.html",
"=="
]
],
"url": "/_mozilla/css/inline_block_absolute_hypothetical_a.html"
}
],
"css/inline_block_baseline_a.html": [
{
"path": "css/inline_block_baseline_a.html",
@ -8408,6 +8432,18 @@
"url": "/_mozilla/css/floats_margin_collapse_with_clearance_a.html"
}
],
"css/floats_percentage_width_a.html": [
{
"path": "css/floats_percentage_width_a.html",
"references": [
[
"/_mozilla/css/floats_percentage_width_ref.html",
"=="
]
],
"url": "/_mozilla/css/floats_percentage_width_a.html"
}
],
"css/focus_selector.html": [
{
"path": "css/focus_selector.html",
@ -9044,6 +9080,18 @@
"url": "/_mozilla/css/inline_background_a.html"
}
],
"css/inline_block_absolute_hypothetical_a.html": [
{
"path": "css/inline_block_absolute_hypothetical_a.html",
"references": [
[
"/_mozilla/css/inline_block_absolute_hypothetical_ref.html",
"=="
]
],
"url": "/_mozilla/css/inline_block_absolute_hypothetical_a.html"
}
],
"css/inline_block_baseline_a.html": [
{
"path": "css/inline_block_baseline_a.html",

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: none;
}
div {
float: left;
width: 100%;
height: 100px;
background: gold;
}
</style>
<link rel="match" href="floats_percentage_width_ref.html">
<div></div>X

View file

@ -0,0 +1,16 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: none;
}
div {
width: 100%;
height: 100px;
background: gold;
}
</style>
<div></div>X

View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<meta charset="utf-8">
<link rel="match" href="inline_block_absolute_hypothetical_ref.html">
<style>
span {
display: inline-block;
position: absolute;
top: 32px;
}
</style>
Hello <span>world</span>!

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<meta charset="utf-8">
<style>
span {
display: inline;
position: absolute;
top: 32px;
}
</style>
Hello <span>world</span>!

View file

@ -7,6 +7,8 @@ body, html {
input {
margin-left: 64px;
border: none;
background: lightblue;
color: transparent;
vertical-align: top;
}
</style>

View file

@ -7,6 +7,8 @@ input {
position: absolute;
left: 64px;
border: none;
background: lightblue;
color: transparent;
}
</style>
<input type=button value=Hello>