+2006-03-16 Beth Dakin <bdakin@apple.com>
+
+ Rubber stamped by Geoff.
+
+ Adding more mozilla table tests.
+
+ * tables/mozilla/dom: Added.
+ * tables/mozilla/dom/appendCol2-expected.checksum: Added.
+ * tables/mozilla/dom/appendCol2-expected.png: Added.
+ * tables/mozilla/dom/appendCol2-expected.txt: Added.
+ * tables/mozilla/dom/appendCol2.html: Added.
+ * tables/mozilla/dom/appendRowsExpand1-expected.checksum: Added.
+ * tables/mozilla/dom/appendRowsExpand1-expected.png: Added.
+ * tables/mozilla/dom/appendRowsExpand1-expected.txt: Added.
+ * tables/mozilla/dom/appendRowsExpand1.html: Added.
+ * tables/mozilla/dom/appendTbodyExpand1-expected.checksum: Added.
+ * tables/mozilla/dom/appendTbodyExpand1-expected.png: Added.
+ * tables/mozilla/dom/appendTbodyExpand1-expected.txt: Added.
+ * tables/mozilla/dom/appendTbodyExpand1.html: Added.
+ * tables/mozilla/dom/deleteCellsRebuild1-expected.checksum: Added.
+ * tables/mozilla/dom/deleteCellsRebuild1-expected.png: Added.
+ * tables/mozilla/dom/deleteCellsRebuild1-expected.txt: Added.
+ * tables/mozilla/dom/deleteCellsRebuild1.html: Added.
+ * tables/mozilla/dom/deleteCellsShrink1-expected.checksum: Added.
+ * tables/mozilla/dom/deleteCellsShrink1-expected.png: Added.
+ * tables/mozilla/dom/deleteCellsShrink1-expected.txt: Added.
+ * tables/mozilla/dom/deleteCellsShrink1.html: Added.
+ * tables/mozilla/dom/deleteCellsShrink2-expected.checksum: Added.
+ * tables/mozilla/dom/deleteCellsShrink2-expected.png: Added.
+ * tables/mozilla/dom/deleteCellsShrink2-expected.txt: Added.
+ * tables/mozilla/dom/deleteCellsShrink2.html: Added.
+ * tables/mozilla/dom/deleteCol1-expected.checksum: Added.
+ * tables/mozilla/dom/deleteCol1-expected.png: Added.
+ * tables/mozilla/dom/deleteCol1-expected.txt: Added.
+ * tables/mozilla/dom/deleteCol1.html: Added.
+ * tables/mozilla/dom/deleteCol2-expected.checksum: Added.
+ * tables/mozilla/dom/deleteCol2-expected.png: Added.
+ * tables/mozilla/dom/deleteCol2-expected.txt: Added.
+ * tables/mozilla/dom/deleteCol2.html: Added.
+ * tables/mozilla/dom/deleteCol3-expected.checksum: Added.
+ * tables/mozilla/dom/deleteCol3-expected.png: Added.
+ * tables/mozilla/dom/deleteCol3-expected.txt: Added.
+ * tables/mozilla/dom/deleteCol3.html: Added.
+ * tables/mozilla/dom/deleteColGroup1-expected.checksum: Added.
+ * tables/mozilla/dom/deleteColGroup1-expected.png: Added.
+ * tables/mozilla/dom/deleteColGroup1-expected.txt: Added.
+ * tables/mozilla/dom/deleteColGroup1.html: Added.
+ * tables/mozilla/dom/deleteColGroup2-expected.checksum: Added.
+ * tables/mozilla/dom/deleteColGroup2-expected.png: Added.
+ * tables/mozilla/dom/deleteColGroup2-expected.txt: Added.
+ * tables/mozilla/dom/deleteColGroup2.html: Added.
+ * tables/mozilla/dom/deleteRowsRebuild1-expected.checksum: Added.
+ * tables/mozilla/dom/deleteRowsRebuild1-expected.png: Added.
+ * tables/mozilla/dom/deleteRowsRebuild1-expected.txt: Added.
+ * tables/mozilla/dom/deleteRowsRebuild1.html: Added.
+ * tables/mozilla/dom/deleteRowsShrink1-expected.checksum: Added.
+ * tables/mozilla/dom/deleteRowsShrink1-expected.png: Added.
+ * tables/mozilla/dom/deleteRowsShrink1-expected.txt: Added.
+ * tables/mozilla/dom/deleteRowsShrink1.html: Added.
+ * tables/mozilla/dom/deleteTbodyExpand1-expected.checksum: Added.
+ * tables/mozilla/dom/deleteTbodyExpand1-expected.png: Added.
+ * tables/mozilla/dom/deleteTbodyExpand1-expected.txt: Added.
+ * tables/mozilla/dom/deleteTbodyExpand1.html: Added.
+ * tables/mozilla/dom/deleteTbodyRebuild1-expected.checksum: Added.
+ * tables/mozilla/dom/deleteTbodyRebuild1-expected.png: Added.
+ * tables/mozilla/dom/deleteTbodyRebuild1-expected.txt: Added.
+ * tables/mozilla/dom/deleteTbodyRebuild1.html: Added.
+ * tables/mozilla/dom/insertCellsExpand1-expected.checksum: Added.
+ * tables/mozilla/dom/insertCellsExpand1-expected.png: Added.
+ * tables/mozilla/dom/insertCellsExpand1-expected.txt: Added.
+ * tables/mozilla/dom/insertCellsExpand1.html: Added.
+ * tables/mozilla/dom/insertCellsExpand2-expected.checksum: Added.
+ * tables/mozilla/dom/insertCellsExpand2-expected.png: Added.
+ * tables/mozilla/dom/insertCellsExpand2-expected.txt: Added.
+ * tables/mozilla/dom/insertCellsExpand2.html: Added.
+ * tables/mozilla/dom/insertCellsRebuild1-expected.checksum: Added.
+ * tables/mozilla/dom/insertCellsRebuild1-expected.png: Added.
+ * tables/mozilla/dom/insertCellsRebuild1-expected.txt: Added.
+ * tables/mozilla/dom/insertCellsRebuild1.html: Added.
+ * tables/mozilla/dom/insertCellsRebuild2-expected.checksum: Added.
+ * tables/mozilla/dom/insertCellsRebuild2-expected.png: Added.
+ * tables/mozilla/dom/insertCellsRebuild2-expected.txt: Added.
+ * tables/mozilla/dom/insertCellsRebuild2.html: Added.
+ * tables/mozilla/dom/insertColGroups1-expected.checksum: Added.
+ * tables/mozilla/dom/insertColGroups1-expected.png: Added.
+ * tables/mozilla/dom/insertColGroups1-expected.txt: Added.
+ * tables/mozilla/dom/insertColGroups1.html: Added.
+ * tables/mozilla/dom/insertColGroups2-expected.checksum: Added.
+ * tables/mozilla/dom/insertColGroups2-expected.png: Added.
+ * tables/mozilla/dom/insertColGroups2-expected.txt: Added.
+ * tables/mozilla/dom/insertColGroups2.html: Added.
+ * tables/mozilla/dom/insertCols1-expected.checksum: Added.
+ * tables/mozilla/dom/insertCols1-expected.png: Added.
+ * tables/mozilla/dom/insertCols1-expected.txt: Added.
+ * tables/mozilla/dom/insertCols1.html: Added.
+ * tables/mozilla/dom/insertCols2-expected.checksum: Added.
+ * tables/mozilla/dom/insertCols2-expected.png: Added.
+ * tables/mozilla/dom/insertCols2-expected.txt: Added.
+ * tables/mozilla/dom/insertCols2.html: Added.
+ * tables/mozilla/dom/insertCols3-expected.checksum: Added.
+ * tables/mozilla/dom/insertCols3-expected.png: Added.
+ * tables/mozilla/dom/insertCols3-expected.txt: Added.
+ * tables/mozilla/dom/insertCols3.html: Added.
+ * tables/mozilla/dom/insertCols4-expected.checksum: Added.
+ * tables/mozilla/dom/insertCols4-expected.png: Added.
+ * tables/mozilla/dom/insertCols4-expected.txt: Added.
+ * tables/mozilla/dom/insertCols4.html: Added.
+ * tables/mozilla/dom/insertCols5-expected.checksum: Added.
+ * tables/mozilla/dom/insertCols5-expected.png: Added.
+ * tables/mozilla/dom/insertCols5-expected.txt: Added.
+ * tables/mozilla/dom/insertCols5.html: Added.
+ * tables/mozilla/dom/insertRowsExpand1-expected.checksum: Added.
+ * tables/mozilla/dom/insertRowsExpand1-expected.png: Added.
+ * tables/mozilla/dom/insertRowsExpand1-expected.txt: Added.
+ * tables/mozilla/dom/insertRowsExpand1.html: Added.
+ * tables/mozilla/dom/insertRowsRebuild1-expected.checksum: Added.
+ * tables/mozilla/dom/insertRowsRebuild1-expected.png: Added.
+ * tables/mozilla/dom/insertRowsRebuild1-expected.txt: Added.
+ * tables/mozilla/dom/insertRowsRebuild1.html: Added.
+ * tables/mozilla/dom/tableDom-expected.checksum: Added.
+ * tables/mozilla/dom/tableDom-expected.png: Added.
+ * tables/mozilla/dom/tableDom-expected.txt: Added.
+ * tables/mozilla/dom/tableDom.html: Added.
+ * tables/mozilla/dom/tableDom.js: Added.
+ * tables/mozilla_expected_failures/dom: Added.
+ * tables/mozilla_expected_failures/dom/appendCells1-expected.checksum: Added.
+ * tables/mozilla_expected_failures/dom/appendCells1-expected.png: Added.
+ * tables/mozilla_expected_failures/dom/appendCells1-expected.txt: Added.
+ * tables/mozilla_expected_failures/dom/appendCells1.html: Added.
+ * tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.checksum: Added.
+ * tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.png: Added.
+ * tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt: Added.
+ * tables/mozilla_expected_failures/dom/appendCellsRebuild1.html: Added.
+ * tables/mozilla_expected_failures/dom/appendCol1-expected.checksum: Added.
+ * tables/mozilla_expected_failures/dom/appendCol1-expected.png: Added.
+ * tables/mozilla_expected_failures/dom/appendCol1-expected.txt: Added.
+ * tables/mozilla_expected_failures/dom/appendCol1.html: Added.
+ * tables/mozilla_expected_failures/dom/appendColGroup1-expected.checksum: Added.
+ * tables/mozilla_expected_failures/dom/appendColGroup1-expected.png: Added.
+ * tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt: Added.
+ * tables/mozilla_expected_failures/dom/appendColGroup1.html: Added.
+ * tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.checksum: Added.
+ * tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.png: Added.
+ * tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt: Added.
+ * tables/mozilla_expected_failures/dom/insertTbodyExpand1.html: Added.
+ * tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.checksum: Added.
+ * tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.png: Added.
+ * tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt: Added.
+ * tables/mozilla_expected_failures/dom/insertTbodyRebuild1.html: Added.
+
2006-03-15 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
--- /dev/null
+390ea22dd6714ad26a25d6066e9ae2d7
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 239x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 29x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (33,2) size 202x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 239x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 29x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (33,2) size 202x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,92) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var cg = document.getElementsByTagName("COLGROUP")[0];
+ var col = document.createElement("COL", null);
+ col.width = 200;
+ cg.appendChild(col);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <colgroup>
+ <col>
+ </colgroup>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <colgroup>
+ <col>
+ <col width=200>
+ </colgroup>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+bb711f9f2eac620a3c4de83fc06d7041
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x76 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x74
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,50) size 27x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X3"
+ RenderTableCell {TD} at (31,50) size 27x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X4"
+ RenderBlock (anonymous) at (0,94) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,112) size 62x76 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x74
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,50) size 27x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X3"
+ RenderTableCell {TD} at (31,50) size 27x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X4"
+ RenderBlock (anonymous) at (0,188) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var tbody = document.getElementsByTagName("TBODY")[0];
+ var row = document.createElement("TR", null);
+ appendCell(row, 1, 1);
+ appendCell(row, 1, 1);
+ tbody.appendChild(row);
+ row = document.createElement("TR", null);
+ appendCell(row, 1, 1);
+ appendCell(row, 1, 1);
+ tbody.appendChild(row);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>X1</td><td>X2</td>
+ </tr>
+ <tr>
+ <td>X3</td><td>X4</td>
+ </tr>
+</table>
+<BR>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+890a70c5513970870252b52b74a44625
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x54 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableSection {TBODY} at (1,27) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderBlock (anonymous) at (0,72) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,90) size 62x54 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableSection {TBODY} at (1,27) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderBlock (anonymous) at (0,144) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var rg = document.createElement("TBODY", null);
+ var row = document.createElement("TR");
+ appendCell(row, 1, 1);
+ appendCell(row, 1, 1);
+ rg.appendChild(row);
+ table.appendChild(rg);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <td>X1</td><td>X2</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+5cbf2eb4c50aa892ea267c5d68d3a39f
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 120x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,14) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c13"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCell {TD} at (60,26) size 27x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableCell {TD} at (89,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c23"
+ RenderBlock (anonymous) at (0,70) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,88) size 120x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,14) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c13"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCell {TD} at (60,26) size 27x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableCell {TD} at (89,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c23"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ deleteCellAt(0, 0);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td rowspan=2>c12</td><td>c13</td>
+ </tr>
+ <tr>
+ <td>c12</td><td>c22</td><td>c23</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td rowspan=2>c12</td><td>c13</td>
+ </tr>
+ <tr>
+ <td>c12</td><td>c22</td><td>c23</td>
+ </tr>
+</table>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+2c28f42cf5cbcc13c02a50d6339f4d21
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c13"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c13"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ deleteCellAt(0, 1);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td><td>c13</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c13</td>
+ </tr>
+</table>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+291b68ef56d725b96b810fa1ffa7c05a
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 91x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c13"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableCell {TD} at (60,26) size 27x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c23"
+ RenderBlock (anonymous) at (0,70) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,88) size 91x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c13"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableCell {TD} at (60,26) size 27x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c23"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ deleteCellAt(0, 1);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12 c12 c12 c12 c12</td><td>c13</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td><td>c23</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c13</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td><td>c23</td>
+ </tr>
+</table>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+f03271bd703fd2153317aa0db7b11f3b
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 549x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 202x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (206,2) size 302x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
+ RenderTableCell {TD} at (510,2) size 35x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 549x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 202x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (206,2) size 302x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
+ RenderTableCell {TD} at (510,2) size 35x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var col = document.getElementsByTagName("COL")[0];
+ table.removeChild(col);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <col width=100>
+ <col width=200>
+ <col width=300>
+ <tr>
+ <td>200</td><td>300</td><td>auto</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <col width=200>
+ <col width=300>
+ <tr>
+ <td>200</td><td>300</td><td>auto</td>
+ </tr>
+</table>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+aa7a19a96788105ce4861009d7d6affe
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 449x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 102x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (106,2) size 302x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
+ RenderTableCell {TD} at (410,2) size 35x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 449x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 102x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (106,2) size 302x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
+ RenderTableCell {TD} at (410,2) size 35x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var col = document.getElementsByTagName("COL")[1];
+ table.removeChild(col);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <col width=100>
+ <col width=200>
+ <col width=300>
+ <tr>
+ <td>100</td><td>300</td><td>auto</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <col width=100>
+ <col width=300>
+ <tr>
+ <td>100</td><td>300</td><td>auto</td>
+ </tr>
+</table>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+2f320f0f3b28a6a3bf9d893f7cc66fcc
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 349x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 102x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (106,2) size 202x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (310,2) size 35x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 349x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 102x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (106,2) size 202x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (310,2) size 35x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var col = document.getElementsByTagName("COL")[2];
+ table.removeChild(col);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <col width=100>
+ <col width=200>
+ <col width=300>
+ <tr>
+ <td>100</td><td>200</td><td>auto</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <col width=100>
+ <col width=200>
+ <tr>
+ <td>100</td><td>200</td><td>auto</td>
+ </tr>
+</table>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+e76d9b6707c3c253bf5112185b15b871
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 482x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 202x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (206,2) size 202x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (410,2) size 33x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderTableCell {TD} at (445,2) size 33x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 482x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 202x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (206,2) size 202x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (410,2) size 33x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderTableCell {TD} at (445,2) size 33x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderBlock (anonymous) at (0,92) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var colgroup = document.getElementsByTagName("COLGROUP")[0];
+ table.removeChild(colgroup);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <colgroup span=2 width=100></colgroup>
+ <colgroup span=2 width=200></colgroup>
+ <tr>
+ <td>200</td><td>200</td><td>auto</td><td>auto</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <colgroup span=2 width=200></colgroup>
+ <tr>
+ <td>200</td><td>200</td><td>auto</td><td>auto</td>
+ </tr>
+</table>
+<BR>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+5ab10eca201084605d28c032e9f2a1c1
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 282x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 102x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (106,2) size 102x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (210,2) size 33x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderTableCell {TD} at (245,2) size 33x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 282x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 102x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (106,2) size 102x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (210,2) size 33x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderTableCell {TD} at (245,2) size 33x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 27x18
+ text run at (2,2) width 27: "auto"
+ RenderBlock (anonymous) at (0,92) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var colgroup = document.getElementsByTagName("COLGROUP")[1];
+ table.removeChild(colgroup);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <colgroup span=2 width=100></colgroup>
+ <colgroup span=2 width=200></colgroup>
+ <tr>
+ <td>100</td><td>100</td><td>auto</td><td>auto</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <colgroup span=2 width=100></colgroup>
+ <tr>
+ <td>100</td><td>100</td><td>auto</td><td>auto</td>
+ </tr>
+</table>
+<BR>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+2c4500e2ebaeaa7b2994f662c3b714f6
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderBlock (anonymous) at (0,92) size 784x36
+ RenderBR {BR} at (0,0) size 0x18
+ RenderText {TEXT} at (0,18) size 214x18
+ text run at (0,18) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,128) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,156) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,174) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ deleteRowAt(0, 0);
+ deleteRowAt(2, 1);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td rowspan=2>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+</table>
+<BR>
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td rowspan=2>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td rowspan=2>c11</td><td>c12</td>
+ </tr>
+</table>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+2c4500e2ebaeaa7b2994f662c3b714f6
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderBlock (anonymous) at (0,92) size 784x36
+ RenderBR {BR} at (0,0) size 0x18
+ RenderText {TEXT} at (0,18) size 214x18
+ text run at (0,18) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,128) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,156) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,174) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ deleteRowAt(0, 0);
+ deleteRowAt(2, 1);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+</table>
+<BR>
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+</table>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+06a1570c2eda859a9a19914bd4440c0b
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c41"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c42"
+ RenderBlock (anonymous) at (0,70) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,88) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c41"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c42"
+ RenderBlock (anonymous) at (0,140) size 784x36
+ RenderBR {BR} at (0,0) size 0x18
+ RenderText {TEXT} at (0,18) size 214x18
+ text run at (0,18) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,176) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderBlock (anonymous) at (0,228) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,246) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ deleteTbodyAt(0, 0);
+ deleteTbodyAt(2, 1);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <td>c31</td><td>c32</td>
+ </tr>
+ <tr>
+ <td>c41</td><td>c42</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c31</td><td>c32</td>
+ </tr>
+ <tr>
+ <td>c41</td><td>c42</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <td>c31</td><td>c32</td>
+ </tr>
+ <tr>
+ <td>c41</td><td>c42</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ </tbody>
+</table>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+68acb7d823ee4b08f65bad6d1ffaaad7
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x72
+ RenderText {TEXT} at (0,0) size 741x36
+ text run at (0,0) width 741: "It should never be the case that deleting a tbody causes a rebuild of the cell map since cells cannot span out of tbodies."
+ text run at (0,18) width 150: "However, this is a bug. "
+ RenderBR {BR} at (0,0) size 0x0
+ RenderBR {BR} at (0,36) size 0x18
+ RenderText {TEXT} at (0,54) size 214x18
+ text run at (0,54) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,72) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c41"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c42"
+ RenderBlock (anonymous) at (0,124) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,142) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c41"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c42"
+ RenderBlock (anonymous) at (0,194) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ deleteTbodyAt(0, 0);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+It should never be the case that deleting a tbody causes a rebuild
+of the cell map since cells cannot span out of tbodies. However, this is a bug.
+<BR><BR>
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td rowspan=2>c21</td><td>c22</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <td>c31</td><td>c32</td>
+ </tr>
+ <tr>
+ <td>c41</td><td>c42</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c31</td><td>c32</td>
+ </tr>
+ <tr>
+ <td>c41</td><td>c42</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+9bbe6e10373118edac7945abf0d46fb5
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 114x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 24x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableCell {TD} at (57,2) size 24x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (83,2) size 27x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 24x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X4"
+ RenderTableCell {TD} at (57,26) size 24x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X3"
+ RenderTableCell {TD} at (83,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderBlock (anonymous) at (0,70) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,88) size 114x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 24x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableCell {TD} at (57,2) size 24x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (83,2) size 27x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 24x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X4"
+ RenderTableCell {TD} at (57,26) size 24x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X3"
+ RenderTableCell {TD} at (83,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ insertCellAt(0, 1, 1, 1);
+ insertCellAt(0, 1, 1, 1);
+ insertCellAt(1, 1, 1, 1);
+ insertCellAt(1, 1, 1, 1);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>X2</td><td>X1</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>X4</td><td>X3</td><td>c22</td>
+ </tr>
+</table>
+
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+ed36329a8240427758c86d8009090cdb
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 120x76 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x74
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,14) size 56x22 [border: (1px inset #808080)] [r=0 c=1 rs=2 cs=2]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (89,2) size 27x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (89,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,50) size 27x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,50) size 27x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderTableCell {TD} at (60,50) size 27x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c33"
+ RenderTableCell {TD} at (89,50) size 27x22 [border: (1px inset #808080)] [r=2 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c34"
+ RenderBlock (anonymous) at (0,94) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,112) size 120x76 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x74
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,14) size 56x22 [border: (1px inset #808080)] [r=0 c=1 rs=2 cs=2]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (89,2) size 27x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (89,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,50) size 27x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,50) size 27x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderTableCell {TD} at (60,50) size 27x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c33"
+ RenderTableCell {TD} at (89,50) size 27x22 [border: (1px inset #808080)] [r=2 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c34"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ insertCellAt(0, 1, 2, 2);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ <tr>
+ <td>c31</td><td>c32</td><td>c33</td><td>c34</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td rowspan=2 colspan=2>X1</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ <tr>
+ <td>c31</td><td>c32</td><td>c33</td><td>c34</td>
+ </tr>
+</table>
+
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+99e88a1a4fea6676765148c7b86eca00
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 120x76 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x74
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,14) size 56x22 [border: (1px inset #808080)] [r=0 c=1 rs=2 cs=2]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (89,2) size 27x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 56x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=2]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (89,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,50) size 27x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,50) size 27x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderTableCell {TD} at (60,50) size 27x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c33"
+ RenderTableCell {TD} at (89,50) size 27x22 [border: (1px inset #808080)] [r=2 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c34"
+ RenderBlock (anonymous) at (0,94) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,112) size 120x76 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x74
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,14) size 56x22 [border: (1px inset #808080)] [r=0 c=1 rs=2 cs=2]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (89,2) size 27x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 56x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=2]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (89,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,50) size 27x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,50) size 27x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderTableCell {TD} at (60,50) size 27x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c33"
+ RenderTableCell {TD} at (89,50) size 27x22 [border: (1px inset #808080)] [r=2 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c34"
+ RenderBlock (anonymous) at (0,188) size 784x36
+ RenderBR {BR} at (0,0) size 0x18
+ RenderText {TEXT} at (0,18) size 214x18
+ text run at (0,18) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,224) size 120x76 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x74
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCell {TD} at (60,14) size 27x22 [border: (1px inset #808080)] [r=0 c=2 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c13"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableCell {TD} at (89,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,50) size 27x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,50) size 27x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderTableCell {TD} at (60,50) size 27x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c33"
+ RenderBlock (anonymous) at (0,300) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,318) size 120x76 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x74
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCell {TD} at (60,14) size 27x22 [border: (1px inset #808080)] [r=0 c=2 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c13"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (89,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,50) size 27x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,50) size 27x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderTableCell {TD} at (60,50) size 27x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c33"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ insertCellAt(0, 1, 2, 2);
+ insertCellAt(7, 1, 1, 1);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ <tr>
+ <td colspan=2>c21</td><td>c22</td>
+ </tr>
+ <tr>
+ <td>c31</td><td>c32</td><td>c33</td><td>c34</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td rowspan=2 colspan=2>X1</td><td>c12</td>
+ </tr>
+ <tr>
+ <td colspan=2>c21</td><td>c22</td>
+ </tr>
+ <tr>
+ <td>c31</td><td>c32</td><td>c33</td><td>c34</td>
+ </tr>
+</table>
+
+<BR>
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td><td rowspan=2>c13</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ <tr>
+ <td>c31</td><td>c32</td><td>c33</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td><td rowspan=2>c13</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>X1</td><td>c22</td>
+ </tr>
+ <tr>
+ <td>c31</td><td>c32</td><td>c33</td>
+ </tr>
+</table>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+1a38d5d5cf37ded14d7e3ef9ab0eb5d7
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 120x76 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x74
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCell {TD} at (60,2) size 27x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (60,38) size 27x22 [border: (1px inset #808080)] [r=1 c=2 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableCell {TD} at (89,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,50) size 27x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,50) size 27x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
+ RenderBlock (anonymous) at (0,94) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,112) size 120x76 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x74
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCell {TD} at (60,2) size 27x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (60,38) size 27x22 [border: (1px inset #808080)] [r=1 c=2 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableCell {TD} at (89,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,50) size 27x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c31"
+ RenderTableCell {TD} at (31,50) size 27x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c32"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ insertCellAt(1, 1, 1, 1);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td rowspan=2>c22</td><td>c22</td>
+ </tr>
+ <tr>
+ <td>c31</td><td>c32</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td><td>c12</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>X1</td><td rowspan=2>c22</td><td>c22</td>
+ </tr>
+ <tr>
+ <td>c31</td><td>c32</td>
+ </tr>
+</table>
+
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+e7b2f0b5d2ce41bbf893fb293247d7e0
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 622x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 103x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (107,2) size 204x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (313,2) size 305x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 622x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 103x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (107,2) size 204x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (313,2) size 305x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
+ RenderBlock (anonymous) at (0,92) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var refCg = document.getElementsByTagName("COLGROUP")[0];
+ var cg = document.createElement("COLGROUP", null);
+ var col = document.createElement("COL", null);
+ col.width = 100;
+ cg.appendChild(col);
+ col = document.createElement("COL", null);
+ col.width = 200;
+ cg.appendChild(col);
+ table.insertBefore(cg, refCg);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <colgroup>
+ <col width=300>
+ </colgroup>
+ <tr>
+ <td>100</td><td>200</td><td>300</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <colgroup>
+ <col width=100>
+ <col width=200>
+ </colgroup>
+ <colgroup>
+ <col width=300>
+ </colgroup>
+ <tr>
+ <td>100</td><td>200</td><td>300</td>
+ </tr>
+</table>
+<BR>
+</BODY></HTML>
+
--- /dev/null
+6d001a723486cc80b8c6125d2b1e08ac
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 528x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 52x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 16x18
+ text run at (2,2) width 16: "50"
+ RenderTableCell {TD} at (56,2) size 103x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (161,2) size 155x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "150"
+ RenderTableCell {TD} at (318,2) size 206x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 528x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 52x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 16x18
+ text run at (2,2) width 16: "50"
+ RenderTableCell {TD} at (56,2) size 103x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (161,2) size 155x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "150"
+ RenderTableCell {TD} at (318,2) size 206x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderBlock (anonymous) at (0,92) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var refCg = document.getElementsByTagName("COLGROUP")[1];
+ var cg = document.createElement("COLGROUP", null);
+ var col = document.createElement("COL", null);
+ col.width = 100;
+ cg.appendChild(col);
+ col = document.createElement("COL", null);
+ col.width = 150;
+ cg.appendChild(col);
+ table.insertBefore(cg, refCg);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <colgroup>
+ <col width=50>
+ </colgroup>
+ <colgroup>
+ <col width=200>
+ </colgroup>
+ <tr>
+ <td>50</td><td>100</td><td>150</td><td>200</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <colgroup>
+ <col width=50>
+ </colgroup>
+ <colgroup>
+ <col width=100>
+ <col width=150>
+ </colgroup>
+ <colgroup>
+ <col width=200>
+ </colgroup>
+ <tr>
+ <td>50</td><td>100</td><td>150</td><td>200</td>
+ </tr>
+</table>
+<BR>
+</BODY></HTML>
+
--- /dev/null
+e7b2f0b5d2ce41bbf893fb293247d7e0
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 622x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 103x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (107,2) size 204x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (313,2) size 305x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 622x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 103x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (107,2) size 204x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (313,2) size 305x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var refCol = document.getElementsByTagName("COL")[0];
+ var col = document.createElement("COL", null);
+ col.width = 100;
+ table.insertBefore(col, refCol);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <col width=200>
+ <col width=300>
+ <tr>
+ <td>100</td><td>200</td><td>300</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <col width=100>
+ <col width=200>
+ <col width=300>
+ <tr>
+ <td>100</td><td>200</td><td>300</td>
+ </tr>
+</table>
+</BODY></HTML>
+
--- /dev/null
+e7b2f0b5d2ce41bbf893fb293247d7e0
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 622x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 103x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (107,2) size 204x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (313,2) size 305x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 622x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 103x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (107,2) size 204x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (313,2) size 305x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var refCol = document.getElementsByTagName("COL")[1];
+ var col = document.createElement("COL", null);
+ col.width = 200;
+ table.insertBefore(col, refCol);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <col width=100>
+ <col width=300>
+ <tr>
+ <td>100</td><td>200</td><td>300</td>
+ </tr>
+</table>
+
+<BR>
+<table bgcolor=orange border>
+ <col width=100>
+ <col width=200>
+ <col width=300>
+ <tr>
+ <td>100</td><td>200</td><td>300</td>
+ </tr>
+</table>
+</BODY></HTML>
+
--- /dev/null
+6d001a723486cc80b8c6125d2b1e08ac
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 528x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 52x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 16x18
+ text run at (2,2) width 16: "50"
+ RenderTableCell {TD} at (56,2) size 103x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (161,2) size 155x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "150"
+ RenderTableCell {TD} at (318,2) size 206x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 528x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 52x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 16x18
+ text run at (2,2) width 16: "50"
+ RenderTableCell {TD} at (56,2) size 103x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (161,2) size 155x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "150"
+ RenderTableCell {TD} at (318,2) size 206x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var refCol = document.getElementsByTagName("COL")[2];
+ var col = document.createElement("COL", null);
+ col.width = 150;
+ table.insertBefore(col, refCol);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <col width=50>
+ <col width=100>
+ <col width=200>
+ <tr>
+ <td>50</td><td>100</td><td>150</td><td>200</td>
+ </tr>
+</table>
+
+<BR>
+<table bgcolor=orange border>
+ <col width=50>
+ <col width=100>
+ <col width=150>
+ <col width=200>
+ <tr>
+ <td>50</td><td>100</td><td>150</td><td>200</td>
+ </tr>
+</table>
+</BODY></HTML>
+
--- /dev/null
+e7b2f0b5d2ce41bbf893fb293247d7e0
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 622x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 103x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (107,2) size 204x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (313,2) size 305x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 622x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 103x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (107,2) size 204x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (313,2) size 305x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var cg = document.getElementsByTagName("COLGROUP")[0];
+ var refCol = document.getElementsByTagName("COL")[0];
+ var col = document.createElement("COL", null);
+ col.width = 100;
+ cg.insertBefore(col, refCol);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <colgroup>
+ <col width=200>
+ <col width=300>
+ </colgroup>
+ <tr>
+ <td>100</td><td>200</td><td>300</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <colgroup>
+ <col width=100>
+ <col width=200>
+ <col width=300>
+ </colgroup>
+ <tr>
+ <td>100</td><td>200</td><td>300</td>
+ </tr>
+</table>
+</BODY></HTML>
+
--- /dev/null
+e7b2f0b5d2ce41bbf893fb293247d7e0
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 622x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 103x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (107,2) size 204x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (313,2) size 305x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 622x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 103x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "100"
+ RenderTableCell {TD} at (107,2) size 204x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "200"
+ RenderTableCell {TD} at (313,2) size 305x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 24x18
+ text run at (2,2) width 24: "300"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var cg = document.getElementsByTagName("COLGROUP")[0];
+ var refCol = document.getElementsByTagName("COL")[1];
+ var col = document.createElement("COL", null);
+ col.width = 200;
+ cg.insertBefore(col, refCol);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <colgroup>
+ <col width=100>
+ <col width=300>
+ </colgroup>
+ <tr>
+ <td>100</td><td>200</td><td>300</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <colgroup>
+ <col width=100>
+ <col width=200>
+ <col width=300>
+ </colgroup>
+ <tr>
+ <td>100</td><td>200</td><td>300</td>
+ </tr>
+</table>
+</BODY></HTML>
+
--- /dev/null
+48fa1f3784a9b40bf202d3fac3c1854f
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,70) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,88) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,140) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var tbody = document.getElementsByTagName("TBODY")[0];
+ var row = document.createElement("TR", null);
+ appendCell(row, 1, 1);
+ appendCell(row, 1, 1);
+ var refRow = document.getElementsByTagName("TR")[0];
+ tbody.insertBefore(row, refRow);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>X1</td><td>X2</td>
+ </tr>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+e0c75be46a0fea94d6cf3112ed42da54
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 88x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,14) size 24x22 [border: (1px inset #808080)] [r=0 c=0 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (28,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (28,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (57,26) size 27x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,70) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,88) size 88x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,14) size 24x22 [border: (1px inset #808080)] [r=0 c=0 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (28,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (28,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (57,26) size 27x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,140) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var tbody = document.getElementsByTagName("TBODY")[0];
+ var row = document.createElement("TR", null);
+ appendCell(row, 2, 1);
+ appendCell(row, 1, 1);
+ var refRow = document.getElementsByTagName("TR")[0];
+ tbody.insertBefore(row, refRow);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td rowspan=2>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td rowspan=2>X1</td><td>X2</td>
+ </tr>
+ <tr>
+ <td rowspan=2>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+9ce5f469b94d2fecee3255fa92a37239
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock {FORM} at (0,0) size 784x23
+ RenderSelect {SELECT} at (2,3) size 95x18
+ RenderText {TEXT} at (99,2) size 52x18
+ text run at (99,2) width 52: " tbody "
+ RenderLineEdit {INPUT} at (153,2) size 43x19
+ RenderText {TEXT} at (198,2) size 41x18
+ text run at (198,2) width 41: " row "
+ RenderLineEdit {INPUT} at (241,2) size 43x19
+ RenderText {TEXT} at (286,2) size 35x18
+ text run at (286,2) width 35: " col "
+ RenderLineEdit {INPUT} at (323,2) size 43x19
+ RenderText {TEXT} at (368,2) size 74x18
+ text run at (368,2) width 74: " row span "
+ RenderLineEdit {INPUT} at (444,2) size 43x19
+ RenderText {TEXT} at (489,2) size 68x18
+ text run at (489,2) width 68: " col span "
+ RenderLineEdit {INPUT} at (559,2) size 43x19
+ RenderText {TEXT} at (604,2) size 20x18
+ text run at (604,2) width 20: " "
+ RenderButton {INPUT} at (626,3) size 42x18 [bgcolor=#C0C0C0]
+ RenderBlock (anonymous) at (8,2) size 26x13
+ RenderText at (0,0) size 26x13
+ text run at (0,0) width 26: "Do It"
+ RenderText {TEXT} at (0,0) size 0x0
+ RenderBlock (anonymous) at (0,39) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,57) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderBlock (anonymous) at (0,109) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=dom.js>
+</SCRIPT>
+<SCRIPT>
+
+var count = 1;
+function genName(prefix) {
+ return "X" + count++ + "\n";
+}
+
+function doIt() {
+ var rgInput = document.getElementsByTagName("INPUT")[0];
+ var rgIndex = rgInput.value;
+ var rowInput = document.getElementsByTagName("INPUT")[1];
+ var rowIndex = rowInput.value;
+ var colInput = document.getElementsByTagName("INPUT")[2];
+ var colIndex = colInput.value;
+ var rowSpanInput = document.getElementsByTagName("INPUT")[3];
+ var rowSpan = rowSpanInput.value;
+ var colSpanInput = document.getElementsByTagName("INPUT")[4];
+ var colSpan = colSpanInput.value;
+ var select = document.getElementsByTagName("SELECT")[0];
+ var actionIndex = select.selectedIndex;
+
+ var table = document.getElementsByTagName("TABLE")[0];
+ var tbodies = table.tBodies;
+ var tbody = tbodies.item(rgIndex);
+
+
+ if (0 == actionIndex) {
+ var rows = tbody.rows;
+ var row = rows.item(rowIndex);
+ //appendCell(rowIndex, rowSpan, colSpan);
+ appendCell(row, 1, 1);
+ }
+ else if (1 == actionIndex) {
+ var rows = tbody.rows;
+ var row = rows.item(rowIndex);
+ //insertCell(rowIndex, colIndex, rowSpan, colSpan);
+ insertCell(row, colIndex, 1, 1);
+ }
+ else if (2 == actionIndex) {
+ var rows = tbody.rows;
+ var row = rows.item(rowIndex);
+ deleteCell(row, colIndex);
+ }
+ else if (3 == actionIndex) {
+ appendRow(tbody);
+ }
+ else if (4 == actionIndex) {
+ insertRow(tbody, rowIndex);
+ }
+ else if (5 == actionIndex) {
+ deleteRow(tbody, rowIndex);
+ }
+ else if (6 == actionIndex) {
+ buildTable(rowIndex, colIndex);
+ }
+}
+
+function appendCellx(aRowIndex, aRowSpan, aColSpan) {
+ var row = document.getElementsByTagName("TR")[aRowIndex];
+ var cell = document.createElement("TD", null);
+ cell.rowSpan = 2;
+ cell.colSpan = aColSpan;
+ var text = document.createTextNode(genName());
+ cell.appendChild(text);
+ row.appendChild(cell);
+}
+
+function insertCell(aRowIndex, aColIndex, aRowSpan, aColSpan) {
+dump(aRowSpan); dump(aColSpan);
+ var row = document.getElementsByTagName("TR")[aRowIndex];
+ //var refCell = document.getElementsByTagName("TD")[0];
+ var cells = row.cells;
+ var refCell = cells.item(aColIndex);
+ var newCell = document.createElement("TD", null);
+ newCell.rowSpan = aRowSpan;
+ newCell.colSpan = aColSpan;
+ var text = document.createTextNode(genName());
+ newCell.appendChild(text);
+ row.insertBefore(newCell, refCell);
+ //dump("SCRIPT: inserted CELL as first cell in first row\n");
+}
+
+function deleteCell(aRowIndex, aColIndex) {
+ var row = document.getElementsByTagName("TR")[aRowIndex];
+ row.deleteCell(aColIndex);
+}
+
+function appendRow(aRowGroupIndex) {
+ var rg = document.getElementsByTagName("TBODY")[aRowGroupIndex];
+ var row = document.createElement("TR", null);
+ rg.appendChild(row);
+ appendCell(row.rowIndex, 1, 1);
+}
+
+function insertRow(aRowGroupIndex, aRowIndex) {
+ var rg = document.getElementsByTagName("TBODY")[aRowGroupIndex];
+ var refRow = document.getElementsByTagName("TR")[aRowIndex];
+ var row = document.createElement("TR", null);
+ rg.insertBefore(row, refRow);
+}
+
+function buildTable(aNumRows, aNumCols) {
+ var table = document.getElementsByTagName("TABLE")[0];
+ for (rowX = 0; rowX < aNumRows; rowX++) {
+ var row = document.createElement("TR", null);
+ for (colX = 0; colX < aNumCols; colX++) {
+ var cell = document.createElement("TD", null);
+ var text = document.createTextNode(genName());
+ cell.appendChild(text);
+ row.appendChild(cell);
+ }
+ table.appendChild(row);
+ }
+}
+
+</SCRIPT>
+</HEAD>
+<BODY>
+<form>
+<select>
+ <option>append cell</option>
+ <option>insert cell</option>
+ <option>delete cell</option>
+ <option>append row</option>
+ <option>insert row</option>
+ <option>delete row</option>
+ <option>build table</option>
+</select>
+  tbody
+<input type=text size=5 value=0>
+  row
+<input type=text size=5 value=0>
+  col
+<input type=text size=5 value=0>
+  row span
+<input type=text size=5 value=1>
+  col span
+<input type=text size=5 value=1>
+   
+<INPUT TYPE="button" NAME="doIt" VALUE="Do It" onClick="doIt()" width=100>
+</form>
+<BR>
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is mozilla.org code.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 1998
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var count = 1;
+function genName(prefix) {
+ return "X" + count++ + "\n";
+}
+
+function appendCell(aRow, aRowSpan, aColSpan) {
+ var cell = document.createElement("TD", null);
+ cell.rowSpan = aRowSpan;
+ cell.colSpan = aColSpan;
+ var text = document.createTextNode(genName());
+ cell.appendChild(text);
+ aRow.appendChild(cell);
+}
+
+function appendCellAt(aRowIndex, aRowSpan, aColSpan) {
+dump(aRowIndex);
+ var row = document.getElementsByTagName("TR")[aRowIndex];
+ appendCell(row, aRowSpan, aColSpan);
+}
+
+function insertCell(aRow, aColIndex, aRowSpan, aColSpan) {
+ var cells = aRow.cells;
+ var refCell = cells.item(aColIndex);
+ var newCell = document.createElement("TD", null);
+ newCell.rowSpan = aRowSpan;
+ newCell.colSpan = aColSpan;
+ var text = document.createTextNode(genName());
+ newCell.appendChild(text);
+ aRow.insertBefore(newCell, refCell);
+ //dump("SCRIPT: inserted CELL as first cell in first row\n");
+}
+
+function insertCellAt(aRowIndex, aColIndex, aRowSpan, aColSpan) {
+ var row = document.getElementsByTagName("TR")[aRowIndex];
+ insertCell(row, aColIndex, aRowSpan, aColSpan);
+}
+
+function deleteCell(aRow, aColIndex) {
+ aRow.deleteCell(aColIndex);
+}
+
+function deleteCellAt(aRowIndex, aColIndex) {
+ var row = document.getElementsByTagName("TR")[aRowIndex];
+ deleteCell(row, aColIndex);
+}
+
+//function appendRow(aRowGroup) {
+// var row = document.createElement("TR", null);
+// cell = document.createElement("TD", null);
+// row.appendChild(cell);
+// aRowGroup.appendChild(row);
+//}
+
+function appendRow(aRowGroup) {
+ var row = document.createElement("TR", null);
+ cell = document.createElement("TD", null);
+ aRowGroup.appendChild(row);
+ //row.appendChild(cell);
+ //appendCell(row, 1, 1);
+}
+
+function appendRowAt(aRowGroupIndex) {
+ var rowGroup = document.getElementsByTagName("TBODY")[aRowGroupIndex];
+ appendRow(rowGroup);
+}
+
+function insertRow(aRowGroup, aRowIndex) {
+ var rows = aRowGroup.rows;
+ var refRow = rows.item(aRowIndex);
+ var row = document.createElement("TR", null);
+ aRowGroup.insertBefore(row, refRow);
+ //appendCell(row, 1, 1);
+}
+
+function insertRowAt(aRowGroupIndex, aRowIndex) {
+ var rowGroup = document.getElementsByTagName("TBODY")[aRowGroupIndex];
+ insertRow(rowGroup, aRowIndex);
+}
+
+function deleteRow(aRowGroup, aRowIndex) {
+ aRowGroup.deleteRow(aRowIndex);
+}
+
+function deleteRowAt(aRowGroupIndex, aRowIndex) {
+ var row = document.getElementsByTagName("TBODY")[aRowGroupIndex];
+ deleteRow(row, aRowIndex);
+}
+
+function insertTbody(aTable, aTbodyIndex) {
+ var tbodies = aTable.tBodies;
+ var refTbody = tbodies.item(aTbodyIndex);
+ var tbody = document.createElement("TBODY", null);
+ aTable.insertBefore(tbody, refTbody);
+}
+
+function insertTbodyAt(aTableIndex, aTbodyIndex) {
+ var table = document.getElementsByTagName("TABLE")[aTableIndex];
+ insertTbodyAt(table, aTbodyIndex);
+}
+
+function deleteTbody(aTable, aTbodyIndex) {
+ var tbodies = aTable.tBodies;
+ var tbody = tbodies.item(aTbodyIndex);
+ aTable.removeChild(tbody);
+}
+
+function deleteTbodyAt(aTableIndex, aTbodyIndex) {
+ var table = document.getElementsByTagName("TABLE")[aTableIndex];
+ deleteTbody(table, aTbodyIndex);
+}
+
+function buildTable(aNumRows, aNumCols) {
+ var table = document.getElementsByTagName("TABLE")[0];
+ for (rowX = 0; rowX < aNumRows; rowX++) {
+ var row = document.createElement("TR", null);
+ for (colX = 0; colX < aNumCols; colX++) {
+ var cell = document.createElement("TD", null);
+ var text = document.createTextNode(genName());
+ cell.appendChild(text);
+ row.appendChild(cell);
+ }
+ table.appendChild(row);
+ }
+}
+
--- /dev/null
+84e04be1832f3db929926741a5445384
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 88x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCell {TD} at (60,2) size 24x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderBlock (anonymous) at (0,92) size 784x36
+ RenderBR {BR} at (0,0) size 0x18
+ RenderText {TEXT} at (0,18) size 214x18
+ text run at (0,18) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,128) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,156) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,174) size 114x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCell {TD} at (60,2) size 24x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableCell {TD} at (86,2) size 24x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X3"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ appendCellAt(0, 1, 1);
+
+ appendCellAt(2, 1, 1);
+ appendCellAt(2, 1, 1);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td><td>X1</td>
+ </tr>
+</table>
+<BR>
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tr>
+ <td>c11</td><td>c12</td><td>X2</td><td>X3</td>
+ </tr>
+</table>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+dcf0e59dc2e6615899f441a5c34d003c
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderBlock (anonymous) at (0,70) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,88) size 88x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,14) size 24x22 [border: (1px inset #808080)] [r=0 c=1 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (57,26) size 27x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderBlock (anonymous) at (0,140) size 784x36
+ RenderBR {BR} at (0,0) size 0x18
+ RenderText {TEXT} at (0,18) size 214x18
+ text run at (0,18) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,176) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
+ RenderBlock (anonymous) at (0,228) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,246) size 114x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x50
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,14) size 24x22 [border: (1px inset #808080)] [r=0 c=1 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableCell {TD} at (57,14) size 24x22 [border: (1px inset #808080)] [r=0 c=2 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X3"
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c21"
+ RenderTableCell {TD} at (83,26) size 27x22 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c22"
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ appendCellAt(0, 2, 1);
+
+ appendCellAt(4, 2, 1);
+ appendCellAt(4, 2, 1);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td><td rowspan=2>X1</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td><td rowspan=2>X2</td><td rowspan=2>X3</td>
+ </tr>
+ <tr>
+ <td>c21</td><td>c22</td>
+ </tr>
+ </tbody>
+</table>
+
+
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+a7fd980d505aafebc43635d2e40fbf18
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 239x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 29x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (33,2) size 202x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,92) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var col = document.createElement("COL", null);
+ col.width = 200;
+ table.appendChild(col);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <col>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <col>
+ <col width=200>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+</table>
+<BR>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+dfc1c522d94313b09081045ffaa3742d
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 210x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 102x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 48x18
+ text run at (2,2) width 48: "col-100"
+ RenderTableCell {TD} at (106,2) size 49x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 44x18
+ text run at (2,2) width 44: "cg-200"
+ RenderTableCell {TD} at (157,2) size 49x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 44x18
+ text run at (2,2) width 44: "cg-200"
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 514x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COLGROUP} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableCol {COL} at (0,0) size 0x0
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 102x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 48x18
+ text run at (2,2) width 48: "col-100"
+ RenderTableCell {TD} at (106,2) size 201x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 44x18
+ text run at (2,2) width 44: "cg-200"
+ RenderTableCell {TD} at (309,2) size 201x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 44x18
+ text run at (2,2) width 44: "cg-200"
+ RenderBlock (anonymous) at (0,92) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var cg = document.createElement("COLGROUP", null);
+ cg.width=200
+ var col = document.createElement("COL", null);
+ cg.appendChild(col);
+ col = document.createElement("COL", null);
+ cg.appendChild(col);
+ table.appendChild(cg);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <colgroup>
+ <col width=100>
+ </colgroup>
+ <tr>
+ <td>col-100</td><td>cg-200</td><td>cg-200</td>
+ </tr>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <colgroup>
+ <col width=100>
+ </colgroup>
+ <colgroup width=200>
+ <col>
+ <col>
+ </colgroup>
+ <tr>
+ <td>col-100</td><td>cg-200</td><td>cg-200</td>
+ </tr>
+</table>
+<BR>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+af8e1b2dafada5de4b32b5a81f084e43
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 62x54 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableSection {TBODY} at (1,27) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,118) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var tbody = document.createElement("TBODY", null);
+ var row = document.createElement("TR", null);
+ appendCell(row, 1, 1);
+ appendCell(row, 1, 1);
+ tbody.appendChild(row);
+ var refTbody = document.getElementsByTagName("TBODY")[0];
+ table.insertBefore(tbody, refTbody);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>X1</td><td>X2</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ </tbody>
+</table>
+</table>
+<BR>
+</BODY></HTML>
+
+
+
+
+
+
--- /dev/null
+af8e1b2dafada5de4b32b5a81f084e43
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock (anonymous) at (0,0) size 784x18
+ RenderText {TEXT} at (0,0) size 214x18
+ text run at (0,0) width 214: "The 2 tables should look the same"
+ RenderTable {TABLE} at (0,18) size 62x28 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,46) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
+ RenderTable {TABLE} at (0,64) size 62x54 [bgcolor=#FFA500] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=2 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X1"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 20x18
+ text run at (2,2) width 20: "X2"
+ RenderTableSection {TBODY} at (1,27) size 0x26
+ RenderTableRow {TR} at (0,0) size 0x0
+ RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c11"
+ RenderTableCell {TD} at (31,2) size 27x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderText {TEXT} at (2,2) size 23x18
+ text run at (2,2) width 23: "c12"
+ RenderBlock (anonymous) at (0,118) size 784x18
+ RenderBR {BR} at (0,0) size 0x18
--- /dev/null
+<HEAD>
+<SCRIPT src=tableDom.js>
+</SCRIPT>
+<SCRIPT>
+
+function doIt() {
+ var table = document.getElementsByTagName("TABLE")[0];
+ var tbody = document.createElement("TBODY", null);
+ var row = document.createElement("TR", null);
+ appendCell(row, 2, 1);
+ appendCell(row, 1, 1);
+ tbody.appendChild(row);
+ var refTbody = document.getElementsByTagName("TBODY")[0];
+ table.insertBefore(tbody, refTbody);
+}
+</SCRIPT>
+</HEAD>
+<BODY onload="doIt()">
+The 2 tables should look the same
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ </tbody>
+</table>
+<BR>
+<table bgcolor=orange border>
+ <tbody>
+ <tr>
+ <td rowspan=2>X1</td><td>X2</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <td>c11</td><td>c12</td>
+ </tr>
+ </tbody>
+</table>
+</table>
+<BR>
+</BODY></HTML>
+
+
+
+
+
+