LayoutTests:
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 11 Aug 2007 18:01:35 +0000 (18:01 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 11 Aug 2007 18:01:35 +0000 (18:01 +0000)
2007-08-11  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - tests and updated results for http://bugs.webkit.org/show_bug.cgi?id=13670
          <rdar://problem/5399619> Table misrender when one of the TDs has width=100%

        * fast/table/100-percent-cell-width-expected.checksum: Added.
        * fast/table/100-percent-cell-width-expected.png: Added.
        * fast/table/100-percent-cell-width-expected.txt: Added.
        * fast/table/100-percent-cell-width.html: Added.
        * fast/table/percent-widths-stretch-expected.checksum: Added.
        * fast/table/percent-widths-stretch-expected.png: Added.
        * fast/table/percent-widths-stretch-expected.txt: Added.
        * fast/table/percent-widths-stretch.html: Added.
        * fast/text/whitespace/026-expected.checksum:
        * fast/text/whitespace/026-expected.png:
        * fast/text/whitespace/026-expected.txt:
        * tables/mozilla/bugs/bug35662-expected.checksum:
        * tables/mozilla/bugs/bug35662-expected.png:
        * tables/mozilla/bugs/bug35662-expected.txt:
        * tables/mozilla/bugs/bug5799-expected.checksum:
        * tables/mozilla/bugs/bug5799-expected.png:
        * tables/mozilla/bugs/bug5799-expected.txt:
        * tables/mozilla/core/col_span-expected.checksum:
        * tables/mozilla/core/col_span-expected.png:
        * tables/mozilla/core/col_span-expected.txt:

2007-08-11  Darin Adler  <darin@apple.com>

        - added a bunch of missing layout test results

        * editing/style/font-family-with-space-expected.checksum: Added.
        * editing/style/font-family-with-space-expected.png: Added.
        * fast/dom/frame-loading-via-document-write-expected.checksum: Added.
        * fast/dom/frame-loading-via-document-write-expected.png: Added.
        * fast/encoding/xmacroman-encoding-test-expected.checksum: Added.
        * fast/encoding/xmacroman-encoding-test-expected.png: Added.
        * fast/frames/frame-navigation-expected.checksum: Added.
        * fast/frames/frame-navigation-expected.png: Added.
        * fast/frames/frame-set-whitespace-attributes-expected.checksum: Added.
        * fast/frames/frame-set-whitespace-attributes-expected.png: Added.
        * fast/frames/inline-object-inside-frameset-expected.checksum: Added.
        * fast/frames/inline-object-inside-frameset-expected.png: Added.
        * fast/html/keygen-expected.checksum: Added.
        * fast/html/keygen-expected.png: Added.
        * fast/images/pdf-as-image-landscape-expected.checksum: Added.
        * fast/images/pdf-as-image-landscape-expected.png: Added.
        * fast/inline-block/14498-positionForCoordinates-expected.checksum: Added.
        * fast/inline-block/14498-positionForCoordinates-expected.png: Added.

WebCore:

2007-08-11  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13670
          <rdar://problem/5399619> Table misrender when one of the TDs has width=100%

        Tests: fast/table/100-percent-cell-width.html
               fast/table/percent-widths-stretch.html

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::calcPrefWidths): Changed the value used instead of
        0% to avoid division by zero from 1% to less than 0.01%. Removed code that
        added 0.5px to non-percent widths when calculating the scaling factor. The
        latter change is covered by the percent-widths-stretch test, where the new
        results match both WinIE 7 and Firefox 3.

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

49 files changed:
LayoutTests/ChangeLog
LayoutTests/editing/style/font-family-with-space-expected.checksum [new file with mode: 0644]
LayoutTests/editing/style/font-family-with-space-expected.png [new file with mode: 0644]
LayoutTests/fast/dom/frame-loading-via-document-write-expected.checksum [new file with mode: 0644]
LayoutTests/fast/dom/frame-loading-via-document-write-expected.png [new file with mode: 0644]
LayoutTests/fast/encoding/xmacroman-encoding-test-expected.checksum [new file with mode: 0644]
LayoutTests/fast/encoding/xmacroman-encoding-test-expected.png [new file with mode: 0644]
LayoutTests/fast/frames/frame-navigation-expected.checksum [new file with mode: 0644]
LayoutTests/fast/frames/frame-navigation-expected.png [new file with mode: 0644]
LayoutTests/fast/frames/frame-set-whitespace-attributes-expected.checksum [new file with mode: 0644]
LayoutTests/fast/frames/frame-set-whitespace-attributes-expected.png [new file with mode: 0644]
LayoutTests/fast/frames/inline-object-inside-frameset-expected.checksum [new file with mode: 0644]
LayoutTests/fast/frames/inline-object-inside-frameset-expected.png [new file with mode: 0644]
LayoutTests/fast/html/keygen-expected.checksum [new file with mode: 0644]
LayoutTests/fast/html/keygen-expected.png [new file with mode: 0644]
LayoutTests/fast/images/pdf-as-image-landscape-expected.checksum [new file with mode: 0644]
LayoutTests/fast/images/pdf-as-image-landscape-expected.png [new file with mode: 0644]
LayoutTests/fast/inline-block/14498-positionForCoordinates-expected.checksum [new file with mode: 0644]
LayoutTests/fast/inline-block/14498-positionForCoordinates-expected.png [new file with mode: 0644]
LayoutTests/fast/table/100-percent-cell-width-expected.checksum [new file with mode: 0644]
LayoutTests/fast/table/100-percent-cell-width-expected.png [new file with mode: 0644]
LayoutTests/fast/table/100-percent-cell-width-expected.txt [new file with mode: 0644]
LayoutTests/fast/table/100-percent-cell-width.html [new file with mode: 0644]
LayoutTests/fast/table/div-as-col-span-expected.checksum [new file with mode: 0644]
LayoutTests/fast/table/div-as-col-span-expected.png [new file with mode: 0644]
LayoutTests/fast/table/percent-widths-stretch-expected.checksum [new file with mode: 0644]
LayoutTests/fast/table/percent-widths-stretch-expected.png [new file with mode: 0644]
LayoutTests/fast/table/percent-widths-stretch-expected.txt [new file with mode: 0644]
LayoutTests/fast/table/percent-widths-stretch.html [new file with mode: 0644]
LayoutTests/fast/text/whitespace/026-expected.checksum
LayoutTests/fast/text/whitespace/026-expected.png
LayoutTests/fast/text/whitespace/026-expected.txt
LayoutTests/http/tests/loading/simple-subframe-expected.checksum [new file with mode: 0644]
LayoutTests/http/tests/loading/simple-subframe-expected.png [new file with mode: 0644]
LayoutTests/http/tests/local/file-url-sent-as-referer-expected.checksum [new file with mode: 0644]
LayoutTests/http/tests/local/file-url-sent-as-referer-expected.png [new file with mode: 0644]
LayoutTests/http/tests/security/frame-loading-via-document-write-expected.checksum [new file with mode: 0644]
LayoutTests/http/tests/security/frame-loading-via-document-write-expected.png [new file with mode: 0644]
LayoutTests/tables/mozilla/bugs/bug35662-expected.checksum
LayoutTests/tables/mozilla/bugs/bug35662-expected.png
LayoutTests/tables/mozilla/bugs/bug35662-expected.txt
LayoutTests/tables/mozilla/bugs/bug5799-expected.checksum
LayoutTests/tables/mozilla/bugs/bug5799-expected.png
LayoutTests/tables/mozilla/bugs/bug5799-expected.txt
LayoutTests/tables/mozilla/core/col_span-expected.checksum
LayoutTests/tables/mozilla/core/col_span-expected.png
LayoutTests/tables/mozilla/core/col_span-expected.txt
WebCore/ChangeLog
WebCore/rendering/AutoTableLayout.cpp

index f179616..1c04edb 100644 (file)
@@ -1,3 +1,54 @@
+2007-08-11  Mitz Pettel  <mitz@webkit.org>
+
+        Reviewed by Darin.
+
+        - tests and updated results for http://bugs.webkit.org/show_bug.cgi?id=13670
+          <rdar://problem/5399619> Table misrender when one of the TDs has width=100%
+
+        * fast/table/100-percent-cell-width-expected.checksum: Added.
+        * fast/table/100-percent-cell-width-expected.png: Added.
+        * fast/table/100-percent-cell-width-expected.txt: Added.
+        * fast/table/100-percent-cell-width.html: Added.
+        * fast/table/percent-widths-stretch-expected.checksum: Added.
+        * fast/table/percent-widths-stretch-expected.png: Added.
+        * fast/table/percent-widths-stretch-expected.txt: Added.
+        * fast/table/percent-widths-stretch.html: Added.
+        * fast/text/whitespace/026-expected.checksum:
+        * fast/text/whitespace/026-expected.png:
+        * fast/text/whitespace/026-expected.txt:
+        * tables/mozilla/bugs/bug35662-expected.checksum:
+        * tables/mozilla/bugs/bug35662-expected.png:
+        * tables/mozilla/bugs/bug35662-expected.txt:
+        * tables/mozilla/bugs/bug5799-expected.checksum:
+        * tables/mozilla/bugs/bug5799-expected.png:
+        * tables/mozilla/bugs/bug5799-expected.txt:
+        * tables/mozilla/core/col_span-expected.checksum:
+        * tables/mozilla/core/col_span-expected.png:
+        * tables/mozilla/core/col_span-expected.txt:
+
+2007-08-11  Darin Adler  <darin@apple.com>
+
+        - added a bunch of missing layout test results
+
+        * editing/style/font-family-with-space-expected.checksum: Added.
+        * editing/style/font-family-with-space-expected.png: Added.
+        * fast/dom/frame-loading-via-document-write-expected.checksum: Added.
+        * fast/dom/frame-loading-via-document-write-expected.png: Added.
+        * fast/encoding/xmacroman-encoding-test-expected.checksum: Added.
+        * fast/encoding/xmacroman-encoding-test-expected.png: Added.
+        * fast/frames/frame-navigation-expected.checksum: Added.
+        * fast/frames/frame-navigation-expected.png: Added.
+        * fast/frames/frame-set-whitespace-attributes-expected.checksum: Added.
+        * fast/frames/frame-set-whitespace-attributes-expected.png: Added.
+        * fast/frames/inline-object-inside-frameset-expected.checksum: Added.
+        * fast/frames/inline-object-inside-frameset-expected.png: Added.
+        * fast/html/keygen-expected.checksum: Added.
+        * fast/html/keygen-expected.png: Added.
+        * fast/images/pdf-as-image-landscape-expected.checksum: Added.
+        * fast/images/pdf-as-image-landscape-expected.png: Added.
+        * fast/inline-block/14498-positionForCoordinates-expected.checksum: Added.
+        * fast/inline-block/14498-positionForCoordinates-expected.png: Added.
+
 2007-08-11  Darin Adler  <darin@apple.com>
 
         Reviewed by Antti.
diff --git a/LayoutTests/editing/style/font-family-with-space-expected.checksum b/LayoutTests/editing/style/font-family-with-space-expected.checksum
new file mode 100644 (file)
index 0000000..1d7d06f
--- /dev/null
@@ -0,0 +1 @@
+ad2fb64e1da980ee74eec20e181c44d5
\ No newline at end of file
diff --git a/LayoutTests/editing/style/font-family-with-space-expected.png b/LayoutTests/editing/style/font-family-with-space-expected.png
new file mode 100644 (file)
index 0000000..440316e
Binary files /dev/null and b/LayoutTests/editing/style/font-family-with-space-expected.png differ
diff --git a/LayoutTests/fast/dom/frame-loading-via-document-write-expected.checksum b/LayoutTests/fast/dom/frame-loading-via-document-write-expected.checksum
new file mode 100644 (file)
index 0000000..b032a5f
--- /dev/null
@@ -0,0 +1 @@
+d0cde9b945399195425306c086c31364
\ No newline at end of file
diff --git a/LayoutTests/fast/dom/frame-loading-via-document-write-expected.png b/LayoutTests/fast/dom/frame-loading-via-document-write-expected.png
new file mode 100644 (file)
index 0000000..ef57dbb
Binary files /dev/null and b/LayoutTests/fast/dom/frame-loading-via-document-write-expected.png differ
diff --git a/LayoutTests/fast/encoding/xmacroman-encoding-test-expected.checksum b/LayoutTests/fast/encoding/xmacroman-encoding-test-expected.checksum
new file mode 100644 (file)
index 0000000..c3524c0
--- /dev/null
@@ -0,0 +1 @@
+729f2caf5546e431a73cb9fda01d00ea
\ No newline at end of file
diff --git a/LayoutTests/fast/encoding/xmacroman-encoding-test-expected.png b/LayoutTests/fast/encoding/xmacroman-encoding-test-expected.png
new file mode 100644 (file)
index 0000000..445e01f
Binary files /dev/null and b/LayoutTests/fast/encoding/xmacroman-encoding-test-expected.png differ
diff --git a/LayoutTests/fast/frames/frame-navigation-expected.checksum b/LayoutTests/fast/frames/frame-navigation-expected.checksum
new file mode 100644 (file)
index 0000000..80f59d7
--- /dev/null
@@ -0,0 +1 @@
+bc78cbce64fbd771e76aee9678b6d925
\ No newline at end of file
diff --git a/LayoutTests/fast/frames/frame-navigation-expected.png b/LayoutTests/fast/frames/frame-navigation-expected.png
new file mode 100644 (file)
index 0000000..b423d50
Binary files /dev/null and b/LayoutTests/fast/frames/frame-navigation-expected.png differ
diff --git a/LayoutTests/fast/frames/frame-set-whitespace-attributes-expected.checksum b/LayoutTests/fast/frames/frame-set-whitespace-attributes-expected.checksum
new file mode 100644 (file)
index 0000000..d69a371
--- /dev/null
@@ -0,0 +1 @@
+853de00567d121bea0b7bece66a5d61c
\ No newline at end of file
diff --git a/LayoutTests/fast/frames/frame-set-whitespace-attributes-expected.png b/LayoutTests/fast/frames/frame-set-whitespace-attributes-expected.png
new file mode 100644 (file)
index 0000000..113fea4
Binary files /dev/null and b/LayoutTests/fast/frames/frame-set-whitespace-attributes-expected.png differ
diff --git a/LayoutTests/fast/frames/inline-object-inside-frameset-expected.checksum b/LayoutTests/fast/frames/inline-object-inside-frameset-expected.checksum
new file mode 100644 (file)
index 0000000..ababc61
--- /dev/null
@@ -0,0 +1 @@
+ad9ff05974b43ce022a4878dffa6bd27
\ No newline at end of file
diff --git a/LayoutTests/fast/frames/inline-object-inside-frameset-expected.png b/LayoutTests/fast/frames/inline-object-inside-frameset-expected.png
new file mode 100644 (file)
index 0000000..91f1b0a
Binary files /dev/null and b/LayoutTests/fast/frames/inline-object-inside-frameset-expected.png differ
diff --git a/LayoutTests/fast/html/keygen-expected.checksum b/LayoutTests/fast/html/keygen-expected.checksum
new file mode 100644 (file)
index 0000000..01a53af
--- /dev/null
@@ -0,0 +1 @@
+c3c0daf0d0ca80d985d0b5d44ccfa971
\ No newline at end of file
diff --git a/LayoutTests/fast/html/keygen-expected.png b/LayoutTests/fast/html/keygen-expected.png
new file mode 100644 (file)
index 0000000..8f08e19
Binary files /dev/null and b/LayoutTests/fast/html/keygen-expected.png differ
diff --git a/LayoutTests/fast/images/pdf-as-image-landscape-expected.checksum b/LayoutTests/fast/images/pdf-as-image-landscape-expected.checksum
new file mode 100644 (file)
index 0000000..f39a064
--- /dev/null
@@ -0,0 +1 @@
+eb2f6860cca2f0cf0ec82b853f005564
\ No newline at end of file
diff --git a/LayoutTests/fast/images/pdf-as-image-landscape-expected.png b/LayoutTests/fast/images/pdf-as-image-landscape-expected.png
new file mode 100644 (file)
index 0000000..70b86d0
Binary files /dev/null and b/LayoutTests/fast/images/pdf-as-image-landscape-expected.png differ
diff --git a/LayoutTests/fast/inline-block/14498-positionForCoordinates-expected.checksum b/LayoutTests/fast/inline-block/14498-positionForCoordinates-expected.checksum
new file mode 100644 (file)
index 0000000..09e1b7b
--- /dev/null
@@ -0,0 +1 @@
+2bd6d947880e908b4d032904196137a5
\ No newline at end of file
diff --git a/LayoutTests/fast/inline-block/14498-positionForCoordinates-expected.png b/LayoutTests/fast/inline-block/14498-positionForCoordinates-expected.png
new file mode 100644 (file)
index 0000000..6e9fd71
Binary files /dev/null and b/LayoutTests/fast/inline-block/14498-positionForCoordinates-expected.png differ
diff --git a/LayoutTests/fast/table/100-percent-cell-width-expected.checksum b/LayoutTests/fast/table/100-percent-cell-width-expected.checksum
new file mode 100644 (file)
index 0000000..5c00fd1
--- /dev/null
@@ -0,0 +1 @@
+846ab10605a5a9545c146a9b1fdd1029
\ No newline at end of file
diff --git a/LayoutTests/fast/table/100-percent-cell-width-expected.png b/LayoutTests/fast/table/100-percent-cell-width-expected.png
new file mode 100644 (file)
index 0000000..5da0cc1
Binary files /dev/null and b/LayoutTests/fast/table/100-percent-cell-width-expected.png differ
diff --git a/LayoutTests/fast/table/100-percent-cell-width-expected.txt b/LayoutTests/fast/table/100-percent-cell-width-expected.txt
new file mode 100644 (file)
index 0000000..85e7498
--- /dev/null
@@ -0,0 +1,28 @@
+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 {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 53x18
+          text run at (0,0) width 53: "Test for "
+        RenderInline {I} at (0,0) size 657x18
+          RenderInline {A} at (0,0) size 301x18 [color=#0000EE]
+            RenderText {#text} at (53,0) size 301x18
+              text run at (53,0) width 301: "http://bugs.webkit.org/show_bug.cgi?id=13670"
+          RenderText {#text} at (354,0) size 356x18
+            text run at (354,0) width 4: " "
+            text run at (358,0) width 352: "Table misrender when one of the TDs has width=100%"
+        RenderText {#text} at (710,0) size 4x18
+          text run at (710,0) width 4: "."
+      RenderBlock {P} at (0,34) size 784x18
+        RenderText {#text} at (0,0) size 558x18
+          text run at (0,0) width 558: "There should be one green vertical line, 100px long and 2px thick, near the right margin."
+      RenderTable {TABLE} at (0,68) size 784x50
+        RenderTableSection {TBODY} at (0,0) size 784x50
+          RenderTableRow {TR} at (0,0) size 784x50
+            RenderTableCell {TD} at (0,25) size 782x0 [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (782,0) size 2x50 [r=0 c=1 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 2x50 [bgcolor=#008000]
+      RenderBlock {DIV} at (0,118) size 784x50
+        RenderBlock {DIV} at (782,0) size 2x50 [bgcolor=#008000]
diff --git a/LayoutTests/fast/table/100-percent-cell-width.html b/LayoutTests/fast/table/100-percent-cell-width.html
new file mode 100644 (file)
index 0000000..35c28e7
--- /dev/null
@@ -0,0 +1,16 @@
+<p>
+    Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=13670">http://bugs.webkit.org/show_bug.cgi?id=13670</a>
+    Table misrender when one of the TDs has width=100%</i>.
+</p>
+<p>
+    There should be one green vertical line, 100px long and 2px thick, near the right margin. 
+</p>
+<table cellpadding="0" cellspacing="0">
+    <tr>
+        <td width="100%"></td>
+        <td><div style="width: 2px; background: green; height: 50px;"></div></td>
+    </tr>
+</table>
+<div style="direction: rtl;">
+    <div style="width: 2px; background: green; height: 50px;"></div>
+</div>
diff --git a/LayoutTests/fast/table/div-as-col-span-expected.checksum b/LayoutTests/fast/table/div-as-col-span-expected.checksum
new file mode 100644 (file)
index 0000000..d69a371
--- /dev/null
@@ -0,0 +1 @@
+853de00567d121bea0b7bece66a5d61c
\ No newline at end of file
diff --git a/LayoutTests/fast/table/div-as-col-span-expected.png b/LayoutTests/fast/table/div-as-col-span-expected.png
new file mode 100644 (file)
index 0000000..113fea4
Binary files /dev/null and b/LayoutTests/fast/table/div-as-col-span-expected.png differ
diff --git a/LayoutTests/fast/table/percent-widths-stretch-expected.checksum b/LayoutTests/fast/table/percent-widths-stretch-expected.checksum
new file mode 100644 (file)
index 0000000..ff429f9
--- /dev/null
@@ -0,0 +1 @@
+c093433bf977337a6e02e317352cf036
\ No newline at end of file
diff --git a/LayoutTests/fast/table/percent-widths-stretch-expected.png b/LayoutTests/fast/table/percent-widths-stretch-expected.png
new file mode 100644 (file)
index 0000000..eb4cd5c
Binary files /dev/null and b/LayoutTests/fast/table/percent-widths-stretch-expected.png differ
diff --git a/LayoutTests/fast/table/percent-widths-stretch-expected.txt b/LayoutTests/fast/table/percent-widths-stretch-expected.txt
new file mode 100644 (file)
index 0000000..d6f428a
--- /dev/null
@@ -0,0 +1,105 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x96
+  RenderBlock {HTML} at (0,0) size 800x96
+    RenderBody {BODY} at (8,8) size 784x80
+      RenderTable {TABLE} at (0,0) size 100x4
+        RenderTableSection {TBODY} at (0,0) size 100x4
+          RenderTableRow {TR} at (0,0) size 100x4
+            RenderTableCell {TD} at (0,0) size 100x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,4) size 50x4
+        RenderTableSection {TBODY} at (0,0) size 50x4
+          RenderTableRow {TR} at (0,0) size 50x4
+            RenderTableCell {TD} at (0,0) size 50x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,8) size 33x4
+        RenderTableSection {TBODY} at (0,0) size 33x4
+          RenderTableRow {TR} at (0,0) size 33x4
+            RenderTableCell {TD} at (0,0) size 33x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,12) size 25x4
+        RenderTableSection {TBODY} at (0,0) size 25x4
+          RenderTableRow {TR} at (0,0) size 25x4
+            RenderTableCell {TD} at (0,0) size 25x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,16) size 20x4
+        RenderTableSection {TBODY} at (0,0) size 20x4
+          RenderTableRow {TR} at (0,0) size 20x4
+            RenderTableCell {TD} at (0,0) size 20x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,20) size 10x4
+        RenderTableSection {TBODY} at (0,0) size 10x4
+          RenderTableRow {TR} at (0,0) size 10x4
+            RenderTableCell {TD} at (0,0) size 10x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,24) size 5x4
+        RenderTableSection {TBODY} at (0,0) size 5x4
+          RenderTableRow {TR} at (0,0) size 5x4
+            RenderTableCell {TD} at (0,0) size 5x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,28) size 3x4
+        RenderTableSection {TBODY} at (0,0) size 3x4
+          RenderTableRow {TR} at (0,0) size 3x4
+            RenderTableCell {TD} at (0,0) size 3x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,32) size 2x4
+        RenderTableSection {TBODY} at (0,0) size 2x4
+          RenderTableRow {TR} at (0,0) size 2x4
+            RenderTableCell {TD} at (0,0) size 2x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,36) size 2x4
+        RenderTableSection {TBODY} at (0,0) size 2x4
+          RenderTableRow {TR} at (0,0) size 2x4
+            RenderTableCell {TD} at (0,0) size 2x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,40) size 1x4
+        RenderTableSection {TBODY} at (0,0) size 1x4
+          RenderTableRow {TR} at (0,0) size 1x4
+            RenderTableCell {TD} at (0,0) size 1x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,44) size 1x4
+        RenderTableSection {TBODY} at (0,0) size 1x4
+          RenderTableRow {TR} at (0,0) size 1x4
+            RenderTableCell {TD} at (0,0) size 1x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,48) size 1x4
+        RenderTableSection {TBODY} at (0,0) size 1x4
+          RenderTableRow {TR} at (0,0) size 1x4
+            RenderTableCell {TD} at (0,0) size 1x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,52) size 1x4
+        RenderTableSection {TBODY} at (0,0) size 1x4
+          RenderTableRow {TR} at (0,0) size 1x4
+            RenderTableCell {TD} at (0,0) size 1x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,56) size 1x4
+        RenderTableSection {TBODY} at (0,0) size 1x4
+          RenderTableRow {TR} at (0,0) size 1x4
+            RenderTableCell {TD} at (0,0) size 1x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,60) size 1x4
+        RenderTableSection {TBODY} at (0,0) size 1x4
+          RenderTableRow {TR} at (0,0) size 1x4
+            RenderTableCell {TD} at (0,0) size 1x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,64) size 1x4
+        RenderTableSection {TBODY} at (0,0) size 1x4
+          RenderTableRow {TR} at (0,0) size 1x4
+            RenderTableCell {TD} at (0,0) size 1x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,68) size 1x4
+        RenderTableSection {TBODY} at (0,0) size 1x4
+          RenderTableRow {TR} at (0,0) size 1x4
+            RenderTableCell {TD} at (0,0) size 1x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,72) size 1x4
+        RenderTableSection {TBODY} at (0,0) size 1x4
+          RenderTableRow {TR} at (0,0) size 1x4
+            RenderTableCell {TD} at (0,0) size 1x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
+      RenderTable {TABLE} at (0,76) size 1x4
+        RenderTableSection {TBODY} at (0,0) size 1x4
+          RenderTableRow {TR} at (0,0) size 1x4
+            RenderTableCell {TD} at (0,0) size 1x4 [bgcolor=#008000] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 1x4 [bgcolor=#FFA500]
diff --git a/LayoutTests/fast/table/percent-widths-stretch.html b/LayoutTests/fast/table/percent-widths-stretch.html
new file mode 100644 (file)
index 0000000..f33ad79
--- /dev/null
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <style>
+        table { border-collapse: collapse; }
+        td { background-color: green; padding: 0; }
+        div { background-color: orange; height: 4px; width: 1px; }
+    </style>
+<head>
+<body>
+    <table>
+        <tr>
+            <td width="1%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="2%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="3%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="4%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="5%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="10%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="20%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="30%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="40%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="50%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="60%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="70%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="80%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="90%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="95%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="96%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="97%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="98%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="99%"><div></div></td>
+        </tr>
+    </table>
+    <table>
+        <tr>
+            <td width="100%"><div></div></td>
+        </tr>
+    </table>
+</body>
+</html>
index 4bf490d..434d6fd 100644 (file)
@@ -1 +1 @@
-a2c2ca5888215c4a9c1ede67742e850e
\ No newline at end of file
+dab7daff12291d74bbcf06c671821057
\ No newline at end of file
index eea50ea..e3e6883 100644 (file)
Binary files a/LayoutTests/fast/text/whitespace/026-expected.png and b/LayoutTests/fast/text/whitespace/026-expected.png differ
index 2466887..8577f14 100644 (file)
@@ -3,13 +3,13 @@ layer 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
-      RenderTable {TABLE} at (0,0) size 450x18
-        RenderTableSection {TBODY} at (0,0) size 450x18
-          RenderTableRow {TR} at (0,0) size 450x18
+      RenderTable {TABLE} at (0,0) size 784x18
+        RenderTableSection {TBODY} at (0,0) size 784x18
+          RenderTableRow {TR} at (0,0) size 784x18
             RenderTableCell {TD} at (0,0) size 4x18 [r=0 c=0 rs=1 cs=1]
               RenderInline {B} at (0,0) size 4x18
                 RenderText {#text} at (0,0) size 4x18
                   text run at (0,0) width 4: "\x{B7}"
-            RenderTableCell {TD} at (4,0) size 446x18 [r=0 c=1 rs=1 cs=1]
+            RenderTableCell {TD} at (4,0) size 780x18 [r=0 c=1 rs=1 cs=1]
               RenderText {#text} at (0,0) size 388x18
                 text run at (0,0) width 388: "There should be space between the bullet and this line of text."
diff --git a/LayoutTests/http/tests/loading/simple-subframe-expected.checksum b/LayoutTests/http/tests/loading/simple-subframe-expected.checksum
new file mode 100644 (file)
index 0000000..ac947ac
--- /dev/null
@@ -0,0 +1 @@
+62c53deff3622b44d10f5819b6cec0d3
\ No newline at end of file
diff --git a/LayoutTests/http/tests/loading/simple-subframe-expected.png b/LayoutTests/http/tests/loading/simple-subframe-expected.png
new file mode 100644 (file)
index 0000000..639c1a6
Binary files /dev/null and b/LayoutTests/http/tests/loading/simple-subframe-expected.png differ
diff --git a/LayoutTests/http/tests/local/file-url-sent-as-referer-expected.checksum b/LayoutTests/http/tests/local/file-url-sent-as-referer-expected.checksum
new file mode 100644 (file)
index 0000000..f58b94e
--- /dev/null
@@ -0,0 +1 @@
+0b9b673f74f11ac2b0575f9d5f9a353f
\ No newline at end of file
diff --git a/LayoutTests/http/tests/local/file-url-sent-as-referer-expected.png b/LayoutTests/http/tests/local/file-url-sent-as-referer-expected.png
new file mode 100644 (file)
index 0000000..34cd11a
Binary files /dev/null and b/LayoutTests/http/tests/local/file-url-sent-as-referer-expected.png differ
diff --git a/LayoutTests/http/tests/security/frame-loading-via-document-write-expected.checksum b/LayoutTests/http/tests/security/frame-loading-via-document-write-expected.checksum
new file mode 100644 (file)
index 0000000..6749c33
--- /dev/null
@@ -0,0 +1 @@
+27e576b9e74a6968b20050557cababb5
\ No newline at end of file
diff --git a/LayoutTests/http/tests/security/frame-loading-via-document-write-expected.png b/LayoutTests/http/tests/security/frame-loading-via-document-write-expected.png
new file mode 100644 (file)
index 0000000..3841d12
Binary files /dev/null and b/LayoutTests/http/tests/security/frame-loading-via-document-write-expected.png differ
index 6e7b7aa..e5ec482 100644 (file)
@@ -1 +1 @@
-30895f22a34714055de4e0b073d988f8
\ No newline at end of file
+9020c523d5bbd4722c9e56018b936762
\ No newline at end of file
index 6db2246..c101eeb 100644 (file)
Binary files a/LayoutTests/tables/mozilla/bugs/bug35662-expected.png and b/LayoutTests/tables/mozilla/bugs/bug35662-expected.png differ
index 4534c2e..2b8cd10 100644 (file)
@@ -3,37 +3,37 @@ layer 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
-      RenderTable {TABLE} at (0,0) size 169x28 [border: (1px outset #808080)]
-        RenderTableSection {TBODY} at (1,1) size 167x26
-          RenderTableRow {TR} at (0,2) size 167x22
+      RenderTable {TABLE} at (0,0) size 168x28 [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 166x26
+          RenderTableRow {TR} at (0,2) size 166x22
             RenderTableCell {TD} at (2,2) size 59x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
               RenderText {#text} at (2,2) size 55x18
                 text run at (2,2) width 55: "Left side"
             RenderTableCell {TD} at (63,2) size 31x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
               RenderText {#text} at (2,2) size 26x18
                 text run at (2,2) width 26: "Mid"
-            RenderTableCell {TD} at (96,2) size 69x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+            RenderTableCell {TD} at (96,2) size 68x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
               RenderText {#text} at (2,2) size 64x18
                 text run at (2,2) width 64: "Right side"
-      RenderTable {TABLE} at (0,28) size 169x52 [border: (1px outset #808080)]
-        RenderTableSection {TBODY} at (1,1) size 167x50
-          RenderTableRow {TR} at (0,2) size 167x22
+      RenderTable {TABLE} at (0,28) size 168x52 [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 166x50
+          RenderTableRow {TR} at (0,2) size 166x22
             RenderTableCell {TD} at (2,2) size 59x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
               RenderText {#text} at (2,2) size 55x18
                 text run at (2,2) width 55: "Left side"
             RenderTableCell {TD} at (63,2) size 31x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
               RenderText {#text} at (2,2) size 26x18
                 text run at (2,2) width 26: "Mid"
-            RenderTableCell {TD} at (96,2) size 69x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+            RenderTableCell {TD} at (96,2) size 68x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
               RenderText {#text} at (2,2) size 64x18
                 text run at (2,2) width 64: "Right side"
-          RenderTableRow {TR} at (0,26) size 167x22
+          RenderTableRow {TR} at (0,26) size 166x22
             RenderTableCell {TD} at (2,26) size 59x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
               RenderText {#text} at (2,2) size 55x18
                 text run at (2,2) width 55: "Left side"
             RenderTableCell {TD} at (63,26) size 31x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
               RenderText {#text} at (2,2) size 26x18
                 text run at (2,2) width 26: "Mid"
-            RenderTableCell {TD} at (96,26) size 69x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+            RenderTableCell {TD} at (96,26) size 68x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
               RenderText {#text} at (2,2) size 64x18
                 text run at (2,2) width 64: "Right side"
index d7f7f63..9e66ddf 100644 (file)
@@ -1 +1 @@
-7b716f2ba5bd2c4e5bcdc70205d93cac
\ No newline at end of file
+283f59688ade1fde598720f4328289f1
\ No newline at end of file
index 998ee26..5a6a0a6 100644 (file)
Binary files a/LayoutTests/tables/mozilla/bugs/bug5799-expected.png and b/LayoutTests/tables/mozilla/bugs/bug5799-expected.png differ
index 6e0bda0..240d832 100644 (file)
@@ -14,13 +14,13 @@ layer at (0,0) size 800x600
                 text run at (2,2) width 8: "x"
       RenderBlock (anonymous) at (0,36) size 784x18
         RenderBR {BR} at (0,0) size 0x18
-      RenderTable {TABLE} at (0,54) size 325x36 [border: (5px outset #808080)]
-        RenderTableSection {TBODY} at (5,5) size 315x26
-          RenderTableRow {TR} at (0,2) size 315x22
-            RenderTableCell {TD} at (2,2) size 155x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+      RenderTable {TABLE} at (0,54) size 324x36 [border: (5px outset #808080)]
+        RenderTableSection {TBODY} at (5,5) size 314x26
+          RenderTableRow {TR} at (0,2) size 314x22
+            RenderTableCell {TD} at (2,2) size 154x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
               RenderText {#text} at (2,2) size 150x18
                 text run at (2,2) width 150: "almaalmaalmaalmaalma"
-            RenderTableCell {TD} at (159,2) size 154x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+            RenderTableCell {TD} at (158,2) size 154x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
               RenderText {#text} at (2,2) size 8x18
                 text run at (2,2) width 8: "x"
       RenderBlock (anonymous) at (0,90) size 784x18
@@ -32,16 +32,16 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,18) size 255x18
           text run at (0,18) width 255: "The cells are competing with each other."
         RenderBR {BR} at (255,32) size 0x0
-      RenderTable {TABLE} at (0,176) size 340x36 [border: (5px outset #808080)]
-        RenderTableSection {TBODY} at (5,5) size 330x26
-          RenderTableRow {TR} at (0,2) size 330x22
-            RenderTableCell {TD} at (2,2) size 66x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+      RenderTable {TABLE} at (0,176) size 338x36 [border: (5px outset #808080)]
+        RenderTableSection {TBODY} at (5,5) size 328x26
+          RenderTableRow {TR} at (0,2) size 328x22
+            RenderTableCell {TD} at (2,2) size 64x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
               RenderText {#text} at (2,2) size 60x18
                 text run at (2,2) width 60: "some text"
-            RenderTableCell {TD} at (70,2) size 128x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+            RenderTableCell {TD} at (68,2) size 128x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
               RenderText {#text} at (2,2) size 8x18
                 text run at (2,2) width 8: "x"
-            RenderTableCell {TD} at (200,2) size 128x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+            RenderTableCell {TD} at (198,2) size 128x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
               RenderText {#text} at (2,2) size 8x18
                 text run at (2,2) width 8: "x"
       RenderBlock {P} at (0,228) size 784x54
index 53056d4..c5f961f 100644 (file)
@@ -1 +1 @@
-5e27485f3f88783ca1c3718d7dd20a8f
\ No newline at end of file
+0ff415105c7f46138a29c36eba197662
\ No newline at end of file
index 7680b22..f9badeb 100644 (file)
Binary files a/LayoutTests/tables/mozilla/core/col_span-expected.png and b/LayoutTests/tables/mozilla/core/col_span-expected.png differ
index eb1026e..5cb9233 100644 (file)
@@ -15,32 +15,32 @@ layer at (0,0) size 800x600
                 text run at (2,20) width 36: "width"
       RenderBlock (anonymous) at (0,46) size 784x18
         RenderBR {BR} at (0,0) size 0x18
-      RenderTable {TABLE} at (0,64) size 217x46 [border: (1px outset #808080)]
-        RenderTableSection {TBODY} at (1,1) size 215x44
-          RenderTableRow {TR} at (0,2) size 215x40
-            RenderTableCell {TD} at (2,2) size 105x40 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+      RenderTable {TABLE} at (0,64) size 216x46 [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 214x44
+          RenderTableRow {TR} at (0,2) size 214x40
+            RenderTableCell {TD} at (2,2) size 104x40 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
               RenderText {#text} at (2,2) size 80x36
                 text run at (2,2) width 80: "100 100 100"
                 text run at (2,20) width 80: "100 100 100"
-            RenderTableCell {TD} at (109,11) size 104x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+            RenderTableCell {TD} at (108,11) size 104x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
               RenderText {#text} at (2,2) size 69x18
                 text run at (2,2) width 69: "50% width"
       RenderBlock (anonymous) at (0,110) size 784x18
         RenderBR {BR} at (0,0) size 0x18
-      RenderTable {TABLE} at (0,128) size 535x52 [border: (1px outset #808080)]
-        RenderTableSection {TBODY} at (1,1) size 533x50
-          RenderTableRow {TR} at (0,2) size 533x22
+      RenderTable {TABLE} at (0,128) size 534x52 [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 532x50
+          RenderTableRow {TR} at (0,2) size 532x22
             RenderTableCell {TD} at (2,2) size 104x22 [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 (108,2) size 264x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+            RenderTableCell {TD} at (108,2) size 263x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
               RenderText {#text} at (2,2) size 95x18
                 text run at (2,2) width 95: "no width given"
-            RenderTableCell {TD} at (374,2) size 157x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+            RenderTableCell {TD} at (373,2) size 157x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
               RenderText {#text} at (2,2) size 69x18
                 text run at (2,2) width 69: "30% width"
-          RenderTableRow {TR} at (0,26) size 533x22
-            RenderTableCell {TD} at (2,26) size 529x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=3]
+          RenderTableRow {TR} at (0,26) size 532x22
+            RenderTableCell {TD} at (2,26) size 528x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=3]
               RenderText {#text} at (2,2) size 93x18
                 text run at (2,2) width 93: "500 colspan=3"
       RenderBlock (anonymous) at (0,180) size 784x18
index 75fec1e..202aee6 100644 (file)
@@ -1,3 +1,20 @@
+2007-08-11  Mitz Pettel  <mitz@webkit.org>
+
+        Reviewed by Darin.
+
+        - fix http://bugs.webkit.org/show_bug.cgi?id=13670
+          <rdar://problem/5399619> Table misrender when one of the TDs has width=100%
+
+        Tests: fast/table/100-percent-cell-width.html
+               fast/table/percent-widths-stretch.html
+
+        * rendering/AutoTableLayout.cpp:
+        (WebCore::AutoTableLayout::calcPrefWidths): Changed the value used instead of
+        0% to avoid division by zero from 1% to less than 0.01%. Removed code that
+        added 0.5px to non-percent widths when calculating the scaling factor. The
+        latter change is covered by the percent-widths-stretch test, where the new
+        results match both WinIE 7 and Firefox 3.
+
 2007-08-11  Darin Adler  <darin@apple.com>
 
         Reviewed by Antti.
index 9f1bec3..d52b22e 100644 (file)
@@ -257,13 +257,17 @@ void AutoTableLayout::calcPrefWidths(int& minWidth, int& maxWidth)
     int maxPercent = 0;
     int maxNonPercent = 0;
 
+    // We substitute 0 percent by (epsilon / percentScaleFactor) percent in two places below to avoid division by zero.
+    // FIXME: Handle the 0% cases properly.
+    const int epsilon = 1;
+
     int remainingPercent = 100 * percentScaleFactor;
     for (unsigned int i = 0; i < m_layoutStruct.size(); i++) {
         minWidth += m_layoutStruct[i].effMinWidth;
         maxWidth += m_layoutStruct[i].effMaxWidth;
         if (m_layoutStruct[i].effWidth.isPercent()) {
             int percent = min(m_layoutStruct[i].effWidth.rawValue(), remainingPercent);
-            int pw = (m_layoutStruct[i].effMaxWidth * 100 * percentScaleFactor) / max(percent, percentScaleFactor);
+            int pw = (m_layoutStruct[i].effMaxWidth * 100 * percentScaleFactor) / max(percent, epsilon);
             remainingPercent -= percent;
             maxPercent = max(pw,  maxPercent);
         } else {
@@ -272,8 +276,7 @@ void AutoTableLayout::calcPrefWidths(int& minWidth, int& maxWidth)
     }
 
     if (shouldScaleColumns(m_table)) {
-        // FIXME: Why 50?
-        maxNonPercent = (maxNonPercent * 100 + 50) * percentScaleFactor / max(remainingPercent, percentScaleFactor);
+        maxNonPercent = maxNonPercent * 100 * percentScaleFactor / max(remainingPercent, epsilon);
         maxWidth = max(maxNonPercent,  maxWidth);
         maxWidth = max(maxWidth, maxPercent);
     }