summaryrefslogtreecommitdiffstats
path: root/layout/reftests/table-anonymous-boxes
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--layout/reftests/table-anonymous-boxes/121142-1-ref.html11
-rw-r--r--layout/reftests/table-anonymous-boxes/121142-1a.html18
-rw-r--r--layout/reftests/table-anonymous-boxes/121142-1b.html14
-rw-r--r--layout/reftests/table-anonymous-boxes/121142-2-ref.html10
-rw-r--r--layout/reftests/table-anonymous-boxes/121142-2.html10
-rw-r--r--layout/reftests/table-anonymous-boxes/156888-1-ref.html19
-rw-r--r--layout/reftests/table-anonymous-boxes/156888-1.html39
-rw-r--r--layout/reftests/table-anonymous-boxes/156888-2-ref.html19
-rw-r--r--layout/reftests/table-anonymous-boxes/156888-2.html51
-rw-r--r--layout/reftests/table-anonymous-boxes/162063-1.xhtml109
-rw-r--r--layout/reftests/table-anonymous-boxes/203923-1.html22
-rw-r--r--layout/reftests/table-anonymous-boxes/203923-2.html22
-rw-r--r--layout/reftests/table-anonymous-boxes/208305-1-ref.html10
-rw-r--r--layout/reftests/table-anonymous-boxes/208305-1.html19
-rw-r--r--layout/reftests/table-anonymous-boxes/208305-2.html19
-rw-r--r--layout/reftests/table-anonymous-boxes/208305-3.html12
-rw-r--r--layout/reftests/table-anonymous-boxes/208305-4.html21
-rw-r--r--layout/reftests/table-anonymous-boxes/277995-1-ref.html67
-rw-r--r--layout/reftests/table-anonymous-boxes/277995-1.html55
-rw-r--r--layout/reftests/table-anonymous-boxes/293576-1-ref.html6
-rw-r--r--layout/reftests/table-anonymous-boxes/293576-1.html20
-rw-r--r--layout/reftests/table-anonymous-boxes/3-blocks-ref.html14
-rw-r--r--layout/reftests/table-anonymous-boxes/3-tables-ref.html26
-rw-r--r--layout/reftests/table-anonymous-boxes/302113-1-ref.html27
-rw-r--r--layout/reftests/table-anonymous-boxes/302113-1.html41
-rw-r--r--layout/reftests/table-anonymous-boxes/315146-1-ref.xhtml8
-rw-r--r--layout/reftests/table-anonymous-boxes/315146-1.xhtml34
-rw-r--r--layout/reftests/table-anonymous-boxes/325543-1-ref.html7
-rw-r--r--layout/reftests/table-anonymous-boxes/325543-1a.html7
-rw-r--r--layout/reftests/table-anonymous-boxes/325543-1b.html7
-rw-r--r--layout/reftests/table-anonymous-boxes/338735-1-ref.html13
-rw-r--r--layout/reftests/table-anonymous-boxes/338735-1.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/339388-1-ref.html10
-rw-r--r--layout/reftests/table-anonymous-boxes/339388-1a.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/339388-1b.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/363326-1-ref.html13
-rw-r--r--layout/reftests/table-anonymous-boxes/363326-1.html11
-rw-r--r--layout/reftests/table-anonymous-boxes/368932-1-ref.html7
-rw-r--r--layout/reftests/table-anonymous-boxes/368932-1.html21
-rw-r--r--layout/reftests/table-anonymous-boxes/371054-1-ref.html13
-rw-r--r--layout/reftests/table-anonymous-boxes/371054-1.html20
-rw-r--r--layout/reftests/table-anonymous-boxes/372641-1-ref.xhtml10
-rw-r--r--layout/reftests/table-anonymous-boxes/372641-1a.xhtml15
-rw-r--r--layout/reftests/table-anonymous-boxes/372641-1b.xhtml15
-rw-r--r--layout/reftests/table-anonymous-boxes/372641-1c.xhtml15
-rw-r--r--layout/reftests/table-anonymous-boxes/372649-1-ref.html6
-rw-r--r--layout/reftests/table-anonymous-boxes/372649-1.html15
-rw-r--r--layout/reftests/table-anonymous-boxes/373379-1-ref.html17
-rw-r--r--layout/reftests/table-anonymous-boxes/373379-1.html26
-rw-r--r--layout/reftests/table-anonymous-boxes/394402-1-ref.html23
-rw-r--r--layout/reftests/table-anonymous-boxes/394402-1a.html21
-rw-r--r--layout/reftests/table-anonymous-boxes/394402-1b.html22
-rw-r--r--layout/reftests/table-anonymous-boxes/398095-1-ref.html10
-rw-r--r--layout/reftests/table-anonymous-boxes/398095-1.html10
-rw-r--r--layout/reftests/table-anonymous-boxes/3x3-cols-ref.html23
-rw-r--r--layout/reftests/table-anonymous-boxes/3x3-ref.html22
-rw-r--r--layout/reftests/table-anonymous-boxes/407115-1-ref.html20
-rw-r--r--layout/reftests/table-anonymous-boxes/407115-1.html20
-rw-r--r--layout/reftests/table-anonymous-boxes/443616-1-ref.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/443616-1a.xhtml29
-rw-r--r--layout/reftests/table-anonymous-boxes/443616-1b.html28
-rw-r--r--layout/reftests/table-anonymous-boxes/448111-1-ref.html12
-rw-r--r--layout/reftests/table-anonymous-boxes/448111-1.html13
-rw-r--r--layout/reftests/table-anonymous-boxes/490174-1-ref.html14
-rw-r--r--layout/reftests/table-anonymous-boxes/490174-1.html13
-rw-r--r--layout/reftests/table-anonymous-boxes/695538-1-ref.html21
-rw-r--r--layout/reftests/table-anonymous-boxes/695538-1.html18
-rw-r--r--layout/reftests/table-anonymous-boxes/blocks-divide-tables-1.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/blocks-divide-tables-2.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/cols-test-1.html30
-rw-r--r--layout/reftests/table-anonymous-boxes/cols-test-2.html30
-rw-r--r--layout/reftests/table-anonymous-boxes/cols-test-3.html30
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-abs-pos-tbody-ref.html12
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-abs-pos-tbody.html16
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-insert-cell-1.html38
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-1.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-10.html23
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-11.html23
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-12.html22
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-13.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-14.html36
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-15.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-16.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-17.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-2.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-3.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-4.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-5.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-6.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-7.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-8.html35
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-removal-9.html22
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-1.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-2.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-3.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-4.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-5.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-1.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-2.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-3.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-4.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-5.html37
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-cells-1.html24
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-cells-2.html34
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-cells-3.html34
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-cells-4.html34
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-first-row-and-table.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-first-row.html27
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-rows-inside-rowgroups.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-second-row-and-table.html27
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-second-row.html29
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-1.html31
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-2.html31
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-3.html31
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-table-row-cell.html32
-rw-r--r--layout/reftests/table-anonymous-boxes/infer-table.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/reftest.list115
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-1.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-10.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-11.html25
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-12.html15
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-13.html16
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-14.html19
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-15.html20
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-16.html19
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-17.html21
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-18.html19
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-19.html20
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-2.html36
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-20.html19
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-21.html21
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-22.html11
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-23.html11
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-24.html11
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-25.html23
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-26.html17
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-3.html38
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-4.html33
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-5.html33
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-6.html33
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-7.html16
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-8.html23
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-9.html23
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-pre-1.html22
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-pre-ref.html6
-rw-r--r--layout/reftests/table-anonymous-boxes/white-space-ref.html6
146 files changed, 3654 insertions, 0 deletions
diff --git a/layout/reftests/table-anonymous-boxes/121142-1-ref.html b/layout/reftests/table-anonymous-boxes/121142-1-ref.html
new file mode 100644
index 0000000000..c1767f47b4
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/121142-1-ref.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <table cellspacing="0" cellpadding="0" style="border: none; padding: 0; margin: 0">
+ <tr>
+ <td>Cell 1</td>
+ <td>Cell 2</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/121142-1a.html b/layout/reftests/table-anonymous-boxes/121142-1a.html
new file mode 100644
index 0000000000..a9cf7b9239
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/121142-1a.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <span style="display:table">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">
+ Cell 1
+ </span>
+ <script type="text/javascript">document.body.offsetWidth</script>
+ <span style="display: table-cell">
+ Cell 2
+ </span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/121142-1b.html b/layout/reftests/table-anonymous-boxes/121142-1b.html
new file mode 100644
index 0000000000..823986de87
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/121142-1b.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <span style="display:table">
+ <span style="display: table-cell">
+ Cell 1
+ </span>
+ <script type="text/javascript">document.body.offsetWidth</script>
+ <span style="display: table-cell">
+ Cell 2
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/121142-2-ref.html b/layout/reftests/table-anonymous-boxes/121142-2-ref.html
new file mode 100644
index 0000000000..7e4c8af5d9
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/121142-2-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <table cellspacing="0" cellpadding="0" style="border: none; padding: 0; margin: 0">
+ <tr>
+ <td>Cell 1 Cell 2</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/121142-2.html b/layout/reftests/table-anonymous-boxes/121142-2.html
new file mode 100644
index 0000000000..6c314b9fca
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/121142-2.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <span style="display:table">
+ Cell 1
+ <script type="text/javascript">document.body.offsetWidth</script>
+ Cell 2
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/156888-1-ref.html b/layout/reftests/table-anonymous-boxes/156888-1-ref.html
new file mode 100644
index 0000000000..b3bd86b498
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/156888-1-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <table border="5">
+ <tr>
+ <td>Row 1</td>
+ </tr>
+ <tr>
+ <td>Row 2</td>
+ </tr>
+ <tr>
+ <td>Row 3</td>
+ </tr>
+ <tr>
+ <td style="display: inline">Row 4</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/156888-1.html b/layout/reftests/table-anonymous-boxes/156888-1.html
new file mode 100644
index 0000000000..b6e278457a
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/156888-1.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script language="javascript">
+ function toggleRow(rowId)
+ {
+ var r = document.getElementById(rowId);
+ if (r.style.display == "none")
+ r.style.display = "inline";
+ else
+ r.style.display = "none";
+ }
+
+ function doTest() {
+ toggleRow('row4');
+ document.body.offsetWidth;
+ toggleRow('row4');
+ document.body.offsetWidth;
+ toggleRow('row4');
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <table border="5">
+ <tr>
+ <td>Row 1</td>
+ </tr>
+ <tr>
+ <td>Row 2</td>
+ </tr>
+ <tr>
+ <td>Row 3</td>
+ </tr>
+ <tr>
+ <td id="row4" style="display: none">Row 4</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/156888-2-ref.html b/layout/reftests/table-anonymous-boxes/156888-2-ref.html
new file mode 100644
index 0000000000..5a3c5cfebc
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/156888-2-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <table border="5">
+ <tr>
+ <td>Row 1</td>
+ </tr>
+ <tr>
+ <td>Row 2</td>
+ </tr>
+ <tr>
+ <td>Row 3</td>
+ </tr>
+ <tr style="display: inline">
+ <td>Row 4</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/156888-2.html b/layout/reftests/table-anonymous-boxes/156888-2.html
new file mode 100644
index 0000000000..c654cd9ea7
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/156888-2.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script language="javascript">
+ function toggleRow(rowId)
+ {
+ var r = document.getElementById(rowId);
+ if (r.style.display == "none")
+ r.style.display = "inline";
+ else
+ r.style.display = "none";
+ }
+
+ function doTest() {
+ toggleRow('row4');
+ document.body.offsetWidth;
+ toggleRow('row4');
+ document.body.offsetWidth;
+ toggleRow('row4');
+ document.body.offsetWidth;
+ toggleRow('row4');
+ document.body.offsetWidth;
+ toggleRow('row4');
+ document.body.offsetWidth;
+ toggleRow('row4');
+ document.body.offsetWidth;
+ toggleRow('row4');
+ document.body.offsetWidth;
+ toggleRow('row4');
+ document.body.offsetWidth;
+ toggleRow('row4');
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <table border="5">
+ <tr>
+ <td>Row 1</td>
+ </tr>
+ <tr>
+ <td>Row 2</td>
+ </tr>
+ <tr>
+ <td>Row 3</td>
+ </tr>
+ <tr id="row4" style="display: none">
+ <td>Row 4</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/162063-1.xhtml b/layout/reftests/table-anonymous-boxes/162063-1.xhtml
new file mode 100644
index 0000000000..387ad4e6ec
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/162063-1.xhtml
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" class="reftest-wait">
+<head>
+<script type="text/javascript">
+/* <![CDATA[ */
+function boom()
+{
+ var numTest = 16;
+ for (i = 1; i<= numTest; i++) {
+ var target = "target" + i;
+ var q = document.getElementById(target);
+ remove(q);
+ }
+ document.documentElement.className = "";
+
+}
+
+function remove(n)
+{
+ n.parentNode.removeChild(n);
+}
+
+window.addEventListener("MozReftestInvalidate", boom);
+/* ]]> */
+</script>
+<title> test for pseudo removal</title>
+</head>
+
+<body>
+ <div style="display:table; border-spacing:10px; background-color:red">
+ <div id="target1">target</div>
+ </div>
+
+ <div style="display:table; border-spacing:10px; background-color:blue">
+ <div id="target2" style="float:left">target</div>
+ </div>
+
+ <div style="display:table; border-spacing:10px; background-color:green">
+ <div id="target3" style="float:right">target</div>
+ </div>
+
+ <div style="display:table; border-spacing:10px; background-color:pink">
+ <div id="target4" style="position:absolute">target</div>
+ </div>
+
+ <div style="display:table; border-spacing:10px; background-color:magenta">
+ <div id="target5" style="position:relative">target</div>
+ </div>
+
+ <div style="display:table; border-spacing:10px; background-color:orange">
+ <div id="target6" style="position:fixed">target</div>
+ </div>
+
+ <div style="display:table; border-spacing:10px; background-color:yellow">
+ <div style="display:table-row;">
+ <div id="target7" style="display:table">target</div>
+ </div>
+ </div>
+
+ <div style="display:table; border-spacing:10px; background-color:silver">
+ <div style="display:table-row;">
+ <div id="target8" style="display:table-caption">target</div>
+ </div>
+ </div>
+
+ <div style="display:table; border-spacing:10px; background-color:navy">
+ <div id="target9" style="display:-moz-column">target</div>
+ </div>
+
+ <div style="display:table; border-spacing:10px; background-color:teal">
+ <div id="target10">target</div>
+ </div>
+
+ <div style="display:table; border-spacing:10px; background-color:SkyBlue ">
+ <svg xmlns="http://www.w3.org/2000/svg" width="300" height="200" id="target11">
+ <circle cx="150" cy="100" r="50" />
+ </svg>
+</div>
+
+
+ <div style="display:table; border-spacing:10px; background-color:Peru">
+ <div style="display:table-row;">
+ <div id="target12" style="display:table-row-group; overflow:scroll">target</div>
+ </div>
+</div>
+
+ <div style="display:table; border-spacing:10px; background-color:Tomato">
+ <div style="display:table-row;">
+ <input type="button" value="OK" id="target13"></input>
+ </div>
+</div>
+
+ <div style="display:table; border-spacing:10px; background-color:DarkSeaGreen ">
+ <div style="display:table-row;">
+ <div id="target14" style="display:table-column;"/>
+ </div>
+</div>
+
+<div style="display:table; border-spacing:10px; background-color:MistyRose">
+ <div style="display:table-row;">
+ <div id="target15" style="display:table-column-group;"/>
+ </div>
+</div>
+
+<div style="display:table; border-spacing:10px; background-color:Indigo">
+ <div id="target16" style="display:-moz-box">target</div>
+ </div>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/203923-1.html b/layout/reftests/table-anonymous-boxes/203923-1.html
new file mode 100644
index 0000000000..a7a1e843d1
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/203923-1.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<head>
+ <script type="text/javascript">
+ function doTest() {
+ var c = document.createElement("span");
+ c.style.display = "table-cell";
+ c.appendChild(document.createTextNode("bc"));
+ var t = document.getElementById("t");
+ t.parentNode.insertBefore(c, t);
+ document.documentElement.className = "";
+ }
+ </script>
+</head>
+<body onload="doTest()">
+ <span style="display: block">
+ <span style="display: table-cell">a</span>
+ <span style="display: table-cell; white-space: pre"> </span>
+ <span style="display: table-cell; white-space: pre" id="t"> </span>
+ <span style="display: table-cell">d</span>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/203923-2.html b/layout/reftests/table-anonymous-boxes/203923-2.html
new file mode 100644
index 0000000000..783ca6e789
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/203923-2.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<head>
+ <script type="text/javascript">
+ function doTest() {
+ var t = document.getElementById("t");
+ t.style.display = "none";
+ document.body.offsetWidth;
+ t.style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+</head>
+<body onload="doTest()">
+ <span style="display: block">
+ <span style="display: table-cell">a</span>
+ <span style="display: table-cell; white-space: pre"> </span>
+ <span style="display: table-cell;" id="t">bc</span>
+ <span style="display: table-cell; white-space: pre"> </span>
+ <span style="display: table-cell">d</span>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/208305-1-ref.html b/layout/reftests/table-anonymous-boxes/208305-1-ref.html
new file mode 100644
index 0000000000..2f693c0dd5
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/208305-1-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+</head>
+
+<body>
+<div>foo</div><div>bar</div><div>baz</div>
+</body>
+
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/208305-1.html b/layout/reftests/table-anonymous-boxes/208305-1.html
new file mode 100644
index 0000000000..95288f1a80
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/208305-1.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<style type="text/css">
+.cell {display:table-cell}
+</style>
+<script type="text/javascript">
+function doTest() {
+ss = document.styleSheets[0];
+ss.cssRules[0].style.display="block";
+}
+</script>
+</head>
+
+<body onload="doTest()">
+<div class="cell">foo</div><div class="cell">bar</div><div class="cell">baz</div>
+</body>
+
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/208305-2.html b/layout/reftests/table-anonymous-boxes/208305-2.html
new file mode 100644
index 0000000000..cbf6365c52
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/208305-2.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <style id="s">
+ span { display: block ! important }
+ </style>
+ <script>
+ function doTest() {
+ var s = document.getElementById("s");
+ s.disabled = true;
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <span style="display: table-cell">a b</span>
+ <span style="display: table-cell">c d</span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/208305-3.html b/layout/reftests/table-anonymous-boxes/208305-3.html
new file mode 100644
index 0000000000..60befde96f
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/208305-3.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <style id="s">
+ span { display: table-cell ! important }
+ </style>
+ </head>
+ <body>
+ <span style="display: block">a b</span>
+ <span style="display: block">c d</span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/208305-4.html b/layout/reftests/table-anonymous-boxes/208305-4.html
new file mode 100644
index 0000000000..ee8dcbcad7
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/208305-4.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <style id="s">
+ span { display: table-cell ! important }
+ </style>
+ <script>
+ function doTest() {
+ var s = document.getElementById("s");
+ s.disabled = true;
+ document.body.offsetWidth;
+ s.disabled = false;
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <span style="display: block">a b</span>
+ <span style="display: block">c d</span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/277995-1-ref.html b/layout/reftests/table-anonymous-boxes/277995-1-ref.html
new file mode 100644
index 0000000000..c9fdfcb87e
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/277995-1-ref.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html>
+<head>
+</head>
+<body>
+<table>
+ <tr>
+ <td>
+ <div style="display: table">
+ <div id="data" style="display: table-row-group">
+ <div style="display: table-row">
+ <div style="display: table-cell">
+ More Data
+ </div>
+ </div>
+ <div style="display: table-row">
+ <div style="display: table-cell">
+ More Data
+ </div>
+ </div>
+ <div style="display: table-row">
+ <div style="display: table-cell">
+ More Data
+ </div>
+ </div>
+ <div style="display: table-row">
+ <div style="display: table-cell">
+ More Data
+ </div>
+ </div>
+ <div style="display: table-row">
+ <div style="display: table-cell">
+ More Data
+ </div>
+ </div>
+ <div style="display: table-row">
+ <div style="display: table-cell">
+ More Data
+ </div>
+ </div>
+ <div style="display: table-row">
+ <div style="display: table-cell">
+ More Data
+ </div>
+ </div>
+ <div style="display: table-row">
+ <div style="display: table-cell">
+ More Data
+ </div>
+ </div>
+ <div style="display: table-row">
+ <div style="display: table-cell">
+ More Data
+ </div>
+ </div>
+ <div style="display: table-row">
+ <div style="display: table-cell">
+ More Data
+ </div>
+ </div>
+ </div>
+ </div>
+ </td>
+ </tr>
+</table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/277995-1.html b/layout/reftests/table-anonymous-boxes/277995-1.html
new file mode 100644
index 0000000000..e513d6a8fa
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/277995-1.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<head>
+ <script type="text/javascript" language="javascript">
+ function doMore(data) {
+ while(data.hasChildNodes())
+ data.firstChild.remove();
+ for (var i = 0; i < 10; i++) {
+ append(data);
+ }
+ }
+
+ function append(data) {
+ var row = document.createElement("div");
+ row.setAttribute("class", "row");
+
+ var cell = document.createElement("span");
+ cell.appendChild(document.createTextNode("More Data"));
+ cell.setAttribute("class", "cell");
+ row.appendChild(cell);
+ data.appendChild(row);
+ }
+
+ function doTest() {
+ for (var i = 0; i < 10; ++i) {
+ document.body.offsetWidth;
+ doMore(document.getElementById('data'));
+ }
+ document.documentElement.className = '';
+ }
+ </script>
+ <style>
+ .table {
+ display: table;
+ }
+ .row {
+ display: table-row;
+
+ }
+ .cell {
+ display: table-cell;
+ }
+ </style>
+</head>
+<body onload="doTest()">
+<table>
+ <tr>
+ <td>
+ <div id="data" class="table">
+ </div>
+ </td>
+ </tr>
+</table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/293576-1-ref.html b/layout/reftests/table-anonymous-boxes/293576-1-ref.html
new file mode 100644
index 0000000000..811a2b05f0
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/293576-1-ref.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <table border="5"><tbody><tr><td id="t">Some text</td></tr></tbody></table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/293576-1.html b/layout/reftests/table-anonymous-boxes/293576-1.html
new file mode 100644
index 0000000000..4a817a033f
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/293576-1.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ for (var i = 0; i < 10; ++i) {
+ document.body.offsetWidth;
+ t.style.display = "table-caption";
+ document.body.offsetWidth;
+ t.style.display = "";
+ }
+ document.documentElement.className = '';
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <table border="5"><tbody><tr><td id="t">Some text</td></tr></tbody></table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/3-blocks-ref.html b/layout/reftests/table-anonymous-boxes/3-blocks-ref.html
new file mode 100644
index 0000000000..9c0458d978
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/3-blocks-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+ <body style="font-family: monospace; white-space: nowrap">
+ <div>
+ Row 1, Col 1Row 1, Col 2Row 1, Col 3
+ </div>
+ <div>
+ Row 22, Col 1Row 22, Col 2Row 22, Col 3
+ </div>
+ <div>
+ Row 333, Col 1Row 333, Col 2Row 333, Col 3
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/3-tables-ref.html b/layout/reftests/table-anonymous-boxes/3-tables-ref.html
new file mode 100644
index 0000000000..083dbd361d
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/3-tables-ref.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <body style="font-family: monospace; white-space: nowrap">
+ <table cellpadding="0" cellspacing="0" style="margin: 0; padding: 0; border: none">
+ <tr>
+ <td>Row 1, Col 1</td>
+ <td>Row 1, Col 2</td>
+ <td>Row 1, Col 3</td>
+ </tr>
+ </table>
+ <table cellpadding="0" cellspacing="0" style="margin: 0; padding: 0; border: none">
+ <tr>
+ <td>Row 22, Col 1</td>
+ <td>Row 22, Col 2</td>
+ <td>Row 22, Col 3</td>
+ </tr>
+ </table>
+ <table cellpadding="0" cellspacing="0" style="margin: 0; padding: 0; border: none">
+ <tr>
+ <td>Row 333, Col 1</td>
+ <td>Row 333, Col 2</td>
+ <td>Row 333, Col 3</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/302113-1-ref.html b/layout/reftests/table-anonymous-boxes/302113-1-ref.html
new file mode 100644
index 0000000000..cd57e673c8
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/302113-1-ref.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<body>
+ <span style="display: table">
+ <span style="display: table-row">
+ <span style="display: table-cell">
+ Cell
+ </span>
+ <span style="display: table-cell">
+ Cell
+ </span>
+ <span style="display: table-cell">
+ Cell
+ </span>
+ <span style="display: table-cell">
+ Cell
+ </span>
+ <span style="display: table-cell">
+ Cell
+ </span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: block" id="t">Which column?</span>
+ </span>
+ </span>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/302113-1.html b/layout/reftests/table-anonymous-boxes/302113-1.html
new file mode 100644
index 0000000000..a8ca72abe6
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/302113-1.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<head>
+<script type="text/javascript">
+ function doTest() {
+ var t = document.getElementById("t");
+ for (var i = 0; i < 5; ++i) {
+ document.body.offsetWidth;
+ t.style.display = "none";
+ document.body.offsetWidth;
+ t.style.display = "block";
+ }
+ document.documentElement.className = "";
+ }
+</script>
+</head>
+<body onload="doTest()">
+ <span style="display: table">
+ <span style="display: table-row">
+ <span style="display: table-cell">
+ Cell
+ </span>
+ <span style="display: table-cell">
+ Cell
+ </span>
+ <span style="display: table-cell">
+ Cell
+ </span>
+ <span style="display: table-cell">
+ Cell
+ </span>
+ <span style="display: table-cell">
+ Cell
+ </span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: block" id="t">Which column?</span>
+ </span>
+ </span>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/315146-1-ref.xhtml b/layout/reftests/table-anonymous-boxes/315146-1-ref.xhtml
new file mode 100644
index 0000000000..1480f54ecb
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/315146-1-ref.xhtml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<body>
+<table id="table" border="5"><tr><td>A cell</td></tr></table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/315146-1.xhtml b/layout/reftests/table-anonymous-boxes/315146-1.xhtml
new file mode 100644
index 0000000000..13176bdc2b
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/315146-1.xhtml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" class="reftest-wait">
+<head>
+ <script type="text/javascript"><![CDATA[
+ function DeleteRow(container) {
+ if (container.firstChild)
+ container.firstChild.remove();
+ }
+
+ function AddRow(container) {
+ var tr = document.createElement("tr");
+ var td = document.createElement("td");
+ td.appendChild(document.createTextNode("A cell"));
+ tr.appendChild(td);
+ container.appendChild(tr);
+ }
+
+ function doTest() {
+ for (var i = 0; i < 10; ++i) {
+ document.body.offsetWidth;
+ AddRow(document.getElementById('table'));
+ document.body.offsetWidth;
+ DeleteRow(document.getElementById('table'));
+ }
+ document.documentElement.className = '';
+ }
+ ]]></script>
+</head>
+<body onload="doTest()">
+<table id="table" border="5"><tr><td>A cell</td></tr></table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/325543-1-ref.html b/layout/reftests/table-anonymous-boxes/325543-1-ref.html
new file mode 100644
index 0000000000..4cc33835ed
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/325543-1-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <div>First line</div>
+ <div>Second line</div>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/325543-1a.html b/layout/reftests/table-anonymous-boxes/325543-1a.html
new file mode 100644
index 0000000000..a982c472ff
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/325543-1a.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <body onload="document.getElementById('t').style.display = 'block'">
+ <!-- Lack of space between the two spans is key -->
+ <span style="display: table-cell">First line</span><span style="display: none" id="t">Second line</span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/325543-1b.html b/layout/reftests/table-anonymous-boxes/325543-1b.html
new file mode 100644
index 0000000000..83b2d29ed2
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/325543-1b.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <body onload="document.getElementById('t').style.display = 'block'">
+ <!-- space between the two spans is key -->
+ <span style="display: table-cell">First line</span> <span style="display: none" id="t">Second line</span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/338735-1-ref.html b/layout/reftests/table-anonymous-boxes/338735-1-ref.html
new file mode 100644
index 0000000000..64a78c8341
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/338735-1-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+<body>
+<table style="width: 100%;" border="5">
+ <tr>
+ <td>First row</td>
+ </tr>
+ <tr>
+ <td>Second row</td>
+ </tr>
+</table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/338735-1.html b/layout/reftests/table-anonymous-boxes/338735-1.html
new file mode 100644
index 0000000000..a36f0e3a82
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/338735-1.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<head>
+<style>
+ #t {
+ display: none;
+ }
+</style>
+<script lang="JavaScript">
+ function toggleLayer(id) {
+ var s = document.getElementById(id).style;
+ s.display = s.display ? "" : "block";
+ }
+
+ function doTest() {
+ toggleLayer('t');
+ document.body.offsetWidth;
+ toggleLayer('t');
+ document.body.offsetWidth;
+ toggleLayer('t');
+ document.documentElement.className = "";
+ }
+</script>
+</head>
+<body onload="doTest()">
+<table style="width: 100%;" border="5">
+ <tr>
+ <td id="t">First row</td>
+ </tr>
+ <tr>
+ <td>Second row</td>
+ </tr>
+</table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/339388-1-ref.html b/layout/reftests/table-anonymous-boxes/339388-1-ref.html
new file mode 100644
index 0000000000..ef0e3bc1f6
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/339388-1-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <table border="5">
+ <tr>
+ <td id="n">TD</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/339388-1a.html b/layout/reftests/table-anonymous-boxes/339388-1a.html
new file mode 100644
index 0000000000..3939f2b1fc
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/339388-1a.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <script>
+ function doTest() {
+ var n = document.getElementById("n");
+ for (var i = 0; i < 5; ++i) {
+ n.style.cssFloat = "left";
+ document.body.offsetWidth;
+ n.style.cssFloat = "";
+ document.body.offsetWidth;
+ }
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+
+ <body onload="doTest()">
+ <table border="5">
+ <tr>
+ <td id="n">TD</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/339388-1b.html b/layout/reftests/table-anonymous-boxes/339388-1b.html
new file mode 100644
index 0000000000..1436bddbed
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/339388-1b.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <script>
+ function doTest() {
+ var n = document.getElementById("n");
+ for (var i = 0; i < 5; ++i) {
+ n.style.position = "absolute";
+ document.body.offsetWidth;
+ n.style.position = "";
+ document.body.offsetWidth;
+ }
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+
+ <body onload="doTest()">
+ <table border="5">
+ <tr>
+ <td id="n">TD</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/363326-1-ref.html b/layout/reftests/table-anonymous-boxes/363326-1-ref.html
new file mode 100644
index 0000000000..3ce2bbe0c9
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/363326-1-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+<body>
+
+<div style="display: table; width: 500px">
+ <div style="display: table-cell">
+ <div style="float: right; width: 100px">one</div>
+ <div style="float:left; width: 100px">two</div>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/363326-1.html b/layout/reftests/table-anonymous-boxes/363326-1.html
new file mode 100644
index 0000000000..b7f2f7d664
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/363326-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<body>
+
+<div style="display: table; width: 500px">
+ <div style="float: right; width: 100px">one<script>var foo = document.body.offsetWidth;</script></div>
+ <div style="float:left; width: 100px">two</div>
+</div>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/368932-1-ref.html b/layout/reftests/table-anonymous-boxes/368932-1-ref.html
new file mode 100644
index 0000000000..919e5bbf53
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/368932-1-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+<body>
+ <table><tr><td>cloning material</td></tr></table>
+ <table><tr><td>cloning material</td></tr></table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/368932-1.html b/layout/reftests/table-anonymous-boxes/368932-1.html
new file mode 100644
index 0000000000..fae4fd1fdb
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/368932-1.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <script type="text/javascript">
+ function doTest() {
+ for (var i = 0; i < 10; ++i) {
+ // clear target element's content
+ document.getElementById("target-table").innerHTML = "";
+ // clone and append new row
+ cloned_row = document.getElementById("row-template").cloneNode(true);
+ document.getElementById("target-table").appendChild(cloned_row);
+ document.body.offsetWidth;
+ }
+ }
+ </script>
+</head>
+<body onload="doTest()">
+ <table><tr id="row-template"><td>cloning material</td></tr></table>
+ <table id="target-table"><tr><td>target table</td></tr></table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/371054-1-ref.html b/layout/reftests/table-anonymous-boxes/371054-1-ref.html
new file mode 100644
index 0000000000..25ea8f16ee
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/371054-1-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <table style="border-collapse: collapse">
+ <tr style="display: block; border: 5px solid">
+ <td>LongLongLong</td>
+ </tr>
+ <tr style="border: 5px solid" id="t">
+ <td>Short</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/371054-1.html b/layout/reftests/table-anonymous-boxes/371054-1.html
new file mode 100644
index 0000000000..03d10c6714
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/371054-1.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-row";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <table style="border-collapse: collapse">
+ <tr style="display: block; border: 5px solid">
+ <td>LongLongLong</td>
+ </tr>
+ <tr style="display: none; border: 5px solid" id="t">
+ <td>Short</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/372641-1-ref.xhtml b/layout/reftests/table-anonymous-boxes/372641-1-ref.xhtml
new file mode 100644
index 0000000000..60a14705cc
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/372641-1-ref.xhtml
@@ -0,0 +1,10 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+</head>
+
+<body>
+
+<table border="1"><tbody><tr><td>TD</td></tr></tbody></table>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/372641-1a.xhtml b/layout/reftests/table-anonymous-boxes/372641-1a.xhtml
new file mode 100644
index 0000000000..90b747caed
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/372641-1a.xhtml
@@ -0,0 +1,15 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+</head>
+
+<body>
+
+<table border="1" id="table">XXX<tbody><tr><td>TD</td></tr></tbody></table>
+
+<script>
+document.body.offsetWidth;
+document.getElementById("table").firstChild.data = '';
+</script>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/372641-1b.xhtml b/layout/reftests/table-anonymous-boxes/372641-1b.xhtml
new file mode 100644
index 0000000000..cebc5de06b
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/372641-1b.xhtml
@@ -0,0 +1,15 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+</head>
+
+<body>
+
+<table border="1"><tbody id="tbody">XXX<tr><td>TD</td></tr></tbody></table>
+
+<script>
+document.body.offsetWidth;
+document.getElementById("tbody").firstChild.data = '';
+</script>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/372641-1c.xhtml b/layout/reftests/table-anonymous-boxes/372641-1c.xhtml
new file mode 100644
index 0000000000..b1a1173342
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/372641-1c.xhtml
@@ -0,0 +1,15 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+</head>
+
+<body>
+
+<table border="1"><tbody><tr id="tr">XXX<td>TD</td></tr></tbody></table>
+
+<script>
+document.body.offsetWidth;
+document.getElementById("tr").firstChild.data = '';
+</script>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/372649-1-ref.html b/layout/reftests/table-anonymous-boxes/372649-1-ref.html
new file mode 100644
index 0000000000..a8e06265d0
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/372649-1-ref.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<html>
+<body>
+<p>a<span style="display: inline-table;">bc</span>d</p>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/372649-1.html b/layout/reftests/table-anonymous-boxes/372649-1.html
new file mode 100644
index 0000000000..4a92d227ff
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/372649-1.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style type="text/css">
+#it { display: inline-table; }
+</style>
+</head>
+<body>
+<p>a<span id="it">b</span>d</p>
+<script>
+document.body.offsetWidth;
+document.getElementById("it").appendChild(document.createTextNode("c"));
+</script>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/373379-1-ref.html b/layout/reftests/table-anonymous-boxes/373379-1-ref.html
new file mode 100644
index 0000000000..b788b7231d
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/373379-1-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <style type="text/css">
+
+ .border { border: 1px solid blue; }
+
+ </style>
+ </head>
+ <body>
+
+ <span class="border">
+ <span>x</span>
+ </span>
+
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/373379-1.html b/layout/reftests/table-anonymous-boxes/373379-1.html
new file mode 100644
index 0000000000..56ba8de7db
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/373379-1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <style type="text/css">
+
+ #tablecell {
+ display: table-cell;
+ }
+ .border { border: 1px solid blue; }
+
+ </style>
+ </head>
+ <body>
+
+ <span class="border">
+ <span id="tablecell">x</span>
+ </span>
+
+ <script>
+
+ document.body.offsetWidth;
+ document.getElementById("tablecell").removeAttribute("id");
+
+ </script>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/394402-1-ref.html b/layout/reftests/table-anonymous-boxes/394402-1-ref.html
new file mode 100644
index 0000000000..63fc80174b
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/394402-1-ref.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <style>
+ body { font-family: sans-serif; }
+ </style>
+ <script>
+ function runTest() {
+ document.getElementById('r').appendChild(document.createTextNode('x'));
+ document.getElementById('r').appendChild(document.createTextNode('x'));
+ document.getElementById('r').appendChild(document.createTextNode('x'));
+ document.body.normalize();
+ document.getElementById('t').style.display = "";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+<body onload="runTest()">
+
+<table style="display: none" border=1 id="t"><tbody><tr id="r"><td id="c">TD</td></tr></tbody></table>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/394402-1a.html b/layout/reftests/table-anonymous-boxes/394402-1a.html
new file mode 100644
index 0000000000..96d858ffde
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/394402-1a.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <style>
+ body { font-family: sans-serif; }
+ </style>
+ <script>
+ function runTest() {
+ document.getElementById('r').appendChild(document.createTextNode('x'));
+ document.getElementById('r').appendChild(document.createTextNode('x'));
+ document.getElementById('r').appendChild(document.createTextNode('x'));
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+<body onload="runTest()">
+
+<table border=1 id="t"><tbody><tr id="r"><td id="c">TD</td></tr></tbody></table>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/394402-1b.html b/layout/reftests/table-anonymous-boxes/394402-1b.html
new file mode 100644
index 0000000000..ef6407eb0a
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/394402-1b.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <style>
+ body { font-family: sans-serif; }
+ </style>
+ <script>
+ function runTest() {
+ document.getElementById('r').appendChild(document.createTextNode('x'));
+ document.getElementById('r').appendChild(document.createTextNode('x'));
+ document.getElementById('r').appendChild(document.createTextNode('x'));
+ document.body.normalize();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+<body onload="runTest()">
+
+<table border=1 id="t"><tbody><tr id="r"><td id="c">TD</td></tr></tbody></table>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/398095-1-ref.html b/layout/reftests/table-anonymous-boxes/398095-1-ref.html
new file mode 100644
index 0000000000..2dd66f8e01
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/398095-1-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+</head>
+<body>
+
+<div style="display: table-footer-group;" id="div">x</div>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/398095-1.html b/layout/reftests/table-anonymous-boxes/398095-1.html
new file mode 100644
index 0000000000..67902ead3c
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/398095-1.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+</head>
+<body onload="document.getElementById('div').firstChild.data = 'x';">
+
+<div style="display: table-footer-group;" id="div"> </div>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/3x3-cols-ref.html b/layout/reftests/table-anonymous-boxes/3x3-cols-ref.html
new file mode 100644
index 0000000000..c59fc26403
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/3x3-cols-ref.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+ <body style="font-family: monospace">
+ <table cellpadding="0" cellspacing="0" style="margin: 0; padding: 0; border: none">
+ <colgroup><col style="background: yellow"><col style="background: cyan"><col style="background: lime"></colgroup>
+ <tr>
+ <td>Row 1, Col 1</td>
+ <td>Row 1, Col 2</td>
+ <td>Row 1, Col 3</td>
+ </tr>
+ <tr>
+ <td>Row 22, Col 1</td>
+ <td>Row 22, Col 2</td>
+ <td>Row 22, Col 3</td>
+ </tr>
+ <tr>
+ <td>Row 333, Col 1</td>
+ <td>Row 333, Col 2</td>
+ <td>Row 333, Col 3</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/3x3-ref.html b/layout/reftests/table-anonymous-boxes/3x3-ref.html
new file mode 100644
index 0000000000..9fc56f15f4
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/3x3-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+ <body style="font-family: monospace">
+ <table cellpadding="0" cellspacing="0" style="margin: 0; padding: 0; border: none">
+ <tr>
+ <td>Row 1, Col 1</td>
+ <td>Row 1, Col 2</td>
+ <td>Row 1, Col 3</td>
+ </tr>
+ <tr>
+ <td>Row 22, Col 1</td>
+ <td>Row 22, Col 2</td>
+ <td>Row 22, Col 3</td>
+ </tr>
+ <tr>
+ <td>Row 333, Col 1</td>
+ <td>Row 333, Col 2</td>
+ <td>Row 333, Col 3</td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/407115-1-ref.html b/layout/reftests/table-anonymous-boxes/407115-1-ref.html
new file mode 100644
index 0000000000..6f01c801d4
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/407115-1-ref.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<style>
+.outer { border: 1px solid black; }
+.cell { display: table-cell; border: 1px solid green; }
+.marg { margin: 1em 0; }
+</style>
+</head>
+<body>
+
+<div class="outer">
+<div class="marg"></div>
+<div class="marg"><span class="cell"><b>Hello Kitty</b></span></div>
+<div class="marg"><span class="cell"><b>Hello Kitty</b></span></div>
+<div class="marg"><span class="cell"><b>Hello Kitty</b></span></div>
+</div>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/407115-1.html b/layout/reftests/table-anonymous-boxes/407115-1.html
new file mode 100644
index 0000000000..3db3e09f46
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/407115-1.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<style>
+.outer { border: 1px solid black; }
+.cell { display: table-cell; border: 1px solid green; }
+.marg { margin: 1em 0; }
+</style>
+</head>
+<body onload="var c1 = document.getElementById('c1'); c1.parentNode.removeChild(c1);">
+
+<div class="outer">
+<div class="marg"><span id="c1" class="cell"><b>Hello Kitty</b></span></div>
+<div class="marg"><span class="cell"><b>Hello Kitty</b></span></div>
+<div class="marg"><span class="cell"><b>Hello Kitty</b></span></div>
+<div class="marg"><span class="cell"><b>Hello Kitty</b></span></div>
+</div>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/443616-1-ref.html b/layout/reftests/table-anonymous-boxes/443616-1-ref.html
new file mode 100644
index 0000000000..a110c089ba
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/443616-1-ref.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<body>
+<table cellpadding="0" cellspacing="0">
+ <tr>
+ <td rowspan="2">
+ Sidebar <br />
+ an unused link <br />
+ next unused link <br />
+ </td>
+ <td>
+ content <br />
+ more content
+ </td>
+ </tr>
+ <tr>
+ <td>
+ no yes no yes
+ </td>
+ </tr>
+</table>
+</body>
+</html>
+
+
diff --git a/layout/reftests/table-anonymous-boxes/443616-1a.xhtml b/layout/reftests/table-anonymous-boxes/443616-1a.xhtml
new file mode 100644
index 0000000000..b1ff0b4e9f
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/443616-1a.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<body>
+<table cellpadding="0" cellspacing="0">
+ <tr>
+ <td rowspan="2">
+ Sidebar <br />
+ an unused link <br />
+ next unused link <br />
+ </td>
+ <td>
+ content <br />
+ more content
+ <script type="text/javascript">
+ document.body.offsetWidth;
+ </script>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ no yes no yes
+ </td>
+ </tr>
+</table>
+</body>
+</html>
+
+
diff --git a/layout/reftests/table-anonymous-boxes/443616-1b.html b/layout/reftests/table-anonymous-boxes/443616-1b.html
new file mode 100644
index 0000000000..034603112b
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/443616-1b.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<body>
+<table cellpadding="0" cellspacing="0">
+ <tr>
+ <td rowspan="2">
+ Sidebar <br />
+ an unused link <br />
+ next unused link <br />
+ </td>
+ <td>
+ content <br />
+ more content
+ <script type="text/javascript">
+ document.body.offsetWidth;
+ </script>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ no yes no yes
+ </td>
+ </tr>
+</table>
+</body>
+</html>
+
+
diff --git a/layout/reftests/table-anonymous-boxes/448111-1-ref.html b/layout/reftests/table-anonymous-boxes/448111-1-ref.html
new file mode 100644
index 0000000000..4d654e35cb
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/448111-1-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<body>
+ <table border="1"><tr>
+ <td style="float: left; height: 200px">
+ </td>
+ <td style="float: right">
+ Right
+ </td></tr>
+ </table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/448111-1.html b/layout/reftests/table-anonymous-boxes/448111-1.html
new file mode 100644
index 0000000000..78cce4c669
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/448111-1.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+<body>
+ <table border="1"><tr>
+ <td style="float: left; height: 200px">
+ <script type="text/javascript">v = document.body.offsetHeight;</script>
+ </td>
+ <td style="float: right">
+ Right
+ </td></tr>
+ </table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/490174-1-ref.html b/layout/reftests/table-anonymous-boxes/490174-1-ref.html
new file mode 100644
index 0000000000..27090dd2d8
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/490174-1-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<head></head>
+<body>
+
+<div style="position:absolute; top: 50px; left: 50px; border: 2px solid orange;" id="v">
+ a
+ <select style="width: 200%">
+ <option style="visibility: collapse; overflow: auto; display: table-footer-group;">X</option>
+ </select>
+</div>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/490174-1.html b/layout/reftests/table-anonymous-boxes/490174-1.html
new file mode 100644
index 0000000000..5804fa833e
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/490174-1.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+<head></head>
+<body onload="document.getElementById('v').firstChild.data = ' a ';">
+
+<div style="position:absolute; top: 50px; left: 50px; border: 2px solid orange;" id="v">
+ <select style="width: 200%">
+ <option style="visibility: collapse; overflow: auto; display: table-footer-group;">X</option>
+ </select>
+</div>
+
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/695538-1-ref.html b/layout/reftests/table-anonymous-boxes/695538-1-ref.html
new file mode 100644
index 0000000000..00155267c6
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/695538-1-ref.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<style>
+:root {
+ border-collapse: collapse;
+ border-spacing: 1px;
+}
+.cell {
+ display: table-cell;
+ border: solid black;
+}
+.pre {
+ white-space: pre;
+ border: solid blue;
+}
+.table {
+ display: inline-table;
+}
+</style>
+<span class="pre"> <span class="table"><span class="cell">A</span>
+<span class="cell">B</span></span> </span>
+
diff --git a/layout/reftests/table-anonymous-boxes/695538-1.html b/layout/reftests/table-anonymous-boxes/695538-1.html
new file mode 100644
index 0000000000..16568885c8
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/695538-1.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<style>
+:root {
+ border-collapse: collapse;
+ border-spacing: 1px;
+}
+.cell {
+ display: table-cell;
+ border: solid black;
+}
+.pre {
+ white-space: pre;
+ border: solid blue;
+}
+</style>
+<span class="pre"> <span class="cell">A</span>
+<span class="cell">B</span> </span>
+
diff --git a/layout/reftests/table-anonymous-boxes/blocks-divide-tables-1.html b/layout/reftests/table-anonymous-boxes/blocks-divide-tables-1.html
new file mode 100644
index 0000000000..a2628f7159
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/blocks-divide-tables-1.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace; white-space: nowrap">
+ <span style="display: block">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: block">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: block">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/blocks-divide-tables-2.html b/layout/reftests/table-anonymous-boxes/blocks-divide-tables-2.html
new file mode 100644
index 0000000000..987acae207
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/blocks-divide-tables-2.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace; white-space: nowrap">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: block">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/cols-test-1.html b/layout/reftests/table-anonymous-boxes/cols-test-1.html
new file mode 100644
index 0000000000..a4cfce0cab
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/cols-test-1.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display:table">
+ <span style="display: table-column; background: yellow"></span>
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ <span style="display: table-column; background: cyan"></span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-column; background: lime"></span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/cols-test-2.html b/layout/reftests/table-anonymous-boxes/cols-test-2.html
new file mode 100644
index 0000000000..836e76e659
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/cols-test-2.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display:table">
+ <span style="display: table-column; background: yellow"></span>
+ <span style="display: table-column; background: cyan"></span>
+ <span style="display: table-column; background: lime"></span>
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/cols-test-3.html b/layout/reftests/table-anonymous-boxes/cols-test-3.html
new file mode 100644
index 0000000000..4a1b099920
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/cols-test-3.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display:table">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-column; background: yellow"></span>
+ <span style="display: table-column; background: cyan"></span>
+ <span style="display: table-column; background: lime"></span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-abs-pos-tbody-ref.html b/layout/reftests/table-anonymous-boxes/dynamic-abs-pos-tbody-ref.html
new file mode 100644
index 0000000000..0efe9b4bde
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-abs-pos-tbody-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Reftest for bug 398681</title>
+</head>
+<body>
+<table border=1>
+ <tbody style="position: absolute"><tr><td>1__</td></tr></tbody>
+ <tbody><tr><td>__2</td></tr></tbody>
+</table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-abs-pos-tbody.html b/layout/reftests/table-anonymous-boxes/dynamic-abs-pos-tbody.html
new file mode 100644
index 0000000000..d2b17e9908
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-abs-pos-tbody.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes (Mozilla bug 398681)</title>
+ <link rel="author" title="Jesse Ruderman" href="mailto:jruderman@gmail.com" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+</head>
+<body onload="document.getElementById('n').style.position = 'absolute';">
+<table border=1>
+ <tbody id="n"><tr><td>1__</td></tr></tbody>
+ <tbody><tr><td>__2</td></tr></tbody>
+</table>
+</body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-insert-cell-1.html b/layout/reftests/table-anonymous-boxes/dynamic-insert-cell-1.html
new file mode 100644
index 0000000000..0af7cce20a
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-insert-cell-1.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var c = document.createElement("span");
+ c.style.display = "table-cell";
+ c.textContent = "Row 22, Col 1";
+ var t = document.getElementById("t");
+ t.parentNode.insertBefore(c, t);
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-cell" id="t">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-1.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-1.html
new file mode 100644
index 0000000000..2949b3f2ac
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-1.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span id="t">To be removed</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-10.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-10.html
new file mode 100644
index 0000000000..f7008c2cdc
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-10.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <span>
+ <span>a</span><span id="t" style="display: table-column-group"></span>
+ <span style="display: table-column-group"></span><span>bc d</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-11.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-11.html
new file mode 100644
index 0000000000..6968d3650a
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-11.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <span>
+ <span>a</span><span id="t" style="display: table-caption"></span>
+ <span style="display: table-caption"></span><span>bc d</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-12.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-12.html
new file mode 100644
index 0000000000..fdf330b180
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-12.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <div>
+ <span>a b</span><span id="t" style="display: table-row"></span><span>c d</span>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-13.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-13.html
new file mode 100644
index 0000000000..fa3393e37c
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-13.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span id="t" style="position: absolute">To be removed</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-14.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-14.html
new file mode 100644
index 0000000000..6fca4f3b2a
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-14.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ try {
+ document.normalize();
+ } catch(e) {}
+ var n = document.getElementById("t").nextSibling;
+ n.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row" id="t">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>This is a test<span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-15.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-15.html
new file mode 100644
index 0000000000..a9dff0806e
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-15.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var n = document.getElementById("t");
+ n.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span id="t">To be removed</span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-16.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-16.html
new file mode 100644
index 0000000000..9d717a0126
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-16.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span id="t">To be removed</span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-17.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-17.html
new file mode 100644
index 0000000000..bd43db69fe
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-17.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var n = document.getElementById("t");
+ n.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span id="t">To be removed</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-2.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-2.html
new file mode 100644
index 0000000000..8c04111ae2
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-2.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span id="t" style="display: table-cell">To be removed</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-3.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-3.html
new file mode 100644
index 0000000000..d8b381d38f
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-3.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span id="t" style="display: table-row">To be removed</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-4.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-4.html
new file mode 100644
index 0000000000..3558445f6f
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-4.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span id="t" style="display: table-row-group">To be removed</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-5.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-5.html
new file mode 100644
index 0000000000..611fa10bec
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-5.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span id="t" style="display: table">To be removed</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-6.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-6.html
new file mode 100644
index 0000000000..3ae8d9a68d
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-6.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span id="t" style="display: table-column">To be removed</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-7.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-7.html
new file mode 100644
index 0000000000..d787b510af
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-7.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span id="t" style="display: table-column-group">To be removed</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-8.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-8.html
new file mode 100644
index 0000000000..261dc56b30
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-8.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span id="t" style="display: table-caption">To be removed</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-removal-9.html b/layout/reftests/table-anonymous-boxes/dynamic-removal-9.html
new file mode 100644
index 0000000000..4b05b70344
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-removal-9.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <div>
+ <span>a b</span><span id="t" style="display: table-cell"></span><span>c d</span>
+ </div>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-1.html b/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-1.html
new file mode 100644
index 0000000000..6a621785dc
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: block" id="t">Row 333, Col 1</span>
+ <span style="display: block">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-2.html b/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-2.html
new file mode 100644
index 0000000000..4e3f460ff0
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: block">Row 333, Col 1</span>
+ <span style="display: block" id="t">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-3.html b/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-3.html
new file mode 100644
index 0000000000..084c0ef9d1
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: block">Row 333, Col 1</span>
+ <span style="display: block" id="t">Row 333, Col 2</span>
+ <span style="display: block">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-4.html b/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-4.html
new file mode 100644
index 0000000000..058902530f
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: block" id="t">Row 333, Col 2</span>
+ <span style="display: block">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-5.html b/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-5.html
new file mode 100644
index 0000000000..ace0335d74
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-switch-block-to-cell-5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: block">Row 333, Col 2</span>
+ <span style="display: block" id="t">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-1.html b/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-1.html
new file mode 100644
index 0000000000..c2472317b5
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row">
+ <span id="t">Row 1, Col 1</span>
+ <span>Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-2.html b/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-2.html
new file mode 100644
index 0000000000..91e39bca4e
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row">
+ <span>Row 1, Col 1</span>
+ <span id="t">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-3.html b/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-3.html
new file mode 100644
index 0000000000..8053f3aad1
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row">
+ <span>Row 1, Col 1</span>
+ <span id="t">Row 1, Col 2</span>
+ <span>Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-4.html b/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-4.html
new file mode 100644
index 0000000000..34953d9530
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span id="t">Row 1, Col 2</span>
+ <span>Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-5.html b/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-5.html
new file mode 100644
index 0000000000..217bbdaad6
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/dynamic-switch-inline-to-cell-5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ document.getElementById("t").style.display = "table-cell";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display:table">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span>Row 1, Col 2</span>
+ <span id="t">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-cells-1.html b/layout/reftests/table-anonymous-boxes/infer-cells-1.html
new file mode 100644
index 0000000000..4d5b078add
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-cells-1.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace; white-space: nowrap">
+ <!-- The test in the first row might not be correct, depending on spec
+ clarifications -->
+ <span style="display: table-row">
+ <span>Row 1,</span>
+ <span>Col 1Row 1,</span>
+ <span>Col 2Row 1,</span>
+ <span>Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: block">Row 22, Col 1Row 22, Col 2Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span>Row 333, Col 1</span><span>Row 333, Col 2</span><span>Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-cells-2.html b/layout/reftests/table-anonymous-boxes/infer-cells-2.html
new file mode 100644
index 0000000000..a5816c92cf
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-cells-2.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-row">
+ <!-- Trailing spaces in the spans needed only if the first test in
+ infer-cells-1.html is valid -->
+ <span>Row 1, </span>
+ <span>Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span>Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span>Row </span>
+ <span>22, </span>
+ <span>Col </span>
+ <span>2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span>Row </span>
+ <span>333, </span>
+ <span>Col </span>
+ <span>3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-cells-3.html b/layout/reftests/table-anonymous-boxes/infer-cells-3.html
new file mode 100644
index 0000000000..ae6b13a9ce
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-cells-3.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-row">
+ <!-- Trailing spaces in the spans needed only if the first test in
+ infer-cells-1.html is valid -->
+ <span>Row 1, </span>
+ <span>Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-row">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span>Row </span>
+ <span>22, </span>
+ <span>Col </span>
+ <span>2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-row-group">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span>Row </span>
+ <span>333, </span>
+ <span>Col </span>
+ <span>3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-cells-4.html b/layout/reftests/table-anonymous-boxes/infer-cells-4.html
new file mode 100644
index 0000000000..56d66f2aef
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-cells-4.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-row">
+ <!-- Trailing spaces in the spans needed only if the first test in
+ infer-cells-1.html is valid -->
+ <span>Row 1, </span>
+ <span>Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span>Row </span>
+ <span>22, </span>
+ <span>Col </span>
+ <span>2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: inline-table">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span>Row </span>
+ <span>333, </span>
+ <span>Col </span>
+ <span>3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-first-row-and-table.html b/layout/reftests/table-anonymous-boxes/infer-first-row-and-table.html
new file mode 100644
index 0000000000..456e0c837e
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-first-row-and-table.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-first-row.html b/layout/reftests/table-anonymous-boxes/infer-first-row.html
new file mode 100644
index 0000000000..7065a5d6dc
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-first-row.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display:table">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-rows-inside-rowgroups.html b/layout/reftests/table-anonymous-boxes/infer-rows-inside-rowgroups.html
new file mode 100644
index 0000000000..5c40645a24
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-rows-inside-rowgroups.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-footer-group">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-header-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-second-row-and-table.html b/layout/reftests/table-anonymous-boxes/infer-second-row-and-table.html
new file mode 100644
index 0000000000..7c3098b8ce
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-second-row-and-table.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-second-row.html b/layout/reftests/table-anonymous-boxes/infer-second-row.html
new file mode 100644
index 0000000000..e01fdfaddc
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-second-row.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display:table">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-1.html b/layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-1.html
new file mode 100644
index 0000000000..af995c2e65
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-1.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-header-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-footer-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-2.html b/layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-2.html
new file mode 100644
index 0000000000..121791b0e9
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-2.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-header-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-footer-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-3.html b/layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-3.html
new file mode 100644
index 0000000000..d1c6095250
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-table-around-headers-footers-3.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-footer-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-header-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/infer-table-row-cell.html b/layout/reftests/table-anonymous-boxes/infer-table-row-cell.html
new file mode 100644
index 0000000000..4651f15d5d
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-table-row-cell.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-row-group">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: block">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ </span>
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
+
+
+
diff --git a/layout/reftests/table-anonymous-boxes/infer-table.html b/layout/reftests/table-anonymous-boxes/infer-table.html
new file mode 100644
index 0000000000..0505d1cc28
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/infer-table.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body style="font-family: monospace">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/reftest.list b/layout/reftests/table-anonymous-boxes/reftest.list
new file mode 100644
index 0000000000..03468ebb1a
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/reftest.list
@@ -0,0 +1,115 @@
+== 121142-1a.html 121142-1-ref.html
+== 121142-1b.html 121142-1-ref.html
+== 121142-2.html 121142-2-ref.html
+== 156888-1.html 156888-1-ref.html
+fuzzy(0-1,0-2) == 156888-2.html 156888-2-ref.html
+== 162063-1.xhtml about:blank
+== 203923-1.html white-space-ref.html
+== 203923-2.html white-space-ref.html
+== 208305-1.html 208305-1-ref.html
+== 208305-2.html white-space-ref.html
+== 208305-3.html white-space-ref.html
+== 208305-4.html white-space-ref.html
+== 277995-1.html 277995-1-ref.html
+fuzzy(0-1,0-6) == 293576-1.html 293576-1-ref.html
+== 302113-1.html 302113-1-ref.html
+fuzzy(0-1,0-6) == 315146-1.xhtml 315146-1-ref.xhtml
+== 325543-1a.html 325543-1-ref.html
+== 325543-1b.html 325543-1-ref.html
+fuzzy(0-1,0-6) == 338735-1.html 338735-1-ref.html
+fuzzy(0-1,0-6) == 339388-1a.html 339388-1-ref.html
+fuzzy(0-1,0-6) == 339388-1b.html 339388-1-ref.html
+== 363326-1.html 363326-1-ref.html
+== 368932-1.html 368932-1-ref.html
+== 371054-1.html 371054-1-ref.html
+== 372641-1a.xhtml 372641-1-ref.xhtml
+== 372641-1b.xhtml 372641-1-ref.xhtml
+== 372641-1c.xhtml 372641-1-ref.xhtml
+== 372649-1.html 372649-1-ref.html
+== 373379-1.html 373379-1-ref.html
+random-if(d2d) == 394402-1a.html 394402-1-ref.html # bug 586833
+== 394402-1b.html 394402-1-ref.html # bug 586833
+== 398095-1.html 398095-1-ref.html
+== 407115-1.html 407115-1-ref.html
+== 443616-1a.xhtml 443616-1-ref.html
+== 443616-1b.html 443616-1-ref.html
+== 448111-1.html 448111-1-ref.html
+fuzzy-if(winWidget,0-168,0-30) fuzzy-if(Android,0-4,0-2) == 490174-1.html 490174-1-ref.html # bug 1562840, bug 1511300
+== 695538-1.html 695538-1-ref.html
+== infer-first-row.html 3x3-ref.html
+== infer-first-row-and-table.html 3x3-ref.html
+== infer-second-row.html 3x3-ref.html
+== infer-second-row-and-table.html 3x3-ref.html
+== infer-table-around-headers-footers-1.html 3x3-ref.html
+== infer-table-around-headers-footers-2.html 3x3-ref.html
+== infer-table-around-headers-footers-3.html 3x3-ref.html
+== infer-rows-inside-rowgroups.html 3x3-ref.html
+== infer-table-row-cell.html 3x3-ref.html # Or should it be? Spec is unclear.
+== infer-table.html 3x3-ref.html
+!= 3-tables-ref.html 3x3-ref.html
+== 3-tables-ref.html 3-blocks-ref.html
+== blocks-divide-tables-1.html 3-tables-ref.html
+== blocks-divide-tables-2.html 3-tables-ref.html
+== infer-cells-1.html 3-tables-ref.html
+== infer-cells-2.html 3x3-ref.html
+== infer-cells-3.html 3x3-ref.html
+== infer-cells-4.html 3x3-ref.html
+== cols-test-1.html 3x3-cols-ref.html
+== cols-test-2.html 3x3-cols-ref.html
+== cols-test-3.html 3x3-cols-ref.html
+== dynamic-abs-pos-tbody.html dynamic-abs-pos-tbody-ref.html
+== dynamic-removal-1.html 3x3-ref.html
+== dynamic-removal-2.html 3x3-ref.html
+== dynamic-removal-3.html 3x3-ref.html
+== dynamic-removal-4.html 3x3-ref.html
+== dynamic-removal-5.html 3x3-ref.html
+== dynamic-removal-6.html 3x3-ref.html
+== dynamic-removal-7.html 3x3-ref.html
+== dynamic-removal-8.html 3x3-ref.html
+== dynamic-removal-9.html white-space-ref.html
+== dynamic-removal-10.html white-space-ref.html
+== dynamic-removal-11.html white-space-ref.html
+== dynamic-removal-12.html white-space-ref.html
+== dynamic-removal-13.html 3x3-ref.html
+== dynamic-removal-14.html 3x3-ref.html
+== dynamic-removal-15.html 3x3-ref.html
+== dynamic-removal-16.html 3x3-ref.html
+== dynamic-removal-17.html 3x3-ref.html
+== dynamic-insert-cell-1.html 3x3-ref.html
+== dynamic-switch-block-to-cell-1.html 3x3-ref.html
+== dynamic-switch-block-to-cell-2.html 3x3-ref.html
+== dynamic-switch-block-to-cell-3.html 3x3-ref.html
+== dynamic-switch-block-to-cell-4.html 3x3-ref.html
+== dynamic-switch-block-to-cell-5.html 3x3-ref.html
+== dynamic-switch-inline-to-cell-1.html 3x3-ref.html
+== dynamic-switch-inline-to-cell-2.html 3x3-ref.html
+== dynamic-switch-inline-to-cell-3.html 3x3-ref.html
+== dynamic-switch-inline-to-cell-4.html 3x3-ref.html
+== dynamic-switch-inline-to-cell-5.html 3x3-ref.html
+== white-space-1.html 3-tables-ref.html
+== white-space-2.html 3x3-ref.html
+== white-space-3.html 3x3-ref.html
+== white-space-4.html 3x3-ref.html
+== white-space-5.html 3x3-ref.html
+== white-space-6.html 3x3-ref.html
+== white-space-7.html white-space-ref.html
+== white-space-8.html white-space-ref.html
+== white-space-9.html white-space-ref.html
+== white-space-10.html white-space-ref.html
+== white-space-11.html white-space-ref.html
+== white-space-12.html white-space-ref.html
+== white-space-13.html white-space-ref.html
+== white-space-14.html white-space-ref.html
+== white-space-15.html white-space-ref.html
+== white-space-16.html white-space-ref.html
+== white-space-17.html white-space-ref.html
+== white-space-18.html white-space-ref.html
+== white-space-19.html white-space-ref.html
+== white-space-20.html white-space-ref.html
+== white-space-21.html white-space-ref.html
+== white-space-22.html white-space-ref.html
+== white-space-23.html white-space-ref.html
+== white-space-24.html white-space-ref.html
+== white-space-25.html white-space-ref.html
+== white-space-26.html white-space-ref.html
+== white-space-pre-1.html white-space-pre-ref.html
diff --git a/layout/reftests/table-anonymous-boxes/white-space-1.html b/layout/reftests/table-anonymous-boxes/white-space-1.html
new file mode 100644
index 0000000000..2a0d232b94
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-1.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var n = document.getElementById("t").nextSibling;
+ n.data = "Row 22, Col 1Row 22, Col 2Row 22, Col 3";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace; white-space: nowrap" onload="doTest()">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell" id="t">Row 1, Col 3</span>
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-10.html b/layout/reftests/table-anonymous-boxes/white-space-10.html
new file mode 100644
index 0000000000..a41c962426
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-10.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t1");
+ t.remove();
+ t = document.getElementById("t2");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <span>
+ <span>a</span><span style="display: table-cell" id="t1">e</span>
+ <span style="display: table-cell" id="t2">f</span><span>bc d</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-11.html b/layout/reftests/table-anonymous-boxes/white-space-11.html
new file mode 100644
index 0000000000..3a6ba63cf1
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-11.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t1");
+ t.remove();
+ t = document.getElementById("t2");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <span>
+ <span>a</span><span style="display: table-cell" id="t2">e</span>
+ <span style="display: table-cell" id="t1">f</span><span>bc d</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-12.html b/layout/reftests/table-anonymous-boxes/white-space-12.html
new file mode 100644
index 0000000000..eac8a36771
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-12.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body>
+ <span>
+ a
+ <span style="display: table-cell">b</span><span style="display: table-cell">c</span>
+ d
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-13.html b/layout/reftests/table-anonymous-boxes/white-space-13.html
new file mode 100644
index 0000000000..f1204a9fad
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-13.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body>
+ <span>
+ a
+ <span style="display: table-cell">b</span>
+ <span style="display: table-cell">c</span>
+ d
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-14.html b/layout/reftests/table-anonymous-boxes/white-space-14.html
new file mode 100644
index 0000000000..0d4706c497
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-14.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <style>
+ #t:after { content: "d" }
+ </style>
+ </head>
+ <body>
+ <span id="t">
+ a
+ <span style="display: table-cell">b</span><span style="display: table-cell">c</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-15.html b/layout/reftests/table-anonymous-boxes/white-space-15.html
new file mode 100644
index 0000000000..016e1032b6
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-15.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <style>
+ #t:after { content: "d" }
+ </style>
+ </head>
+ <body>
+ <span id="t">
+ a
+ <span style="display: table-cell">b</span>
+ <span style="display: table-cell">c</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-16.html b/layout/reftests/table-anonymous-boxes/white-space-16.html
new file mode 100644
index 0000000000..036cf04d5e
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-16.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <style>
+ #t:after { content: "d" }
+ </style>
+ </head>
+ <body>
+ <span id="t">
+ a
+ <span style="display: table-cell">b</span><script>document.body.offsetWidth</script><span style="display: table-cell">c</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-17.html b/layout/reftests/table-anonymous-boxes/white-space-17.html
new file mode 100644
index 0000000000..f5bf15c2a0
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-17.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <style>
+ #t:after { content: "d" }
+ </style>
+ </head>
+ <body>
+ <span id="t">
+ a
+ <span style="display: table-cell">b</span>
+ <script>document.body.offsetWidth</script>
+ <span style="display: table-cell">c</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-18.html b/layout/reftests/table-anonymous-boxes/white-space-18.html
new file mode 100644
index 0000000000..d6a8d3c571
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-18.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <style>
+ #t:before { content: "a" }
+ </style>
+ </head>
+ <body>
+ <span id="t">
+ <span style="display: table-cell">b</span><span style="display: table-cell">c</span>
+ d
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-19.html b/layout/reftests/table-anonymous-boxes/white-space-19.html
new file mode 100644
index 0000000000..dc80d23671
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-19.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <style>
+ #t:before { content: "a" }
+ </style>
+ </head>
+ <body>
+ <span id="t">
+ <span style="display: table-cell">b</span>
+ <span style="display: table-cell">c</span>
+ d
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-2.html b/layout/reftests/table-anonymous-boxes/white-space-2.html
new file mode 100644
index 0000000000..1fc0528978
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-2.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ try {
+ document.normalize();
+ } catch (e) {}
+ var n = document.getElementById("t").nextSibling;
+ n.data = " ";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row" id="t">
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>This is a test<span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-20.html b/layout/reftests/table-anonymous-boxes/white-space-20.html
new file mode 100644
index 0000000000..bc8aad7727
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-20.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <style>
+ #t:before { content: "a" }
+ </style>
+ </head>
+ <body>
+ <span id="t">
+ <span style="display: table-cell">b</span><script>document.body.offsetWidth</script><span style="display: table-cell">c</span>
+ d
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-21.html b/layout/reftests/table-anonymous-boxes/white-space-21.html
new file mode 100644
index 0000000000..b6611f1990
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-21.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <style>
+ #t:before { content: "a" }
+ </style>
+ </head>
+ <body>
+ <span id="t">
+ <span style="display: table-cell">b</span>
+ <script>document.body.offsetWidth</script>
+ <span style="display: table-cell">c</span>
+ d
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-22.html b/layout/reftests/table-anonymous-boxes/white-space-22.html
new file mode 100644
index 0000000000..c8ed38a99d
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-22.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body>
+ <span style="display:table-row; white-space: pre"><span style="display: table-cell">a</span> bc <span style="display: table-cell">d</span></span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-23.html b/layout/reftests/table-anonymous-boxes/white-space-23.html
new file mode 100644
index 0000000000..ff94ffde7e
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-23.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body>
+ <span style="display:table-row; white-space: pre"><span style="display: table-cell">a</span> <span>bc</span> <span style="display: table-cell">d</span></span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-24.html b/layout/reftests/table-anonymous-boxes/white-space-24.html
new file mode 100644
index 0000000000..bec46b1b05
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-24.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body>
+ <span style="display:table-row; white-space: pre"><span style="display: table-cell">a</span> <script>document.body.offsetWidth</script>bc<script>document.body.offsetWidth</script> <span style="display: table-cell">d</span></span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-25.html b/layout/reftests/table-anonymous-boxes/white-space-25.html
new file mode 100644
index 0000000000..1364d109f1
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-25.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ var parent = t.parentNode;
+ parent.insertBefore(document.createTextNode(" "), t);
+ parent.insertBefore(document.createTextNode("bc"), t);
+ parent.insertBefore(document.createTextNode(" "), t);
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <span style="display:table-row; white-space: pre"><span style="display: table-cell">a</span><span id="t" style="display: table-cell">d</span></span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-26.html b/layout/reftests/table-anonymous-boxes/white-space-26.html
new file mode 100644
index 0000000000..cd415196bb
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-26.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <style>
+ #t:after { display: table-cell; content: "d"; }
+ </style>
+ </head>
+ <body>
+ <span id="t">
+ a<script>document.body.offsetWidth;</script> <span style="display: table-cell; white-space: pre">bc </span></span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-3.html b/layout/reftests/table-anonymous-boxes/white-space-3.html
new file mode 100644
index 0000000000..d92c457d01
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-3.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ try {
+ document.normalize();
+ } catch (e) {}
+ var n = document.getElementById("t").nextSibling;
+ n.data = " ";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell" id="t">Row 22, Col 1</span>This is a test<span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ </span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-4.html b/layout/reftests/table-anonymous-boxes/white-space-4.html
new file mode 100644
index 0000000000..c2aa6690ad
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-4.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var n = document.getElementById("t").nextSibling;
+ n.data = "Row 22, Col 1";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-row" id="t">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-cell">Row 22, Col 2</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-5.html b/layout/reftests/table-anonymous-boxes/white-space-5.html
new file mode 100644
index 0000000000..41ecc7683f
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-5.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var n = document.getElementById("t").nextSibling;
+ n.data = "Row 22, Col 2";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-cell" id="t">Row 22, Col 1</span>
+ <span style="display: table-cell">Row 22, Col 3</span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-6.html b/layout/reftests/table-anonymous-boxes/white-space-6.html
new file mode 100644
index 0000000000..291633ea62
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-6.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var n = document.getElementById("t").nextSibling;
+ n.data = "Row 22, Col 3";
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body style="font-family: monospace" onload="doTest()">
+ <span style="display: table-row-group">
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 1, Col 1</span>
+ <span style="display: table-cell">Row 1, Col 2</span>
+ <span style="display: table-cell">Row 1, Col 3</span>
+ </span>
+ <span style="display: table-cell">Row 22, Col 1</span>
+ <span style="display: table-cell" id="t">Row 22, Col 2</span>
+ <span style="display: table-row">
+ <span style="display: table-cell">Row 333, Col 1</span>
+ <span style="display: table-cell">Row 333, Col 2</span>
+ <span style="display: table-cell">Row 333, Col 3</span>
+ </span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-7.html b/layout/reftests/table-anonymous-boxes/white-space-7.html
new file mode 100644
index 0000000000..9a249226d2
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-7.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML>
+<html>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="" />
+ <body>
+ <span>
+ <span>a</span>
+ <span style="display: table-cell">b</span>
+ <span style="display: table-cell">c</span>
+ <span>d</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-8.html b/layout/reftests/table-anonymous-boxes/white-space-8.html
new file mode 100644
index 0000000000..97150b7921
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-8.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <span>
+ <span>a</span><span style="display: table-cell" id="t">e</span>
+ <span style="display: table-cell">b</span><span>c d</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-9.html b/layout/reftests/table-anonymous-boxes/white-space-9.html
new file mode 100644
index 0000000000..9055431ad5
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-9.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <script>
+ function doTest() {
+ var t = document.getElementById("t");
+ t.remove();
+ document.documentElement.className = "";
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <span>
+ <span>a b</span><span style="display: table-cell">c</span>
+ <span style="display: table-cell" id="t">e</span><span>d</span>
+ </span>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-pre-1.html b/layout/reftests/table-anonymous-boxes/white-space-pre-1.html
new file mode 100644
index 0000000000..d71dc40ba4
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-pre-1.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS 2.1 Test Suite: anonymous table boxes</title>
+ <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
+ <meta name="flags" content="dom" />
+ <style>
+ #x:after { content: " cd"; display: table-cell; }
+ </style>
+ <script>
+ function doTest() {
+ var f = document.getElementById("f");
+ f.remove();
+ }
+ </script>
+ </head>
+ <body onload="doTest()">
+ <div style="font-family: monospace; width: 10em; white-space: pre-wrap"><span id="f" style="float: left; width: 80%; height: 0.5em"></span><span id="x">a <script>document.body.offsetWidth;</script> <span style="display: table-cell">b</span></span></div>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-pre-ref.html b/layout/reftests/table-anonymous-boxes/white-space-pre-ref.html
new file mode 100644
index 0000000000..5102d16232
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-pre-ref.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <div style="font-family: monospace; white-space: pre-wrap">a b cd</div>
+ </body>
+</html>
diff --git a/layout/reftests/table-anonymous-boxes/white-space-ref.html b/layout/reftests/table-anonymous-boxes/white-space-ref.html
new file mode 100644
index 0000000000..eeb70fc0f9
--- /dev/null
+++ b/layout/reftests/table-anonymous-boxes/white-space-ref.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML>
+<html>
+ <body>
+ a bc d
+ </body>
+</html>