Bug 477462: Create tests for margin collapsing, phase 3. r=dbaron
authorDaniel.S <crazy-daniel@gmx.de>
Fri, 14 Aug 2009 14:59:45 -0700
changeset 31573 73bb4a556e4f1c5634eb37262950d8959cdb7fb7
parent 31572 59cfe19eca0b921790ae9ba5d52ebb1d1503bf89
child 31574 fc7d931fd75bf19ad3402cbc7d1261b6a5feeadd
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdbaron
bugs477462
milestone1.9.3a1pre
Bug 477462: Create tests for margin collapsing, phase 3. r=dbaron
layout/reftests/margin-collapsing/block-abs-pos-2-ref2.html
layout/reftests/margin-collapsing/block-clear-5-left-ref.html
layout/reftests/margin-collapsing/block-clear-5-right-ref.html
layout/reftests/margin-collapsing/block-clear-5a.html
layout/reftests/margin-collapsing/block-clear-5b.html
layout/reftests/margin-collapsing/block-clear-5c.html
layout/reftests/margin-collapsing/block-clear-5d.html
layout/reftests/margin-collapsing/block-clear-5e.html
layout/reftests/margin-collapsing/block-clear-5f.html
layout/reftests/margin-collapsing/block-clear-5g.html
layout/reftests/margin-collapsing/block-clear-5h.html
layout/reftests/margin-collapsing/block-clear-6a-left.html
layout/reftests/margin-collapsing/block-clear-6abc-left-ref.html
layout/reftests/margin-collapsing/block-clear-6b-left.html
layout/reftests/margin-collapsing/block-clear-6c-left.html
layout/reftests/margin-collapsing/block-clear-6d-left.html
layout/reftests/margin-collapsing/block-clear-6def-left-ref1.html
layout/reftests/margin-collapsing/block-clear-6def-left-ref2.html
layout/reftests/margin-collapsing/block-clear-6e-left.html
layout/reftests/margin-collapsing/block-clear-6f-left.html
layout/reftests/margin-collapsing/block-clear-7a-left.html
layout/reftests/margin-collapsing/block-clear-7abcd-left-ref.html
layout/reftests/margin-collapsing/block-clear-7b-left.html
layout/reftests/margin-collapsing/block-clear-7c-left.html
layout/reftests/margin-collapsing/block-clear-7d-left.html
layout/reftests/margin-collapsing/block-clear-7e-left.html
layout/reftests/margin-collapsing/block-clear-7efgh-left-ref1.html
layout/reftests/margin-collapsing/block-clear-7efgh-left-ref2.html
layout/reftests/margin-collapsing/block-clear-7f-left.html
layout/reftests/margin-collapsing/block-clear-7g-left.html
layout/reftests/margin-collapsing/block-clear-7h-left.html
layout/reftests/margin-collapsing/block-float-1a-noref.html
layout/reftests/margin-collapsing/block-float-1a-ref2.html
layout/reftests/margin-collapsing/block-float-1b-noref.html
layout/reftests/margin-collapsing/block-float-1b-ref2.html
layout/reftests/margin-collapsing/block-float-2a-noref.html
layout/reftests/margin-collapsing/block-float-2b-noref.html
layout/reftests/margin-collapsing/block-last-child-1-ref.html
layout/reftests/margin-collapsing/block-last-child-1a.html
layout/reftests/margin-collapsing/block-last-child-1b.html
layout/reftests/margin-collapsing/block-last-child-1c.html
layout/reftests/margin-collapsing/block-last-child-2-ref.html
layout/reftests/margin-collapsing/block-last-child-2a.html
layout/reftests/margin-collapsing/block-last-child-2b.html
layout/reftests/margin-collapsing/block-last-child-2c.html
layout/reftests/margin-collapsing/block-last-child-2d.html
layout/reftests/margin-collapsing/block-last-child-3-ref.html
layout/reftests/margin-collapsing/block-last-child-3a.html
layout/reftests/margin-collapsing/block-last-child-3b.html
layout/reftests/margin-collapsing/block-last-child-3c.html
layout/reftests/margin-collapsing/block-last-child-3d.html
layout/reftests/margin-collapsing/block-last-child-4-ref.html
layout/reftests/margin-collapsing/block-last-child-4a.html
layout/reftests/margin-collapsing/block-last-child-4b.html
layout/reftests/margin-collapsing/block-last-child-4c.html
layout/reftests/margin-collapsing/block-last-child-4d.html
layout/reftests/margin-collapsing/block-negative-3-ref2.html
layout/reftests/margin-collapsing/block-negative-4-ref2.html
layout/reftests/margin-collapsing/block-negative-5-ref2.html
layout/reftests/margin-collapsing/block-non-sibling-1-ref2.html
layout/reftests/margin-collapsing/block-non-sibling-2-ref2.html
layout/reftests/margin-collapsing/block-non-sibling-3-ref2.html
layout/reftests/margin-collapsing/block-non-sibling-4-ref2.html
layout/reftests/margin-collapsing/block-overflow-1-ref2.html
layout/reftests/margin-collapsing/block-overflow-2-ref2.html
layout/reftests/margin-collapsing/block-overflow-3-ref2.html
layout/reftests/margin-collapsing/block-overflow-4-ref2.html
layout/reftests/margin-collapsing/block-overflow-5-ref2.html
layout/reftests/margin-collapsing/block-overflow-5c-ref2.html
layout/reftests/margin-collapsing/block-sibling-1-ref2.html
layout/reftests/margin-collapsing/block-sibling-2-ref2.html
layout/reftests/margin-collapsing/block-zero-min-height-1-noref.html
layout/reftests/margin-collapsing/block-zero-min-height-1-ref.html
layout/reftests/margin-collapsing/block-zero-min-height-1a.html
layout/reftests/margin-collapsing/block-zero-min-height-1b.html
layout/reftests/margin-collapsing/block-zero-min-height-1c.html
layout/reftests/margin-collapsing/block-zero-min-height-1d.html
layout/reftests/margin-collapsing/block-zero-min-height-1e.html
layout/reftests/margin-collapsing/block-zero-min-height-1f.html
layout/reftests/margin-collapsing/block-zero-min-height-2-noref.html
layout/reftests/margin-collapsing/block-zero-min-height-2a.html
layout/reftests/margin-collapsing/block-zero-min-height-2ab-ref.html
layout/reftests/margin-collapsing/block-zero-min-height-2b.html
layout/reftests/margin-collapsing/block-zero-min-height-2c-ref.html
layout/reftests/margin-collapsing/block-zero-min-height-2c.html
layout/reftests/margin-collapsing/block-zero-min-height-2d.html
layout/reftests/margin-collapsing/block-zero-min-height-2de-ref.html
layout/reftests/margin-collapsing/block-zero-min-height-2e.html
layout/reftests/margin-collapsing/block-zero-min-height-2f-ref.html
layout/reftests/margin-collapsing/block-zero-min-height-2f.html
layout/reftests/margin-collapsing/block-zero-min-height-3-ref.html
layout/reftests/margin-collapsing/block-zero-min-height-3a.html
layout/reftests/margin-collapsing/block-zero-min-height-3b.html
layout/reftests/margin-collapsing/block-zero-min-height-3c.html
layout/reftests/margin-collapsing/block-zero-min-height-3d.html
layout/reftests/margin-collapsing/reftest.list
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-abs-pos-2-ref2.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#absPos {
+ position: absolute;
+ top: 20px; left: 20px;
+ width: 200px;
+ background-color: green;
+}
+.margin {
+ height: 40px;
+}
+#content {
+ height: 100px;
+ background-color: blue;
+}
+</style>
+</head>
+<body>
+<div id="absPos">
+ <div class="margin"></div>
+ <div id="content"></div>
+ <div class="margin"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-5-left-ref.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator, #clear {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-top: 20px;
+ background-color: lime;
+}
+#float {
+ width: 100px; height: 100px;
+ background-color: blue;
+ margin-right: auto;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-5-right-ref.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator, #clear {
+ height: 20px;
+ background-color: green;
+ margin-bottom: 20px;
+}
+#parent {
+ background-color: lime;
+}
+#float {
+ width: 100px; height: 100px;
+ background-color: blue;
+ margin-left: auto;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-5a.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator, #clear {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-top: 20px;
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 20px;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-5b.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator, #clear {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-top: 20px;
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 100px;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-5c.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator, #clear {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-top: 20px;
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 110px;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-5d.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator, #clear {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-top: 20px;
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 130px;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-5e.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator, #clear {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-top: 20px;
+ background-color: lime;
+}
+#float {
+ float: right;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: right;
+ margin-top: 20px;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-5f.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator, #clear {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-top: 20px;
+ background-color: lime;
+}
+#float {
+ float: right;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: right;
+ margin-top: 100px;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-5g.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator, #clear {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-top: 20px;
+ background-color: lime;
+}
+#float {
+ float: right;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: right;
+ margin-top: 110px;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-5h.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator, #clear {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-top: 20px;
+ background-color: lime;
+}
+#float {
+ float: right;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: right;
+ margin-top: 150px;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-6a-left.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-6abc-left-ref.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ height: 100px;
+}
+#float {
+ width: 100px; height: 100px;
+ background-color: blue;
+ margin-right: auto;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-6b-left.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-6c-left.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-6d-left.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ margin-bottom: 30px;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-6def-left-ref1.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ height: 100px;
+ margin-bottom: 30px;
+}
+#float {
+ width: 100px; height: 100px;
+ background-color: blue;
+ margin-right: auto;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-6def-left-ref2.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ height: 100px;
+}
+#float {
+ width: 100px; height: 100px;
+ background-color: blue;
+ margin-right: auto;
+}
+#margin-bottom {
+ margin-bottom: 30px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+</div>
+<div id="margin-bottom"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-6e-left.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ margin-bottom: 30px;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-6f-left.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ margin-bottom: 30px;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7a-left.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+#clear-sibling {
+ margin-top: 30px;
+ margin-bottom: 40px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+ <div id="clear-sibling"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7abcd-left-ref.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+}
+#float {
+ width: 100px; height: 100px;
+ margin-right: auto;
+ background-color: blue;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7b-left.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 20px;
+ margin-bottom: 30px;
+}
+#clear-sibling {
+ margin-top: 40px;
+ margin-bottom: 10px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+ <div id="clear-sibling"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7c-left.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 30px;
+ margin-bottom: 40px;
+}
+#clear-sibling {
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+ <div id="clear-sibling"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7d-left.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 40px;
+ margin-bottom: 10px;
+}
+#clear-sibling {
+ margin-top: 20px;
+ margin-bottom: 30px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+ <div id="clear-sibling"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7e-left.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ margin-bottom: 50px;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+#clear-sibling {
+ margin-top: 30px;
+ margin-bottom: 40px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+ <div id="clear-sibling"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7efgh-left-ref1.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ margin-bottom: 50px;
+ height: 100px;
+}
+#float {
+ width: 100px; height: 100px;
+ margin-right: auto;
+ background-color: blue;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7efgh-left-ref2.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+}
+#float {
+ width: 100px; height: 100px;
+ margin-right: auto;
+ background-color: blue;
+}
+#margin-bottom {
+ margin-bottom: 50px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+</div>
+<div id="margin-bottom"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7f-left.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ margin-bottom: 50px;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 20px;
+ margin-bottom: 30px;
+}
+#clear-sibling {
+ margin-top: 40px;
+ margin-bottom: 10px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+ <div id="clear-sibling"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7g-left.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ margin-bottom: 50px;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 30px;
+ margin-bottom: 40px;
+}
+#clear-sibling {
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+ <div id="clear-sibling"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-clear-7h-left.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ background-color: lime;
+ margin-bottom: 50px;
+}
+#float {
+ float: left;
+ width: 100px; height: 100px;
+ background-color: blue;
+}
+#clear {
+ clear: left;
+ margin-top: 40px;
+ margin-bottom: 10px;
+}
+#clear-sibling {
+ margin-top: 20px;
+ margin-bottom: 30px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="parent">
+ <div id="float"></div>
+ <div id="clear"></div>
+ <div id="clear-sibling"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-float-1a-noref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator {
+ height: 20px;
+ background-color: green;
+}
+#margin {
+ height: 10px;
+}
+#float {
+ height: 100px; width: 50px;
+ background-color: blue;
+ margin-right: auto;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="margin"></div>
+<div id="float"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-float-1a-ref2.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator {
+ height: 20px;
+ background-color: green;
+}
+#margin {
+ height: 20px;
+}
+#float {
+ height: 100px; width: 50px;
+ background-color: blue;
+ margin-right: auto;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="margin"></div>
+<div id="float"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-float-1b-noref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator {
+ height: 20px;
+ background-color: green;
+}
+#margin {
+ height: 10px;
+}
+#float {
+ height: 100px; width: 50px;
+ background-color: blue;
+ margin-left: auto;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="margin"></div>
+<div id="float"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-float-1b-ref2.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator {
+ height: 20px;
+ background-color: green;
+}
+#margin {
+ height: 20px;
+}
+#float {
+ height: 100px; width: 50px;
+ background-color: blue;
+ margin-left: auto;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="margin"></div>
+<div id="float"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-float-2a-noref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator {
+ height: 20px;
+ background-color: green;
+}
+#margin {
+ height: 40px;
+}
+#float {
+ height: 20px; width: 50px;
+ background-color: red;
+ margin-right: auto;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="margin"></div>
+<div id="float"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-float-2b-noref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#separator {
+ height: 20px;
+ background-color: green;
+}
+#margin {
+ height: 40px;
+}
+#float {
+ height: 20px; width: 50px;
+ background-color: red;
+ margin-left: auto;
+}
+</style>
+</head>
+<body>
+<div id="separator"></div>
+<div id="margin"></div>
+<div id="float"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-1-ref.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent, #child, #separator {
+ height: 20px;
+}
+#parent, #separator {
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent"></div>
+<div id="child"></div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-1a.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#child, #separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-bottom: 10px;
+}
+#child {
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-1b.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#child, #separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-bottom: 20px;
+}
+#child {
+ margin-bottom: 10px;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-1c.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#child, #separator {
+ height: 20px;
+ background-color: green;
+}
+#parent {
+ margin-bottom: 20px;
+}
+#child {
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-2-ref.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 95px;
+ background-color: green;
+}
+#child {
+ height: 5px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent"></div>
+<div id="child"></div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-2a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 100px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 95px;
+ background-color: green;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-2b.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 100px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 95px;
+ background-color: green;
+ margin-bottom: 5px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-2c.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 100px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 95px;
+ background-color: green;
+ margin-bottom: 10px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-2d.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 100px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 95px;
+ background-color: green;
+ margin-bottom: 30px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-3-ref.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 100px;
+ background-color: green;
+}
+#child {
+ height: 20px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent"></div>
+<div id="child"></div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-3a.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 100px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 100px;
+ background-color: green;
+ margin-bottom: -10px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-3b.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 100px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 100px;
+ background-color: green;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-3c.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 100px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 100px;
+ background-color: green;
+ margin-bottom: 10px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-3d.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 100px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 100px;
+ background-color: green;
+ margin-bottom: 30px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-4-ref.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 100px;
+ background-color: green;
+}
+#child {
+ height: 10px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent"></div>
+<div id="child"></div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-4a.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 90px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 100px;
+ background-color: green;
+ margin-bottom: -15px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-4b.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 90px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 100px;
+ background-color: green;
+ margin-bottom: -10px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-4c.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 90px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 100px;
+ background-color: green;
+ margin-bottom: 5px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-last-child-4d.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#parent {
+ height: 90px;
+ background-color: blue;
+ margin-bottom: 20px;
+}
+#child {
+ height: 100px;
+ background-color: green;
+ margin-bottom: 20px;
+}
+#separator {
+ height: 20px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="parent">
+ <div id="child"></div>
+</div>
+<div id="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-negative-3-ref2.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+html, body {
+ margin: 0; padding: 5px;
+}
+div {
+ height: 20px;
+}
+#positive, #negative {
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="positive"></div>
+<div></div>
+<div id="negative"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-negative-4-ref2.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+html, body {
+ margin: 0; padding: 5px;
+}
+#positive, #negative {
+ height: 20px;
+ background-color: blue;
+}
+#margin {
+ height: 10px;
+}
+#negative {
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="positive"></div>
+<div id="margin"></div>
+<div id="negative"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-negative-5-ref2.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+html, body {
+ margin: 0; padding: 5px;
+}
+div {
+ height: 20px;
+}
+#positive {
+ background-color: blue;
+}
+#negative {
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div id="positive"></div>
+<div></div>
+<div id="negative"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-non-sibling-1-ref2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#positive, #negative {
+ background-color: green;
+ height: 20px;
+}
+#margin {
+ height: 30px;
+}
+</style>
+</head>
+<body>
+<div id="positive"></div>
+<div id="margin"></div>
+<div id="negative"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-non-sibling-2-ref2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#positive, #negative {
+ background-color: green;
+ height: 20px;
+}
+#margin {
+ height: 30px;
+}
+</style>
+</head>
+<body>
+<div id="positive"></div>
+<div id="margin"></div>
+<div id="negative"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-non-sibling-3-ref2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#positive, #negative {
+ background-color: green;
+ height: 20px;
+}
+#margin {
+ height: 40px;
+}
+</style>
+</head>
+<body>
+<div id="positive"></div>
+<div id="margin"></div>
+<div id="negative"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-non-sibling-4-ref2.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#bar1 {
+ background-color: green;
+}
+div {
+ height: 20px;
+}
+#bar2 {
+ background-color: blue;
+}
+</style>
+</head>
+<body>
+<div id="bar1"></div>
+<div></div>
+<div id="bar2"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-overflow-1-ref2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+.margin {
+ height: 40px;
+}
+#overflow {
+ height: 200px;
+ background-color: blue;
+ overflow: visible;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div class="margin"></div>
+<div id="overflow"></div>
+<div class="margin"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-overflow-2-ref2.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+.margin {
+ height: 20px;
+}
+#overflow {
+ height: 200px;
+ background-color: blue;
+ overflow: hidden;
+}
+#overflow div {
+ height: 40px;
+ background-color: green;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div class="margin"></div>
+<div id="overflow">
+ <div></div>
+</div>
+<div class="margin"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-overflow-3-ref2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+.margin {
+ height: 20px;
+}
+#overflow {
+ height: 200px;
+ background-color: green;
+ overflow-y: scroll;
+}
+#overflow div {
+ height: 40px;
+}
+#overflow .margin {
+ height: 160px;
+ background-color: blue;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div class="margin"></div>
+<div id="overflow">
+ <div></div>
+ <div class="margin"></div>
+ <div></div>
+</div>
+<div class="margin"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-overflow-4-ref2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+.margin {
+ height: 20px;
+}
+#overflow {
+ height: 200px;
+ background-color: green;
+ overflow-y: auto;
+}
+#overflow div {
+ height: 40px;
+}
+#overflow .margin {
+ height: 160px;
+ background-color: blue;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div class="margin"></div>
+<div id="overflow">
+ <div></div>
+ <div class="margin"></div>
+ <div></div>
+</div>
+<div class="margin"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-overflow-5-ref2.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#overflow, .separator {
+ height: 20px;
+ background-color: green;
+}
+.margin {
+ height: 20px;
+}
+#overflow {
+ height: 40px;
+ overflow: visible;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div class="margin"></div>
+<div id="overflow"></div>
+<div class="margin"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-overflow-5c-ref2.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#overflow, .separator {
+ height: 20px;
+ background-color: green;
+}
+.margin {
+ height: 20px;
+}
+#overflow {
+ height: 40px;
+ overflow-y: scroll;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div class="margin"></div>
+<div id="overflow"></div>
+<div class="margin"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-sibling-1-ref2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#margin {
+ height: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="margin"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-sibling-2-ref2.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#red {
+ height: 20px;
+ background-color: red;
+}
+#green {
+ height: 20px;
+ background-color: green;
+}
+#blue {
+ height: 20px;
+ background-color: blue;
+}
+.margin {
+ height: 20px;
+}
+</style>
+</head>
+<body>
+<div id="red"></div>
+<div class="margin"></div>
+<div id="green"></div>
+<div class="margin"></div>
+<div id="blue"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-1-noref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ height: 30px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-1-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ height: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-1a.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: auto;
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-1b.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: auto;
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-1c.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: auto;
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-1d.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: 0;
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-1e.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: 0;
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-1f.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: 0;
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2-noref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ height: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2a.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ font-size: 15px;
+ line-height: 1;
+ min-height: 0;
+ height: auto;
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height">&nbsp;</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2ab-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ height: 45px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2b.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ font-size: 15px;
+ line-height: 1;
+ min-height: 0;
+ height: auto;
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height">&nbsp;</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2c-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ height: 55px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2c.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ font-size: 15px;
+ line-height: 1;
+ min-height: 0;
+ height: auto;
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height">&nbsp;</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2d.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: 0;
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height">&nbsp;</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2de-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ height: 30px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2e.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: 0;
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height">&nbsp;</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2f-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ height: 40px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-2f.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: 0;
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height">&nbsp;</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-3-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ height: 40px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height"></div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-3a.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: auto;
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+#margin-only-child {
+ margin-top: 30px;
+ margin-bottom: 40px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height">
+ <div id="margin-only-child"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-3b.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: auto;
+ margin-top: 40px;
+ margin-bottom: 10px;
+}
+#margin-only-child {
+ margin-top: 20px;
+ margin-bottom: 30px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height">
+ <div id="margin-only-child"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-3c.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: auto;
+ margin-top: 30px;
+ margin-bottom: 40px;
+}
+#margin-only-child {
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height">
+ <div id="margin-only-child"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/margin-collapsing/block-zero-min-height-3d.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+.separator {
+ height: 20px;
+ background-color: green;
+}
+#min-height {
+ min-height: 0;
+ height: auto;
+ margin-top: 20px;
+ margin-bottom: 30px;
+}
+#margin-only-child {
+ margin-top: 40px;
+ margin-bottom: 10px;
+}
+</style>
+</head>
+<body>
+<div class="separator"></div>
+<div id="min-height">
+ <div id="margin-only-child"></div>
+</div>
+<div class="separator"></div>
+</body>
+</html>
--- a/layout/reftests/margin-collapsing/reftest.list
+++ b/layout/reftests/margin-collapsing/reftest.list
@@ -4,57 +4,97 @@
 != block-horizontal-1.html block-horizontal-1-noref.html
 == block-horizontal-2.html block-horizontal-2-ref.html
 != block-horizontal-2.html block-horizontal-2-noref.html
 == inline-block-horizontal-1.html inline-block-horizontal-1-ref.html
 != inline-block-horizontal-1.html inline-block-horizontal-1-noref.html
 == inline-table-horizontal-1.html inline-table-horizontal-1-ref.html
 != inline-table-horizontal-1.html inline-table-horizontal-1-noref.html
 == block-sibling-1a.html block-sibling-1-ref.html
+== block-sibling-1a.html block-sibling-1-ref2.html
 == block-sibling-1b.html block-sibling-1-ref.html
+== block-sibling-1b.html block-sibling-1-ref2.html
 == block-sibling-1c.html block-sibling-1-ref.html
+== block-sibling-1c.html block-sibling-1-ref2.html
 == block-sibling-2.html block-sibling-2-ref.html
+== block-sibling-2.html block-sibling-2-ref2.html
 == block-negative-1a.html block-negative-1-ref.html
 == block-negative-1b.html block-negative-1-ref.html
 == block-negative-2a.html block-negative-2-ref.html
 == block-negative-2b.html block-negative-2-ref.html
 == block-negative-3a.html block-negative-3-ref.html
+== block-negative-3a.html block-negative-3-ref2.html
 == block-negative-3b.html block-negative-3-ref.html
+== block-negative-3b.html block-negative-3-ref2.html
 == block-negative-4a.html block-negative-4-ref.html
+== block-negative-4a.html block-negative-4-ref2.html
 == block-negative-4b.html block-negative-4-ref.html
+== block-negative-4b.html block-negative-4-ref2.html
 == block-negative-5.html block-negative-5-ref.html
+== block-negative-5.html block-negative-5-ref2.html
 == block-non-sibling-1a.html block-non-sibling-1-ref.html
+== block-non-sibling-1a.html block-non-sibling-1-ref2.html
 == block-non-sibling-1b.html block-non-sibling-1-ref.html
+== block-non-sibling-1b.html block-non-sibling-1-ref2.html
 == block-non-sibling-1c.html block-non-sibling-1-ref.html
+== block-non-sibling-1c.html block-non-sibling-1-ref2.html
 == block-non-sibling-1d.html block-non-sibling-1-ref.html
+== block-non-sibling-1d.html block-non-sibling-1-ref2.html
 == block-non-sibling-1e.html block-non-sibling-1-ref.html
+== block-non-sibling-1e.html block-non-sibling-1-ref2.html
 == block-non-sibling-1f.html block-non-sibling-1-ref.html
+== block-non-sibling-1f.html block-non-sibling-1-ref2.html
 == block-non-sibling-2a.html block-non-sibling-2-ref.html
+== block-non-sibling-2a.html block-non-sibling-2-ref2.html
 == block-non-sibling-2b.html block-non-sibling-2-ref.html
+== block-non-sibling-2b.html block-non-sibling-2-ref2.html
 == block-non-sibling-2c.html block-non-sibling-2-ref.html
+== block-non-sibling-2c.html block-non-sibling-2-ref2.html
 == block-non-sibling-2d.html block-non-sibling-2-ref.html
+== block-non-sibling-2d.html block-non-sibling-2-ref2.html
 == block-non-sibling-2e.html block-non-sibling-2-ref.html
+== block-non-sibling-2e.html block-non-sibling-2-ref2.html
 == block-non-sibling-2f.html block-non-sibling-2-ref.html
+== block-non-sibling-2f.html block-non-sibling-2-ref2.html
 == block-non-sibling-3a.html block-non-sibling-3-ref.html
+== block-non-sibling-3a.html block-non-sibling-3-ref2.html
 == block-non-sibling-3b.html block-non-sibling-3-ref.html
+== block-non-sibling-3b.html block-non-sibling-3-ref2.html
 == block-non-sibling-3c.html block-non-sibling-3-ref.html
+== block-non-sibling-3c.html block-non-sibling-3-ref2.html
 == block-non-sibling-3d.html block-non-sibling-3-ref.html
+== block-non-sibling-3d.html block-non-sibling-3-ref2.html
 == block-non-sibling-4.html block-non-sibling-4-ref.html
+== block-non-sibling-4.html block-non-sibling-4-ref2.html
 == block-float-1a.html block-float-1a-ref.html
+== block-float-1a.html block-float-1a-ref2.html
+!= block-float-1a.html block-float-1a-noref.html
 == block-float-1b.html block-float-1b-ref.html
+== block-float-1b.html block-float-1b-ref2.html
+!= block-float-1b.html block-float-1b-noref.html
 == block-float-2a.html block-float-2a-ref.html
+!= block-float-2a.html block-float-2a-noref.html
 == block-float-2b.html block-float-2b-ref.html
+!= block-float-2b.html block-float-2b-noref.html
 == block-overflow-1.html block-overflow-1-ref.html
+== block-overflow-1.html block-overflow-1-ref2.html
 == block-overflow-2.html block-overflow-2-ref.html
+== block-overflow-2.html block-overflow-2-ref2.html
 == block-overflow-3.html block-overflow-3-ref.html
+== block-overflow-3.html block-overflow-3-ref2.html
 == block-overflow-4.html block-overflow-4-ref.html
+== block-overflow-4.html block-overflow-4-ref2.html
 == block-overflow-5a.html block-overflow-5-ref.html
+== block-overflow-5a.html block-overflow-5-ref2.html
 == block-overflow-5b.html block-overflow-5-ref.html
+== block-overflow-5b.html block-overflow-5-ref2.html
 == block-overflow-5c.html block-overflow-5c-ref.html
+== block-overflow-5c.html block-overflow-5c-ref2.html
 == block-overflow-5d.html block-overflow-5-ref.html
+== block-overflow-5d.html block-overflow-5-ref2.html
 fails == table-sibling-1a.html table-sibling-1-ref.html # Bug 372303
 fails == table-sibling-1b.html table-sibling-1-ref.html # Bug 372303
 fails == table-sibling-1c.html table-sibling-1-ref.html # Bug 372303
 fails == table-sibling-2a.html table-sibling-2-ref.html # Bug 87277
 fails == table-sibling-2b.html table-sibling-2-ref.html # Bug 87277
 fails == table-sibling-2c.html table-sibling-2-ref.html # Bug 87277
 == table-caption-1a.html table-caption-1-ref.html
 == table-caption-1b.html table-caption-1-ref.html
@@ -75,16 +115,17 @@ fails == caption-sibling-1c.html caption
 == fieldset-sibling-2b.html fieldset-sibling-2-ref1.html
 == fieldset-sibling-2c.html fieldset-sibling-2-ref1.html
 == fieldset-sibling-2a.html fieldset-sibling-2-ref2.html
 == fieldset-sibling-2b.html fieldset-sibling-2-ref2.html
 == fieldset-sibling-2c.html fieldset-sibling-2-ref2.html
 == fieldset-child-1.html fieldset-child-1-ref.html
 == block-abs-pos-1.html block-abs-pos-1-ref.html
 == block-abs-pos-2.html block-abs-pos-2-ref.html
+== block-abs-pos-2.html block-abs-pos-2-ref2.html
 == inline-block-sibling-1a.html inline-block-sibling-1-ref.html
 == inline-block-sibling-1b.html inline-block-sibling-1-ref.html
 == inline-block-sibling-1c.html inline-block-sibling-1-ref.html
 == inline-block-sibling-2.html inline-block-sibling-2-ref.html
 != inline-block-sibling-2.html inline-block-sibling-2-noref.html
 == inline-block-child-1.html inline-block-child-1-ref.html
 == inline-block-child-2.html inline-block-child-2-ref.html
 != inline-block-child-2.html inline-block-child-2-noref.html
@@ -116,19 +157,90 @@ fails == block-clear-1b.html block-clear
 == block-clear-3e.html block-clear-3-ref-left.html
 == block-clear-3f.html block-clear-3-ref-right.html
 == block-clear-4a.html block-clear-4-ref-left.html
 == block-clear-4b.html block-clear-4-ref-left.html
 == block-clear-4c.html block-clear-4-ref-left.html
 == block-clear-4d.html block-clear-4-ref-right.html
 == block-clear-4e.html block-clear-4-ref-right.html
 == block-clear-4f.html block-clear-4-ref-right.html
+== block-clear-5a.html block-clear-5-left-ref.html
+== block-clear-5b.html block-clear-5-left-ref.html
+== block-clear-5c.html block-clear-5-left-ref.html
+== block-clear-5d.html block-clear-5-left-ref.html
+== block-clear-5e.html block-clear-5-right-ref.html
+== block-clear-5f.html block-clear-5-right-ref.html
+== block-clear-5g.html block-clear-5-right-ref.html
+== block-clear-5h.html block-clear-5-right-ref.html
+fails == block-clear-6a-left.html block-clear-6abc-left-ref.html # Bug 493380
+== block-clear-6b-left.html block-clear-6abc-left-ref.html
+== block-clear-6c-left.html block-clear-6abc-left-ref.html
+fails == block-clear-6d-left.html block-clear-6def-left-ref1.html # Bug 493380
+fails == block-clear-6d-left.html block-clear-6def-left-ref2.html # Bug 493380
+== block-clear-6e-left.html block-clear-6def-left-ref1.html
+== block-clear-6e-left.html block-clear-6def-left-ref2.html
+== block-clear-6f-left.html block-clear-6def-left-ref1.html
+== block-clear-6f-left.html block-clear-6def-left-ref2.html
+fails == block-clear-7a-left.html block-clear-7abcd-left-ref.html # Bug 493380
+fails == block-clear-7b-left.html block-clear-7abcd-left-ref.html # Bug 493380
+fails == block-clear-7c-left.html block-clear-7abcd-left-ref.html # Bug 493380
+== block-clear-7d-left.html block-clear-7abcd-left-ref.html
+fails == block-clear-7e-left.html block-clear-7efgh-left-ref1.html # Bug 493380
+fails == block-clear-7e-left.html block-clear-7efgh-left-ref2.html # Bug 493380
+fails == block-clear-7f-left.html block-clear-7efgh-left-ref1.html # Bug 493380
+fails == block-clear-7f-left.html block-clear-7efgh-left-ref2.html # Bug 493380
+fails == block-clear-7g-left.html block-clear-7efgh-left-ref1.html # Bug 493380
+fails == block-clear-7g-left.html block-clear-7efgh-left-ref2.html # Bug 493380
+== block-clear-7h-left.html block-clear-7efgh-left-ref1.html
+== block-clear-7h-left.html block-clear-7efgh-left-ref2.html
 == block-root-1a.html block-root-1a-ref.html
 == block-root-1a.html block-root-1a-ref2.html
 != block-root-1a.html block-root-1a-noref1.html
 != block-root-1a.html block-root-1a-noref2.html
 == block-root-1b.html block-root-1b-ref.html
 == block-root-1b.html block-root-1b-ref2.html
 == block-html-body-1.html block-html-body-1-ref.html
 == block-html-body-1.html block-html-body-1-ref2.html
 != block-html-body-1.html block-html-body-1-noref.html
-# missing tests of min-height, max-height, etc.
+== block-last-child-1a.html block-last-child-1-ref.html
+== block-last-child-1b.html block-last-child-1-ref.html
+== block-last-child-1c.html block-last-child-1-ref.html
+== block-last-child-2a.html block-last-child-2-ref.html
+== block-last-child-2b.html block-last-child-2-ref.html
+== block-last-child-2c.html block-last-child-2-ref.html
+== block-last-child-2d.html block-last-child-2-ref.html
+== block-last-child-3a.html block-last-child-3-ref.html
+== block-last-child-3b.html block-last-child-3-ref.html
+== block-last-child-3c.html block-last-child-3-ref.html
+== block-last-child-3d.html block-last-child-3-ref.html
+== block-last-child-4a.html block-last-child-4-ref.html
+== block-last-child-4b.html block-last-child-4-ref.html
+== block-last-child-4c.html block-last-child-4-ref.html
+== block-last-child-4d.html block-last-child-4-ref.html
+== block-zero-min-height-1a.html block-zero-min-height-1-ref.html
+== block-zero-min-height-1b.html block-zero-min-height-1-ref.html
+== block-zero-min-height-1c.html block-zero-min-height-1-ref.html
+== block-zero-min-height-1d.html block-zero-min-height-1-ref.html
+== block-zero-min-height-1e.html block-zero-min-height-1-ref.html
+== block-zero-min-height-1f.html block-zero-min-height-1-ref.html
+!= block-zero-min-height-1a.html block-zero-min-height-1-noref.html
+!= block-zero-min-height-1b.html block-zero-min-height-1-noref.html
+!= block-zero-min-height-1c.html block-zero-min-height-1-noref.html
+!= block-zero-min-height-1d.html block-zero-min-height-1-noref.html
+!= block-zero-min-height-1e.html block-zero-min-height-1-noref.html
+!= block-zero-min-height-1f.html block-zero-min-height-1-noref.html
+== block-zero-min-height-2a.html block-zero-min-height-2ab-ref.html
+== block-zero-min-height-2b.html block-zero-min-height-2ab-ref.html
+== block-zero-min-height-2c.html block-zero-min-height-2c-ref.html
+== block-zero-min-height-2d.html block-zero-min-height-2de-ref.html
+== block-zero-min-height-2e.html block-zero-min-height-2de-ref.html
+== block-zero-min-height-2f.html block-zero-min-height-2f-ref.html
+!= block-zero-min-height-2a.html block-zero-min-height-2-noref.html
+!= block-zero-min-height-2b.html block-zero-min-height-2-noref.html
+!= block-zero-min-height-2c.html block-zero-min-height-2-noref.html
+!= block-zero-min-height-2d.html block-zero-min-height-2-noref.html
+!= block-zero-min-height-2e.html block-zero-min-height-2-noref.html
+!= block-zero-min-height-2f.html block-zero-min-height-2-noref.html
+== block-zero-min-height-3a.html block-zero-min-height-3-ref.html
+== block-zero-min-height-3b.html block-zero-min-height-3-ref.html
+== block-zero-min-height-3c.html block-zero-min-height-3-ref.html
+== block-zero-min-height-3d.html block-zero-min-height-3-ref.html
 == block-percent-1.html block-percent-1-ref.html