LayoutTests:
authorantti <antti@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 28 Jun 2007 13:54:25 +0000 (13:54 +0000)
committerantti <antti@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 28 Jun 2007 13:54:25 +0000 (13:54 +0000)
        Reviewed by Mitz.

        Test changes for http://bugs.webkit.org/show_bug.cgi?id=14332
        Bug 14332: REGRESSION (r21145): <td> width ignored
        <rdar://problem/5290123>

        - expand empty-cells.html to cover non-zero cellpadding case too
        - update other related tests (none of these affect pixel results)

        * fast/css/acid2-expected.txt:
        * fast/css/acid2-pixel-expected.txt:
        * fast/table/032-expected.txt:
        * fast/table/empty-cells-expected.checksum:
        * fast/table/empty-cells-expected.png:
        * fast/table/empty-cells-expected.txt:
        * fast/table/empty-cells.html:
        * fast/table/empty-section-crash-expected.txt:
        * http/tests/misc/acid2-expected.txt:
        * http/tests/misc/acid2-pixel-expected.txt:
        * tables/mozilla/bugs/bug222467-expected.txt:
        * tables/mozilla/bugs/bug78162-expected.txt:

WebCore:

        Reviewed by Mitz.

        Fix http://bugs.webkit.org/show_bug.cgi?id=14332
        Bug 14332: REGRESSION (r21145): <td> width ignored
        <rdar://problem/5290123>

        Cells in table with non-zero cellpadding are not considered empty.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@23850 268f45cc-cd09-0410-ab3c-d52691b4dbfc

15 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/css/acid2-expected.txt
LayoutTests/fast/css/acid2-pixel-expected.txt
LayoutTests/fast/table/032-expected.txt
LayoutTests/fast/table/empty-cells-expected.checksum
LayoutTests/fast/table/empty-cells-expected.png
LayoutTests/fast/table/empty-cells-expected.txt
LayoutTests/fast/table/empty-cells.html
LayoutTests/fast/table/empty-section-crash-expected.txt
LayoutTests/http/tests/misc/acid2-expected.txt
LayoutTests/http/tests/misc/acid2-pixel-expected.txt
LayoutTests/tables/mozilla/bugs/bug222467-expected.txt
LayoutTests/tables/mozilla/bugs/bug78162-expected.txt
WebCore/ChangeLog
WebCore/rendering/AutoTableLayout.cpp

index f66ac3d..a98a272 100644 (file)
@@ -1,3 +1,27 @@
+2007-06-28  Antti Koivisto  <antti@apple.com>
+
+        Reviewed by Mitz.
+        
+        Test changes for http://bugs.webkit.org/show_bug.cgi?id=14332
+        Bug 14332: REGRESSION (r21145): <td> width ignored
+        <rdar://problem/5290123>
+        
+        - expand empty-cells.html to cover non-zero cellpadding case too
+        - update other related tests (none of these affect pixel results)
+
+        * fast/css/acid2-expected.txt:
+        * fast/css/acid2-pixel-expected.txt:
+        * fast/table/032-expected.txt:
+        * fast/table/empty-cells-expected.checksum:
+        * fast/table/empty-cells-expected.png:
+        * fast/table/empty-cells-expected.txt:
+        * fast/table/empty-cells.html:
+        * fast/table/empty-section-crash-expected.txt:
+        * http/tests/misc/acid2-expected.txt:
+        * http/tests/misc/acid2-pixel-expected.txt:
+        * tables/mozilla/bugs/bug222467-expected.txt:
+        * tables/mozilla/bugs/bug78162-expected.txt:
+
 2007-06-28  Adam Roben  <aroben@apple.com>
 
         New test for <rdar://problem/5300443> word-break and -webkit-user-modify allow any value
index ca2b3b6..dac58a9 100644 (file)
@@ -11,7 +11,7 @@ layer at (36,2638) size 764x226
     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 0x0 [r=0 c=0 rs=1 cs=1]
+          RenderTableCell {TD} at (0,0) size 1x0 [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
index 406776f..88edf1a 100644 (file)
@@ -11,7 +11,7 @@ layer at (36,72) size 764x226
     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 0x0 [r=0 c=0 rs=1 cs=1]
+          RenderTableCell {TD} at (0,0) size 1x0 [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
index df152c2..fe945f4 100644 (file)
@@ -14,10 +14,10 @@ layer at (8,50) size 100x50
       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 2x2 [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (2,2) size 96x2 [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 2x2 [r=0 c=0 rs=1 cs=1]
+          RenderTableCell {TD} at (2,2) size 96x2 [r=0 c=0 rs=1 cs=1]
index c8b53e5..663983b 100644 (file)
@@ -1 +1 @@
-841f4e6787c119184ba04190780f8f57
\ No newline at end of file
+cecf77ec385c3b261d346fe1abf10eba
\ No newline at end of file
index 2b1830d..9411ae4 100644 (file)
Binary files a/LayoutTests/fast/table/empty-cells-expected.png and b/LayoutTests/fast/table/empty-cells-expected.png differ
index 86caed0..1c85138 100644 (file)
@@ -1,8 +1,8 @@
-layer at (0,0) size 785x723
+layer at (0,0) size 785x783
   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
+layer at (0,0) size 785x783
+  RenderBlock {HTML} at (0,0) size 785x783
+    RenderBody {BODY} at (0,0) size 785x783
       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
@@ -57,18 +57,32 @@ layer at (0,0) size 785x723
       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,11) size 391x2 [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (391,2) size 390x20 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 237x18
+                text run at (1,1) width 237: "First cell empty, table has cellpadding"
+      RenderTable {TABLE} at (0,232) size 785x31 [border: (2px solid #000000)]
+        RenderTableSection {TBODY} at (2,2) size 781x27
+          RenderTableRow {TR} at (0,1) size 781x25
+            RenderTableCell {TD} at (1,13) size 0x0 [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (2,4) size 778x18 [bgcolor=#FF0000] [r=0 c=1 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 234x18
+                text run at (0,0) width 234: "First cell empty, table has cellspacing"
+      RenderTable {TABLE} at (0,263) 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)]
+      RenderTable {TABLE} at (0,292) 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)]
+      RenderTable {TABLE} at (0,321) 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]
@@ -82,7 +96,7 @@ layer at (0,0) size 785x723
             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)]
+      RenderTable {TABLE} at (0,375) 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]
@@ -94,14 +108,14 @@ layer at (0,0) size 785x723
             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)]
+      RenderTable {TABLE} at (0,429) 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)]
+      RenderTable {TABLE} at (0,458) 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]
@@ -116,7 +130,7 @@ layer at (0,0) size 785x723
             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)]
+      RenderTable {TABLE} at (0,512) 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]
@@ -131,7 +145,7 @@ layer at (0,0) size 785x723
             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)]
+      RenderTable {TABLE} at (0,566) 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]
@@ -144,7 +158,7 @@ layer at (0,0) size 785x723
             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)]
+      RenderTable {TABLE} at (0,620) 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]
@@ -158,7 +172,7 @@ layer at (0,0) size 785x723
               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)]
+      RenderTable {TABLE} at (0,685) 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]
@@ -171,17 +185,17 @@ layer at (0,0) size 785x723
             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
+      RenderBlock (anonymous) at (0,739) 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)]
+      RenderTable {TABLE} at (0,757) 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
+      RenderBlock (anonymous) at (0,761) 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)]
+      RenderTable {TABLE} at (0,779) 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]
index 74c26fb..d73f9d6 100644 (file)
@@ -78,6 +78,24 @@ table { border: 2px solid black }
 </tbody>
 </table>
 
+<table id=c cellpadding="1" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell2 percent">First cell empty, table has cellpadding</td>
+</tr>
+</tbody>
+</table>
+
+<table id=c cellpadding="0" cellspacing="1" width="100%">
+<tbody>
+<tr>
+<td class="cell1"> </td>
+<td class="cell2 percent">First cell empty, table has cellspacing</td>
+</tr>
+</tbody>
+</table>
+
 <table id=c cellpadding="0" cellspacing="0" width="100%">
 <tbody>
 <tr>
index dca4244..a806cc2 100644 (file)
@@ -23,4 +23,4 @@ layer at (8,-6) size 100x7 backgroundClip at (0,0) size 800x600 clip at (0,0) si
     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 2x2 [r=0 c=0 rs=1 cs=1]
+        RenderTableCell {TD} at (0,0) size 100x2 [r=0 c=0 rs=1 cs=1]
index ca2b3b6..dac58a9 100644 (file)
@@ -11,7 +11,7 @@ layer at (36,2638) size 764x226
     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 0x0 [r=0 c=0 rs=1 cs=1]
+          RenderTableCell {TD} at (0,0) size 1x0 [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
index 406776f..88edf1a 100644 (file)
@@ -11,7 +11,7 @@ layer at (36,72) size 764x226
     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 0x0 [r=0 c=0 rs=1 cs=1]
+          RenderTableCell {TD} at (0,0) size 1x0 [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
index ed7d494..3344649 100644 (file)
@@ -6,4 +6,4 @@ layer at (0,0) size 800x600
       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 2x2 [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (2,2) size 394x2 [r=0 c=0 rs=1 cs=1]
index acb4bdb..fc28f96 100644 (file)
@@ -11,7 +11,7 @@ layer at (0,0) size 800x600
                 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 2x2 [r=0 c=0 rs=1 cs=1]
+                    RenderTableCell {TD} at (2,2) size 116x2 [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
index 96e355d..2c0083d 100644 (file)
@@ -1,3 +1,16 @@
+2007-06-28  Antti Koivisto  <antti@apple.com>
+
+        Reviewed by Mitz.
+        
+        Fix http://bugs.webkit.org/show_bug.cgi?id=14332
+        Bug 14332: REGRESSION (r21145): <td> width ignored
+        <rdar://problem/5290123>
+        
+        Cells in table with non-zero cellpadding are not considered empty.
+
+        * rendering/AutoTableLayout.cpp:
+        (WebCore::AutoTableLayout::recalcColumn):
+
 2007-06-28  Adam Roben  <aroben@apple.com>
 
         Fix <rdar://problem/5300455> Prefast: typo in RenderBlock::paintObject
index 4cdc5a3..9f1bec3 100644 (file)
@@ -69,7 +69,7 @@ void AutoTableLayout::recalcColumn(int effCol)
                 RenderTableSection::CellStruct current = section->cellAt(i, effCol);
                 RenderTableCell* cell = current.cell;
                 
-                bool cellHasContent = cell && (cell->firstChild() || cell->style()->hasBorder() || cell->style()->hasPadding());
+                bool cellHasContent = cell && (cell->firstChild() || m_table->cellPadding() || cell->style()->hasBorder() || cell->style()->hasPadding());
                 if (cellHasContent)
                     l.emptyCellsOnly = false;