Bug 63895 (Part 5) - Add more tests for positioned internal table objects serving as absolute containing blocks. r=dbaron

--HG--
rename : layout/reftests/abs-pos/table-internal-1-ref.html => layout/reftests/abs-pos/table-internal-5-ref.html
rename : layout/reftests/abs-pos/table-internal-3-ref.html => layout/reftests/abs-pos/table-internal-6-ref.html
rename : layout/reftests/abs-pos/table-internal-4-ref.html => layout/reftests/abs-pos/table-internal-7-ref.html
This commit is contained in:
Seth Fowler 2014-03-19 11:04:26 +08:00
parent 24f4381f75
commit df7910132c
19 changed files with 1186 additions and 0 deletions

View File

@ -9,22 +9,37 @@ fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azur
== table-cell-2.html table-internal-2-ref.html
== table-cell-3.html table-internal-3-ref.html
== table-cell-4.html table-internal-4-ref.html
== table-cell-5.html table-internal-5-ref.html
== table-cell-6.html table-internal-6-ref.html
== table-cell-7.html table-internal-7-ref.html
== table-row-1.html table-internal-1-ref.html
== table-row-2.html table-internal-2-ref.html
== table-row-3.html table-internal-3-ref.html
== table-row-4.html table-internal-4-ref.html
== table-row-5.html table-internal-5-ref.html
== table-row-6.html table-internal-6-ref.html
== table-row-7.html table-internal-7-ref.html
== table-row-group-1.html table-internal-1-ref.html
== table-row-group-2.html table-internal-2-ref.html
== table-row-group-3.html table-internal-3-ref.html
== table-row-group-4.html table-internal-4-ref.html
== table-row-group-5.html table-internal-5-ref.html
== table-row-group-6.html table-internal-6-ref.html
== table-row-group-7.html table-internal-7-ref.html
== table-header-group-1.html table-internal-1-ref.html
== table-header-group-2.html table-internal-2-ref.html
== table-header-group-3.html table-internal-3-ref.html
== table-header-group-4.html table-internal-4-ref.html
== table-header-group-5.html table-internal-5-ref.html
== table-header-group-6.html table-internal-6-ref.html
== table-header-group-7.html table-internal-7-ref.html
== table-footer-group-1.html table-internal-1-ref.html
== table-footer-group-2.html table-internal-2-ref.html
== table-footer-group-3.html table-internal-3-ref.html
== table-footer-group-4.html table-internal-4-ref.html
== table-footer-group-5.html table-internal-5-ref.html
== table-footer-group-6.html table-internal-6-ref.html
== table-footer-group-7.html table-internal-7-ref.html
== continuation-positioned-inline-1.html continuation-positioned-inline-ref.html
== continuation-positioned-inline-2.html continuation-positioned-inline-ref.html
== scrollframe-1.html scrollframe-1-ref.html

View File

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0
width: 100px;
height: 100px;
border-collapse: collapse;
}
tr {
height: 50px;
}
td {
width: 50px;
margin: 0;
padding: 0;
}
#rel {
position: relative;
}
.abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bad {
background-color: blue;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 100px;
height: 100px;
overflow: visible;
}
</style>
</head>
<body>
The green square should not completely cover the blue square.
<div class="abs" id="bad"></div>
<div id="bottomright">
<table>
<tr>
<td id="rel">
<div class="abs"></div>
</td>
<td></td>
</tr>
<tr></tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,66 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 50px;
height: 50px;
border-collapse: collapse;
background-color: blue;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: red;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<tr>
<td></td>
<td></td>
</tr>
<tr style="height: 100%">
<td></td>
<td></td>
</tr>
<tr>
<td id="rel">
<div id="abs"></div>
</td>
<td></td>
</tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,66 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 50px;
height: 50px;
border-collapse: collapse;
background-color: blue;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 10px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: red;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<colgroup>
<col style="width: 20%">
<col>
</colgroup>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td id="rel">
<div id="abs"></div>
</td>
<td></td>
</tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0
width: 50px;
height: 50px;
border-collapse: collapse;
}
tr {
height: 50px;
}
td {
width: 50px;
margin: 0;
padding: 0;
}
tbody {
height: 50%;
}
#rel {
position: relative;
}
.abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bad {
background-color: blue;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 100px;
height: 100px;
overflow: visible;
}
</style>
</head>
<body>
The green square should not completely cover the blue square.
<div class="abs" id="bad"></div>
<div id="bottomright">
<table>
<tfoot id="rel">
<tr>
<td>
<div class="abs"></div>
</td>
</tr>
</tfoot>
</table>
<table>
<tbody>
<tr></tr>
</tbody>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 25px;
height: 50px;
border-collapse: collapse;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: blue;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<tfoot id="rel">
<tr style="height: 50%">
<td></td>
<td></td>
</tr>
<tr>
<td>
<div id="abs"></div>
</td>
<td></td>
</tr>
</tfoot>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 25px;
height: 50px;
border-collapse: collapse;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: blue;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<colgroup>
<col style="width: 20%">
<col>
</colgroup>
<tfoot id="rel">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>
<div id="abs"></div>
</td>
<td></td>
</tr>
</tfoot>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,69 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0
width: 50px;
height: 100px;
border-collapse: collapse;
}
tr {
height: 50px;
}
td {
width: 50px;
margin: 0;
padding: 0;
}
tfoot {
height: 50%;
}
#rel {
position: relative;
}
.abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bad {
background-color: blue;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 100px;
height: 100px;
overflow: visible;
}
</style>
</head>
<body>
The green square should not completely cover the blue square.
<div class="abs" id="bad"></div>
<div id="bottomright">
<table>
<thead id="rel">
<tr>
<td>
<div class="abs"></div>
</td>
</tr>
</thead>
<tfoot>
<tr></tr>
</tfoot>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 25px;
height: 50px;
border-collapse: collapse;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: blue;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<thead id="rel">
<tr style="height: 50%">
<td></td>
<td></td>
</tr>
<tr>
<td>
<div id="abs"></div>
</td>
<td></td>
</tr>
</thead>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 25px;
height: 50px;
border-collapse: collapse;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: blue;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<colgroup>
<col style="width: 20%">
<col>
</colgroup>
<thead id="rel">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>
<div id="abs"></div>
</td>
<td></td>
</tr>
</thead>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html>
<head>
<style>
#rel {
position: relative;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
}
.abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#adjusted-abs {
bottom: 50px;
right: 50px;
}
#bad {
background-color: blue;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
}
</style>
</head>
<body>
The green square should not completely cover the blue square.
<div class="abs" id="bad"></div>
<div id="bottomright">
<div id="rel">
<div class="abs" id="adjusted-abs"></div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,68 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 50px;
height: 50px;
border-collapse: collapse;
background-color: blue;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: red;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<tr>
<td></td>
<td></td>
</tr>
<tr style="height: 100%">
<td></td>
<td></td>
</tr>
<tr>
<td>
<div id="rel">
<div id="abs"></div>
</div>
</td>
<td></td>
</tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,69 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 50px;
height: 50px;
border-collapse: collapse;
background-color: blue;
}
td {
margin: 0;
padding: 0;
height: 25px;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 10px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: red;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<colgroup>
<col style="width: 20%">
<col>
</colgroup>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>
<div id="rel" style="height: 25px">
<div id="abs"></div>
</div>
</td>
<td></td>
</tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0
width: 50px;
height: 100px;
border-collapse: collapse;
}
tr {
height: 50px;
}
td {
width: 50px;
margin: 0;
padding: 0;
}
#rel {
position: relative;
}
.abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bad {
background-color: blue;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 100px;
height: 100px;
overflow: visible;
}
</style>
</head>
<body>
The green square should not completely cover the blue square.
<div class="abs" id="bad"></div>
<div id="bottomright">
<table>
<tr id="rel">
<td>
<div class="abs"></div>
</td>
</tr>
<tr></tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,61 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 25px;
height: 50px;
border-collapse: collapse;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: blue;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<tr style="height: 50%">
<td></td>
<td></td>
</tr>
<tr id="rel">
<td>
<div id="abs"></div>
</td>
<td></td>
</tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 25px;
height: 50px;
border-collapse: collapse;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: blue;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<colgroup>
<col style="width: 20%">
<col>
</colgroup>
<tr>
<td></td>
<td></td>
</tr>
<tr id="rel">
<td>
<div id="abs"></div>
</td>
<td></td>
</tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,69 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0
width: 50px;
height: 100px;
border-collapse: collapse;
}
tr {
height: 50px;
}
td {
width: 50px;
margin: 0;
padding: 0;
}
tfoot {
height: 50%;
}
#rel {
position: relative;
}
.abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bad {
background-color: blue;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 100px;
height: 100px;
overflow: visible;
}
</style>
</head>
<body>
The green square should not completely cover the blue square.
<div class="abs" id="bad"></div>
<div id="bottomright">
<table>
<tbody id="rel">
<tr>
<td>
<div class="abs"></div>
</td>
</tr>
</tbody>
<tfoot>
<tr></tr>
</tfoot>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 25px;
height: 50px;
border-collapse: collapse;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: blue;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<tbody id="rel">
<tr style="height: 50%">
<td></td>
<td></td>
</tr>
<tr>
<td>
<div id="abs"></div>
</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html>
<head>
<style>
table {
margin: 0;
padding: 0;
width: 25px;
height: 50px;
border-collapse: collapse;
}
td {
margin: 0;
padding: 0;
}
#rel {
position: relative;
margin: 0;
padding: 0;
}
#abs {
position: absolute;
margin: 0;
padding: 0;
bottom: 25px;
right: 25px;
width: 50px;
height: 50px;
background-color: green;
}
#bottomright {
position: absolute;
margin: 0;
padding: 0;
bottom: 0;
right: 0;
width: 50px;
height: 50px;
overflow: visible;
background-color: blue;
}
</style>
</head>
<body>
The green square should not overlap the blue square.
<div id="bottomright">
<table>
<colgroup>
<col style="width: 20%">
<col>
</colgroup>
<tbody id="rel">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>
<div id="abs"></div>
</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>