+2007-04-27 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin, Hyatt.
+
+ Test for http://bugs.webkit.org/show_bug.cgi?id=13081
+ Empty table cells not handled correctly
+ <rdar://problem/5067926>
+
+ Added test case and checked in updated results for others. Changes represent
+ progressions or are not visible in rendering output.
+
+ * fast/block/positioning/negative-right-pos-expected.txt:
+ * fast/css/acid2-expected.txt:
+ * fast/css/acid2-pixel-expected.txt:
+ * fast/css/percentage-non-integer-expected.checksum:
+ * fast/css/percentage-non-integer-expected.png:
+ * fast/css/percentage-non-integer-expected.txt:
+ * fast/repaint/table-cell-move-expected.checksum:
+ * fast/repaint/table-cell-move-expected.png:
+ * fast/repaint/table-cell-move-expected.txt:
+ * fast/table/012-expected.txt:
+ * fast/table/032-expected.txt:
+ * fast/table/empty-cells-expected.checksum: Added.
+ * fast/table/empty-cells-expected.txt: Added.
+ * fast/table/empty-cells.html: Added.
+ * fast/table/empty-section-crash-expected.txt:
+ * http/tests/misc/acid2-expected.txt:
+ * http/tests/misc/acid2-pixel-expected.txt:
+ * tables/mozilla/bugs/bug100334-expected.txt:
+ * tables/mozilla/bugs/bug1188-expected.txt:
+ * tables/mozilla/bugs/bug16012-expected.checksum:
+ * tables/mozilla/bugs/bug16012-expected.png:
+ * tables/mozilla/bugs/bug16012-expected.txt:
+ * tables/mozilla/bugs/bug1818-6-expected.txt:
+ * tables/mozilla/bugs/bug222336-expected.txt:
+ * tables/mozilla/bugs/bug222467-expected.txt:
+ * tables/mozilla/bugs/bug78162-expected.txt:
+ * tables/mozilla/core/misc-expected.checksum:
+ * tables/mozilla/core/misc-expected.png:
+ * tables/mozilla/core/misc-expected.txt:
+ * tables/mozilla_expected_failures/bugs/bug14007-1-expected.checksum:
+ * tables/mozilla_expected_failures/bugs/bug14007-1-expected.png:
+ * tables/mozilla_expected_failures/bugs/bug14007-1-expected.txt:
+ * tables/mozilla_expected_failures/bugs/bug72393-expected.checksum:
+ * tables/mozilla_expected_failures/bugs/bug72393-expected.png:
+ * tables/mozilla_expected_failures/bugs/bug72393-expected.txt:
+ * tables/mozilla_expected_failures/other/empty_cells-expected.txt:
+
2007-04-27 Rob Buis <buis@kde.org>
Reviewed by Oliver.
RenderTable {TABLE} at (0,0) size 250x400 [bgcolor=#008000]
RenderTableSection {TBODY} at (0,0) size 250x400
RenderTableRow {TR} at (0,0) size 250x400
- RenderTableCell {TD} at (0,200) size 250x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,200) size 0x0 [r=0 c=0 rs=1 cs=1]
layer at (258,26) size 200x400
RenderBlock (positioned) {DIV} at (250,0) size 200x400 [bgcolor=#008000]
RenderTable {TABLE} at (12,12) size 1x0
RenderTableSection {TBODY} at (0,0) size 1x0
RenderTableRow {TR} at (0,0) size 1x0
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (60,60) size 120x12 [bgcolor=#FF0000] [border: (12px solid #000000) none (12px solid #000000)]
RenderBlock {DIV} at (12,0) size 144x12
RenderText {#text} at (0,-1) size 90x14
RenderTable {TABLE} at (12,12) size 1x0
RenderTableSection {TBODY} at (0,0) size 1x0
RenderTableRow {TR} at (0,0) size 1x0
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (60,60) size 120x12 [bgcolor=#FF0000] [border: (12px solid #000000) none (12px solid #000000)]
RenderBlock {DIV} at (12,0) size 144x12
RenderText {#text} at (0,-1) size 90x14
-894253a73fdcd593dbb354e032c879ed
\ No newline at end of file
+9dbc92dfac04c2ab684eae0db5e59865
\ No newline at end of file
RenderTableCell {TD} at (215,5) size 10x0 [bgcolor=#000000] [r=0 c=15 rs=1 cs=1]
RenderTableCell {TD} at (225,5) size 27x0 [bgcolor=#00FF00] [r=0 c=16 rs=1 cs=1]
RenderTableCell {TD} at (252,5) size 10x0 [bgcolor=#000000] [r=0 c=17 rs=1 cs=1]
- RenderTableCell {TD} at (262,5) size 30x0 [bgcolor=#00FF00] [r=0 c=18 rs=1 cs=1]
- RenderTableCell {TD} at (292,5) size 1x0 [r=0 c=19 rs=1 cs=1]
+ RenderTableCell {TD} at (262,5) size 31x0 [bgcolor=#00FF00] [r=0 c=18 rs=1 cs=1]
+ RenderTableCell {TD} at (293,5) size 0x0 [r=0 c=19 rs=1 cs=1]
layer at (8,126) size 1000x10
RenderTable {TABLE} at (0,0) size 1000x10
RenderTableSection {TBODY} at (0,0) size 1000x10
RenderTableRow {TR} at (0,0) size 1000x10
RenderTableCell {TD} at (0,5) size 11x0 [bgcolor=#0000007F] [r=0 c=0 rs=1 cs=1]
- RenderTableCell {TD} at (11,5) size 10x0 [bgcolor=#00FF007F] [r=0 c=1 rs=1 cs=1]
- RenderTableCell {TD} at (21,5) size 13x0 [bgcolor=#0000007F] [r=0 c=2 rs=1 cs=1]
- RenderTableCell {TD} at (34,5) size 10x0 [bgcolor=#00FF007F] [r=0 c=3 rs=1 cs=1]
- RenderTableCell {TD} at (44,5) size 15x0 [bgcolor=#0000007F] [r=0 c=4 rs=1 cs=1]
- RenderTableCell {TD} at (59,5) size 10x0 [bgcolor=#00FF007F] [r=0 c=5 rs=1 cs=1]
- RenderTableCell {TD} at (69,5) size 17x0 [bgcolor=#0000007F] [r=0 c=6 rs=1 cs=1]
- RenderTableCell {TD} at (86,5) size 10x0 [bgcolor=#00FF007F] [r=0 c=7 rs=1 cs=1]
- RenderTableCell {TD} at (96,5) size 20x0 [bgcolor=#0000007F] [r=0 c=8 rs=1 cs=1]
- RenderTableCell {TD} at (116,5) size 10x0 [bgcolor=#00FF007F] [r=0 c=9 rs=1 cs=1]
- RenderTableCell {TD} at (126,5) size 21x0 [bgcolor=#0000007F] [r=0 c=10 rs=1 cs=1]
- RenderTableCell {TD} at (147,5) size 10x0 [bgcolor=#00FF007F] [r=0 c=11 rs=1 cs=1]
- RenderTableCell {TD} at (157,5) size 23x0 [bgcolor=#0000007F] [r=0 c=12 rs=1 cs=1]
- RenderTableCell {TD} at (180,5) size 10x0 [bgcolor=#00FF007F] [r=0 c=13 rs=1 cs=1]
- RenderTableCell {TD} at (190,5) size 25x0 [bgcolor=#0000007F] [r=0 c=14 rs=1 cs=1]
- RenderTableCell {TD} at (215,5) size 10x0 [bgcolor=#00FF007F] [r=0 c=15 rs=1 cs=1]
- RenderTableCell {TD} at (225,5) size 27x0 [bgcolor=#0000007F] [r=0 c=16 rs=1 cs=1]
- RenderTableCell {TD} at (252,5) size 10x0 [bgcolor=#00FF007F] [r=0 c=17 rs=1 cs=1]
- RenderTableCell {TD} at (262,5) size 30x0 [bgcolor=#0000007F] [r=0 c=18 rs=1 cs=1]
- RenderTableCell {TD} at (292,5) size 708x0 [r=0 c=19 rs=1 cs=1]
+ RenderTableCell {TD} at (11,5) size 88x0 [bgcolor=#00FF007F] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (99,5) size 13x0 [bgcolor=#0000007F] [r=0 c=2 rs=1 cs=1]
+ RenderTableCell {TD} at (112,5) size 88x0 [bgcolor=#00FF007F] [r=0 c=3 rs=1 cs=1]
+ RenderTableCell {TD} at (200,5) size 15x0 [bgcolor=#0000007F] [r=0 c=4 rs=1 cs=1]
+ RenderTableCell {TD} at (215,5) size 88x0 [bgcolor=#00FF007F] [r=0 c=5 rs=1 cs=1]
+ RenderTableCell {TD} at (303,5) size 17x0 [bgcolor=#0000007F] [r=0 c=6 rs=1 cs=1]
+ RenderTableCell {TD} at (320,5) size 89x0 [bgcolor=#00FF007F] [r=0 c=7 rs=1 cs=1]
+ RenderTableCell {TD} at (409,5) size 20x0 [bgcolor=#0000007F] [r=0 c=8 rs=1 cs=1]
+ RenderTableCell {TD} at (429,5) size 89x0 [bgcolor=#00FF007F] [r=0 c=9 rs=1 cs=1]
+ RenderTableCell {TD} at (518,5) size 21x0 [bgcolor=#0000007F] [r=0 c=10 rs=1 cs=1]
+ RenderTableCell {TD} at (539,5) size 89x0 [bgcolor=#00FF007F] [r=0 c=11 rs=1 cs=1]
+ RenderTableCell {TD} at (628,5) size 23x0 [bgcolor=#0000007F] [r=0 c=12 rs=1 cs=1]
+ RenderTableCell {TD} at (651,5) size 89x0 [bgcolor=#00FF007F] [r=0 c=13 rs=1 cs=1]
+ RenderTableCell {TD} at (740,5) size 25x0 [bgcolor=#0000007F] [r=0 c=14 rs=1 cs=1]
+ RenderTableCell {TD} at (765,5) size 89x0 [bgcolor=#00FF007F] [r=0 c=15 rs=1 cs=1]
+ RenderTableCell {TD} at (854,5) size 27x0 [bgcolor=#0000007F] [r=0 c=16 rs=1 cs=1]
+ RenderTableCell {TD} at (881,5) size 89x0 [bgcolor=#00FF007F] [r=0 c=17 rs=1 cs=1]
+ RenderTableCell {TD} at (970,5) size 30x0 [bgcolor=#0000007F] [r=0 c=18 rs=1 cs=1]
+ RenderTableCell {TD} at (1000,5) size 0x0 [r=0 c=19 rs=1 cs=1]
-2baa577b2d2a75add31a3eb65fa02386
\ No newline at end of file
+d6c72ac0e759cd75484ed8417b485d19
\ No newline at end of file
RenderTable {TABLE} at (0,124) size 61x240
RenderTableSection {TBODY} at (0,0) size 61x240
RenderTableRow {TR} at (0,0) size 61x60
- RenderTableCell {TD} at (0,30) size 60x0 [r=0 c=0 rs=1 cs=1]
- RenderTableCell {TD} at (60,30) size 1x0 [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (0,30) size 61x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (61,30) size 0x0 [r=0 c=1 rs=1 cs=1]
RenderTableRow {TR} at (0,60) size 61x180
- RenderTableCell {TD} at (0,120) size 60x60 [r=1 c=0 rs=1 cs=1]
- RenderBlock {DIV} at (0,0) size 60x60 [bgcolor=#008000]
- RenderTableCell {TD} at (60,150) size 1x0 [r=1 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (0,120) size 61x60 [r=1 c=0 rs=1 cs=1]
+ RenderBlock {DIV} at (0,0) size 61x60 [bgcolor=#008000]
+ RenderTableCell {TD} at (61,150) size 0x0 [r=1 c=1 rs=1 cs=1]
RenderTableRow {TR} at (0,240) size 61x0
- RenderTableCell {TD} at (0,240) size 60x0 [bgcolor=#FF0000] [r=2 c=0 rs=1 cs=1]
- RenderTableCell {TD} at (60,240) size 1x0 [r=2 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (0,240) size 61x0 [bgcolor=#FF0000] [r=2 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (61,240) size 0x0 [r=2 c=1 rs=1 cs=1]
RenderTable {TABLE} at (0,18) size 784x100
RenderTableSection {TBODY} at (0,0) size 784x100
RenderTableRow {TR} at (0,0) size 784x100
- RenderTableCell {TD} at (0,50) size 784x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,50) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderBlock (anonymous) at (0,118) size 784x18
RenderText {#text} at (0,0) size 321x18
text run at (0,0) width 321: "This text is 100 pixels lower than the previous line."
RenderTable {TABLE} at (0,0) size 100x6
RenderTableSection {TBODY} at (0,0) size 100x6
RenderTableRow {TR} at (0,2) size 100x2
- RenderTableCell {TD} at (2,2) size 96x2 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (2,2) size 2x2 [r=0 c=0 rs=1 cs=1]
layer at (8,100) size 100x50
RenderBlock (positioned) {DIV} at (0,50) size 100x50 [bgcolor=#008000]
RenderTable {TABLE} at (0,0) size 100x6
RenderTableSection {TBODY} at (0,0) size 100x6
RenderTableRow {TR} at (0,2) size 100x2
- RenderTableCell {TD} at (2,2) size 96x2 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (2,2) size 2x2 [r=0 c=0 rs=1 cs=1]
--- /dev/null
+841f4e6787c119184ba04190780f8f57
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 785x723
+ RenderView at (0,0) size 785x600
+layer at (0,0) size 785x723
+ RenderBlock {HTML} at (0,0) size 785x723
+ RenderBody {BODY} at (0,0) size 785x723
+ RenderTable {TABLE} at (0,0) size 785x29 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x25
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,3) size 781x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 220x18
+ text run at (0,0) width 220: "First cell empty, second auto width"
+ RenderTable {TABLE} at (0,29) size 785x29 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x25
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,3) size 781x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 239x18
+ text run at (0,0) width 239: "First cell empty, second percent width"
+ RenderTable {TABLE} at (0,58) size 785x29 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x25
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,3) size 781x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 225x18
+ text run at (0,0) width 225: "First cell empty, second fixed width"
+ RenderTable {TABLE} at (0,87) size 785x29 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x25
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,3) size 391x18 [r=0 c=0 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 4x18
+ text run at (0,0) width 4: " "
+ RenderTableCell {TD} at (391,3) size 390x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 333x18
+ text run at (0,0) width 333: "First cell empty (with space) and has white-space:pre"
+ RenderTable {TABLE} at (0,116) size 785x29 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x25
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,3) size 781x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 321x18
+ text run at (0,0) width 321: "First cell empty (no space) and has white-space:pre"
+ RenderTable {TABLE} at (0,145) size 785x29 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x25
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,10) size 391x4 [border: (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (391,3) size 390x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 191x18
+ text run at (0,0) width 191: "First cell empty but has border"
+ RenderTable {TABLE} at (0,174) size 785x29 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x25
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,10) size 391x4 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (391,3) size 390x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 201x18
+ text run at (0,0) width 201: "First cell empty but has padding"
+ RenderTable {TABLE} at (0,203) size 785x29 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x25
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,3) size 781x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 194x18
+ text run at (0,0) width 194: "First cell empty but has margin"
+ RenderTable {TABLE} at (0,232) size 785x29 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x25
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 0x0 [bgcolor=#FFFF00] [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,3) size 781x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 261x18
+ text run at (0,0) width 261: "First cell empty but has background color"
+ RenderTable {TABLE} at (0,261) size 785x54 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x50
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 391x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (391,3) size 390x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 158x18
+ text run at (0,0) width 158: "First row, first cell empty"
+ RenderTableRow {TR} at (0,25) size 781x25
+ RenderTableCell {TD} at (0,28) size 391x18 [r=1 c=0 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 23x18
+ text run at (0,0) width 23: "text"
+ RenderTableCell {TD} at (391,28) size 390x18 [bgcolor=#FF0000] [r=1 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 201x18
+ text run at (0,0) width 201: "Second row, first cell not empty"
+ RenderTable {TABLE} at (0,315) size 785x54 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x50
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,3) size 781x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 158x18
+ text run at (0,0) width 158: "First row, first cell empty"
+ RenderTableRow {TR} at (0,25) size 781x25
+ RenderTableCell {TD} at (0,37) size 0x0 [r=1 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,28) size 781x18 [bgcolor=#FF0000] [r=1 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 177x18
+ text run at (0,0) width 177: "Second row, first cell empty"
+ RenderTable {TABLE} at (0,369) size 785x29 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x25
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 391x0 [r=0 c=0 rs=1 cs=2]
+ RenderTableCell {TD} at (391,3) size 390x18 [bgcolor=#FF0000] [r=0 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 178x18
+ text run at (0,0) width 178: "First cell empty, has colspan"
+ RenderTable {TABLE} at (0,398) size 785x54 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x50
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,3) size 391x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 23x18
+ text run at (0,0) width 23: "text"
+ RenderTableCell {TD} at (391,3) size 390x18 [bgcolor=#FF0000] [r=0 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 308x18
+ text run at (0,0) width 308: "First row, first cell empty, second cell non-empty"
+ RenderTableRow {TR} at (0,25) size 781x25
+ RenderTableCell {TD} at (0,37) size 391x0 [r=1 c=0 rs=1 cs=2]
+ RenderTableCell {TD} at (391,28) size 390x18 [bgcolor=#FF0000] [r=1 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 278x18
+ text run at (0,0) width 278: "Second row, first cell empty with colspan=2"
+ RenderTable {TABLE} at (0,452) size 785x54 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x50
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,3) size 391x18 [bgcolor=#FF0000] [r=0 c=0 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 23x18
+ text run at (0,0) width 23: "text"
+ RenderTableCell {TD} at (391,12) size 0x0 [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (391,3) size 390x18 [bgcolor=#FF0000] [r=0 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 308x18
+ text run at (0,0) width 308: "First row, first cell non-empty, second cell empty"
+ RenderTableRow {TR} at (0,25) size 781x25
+ RenderTableCell {TD} at (0,37) size 391x0 [r=1 c=0 rs=1 cs=2]
+ RenderTableCell {TD} at (391,28) size 390x18 [bgcolor=#FF0000] [r=1 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 278x18
+ text run at (0,0) width 278: "Second row, first cell empty with colspan=2"
+ RenderTable {TABLE} at (0,506) size 785x54 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x50
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 195x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (195,12) size 196x0 [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (391,3) size 390x18 [bgcolor=#FF0000] [r=0 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 233x18
+ text run at (0,0) width 233: "First row, first and second cell empty"
+ RenderTableRow {TR} at (0,25) size 781x25
+ RenderTableCell {TD} at (0,37) size 391x0 [r=1 c=0 rs=1 cs=2]
+ RenderTableCell {TD} at (391,28) size 390x18 [bgcolor=#FF0000] [r=1 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 275x18
+ text run at (0,0) width 275: "Second row, first cell empty, has colspan=2"
+ RenderTable {TABLE} at (0,560) size 785x65 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x61
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 196x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (196,12) size 195x0 [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (391,3) size 390x18 [bgcolor=#FF0000] [r=0 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 233x18
+ text run at (0,0) width 233: "First row, first and second cell empty"
+ RenderTableRow {TR} at (0,25) size 781x36
+ RenderTableCell {TD} at (0,43) size 391x0 [r=1 c=0 rs=1 cs=2]
+ RenderTableCell {TD} at (391,25) size 390x36 [bgcolor=#FF0000] [r=1 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 352x36
+ text run at (0,0) width 352: "Second row, first cell empty, has colspan=2 and percent"
+ text run at (0,18) width 36: "width"
+ RenderTable {TABLE} at (0,625) size 785x54 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x50
+ RenderTableRow {TR} at (0,0) size 781x25
+ RenderTableCell {TD} at (0,12) size 195x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (195,12) size 196x0 [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (391,3) size 390x18 [bgcolor=#FF0000] [r=0 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 233x18
+ text run at (0,0) width 233: "First row, first and second cell empty"
+ RenderTableRow {TR} at (0,25) size 781x25
+ RenderTableCell {TD} at (0,37) size 391x0 [r=1 c=0 rs=1 cs=2]
+ RenderTableCell {TD} at (391,28) size 390x18 [bgcolor=#FF0000] [r=1 c=2 rs=1 cs=1]
+ RenderText {#text} at (0,0) size 378x18
+ text run at (0,0) width 378: "Second row, first cell empty, has colspan=2 and fixed width"
+ RenderBlock (anonymous) at (0,679) size 785x18
+ RenderText {#text} at (0,0) size 100x18
+ text run at (0,0) width 100: "One empty cell:"
+ RenderTable {TABLE} at (0,697) size 785x4 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x0
+ RenderTableRow {TR} at (0,0) size 781x0
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderBlock (anonymous) at (0,701) size 785x18
+ RenderText {#text} at (0,0) size 109x18
+ text run at (0,0) width 109: "Two empty cells:"
+ RenderTable {TABLE} at (0,719) size 785x4 [border: (2px solid #000000)]
+ RenderTableSection {TBODY} at (2,2) size 781x0
+ RenderTableRow {TR} at (0,0) size 781x0
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=1 rs=1 cs=1]
--- /dev/null
+<html><head>
+<style type="text/css">
+
+.percent { width:50%; }
+.fixed { width:400px; }
+.cell2 {height:25px; background-color: red }
+.border { border: 2px solid green }
+.padding { padding: 2px }
+.margin { margin: 2px }
+.bgcolor { background-color: yellow }
+.pre { white-space: pre }
+table { border: 2px solid black }
+
+</style>
+<body leftmargin="0" topmargin="0">
+
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell2">First cell empty, second auto width</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell2 percent">First cell empty, second percent width</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell2 fixed">First cell empty, second fixed width</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1 pre"> </td>
+<td class="cell2 percent">First cell empty (with space) and has white-space:pre</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1 pre"></td>
+<td class="cell2 percent">First cell empty (no space) and has white-space:pre</td>
+</tr>
+</tbody>
+</table>
+
+<table id=c cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1 border"> </td>
+<td class="cell2 percent">First cell empty but has border</td>
+</tr>
+</tbody>
+</table>
+
+<table id=c cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1 padding"> </td>
+<td class="cell2 percent">First cell empty but has padding</td>
+</tr>
+</tbody>
+</table>
+
+<table id=c cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1 margin"> </td>
+<td class="cell2 percent">First cell empty but has margin</td>
+</tr>
+</tbody>
+</table>
+
+<table id=e cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1 bgcolor"> </td>
+<td class="cell2 percent">First cell empty but has background color</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell2 percent">First row, first cell empty</td>
+</tr>
+<tr>
+<td class="cell1"> text </td>
+<td class="cell2 percent">Second row, first cell not empty</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell2 percent">First row, first cell empty</td>
+</tr>
+<tr>
+<td class="cell1"> </td>
+<td class="cell2 percent">Second row, first cell empty</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1" colspan="2"> </td>
+<td class="cell2 percent">First cell empty, has colspan</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell2"> text </td>
+<td class="cell2 percent">First row, first cell empty, second cell non-empty</td>
+</tr>
+<tr>
+<td class="cell1" colspan="2"> </td>
+<td class="cell2">Second row, first cell empty with colspan=2</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell2"> text </td>
+<td class="cell1"> </td>
+<td class="cell2 percent">First row, first cell non-empty, second cell empty</td>
+</tr>
+<tr>
+<td class="cell1" colspan="2"> </td>
+<td class="cell2">Second row, first cell empty with colspan=2</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell1"> </td>
+<td class="cell2 percent">First row, first and second cell empty</td>
+</tr>
+<tr>
+<td class="cell1" colspan="2"> </td>
+<td class="cell2 percent">Second row, first cell empty, has colspan=2</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell1"> </td>
+<td class="cell2 percent">First row, first and second cell empty</td>
+</tr>
+<tr>
+<td class="cell1 percent" colspan="2"> </td>
+<td class="cell2 percent">Second row, first cell empty, has colspan=2 and percent width</td>
+</tr>
+</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell1"> </td>
+<td class="cell2 percent">First row, first and second cell empty</td>
+</tr>
+<tr>
+<td class="cell1 fixed" colspan="2"> </td>
+<td class="cell2 percent">Second row, first cell empty, has colspan=2 and fixed width</td>
+</tr>
+</tbody>
+</table>
+
+One empty cell:
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class=""> </td>
+</tr>
+</tbody>
+</table>
+
+Two empty cells:
+<table cellpadding="0" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class=""> </td>
+<td class=""> </td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
RenderTableSection {TBODY} at (0,5) size 100x0
RenderTableSection {TBODY} at (0,5) size 100x2
RenderTableRow {TR} at (0,0) size 100x2
- RenderTableCell {TD} at (0,0) size 100x2 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 2x2 [r=0 c=0 rs=1 cs=1]
RenderTable {TABLE} at (12,12) size 1x0
RenderTableSection {TBODY} at (0,0) size 1x0
RenderTableRow {TR} at (0,0) size 1x0
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (60,60) size 120x12 [bgcolor=#FF0000] [border: (12px solid #000000) none (12px solid #000000)]
RenderBlock {DIV} at (12,0) size 144x12
RenderText {#text} at (0,-1) size 90x14
RenderTable {TABLE} at (12,12) size 1x0
RenderTableSection {TBODY} at (0,0) size 1x0
RenderTableRow {TR} at (0,0) size 1x0
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (60,60) size 120x12 [bgcolor=#FF0000] [border: (12px solid #000000) none (12px solid #000000)]
RenderBlock {DIV} at (12,0) size 144x12
RenderText {#text} at (0,-1) size 90x14
RenderText {#text} at (0,0) size 100x18
text run at (0,0) width 100: "Correct Display"
RenderTableRow {TR} at (0,18) size 150x0
- RenderTableCell {TD} at (0,18) size 75x0 [r=1 c=0 rs=1 cs=1]
- RenderTableCell {TD} at (75,18) size 75x0 [r=1 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (0,18) size 125x0 [r=1 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (125,18) size 25x0 [r=1 c=1 rs=1 cs=1]
RenderBlock {P} at (0,34) size 784x0
RenderTable {TABLE} at (0,34) size 150x18 [bgcolor=#FFCCCC]
RenderTableCol {COL} at (0,0) size 0x0
RenderTable {TABLE} at (1,1) size 1x1
RenderTableSection {TBODY} at (0,0) size 1x1
RenderTableRow {TR} at (0,0) size 1x1
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
layer at (279,79) size 211x13
RenderBlock {DIV} at (3,3) size 211x13
-725e1444e5846dedf87517a1f6fe8576
\ No newline at end of file
+be8f793d7fa9a1c4e7f799937144750f
\ No newline at end of file
RenderTable {TABLE} at (0,36) size 37x5
RenderTableSection {TBODY} at (0,0) size 37x5
RenderTableRow {TR} at (0,2) size 37x1
- RenderTableCell {TD} at (2,2) size 30x1 [bgcolor=#FF0000] [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (2,2) size 31x1 [bgcolor=#FF0000] [r=0 c=0 rs=1 cs=1]
RenderImage {IMG} at (0,0) size 30x1
- RenderTableCell {TD} at (34,2) size 1x0 [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (35,2) size 0x0 [r=0 c=1 rs=1 cs=1]
RenderBlock (anonymous) at (0,41) size 784x18
RenderBR {BR} at (0,0) size 0x18
RenderTable {TABLE} at (0,59) size 34x5
RenderTable {TABLE} at (0,0) size 784x0
RenderTableSection {TBODY} at (0,0) size 784x0
RenderTableRow {TR} at (0,0) size 784x0
- RenderTableCell {TD} at (0,0) size 400x0 [bgcolor=#0000CC] [r=0 c=0 rs=1 cs=1]
- RenderTableCell {TD} at (400,0) size 6x0 [bgcolor=#00CC00] [r=0 c=1 rs=1 cs=1]
- RenderTableCell {TD} at (406,0) size 378x0 [bgcolor=#CC0000] [r=0 c=2 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 772x0 [bgcolor=#0000CC] [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (772,0) size 12x0 [bgcolor=#00CC00] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (784,0) size 0x0 [bgcolor=#CC0000] [r=0 c=2 rs=1 cs=1]
RenderTable {TABLE} at (0,0) size 1x0
RenderTableSection {TBODY} at (0,0) size 1x0
RenderTableRow {TR} at (0,0) size 1x0
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderTable {TABLE} at (0,0) size 400x8 [border: (1px solid #0000FF)]
RenderTableSection {TBODY} at (1,1) size 398x6
RenderTableRow {TR} at (0,2) size 398x2
- RenderTableCell {TD} at (2,2) size 394x2 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (2,2) size 2x2 [r=0 c=0 rs=1 cs=1]
RenderTableSection {TBODY} at (0,0) size 120x6
RenderTableRow {TR} at (0,2) size 120x2
RenderBlock {FORM} at (0,0) size 0x0
- RenderTableCell {TD} at (2,2) size 116x2 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (2,2) size 2x2 [r=0 c=0 rs=1 cs=1]
RenderTableCell {TD} at (128,2) size 510x166 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderTable {TABLE} at (2,2) size 506x162 [border: (1px outset #808080)]
RenderTableSection {TBODY} at (1,1) size 504x160
-f3e8ac5f89b07679968161599c0e5f42
\ No newline at end of file
+d96a636356e5d322ca479a685f7816af
\ No newline at end of file
-layer at (0,0) size 812x585
- RenderView at (0,0) size 800x585
-layer at (0,0) size 812x585
- RenderBlock {HTML} at (0,0) size 800x585
- RenderBody {BODY} at (8,8) size 784x569
+layer at (0,0) size 800x600
+ RenderView 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 226x18
text run at (0,0) width 226: "cell split with color (standard mode)"
RenderTable {TABLE} at (0,100) size 600x109
RenderTableSection {TBODY} at (0,0) size 600x109
RenderTableRow {TR} at (0,2) size 600x44
- RenderTableCell {TD} at (2,2) size 800x44 [r=0 c=0 rs=1 cs=3]
- RenderImage {IMG} at (110,1) size 579x42
+ RenderTableCell {TD} at (2,2) size 594x44 [r=0 c=0 rs=1 cs=3]
+ RenderImage {IMG} at (7,1) size 579x42
RenderText {#text} at (0,0) size 0x0
RenderTableRow {TR} at (0,48) size 600x37
- RenderTableCell {TD} at (2,48) size 371x37 [r=1 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (2,48) size 242x37 [r=1 c=0 rs=1 cs=1]
RenderImage {IMG} at (1,1) size 232x35 [border: (1px solid #000000)]
- RenderTableCell {TD} at (375,56) size 219x20 [r=1 c=1 rs=1 cs=1]
- RenderText {#text} at (39,1) size 140x18
- text run at (39,1) width 140: "Hassle-Free Upgrades"
+ RenderTableCell {TD} at (246,56) size 142x20 [r=1 c=1 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 140x18
+ text run at (1,1) width 140: "Hassle-Free Upgrades"
RenderTableRow {TR} at (0,87) size 600x20
- RenderTableCell {TD} at (2,87) size 802x20 [bgcolor=#99CCCC] [r=2 c=0 rs=1 cs=4]
+ RenderTableCell {TD} at (2,87) size 596x20 [bgcolor=#99CCCC] [r=2 c=0 rs=1 cs=4]
RenderText {#text} at (1,1) size 8x18
text run at (1,1) width 8: "x"
-b05ecf9f586d93e95335e269c28276c5
\ No newline at end of file
+94cde9af5d230278145924cc0ba39f6d
\ No newline at end of file
text run at (0,252) width 296: "# # # # # # # # # # # # # # # # # # # # # # # # #"
text run at (0,270) width 296: "# # # # # # # # # # # # # # # # # # # # # # # # #"
text run at (0,288) width 236: "# # # # # # # # # # # # # # # # # # # #"
- RenderTableCell {TD} at (537,0) size 231x324 [r=0 c=2 rs=1 cs=1]
- RenderTable {TABLE} at (0,0) size 231x324
- RenderTableSection {THEAD} at (0,0) size 231x18
- RenderTableRow {TR} at (0,0) size 231x18
- RenderTableCell {TH} at (0,0) size 231x18 [r=0 c=0 rs=1 cs=1]
- RenderText {#text} at (78,0) size 74x18
- text run at (78,0) width 74: "Header 3/1"
- RenderTableSection {TBODY} at (0,18) size 231x306
- RenderTableRow {TR} at (0,0) size 231x306
- RenderTableCell {TD} at (0,0) size 231x306 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (537,0) size 232x324 [r=0 c=2 rs=1 cs=1]
+ RenderTable {TABLE} at (0,0) size 232x324
+ RenderTableSection {THEAD} at (0,0) size 232x18
+ RenderTableRow {TR} at (0,0) size 232x18
+ RenderTableCell {TH} at (0,0) size 232x18 [r=0 c=0 rs=1 cs=1]
+ RenderText {#text} at (79,0) size 74x18
+ text run at (79,0) width 74: "Header 3/1"
+ RenderTableSection {TBODY} at (0,18) size 232x306
+ RenderTableRow {TR} at (0,0) size 232x306
+ RenderTableCell {TD} at (0,0) size 232x306 [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (0,0) size 230x306
text run at (0,0) width 230: "1 2 3 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !"
text run at (0,18) width 230: "! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !"
text run at (0,252) width 230: "! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !"
text run at (0,270) width 230: "! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !"
text run at (0,288) width 41: "! ! ! ! !"
- RenderTableCell {TD} at (768,0) size 1x0 [r=0 c=3 rs=1 cs=1]
+ RenderTableCell {TD} at (769,0) size 0x0 [r=0 c=3 rs=1 cs=1]
RenderTableRow {TR} at (0,324) size 769x324
RenderTableCell {TD} at (0,324) size 230x324 [r=1 c=0 rs=1 cs=1]
RenderTable {TABLE} at (0,0) size 230x324
text run at (0,252) width 296: "# # # # # # # # # # # # # # # # # # # # # # # # #"
text run at (0,270) width 296: "# # # # # # # # # # # # # # # # # # # # # # # # #"
text run at (0,288) width 236: "# # # # # # # # # # # # # # # # # # # #"
- RenderTableCell {TD} at (537,324) size 231x324 [r=1 c=2 rs=1 cs=1]
- RenderTable {TABLE} at (0,0) size 231x324
- RenderTableSection {THEAD} at (0,0) size 231x18
- RenderTableRow {TR} at (0,0) size 231x18
- RenderTableCell {TH} at (0,0) size 231x18 [r=0 c=0 rs=1 cs=1]
- RenderText {#text} at (78,0) size 74x18
- text run at (78,0) width 74: "Header 3/2"
- RenderTableSection {TBODY} at (0,18) size 231x306
- RenderTableRow {TR} at (0,0) size 231x306
- RenderTableCell {TD} at (0,0) size 231x306 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (537,324) size 232x324 [r=1 c=2 rs=1 cs=1]
+ RenderTable {TABLE} at (0,0) size 232x324
+ RenderTableSection {THEAD} at (0,0) size 232x18
+ RenderTableRow {TR} at (0,0) size 232x18
+ RenderTableCell {TH} at (0,0) size 232x18 [r=0 c=0 rs=1 cs=1]
+ RenderText {#text} at (79,0) size 74x18
+ text run at (79,0) width 74: "Header 3/2"
+ RenderTableSection {TBODY} at (0,18) size 232x306
+ RenderTableRow {TR} at (0,0) size 232x306
+ RenderTableCell {TD} at (0,0) size 232x306 [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (0,0) size 230x306
text run at (0,0) width 230: "1 2 3 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !"
text run at (0,18) width 230: "! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !"
-e3da72501646bba4d8f34720a22c9784
\ No newline at end of file
+e5fa2c15641806f14d681bc33c5852b4
\ No newline at end of file
RenderTable {TABLE} at (1,1) size 498x229 [bgcolor=#FFFF00]
RenderTableSection {TBODY} at (0,0) size 498x229
RenderTableRow {TR} at (0,0) size 498x229
- RenderTableCell {TD} at (0,114) size 1x0 [r=0 c=0 rs=1 cs=1]
- RenderTableCell {TD} at (1,67) size 496x95 [r=0 c=1 rs=1 cs=1]
- RenderBlock {H1} at (0,0) size 496x74
+ RenderTableCell {TD} at (0,114) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,67) size 498x95 [r=0 c=1 rs=1 cs=1]
+ RenderBlock {H1} at (0,0) size 498x74
RenderText {#text} at (0,0) size 479x74
text run at (0,0) width 479: "Detonator Comparison In 3DMark"
text run at (0,37) width 64: "2001"
- RenderTableCell {TD} at (497,114) size 1x0 [r=0 c=2 rs=1 cs=1]
+ RenderTableCell {TD} at (498,114) size 0x0 [r=0 c=2 rs=1 cs=1]
RenderTableCell {TD} at (639,114) size 5x2 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
RenderTableCell {TD} at (644,57) size 134x117 [border: (1px inset #808080)] [r=0 c=4 rs=1 cs=1]
RenderTable {TABLE} at (1,1) size 132x115 [bgcolor=#FFA500] [border: (1px outset #808080)]
RenderTable {TABLE} at (0,18) size 100x0 [bgcolor=#FFA500]
RenderTableSection {TBODY} at (0,0) size 100x0
RenderTableRow {TR} at (0,0) size 100x0
- RenderTableCell {TD} at (0,0) size 100x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderTableRow {TR} at (0,0) size 100x0
- RenderTableCell {TD} at (0,0) size 100x0 [r=1 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=1 c=0 rs=1 cs=1]
RenderTableRow {TR} at (0,0) size 100x0
- RenderTableCell {TD} at (0,0) size 100x0 [r=2 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=2 c=0 rs=1 cs=1]
RenderTableRow {TR} at (0,0) size 100x0
- RenderTableCell {TD} at (0,0) size 100x0 [r=3 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=3 c=0 rs=1 cs=1]
RenderTableRow {TR} at (0,0) size 100x0
- RenderTableCell {TD} at (0,0) size 100x0 [r=4 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=4 c=0 rs=1 cs=1]
RenderTableRow {TR} at (0,0) size 100x0
- RenderTableCell {TD} at (0,0) size 100x0 [r=5 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=5 c=0 rs=1 cs=1]
RenderBlock (anonymous) at (0,18) size 769x18
RenderBR {BR} at (0,0) size 0x18
RenderBlock {P} at (0,52) size 769x50
RenderTable {TABLE} at (0,18) size 100x12 [bgcolor=#FFA500]
RenderTableSection {TBODY} at (0,0) size 100x12
RenderTableRow {TR} at (0,0) size 100x2
- RenderTableCell {TD} at (0,1) size 100x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,1) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderTableRow {TR} at (0,2) size 100x2
- RenderTableCell {TD} at (0,3) size 100x0 [r=1 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,3) size 0x0 [r=1 c=0 rs=1 cs=1]
RenderTableRow {TR} at (0,4) size 100x2
- RenderTableCell {TD} at (0,5) size 100x0 [r=2 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,5) size 0x0 [r=2 c=0 rs=1 cs=1]
RenderTableRow {TR} at (0,6) size 100x2
- RenderTableCell {TD} at (0,7) size 100x0 [r=3 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,7) size 0x0 [r=3 c=0 rs=1 cs=1]
RenderTableRow {TR} at (0,8) size 100x2
- RenderTableCell {TD} at (0,9) size 100x0 [r=4 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,9) size 0x0 [r=4 c=0 rs=1 cs=1]
RenderTableRow {TR} at (0,10) size 100x2
- RenderTableCell {TD} at (0,11) size 100x0 [r=5 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,11) size 0x0 [r=5 c=0 rs=1 cs=1]
RenderBlock (anonymous) at (0,30) size 769x18
RenderBR {BR} at (0,0) size 0x18
RenderBlock {P} at (0,182) size 769x50
RenderTable {TABLE} at (1,1) size 6x0 [bgcolor=#FFA500]
RenderTableSection {TBODY} at (0,0) size 6x0
RenderTableRow {TR} at (0,0) size 6x0
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
- RenderTableCell {TD} at (1,0) size 1x0 [r=0 c=1 rs=1 cs=1]
- RenderTableCell {TD} at (2,0) size 1x0 [r=0 c=2 rs=1 cs=1]
- RenderTableCell {TD} at (3,0) size 1x0 [r=0 c=3 rs=1 cs=1]
- RenderTableCell {TD} at (4,0) size 1x0 [r=0 c=4 rs=1 cs=1]
- RenderTableCell {TD} at (5,0) size 1x0 [r=0 c=5 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=2 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=3 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=4 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=5 rs=1 cs=1]
RenderBlock (anonymous) at (0,22) size 769x18
RenderBR {BR} at (0,0) size 0x18
RenderBlock {P} at (0,528) size 769x18
+2007-04-27 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin, Hyatt.
+
+ Fix http://bugs.webkit.org/show_bug.cgi?id=13081
+ Empty table cells not handled correctly
+ <rdar://problem/5067926>
+
+ To match Firefox and IE, empty table cells with variable width need to be
+ treated as special case. They generally get zero width.
+
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::recalcColumn):
+ (WebCore::AutoTableLayout::calcEffectiveWidth):
+ (WebCore::AutoTableLayout::layout):
+ * rendering/AutoTableLayout.h:
+ (WebCore::AutoTableLayout::Layout::Layout):
+ * rendering/RenderStyle.h:
+ (WebCore::RenderStyle::hasPadding):
+
2007-04-27 Rob Buis <buis@kde.org>
Reviewed by Oliver.
RenderTableSection::CellStruct current = section->cellAt(i, effCol);
RenderTableCell* cell = current.cell;
+ bool cellHasContent = cell && (cell->firstChild() || cell->style()->hasBorder() || cell->style()->hasPadding());
+ if (cellHasContent)
+ l.emptyCellsOnly = false;
+
if (current.inColSpan)
continue;
if (cell && cell->colSpan() == 1) {
// A cell originates in this column. Ensure we have
// a min/max width of at least 1px for this column now.
- l.minWidth = max(l.minWidth, 1);
+ l.minWidth = max(l.minWidth, cellHasContent ? 1 : 0);
l.maxWidth = max(l.maxWidth, 1);
if (cell->prefWidthsDirty())
cell->calcPrefWidths();
if (cell && (!effCol || section->cellAt(i, effCol-1).cell != cell)) {
// This spanning cell originates in this column. Ensure we have
// a min/max width of at least 1px for this column now.
- l.minWidth = max(l.minWidth, 1);
+ l.minWidth = max(l.minWidth, cellHasContent ? 1 : 0);
l.maxWidth = max(l.maxWidth, 1);
insertSpanCell(cell);
}
bool allColsArePercent = true;
bool allColsAreFixed = true;
bool haveAuto = false;
+ bool spanHasEmptyCellsOnly = true;
int fixedWidth = 0;
while (lastCol < nEffCols && span > 0) {
switch (m_layoutStruct[lastCol].width.type()) {
totalPercent += m_layoutStruct[lastCol].effWidth.rawValue();
allColsAreFixed = false;
}
+ if (!m_layoutStruct[lastCol].emptyCellsOnly)
+ spanHasEmptyCellsOnly = false;
span -= m_table->spanOfEffCol(lastCol);
minWidth += m_layoutStruct[lastCol].effMinWidth;
maxWidth += m_layoutStruct[lastCol].effMaxWidth;
for (unsigned int pos = col; pos < lastCol; pos++)
m_layoutStruct[pos].maxWidth = max(m_layoutStruct[pos].maxWidth, m_layoutStruct[pos].minWidth);
}
+ // treat span ranges consisting of empty cells only as if they had content
+ if (spanHasEmptyCellsOnly)
+ for (unsigned int pos = col; pos < lastCol; pos++)
+ m_layoutStruct[pos].emptyCellsOnly = false;
}
m_effWidthDirty = false;
int totalFixed = 0;
int totalPercent = 0;
int allocAuto = 0;
+ int numAutoEmptyCellsOnly = 0;
// fill up every cell with its minWidth
for (int i = 0; i < nEffCols; i++) {
break;
case Auto:
case Static:
- numAuto++;
- totalAuto += m_layoutStruct[i].effMaxWidth;
- allocAuto += w;
+ if (m_layoutStruct[i].emptyCellsOnly)
+ numAutoEmptyCellsOnly++;
+ else {
+ numAuto++;
+ totalAuto += m_layoutStruct[i].effMaxWidth;
+ allocAuto += w;
+ }
+ break;
default:
break;
}
available += allocAuto; // this gets redistributed
for (int i = 0; i < nEffCols; i++) {
Length &width = m_layoutStruct[i].effWidth;
- if (width.isAuto() && totalAuto != 0) {
+ if (width.isAuto() && totalAuto != 0 && !m_layoutStruct[i].emptyCellsOnly) {
int w = max(int(m_layoutStruct[i].calcWidth), available * m_layoutStruct[i].effMaxWidth / totalAuto);
available -= w;
totalAuto -= m_layoutStruct[i].effMaxWidth;
#endif
// spread over the rest
- if (available > 0) {
- int total = nEffCols;
+ if (available > 0 && nEffCols > numAutoEmptyCellsOnly) {
+ int total = nEffCols - numAutoEmptyCellsOnly;
// still have some width to spread
int i = nEffCols;
- while ( i--) {
+ while (i--) {
+ // variable columns with empty cells only don't get any width
+ if (m_layoutStruct[i].width.isAuto() && m_layoutStruct[i].emptyCellsOnly)
+ continue;
int w = available / total;
available -= w;
total--;
, maxWidth(0)
, effMinWidth(0)
, effMaxWidth(0)
- , calcWidth(0) {}
+ , calcWidth(0)
+ , emptyCellsOnly(true) {}
Length width;
Length effWidth;
int minWidth;
int effMinWidth;
int effMaxWidth;
int calcWidth;
+ bool emptyCellsOnly;
};
Vector<Layout, 4> m_layoutStruct;
bool isFloating() const { return !(noninherited_flags._floating == FNONE); }
bool hasMargin() const { return surround->margin.nonZero(); }
bool hasBorder() const { return surround->border.hasBorder(); }
+ bool hasPadding() const { return surround->padding.nonZero(); }
bool hasOffset() const { return surround->offset.nonZero(); }
bool hasBackground() const { if (backgroundColor().isValid() && backgroundColor().alpha() > 0)