Changeset 111742 in webkit


Ignore:
Timestamp:
Mar 22, 2012 12:07:32 PM (12 years ago)
Author:
robert@webkit.org
Message:

CSS 2.1 failure: fixed-table-layout-006 fails
https://bugs.webkit.org/show_bug.cgi?id=78412

Reviewed by Julien Chaffraix.

Source/WebCore:

Tests: css2.1/20110323/fixed-table-layout-006.htm

fast/css/fixed-table-layout-cell-padding.htm

In fixed tables, positive width specified on a column should include borders and padding.
See the thread at http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html. The discussion
there resulted in a whole new set of tests for section 17.5.2.1 in the CSS 2.1 spec. See
http://test.csswg.org/harness/test/CSS21_DEV/section/17.5.2.1/. This patch allows WebKit
to pass all of them, and all tests for the 17.5.2.1 section as a whole. I'll land them all separately.

  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::calcWidthArray): Include border width and cell padding in the width of the column.

Note that borderAndPaddingLogicalWidth() returns the border width for separate and collapsed borders as appropriate.

LayoutTests:

  • css2.1/20110323/fixed-table-layout-006-expected.html: Added.
  • css2.1/20110323/fixed-table-layout-006.htm: Added.
  • css2.1/20110323/fixed-table-layout-013-expected.html: The reference test relied on the broken behaviour we're fixing here.
  • fast/css/fixed-table-layout-cell-padding-expected.html: Added.
  • fast/css/fixed-table-layout-cell-padding.htm: Added.
  • platform/chromium-linux/fast/repaint/scroll-inside-table-cell-expected.png:
  • platform/chromium-linux/fast/repaint/scroll-relative-table-inside-table-cell-expected.png:
  • platform/chromium-linux/tables/mozilla/bugs/bug2123-expected.png:
  • platform/chromium-linux/tables/mozilla/bugs/bug2509-expected.png:
  • platform/chromium-linux/tables/mozilla/bugs/bug34176-expected.png:
  • platform/chromium-linux/tables/mozilla/bugs/bug44505-expected.png:
  • platform/chromium-linux/tables/mozilla/bugs/bug44505-expected.txt:

Progression against FF is most evident in this test. The table with the black 'div' cell
content is proportioned the same as mozilla now.

  • platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug59252-expected.png:
  • platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug7243-expected.png:
  • platform/chromium-win/fast/table/cell-pref-width-invalidation-expected.txt:
  • platform/chromium-win/tables/mozilla/bugs/bug2123-expected.txt:
  • platform/chromium-win/tables/mozilla/bugs/bug2509-expected.txt:
  • platform/chromium-win/tables/mozilla/bugs/bug34176-expected.txt:
  • platform/chromium-win/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
  • platform/chromium-win/tables/mozilla_expected_failures/bugs/bug7243-expected.txt:
  • platform/chromium/test_expectations.txt: Update expectations until rebaseline
  • platform/gtk/test_expectations.txt: ditto
  • platform/mac/Skipped: Skip until rebaselined
  • platform/qt/test_expectations.txt: Update expectations until rebaseline
  • platform/win/Skipped: Skip until rebaselined
  • tables/hittesting/filltable-stress.html: Adjusted to traverse the cells for hit-testing given their new dimensions.
Location:
trunk
Files:
4 added
25 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r111741 r111742  
     12012-03-21  Robert Hogan  <robert@webkit.org>
     2
     3        CSS 2.1 failure: fixed-table-layout-006 fails
     4        https://bugs.webkit.org/show_bug.cgi?id=78412
     5
     6        Reviewed by Julien Chaffraix.
     7
     8        * css2.1/20110323/fixed-table-layout-006-expected.html: Added.
     9        * css2.1/20110323/fixed-table-layout-006.htm: Added.
     10        * css2.1/20110323/fixed-table-layout-013-expected.html: The reference test relied on the broken behaviour we're fixing here.
     11        * fast/css/fixed-table-layout-cell-padding-expected.html: Added.
     12        * fast/css/fixed-table-layout-cell-padding.htm: Added.
     13        * platform/chromium-linux/fast/repaint/scroll-inside-table-cell-expected.png:
     14        * platform/chromium-linux/fast/repaint/scroll-relative-table-inside-table-cell-expected.png:
     15        * platform/chromium-linux/tables/mozilla/bugs/bug2123-expected.png:
     16        * platform/chromium-linux/tables/mozilla/bugs/bug2509-expected.png:
     17        * platform/chromium-linux/tables/mozilla/bugs/bug34176-expected.png:
     18        * platform/chromium-linux/tables/mozilla/bugs/bug44505-expected.png:
     19        * platform/chromium-linux/tables/mozilla/bugs/bug44505-expected.txt:
     20           Progression against FF is most evident in this test. The table with the black 'div' cell
     21           content is proportioned the same as mozilla now.
     22        * platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug59252-expected.png:
     23        * platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug7243-expected.png:
     24        * platform/chromium-win/fast/table/cell-pref-width-invalidation-expected.txt:
     25        * platform/chromium-win/tables/mozilla/bugs/bug2123-expected.txt:
     26        * platform/chromium-win/tables/mozilla/bugs/bug2509-expected.txt:
     27        * platform/chromium-win/tables/mozilla/bugs/bug34176-expected.txt:
     28        * platform/chromium-win/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
     29        * platform/chromium-win/tables/mozilla_expected_failures/bugs/bug7243-expected.txt:
     30        * platform/chromium/test_expectations.txt: Update expectations until rebaseline
     31        * platform/gtk/test_expectations.txt: ditto
     32        * platform/mac/Skipped: Skip until rebaselined
     33        * platform/qt/test_expectations.txt: Update expectations until rebaseline
     34        * platform/win/Skipped: Skip until rebaselined
     35        * tables/hittesting/filltable-stress.html: Adjusted to traverse the cells for hit-testing given their new dimensions.
     36
    1372012-03-22  Dan Bernstein  <mitz@apple.com>
    238
  • trunk/LayoutTests/css2.1/20110323/fixed-table-layout-013-expected.html

    r111118 r111742  
    1313            {
    1414                background: black;
    15                 width: 100px;
     15                width: 98px;
    1616            }
    1717            #div1
  • trunk/LayoutTests/platform/chromium-linux/tables/mozilla/bugs/bug44505-expected.txt

    r110179 r111742  
    6161        RenderTableSection {TBODY} at (1,1) size 298x54
    6262          RenderTableRow {TR} at (0,2) size 298x24
    63             RenderTableCell {TD} at (2,2) size 150x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     63            RenderTableCell {TD} at (2,2) size 154x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    6464              RenderText {#text} at (2,2) size 4x19
    6565                text run at (2,2) width 4: " "
    66             RenderTableCell {TD} at (154,2) size 142x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     66            RenderTableCell {TD} at (158,2) size 138x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    6767              RenderText {#text} at (2,2) size 4x19
    6868                text run at (2,2) width 4: " "
    6969          RenderTableRow {TR} at (0,28) size 298x24
    70             RenderTableCell {TD} at (2,28) size 150x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
     70            RenderTableCell {TD} at (2,28) size 154x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
    7171              RenderText {#text} at (2,2) size 4x19
    7272                text run at (2,2) width 4: " "
    73             RenderTableCell {TD} at (154,28) size 142x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
     73            RenderTableCell {TD} at (158,28) size 138x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
    7474              RenderText {#text} at (2,2) size 4x19
    7575                text run at (2,2) width 4: " "
     
    7777        RenderTableSection {TBODY} at (1,1) size 298x60
    7878          RenderTableRow {TR} at (0,2) size 298x30
    79             RenderTableCell {TD} at (154,5) size 142x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     79            RenderTableCell {TD} at (158,5) size 138x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    8080              RenderText {#text} at (2,2) size 4x19
    8181                text run at (2,2) width 4: " "
    8282          RenderTableRow {TR} at (0,34) size 298x24
    83             RenderTableCell {TD} at (2,34) size 150x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
     83            RenderTableCell {TD} at (2,34) size 154x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
    8484              RenderText {#text} at (2,2) size 4x19
    8585                text run at (2,2) width 4: " "
    86             RenderTableCell {TD} at (154,34) size 142x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
     86            RenderTableCell {TD} at (158,34) size 138x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
    8787              RenderText {#text} at (2,2) size 4x19
    8888                text run at (2,2) width 4: " "
     
    109109        RenderTableSection {TBODY} at (1,1) size 298x96
    110110          RenderTableRow {TR} at (0,2) size 298x48
    111             RenderTableCell {TD} at (154,5) size 142x42 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     111            RenderTableCell {TD} at (176,5) size 120x42 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    112112              RenderText {#text} at (11,11) size 4x19
    113113                text run at (11,11) width 4: " "
    114114          RenderTableRow {TR} at (0,52) size 298x42
    115             RenderTableCell {TD} at (2,52) size 150x42 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
     115            RenderTableCell {TD} at (2,52) size 172x42 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
    116116              RenderText {#text} at (11,11) size 4x19
    117117                text run at (11,11) width 4: " "
    118             RenderTableCell {TD} at (154,52) size 142x42 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
     118            RenderTableCell {TD} at (176,52) size 120x42 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
    119119              RenderText {#text} at (11,11) size 4x19
    120120                text run at (11,11) width 4: " "
     
    122122        RenderTableSection {TBODY} at (1,1) size 298x92
    123123          RenderTableRow {TR} at (0,2) size 298x62
    124             RenderTableCell {TD} at (154,21) size 142x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     124            RenderTableCell {TD} at (158,21) size 138x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    125125              RenderText {#text} at (2,2) size 4x19
    126126                text run at (2,2) width 4: " "
    127127          RenderTableRow {TR} at (0,66) size 298x24
    128             RenderTableCell {TD} at (2,66) size 150x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
     128            RenderTableCell {TD} at (2,66) size 154x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
    129129              RenderText {#text} at (2,2) size 4x19
    130130                text run at (2,2) width 4: " "
    131             RenderTableCell {TD} at (154,66) size 142x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
     131            RenderTableCell {TD} at (158,66) size 138x24 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
    132132              RenderText {#text} at (2,2) size 4x19
    133133                text run at (2,2) width 4: " "
     
    149149              RenderText {#text} at (2,2) size 4x19
    150150                text run at (2,2) width 4: " "
    151 layer at (11,235) size 150x30 clip at (12,236) size 148x28 scrollWidth 201
    152   RenderTableCell {TD} at (2,2) size 150x30 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    153     RenderBlock {FORM} at (2,2) size 146x26
     151layer at (11,235) size 154x30 clip at (12,236) size 152x28 scrollWidth 201
     152  RenderTableCell {TD} at (2,2) size 154x30 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     153    RenderBlock {FORM} at (2,2) size 150x26
    154154      RenderButton {BUTTON} at (0,2) size 200x22 [bgcolor=#DDDDDD] [border: (2px outset #DDDDDD)]
    155155        RenderBlock (anonymous) at (8,3) size 184x16
    156156          RenderText {#text} at (74,0) size 36x16
    157157            text run at (74,0) width 36: "button"
    158 layer at (11,359) size 150x48 clip at (12,360) size 148x46 scrollWidth 216
    159   RenderTableCell {TD} at (2,2) size 150x48 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     158layer at (11,359) size 172x48 clip at (12,360) size 170x46 scrollWidth 216
     159  RenderTableCell {TD} at (2,2) size 172x48 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    160160    RenderBlock {DIV} at (11,11) size 206x26 [border: (3px solid #000000)]
    161161      RenderText {#text} at (3,3) size 18x19
    162162        text run at (3,3) width 18: "div"
    163 layer at (11,457) size 150x62 clip at (12,458) size 148x60 scrollWidth 207
    164   RenderTableCell {TD} at (2,2) size 150x62 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     163layer at (11,457) size 154x62 clip at (12,458) size 152x60 scrollWidth 207
     164  RenderTableCell {TD} at (2,2) size 154x62 [bgcolor=#0000FF] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    165165    RenderBlock {P} at (2,18) size 206x26 [border: (3px solid #000000)]
    166166      RenderText {#text} at (3,3) size 27x19
  • trunk/LayoutTests/platform/chromium-win/fast/table/cell-pref-width-invalidation-expected.txt

    r56268 r111742  
    77        RenderTableSection {TBODY} at (0,0) size 784x26
    88          RenderTableRow {TR} at (0,2) size 784x22
    9             RenderTableCell {TD} at (2,2) size 60x22 [r=0 c=0 rs=1 cs=1]
    10             RenderTableCell {TD} at (64,12) size 718x2 [r=0 c=1 rs=1 cs=1]
     9            RenderTableCell {TD} at (2,2) size 62x22 [r=0 c=0 rs=1 cs=1]
     10            RenderTableCell {TD} at (66,12) size 716x2 [r=0 c=1 rs=1 cs=1]
    1111      RenderBlock {DIV} at (0,26) size 784x0
    12 layer at (11,11) size 58x20
    13   RenderBlock {DIV} at (1,1) size 58x20
     12layer at (11,11) size 60x20
     13  RenderBlock {DIV} at (1,1) size 60x20
    1414    RenderText {#text} at (0,0) size 54x19
    1515      text run at (0,0) width 54: "Success!"
  • trunk/LayoutTests/platform/chromium-win/tables/mozilla/bugs/bug2123-expected.txt

    r56259 r111742  
    44  RenderBlock {HTML} at (0,0) size 800x600
    55    RenderBody {BODY} at (8,8) size 784x584 [bgcolor=#FFFFFF]
    6       RenderTable {TABLE} at (0,0) size 477x58 [bgcolor=#000000]
    7         RenderTableSection {TBODY} at (0,0) size 477x58
    8           RenderTableRow {TR} at (0,0) size 477x58
    9             RenderTableCell {TD} at (0,0) size 477x58 [r=0 c=0 rs=1 cs=1]
    10               RenderTable {TABLE} at (1,1) size 475x56 [bgcolor=#959595]
    11                 RenderTableSection {TBODY} at (0,0) size 475x56
    12                   RenderTableRow {TR} at (0,0) size 475x28
    13                     RenderTableCell {TD} at (0,0) size 475x28 [bgcolor=#6666CC] [r=0 c=0 rs=1 cs=1]
    14                       RenderInline {FONT} at (0,0) size 231x18 [color=#FFFFFF]
    15                         RenderInline {B} at (0,0) size 231x19
    16                           RenderText {#text} at (122,4) size 231x19
    17                             text run at (122,4) width 188: "BrowserWatch Headline "
    18                             text run at (310,4) width 43: "News"
    19                   RenderTableRow {TR} at (0,28) size 475x28
    20                     RenderTableCell {TD} at (0,28) size 475x28 [bgcolor=#D4D4D4] [r=1 c=0 rs=1 cs=1]
     6      RenderTable {TABLE} at (0,0) size 480x58 [bgcolor=#000000]
     7        RenderTableSection {TBODY} at (0,0) size 480x58
     8          RenderTableRow {TR} at (0,0) size 480x58
     9            RenderTableCell {TD} at (0,0) size 480x58 [r=0 c=0 rs=1 cs=1]
     10              RenderTable {TABLE} at (1,1) size 478x56 [bgcolor=#959595]
     11                RenderTableSection {TBODY} at (0,0) size 478x56
     12                  RenderTableRow {TR} at (0,0) size 478x28
     13                    RenderTableCell {TD} at (0,0) size 478x28 [bgcolor=#6666CC] [r=0 c=0 rs=1 cs=1]
     14                      RenderInline {FONT} at (0,0) size 232x18 [color=#FFFFFF]
     15                        RenderInline {B} at (0,0) size 232x19
     16                          RenderText {#text} at (123,4) size 232x19
     17                            text run at (123,4) width 189: "BrowserWatch Headline "
     18                            text run at (311,4) width 44: "News"
     19                  RenderTableRow {TR} at (0,28) size 478x28
     20                    RenderTableCell {TD} at (0,28) size 478x28 [bgcolor=#D4D4D4] [r=1 c=0 rs=1 cs=1]
    2121                      RenderText {#text} at (4,4) size 21x19
    2222                        text run at (4,4) width 21: "xxx"
  • trunk/LayoutTests/platform/chromium-win/tables/mozilla/bugs/bug2509-expected.txt

    r56259 r111742  
    77        RenderTableSection {TBODY} at (1,1) size 398x114
    88          RenderTableRow {TR} at (0,2) size 398x24
    9             RenderTableCell {TD} at (2,2) size 300x24 [border: (1px solid #0000FF)] [r=0 c=0 rs=1 cs=1]
     9            RenderTableCell {TD} at (2,2) size 304x24 [border: (1px solid #0000FF)] [r=0 c=0 rs=1 cs=1]
    1010              RenderText {#text} at (2,2) size 222x19
    1111                text run at (2,2) width 222: "What's New on WebDeveloper.com"
    12             RenderTableCell {TD} at (304,2) size 92x24 [border: (1px solid #0000FF)] [r=0 c=1 rs=1 cs=1]
     12            RenderTableCell {TD} at (308,2) size 88x24 [border: (1px solid #0000FF)] [r=0 c=1 rs=1 cs=1]
    1313              RenderText {#text} at (2,2) size 29x19
    1414                text run at (2,2) width 29: "umm"
    1515          RenderTableRow {TR} at (0,28) size 398x84
    16             RenderTableCell {TD} at (2,48) size 300x44 [border: (1px solid #008000)] [r=1 c=0 rs=1 cs=1]
     16            RenderTableCell {TD} at (2,48) size 304x44 [border: (1px solid #008000)] [r=1 c=0 rs=1 cs=1]
    1717              RenderText {#text} at (2,2) size 286x39
    1818                text run at (2,2) width 286: "blah blah blah blah blah blah blah blah blah blah"
    1919                text run at (2,22) width 54: "blah blah"
    20             RenderTableCell {TD} at (304,28) size 92x84 [border: (1px solid #008000)] [r=1 c=1 rs=1 cs=1]
     20            RenderTableCell {TD} at (308,28) size 88x84 [border: (1px solid #008000)] [r=1 c=1 rs=1 cs=1]
    2121              RenderText {#text} at (2,2) size 83x79
    2222                text run at (2,2) width 83: "blah blah blah"
  • trunk/LayoutTests/platform/chromium-win/tables/mozilla/bugs/bug34176-expected.txt

    r56259 r111742  
    1111                RenderTableSection {TBODY} at (1,1) size 772x28
    1212                  RenderTableRow {TR} at (0,2) size 772x24
    13                     RenderTableCell {TD} at (2,2) size 219x24 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     13                    RenderTableCell {TD} at (2,2) size 221x24 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1414                      RenderText {#text} at (2,2) size 32x19
    1515                        text run at (2,2) width 32: "cell 1"
    16                     RenderTableCell {TD} at (223,2) size 547x24 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     16                    RenderTableCell {TD} at (225,2) size 545x24 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1717                      RenderText {#text} at (2,2) size 32x19
    1818                        text run at (2,2) width 32: "cell 2"
  • trunk/LayoutTests/platform/chromium-win/tables/mozilla_expected_failures/bugs/bug59252-expected.txt

    r56259 r111742  
    1111                RenderTableSection {TBODY} at (2,2) size 496x96
    1212                  RenderTableRow {TR} at (0,2) size 496x92
    13                     RenderTableCell {TD} at (2,2) size 400x92 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    14                       RenderTable {TABLE} at (11,11) size 378x70 [border: (1px outset #808080)]
    15                         RenderTableSection {TBODY} at (1,1) size 376x68
    16                           RenderTableRow {TR} at (0,2) size 376x64
    17                             RenderTableCell {TD} at (2,2) size 372x64 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    18                               RenderText {#text} at (2,2) size 348x59
    19                                 text run at (2,2) width 344: "Have a tip or rumor to share? Just click on the icon and if"
    20                                 text run at (2,22) width 348: "you get a BrowserWatch net.fame be sure and display the"
    21                                 text run at (2,42) width 258: "icon on your own home page for all to see!"
    22                     RenderTableCell {TD} at (404,27) size 90x42 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     13                    RenderTableCell {TD} at (2,2) size 422x92 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     14                      RenderTable {TABLE} at (11,11) size 400x70 [border: (1px outset #808080)]
     15                        RenderTableSection {TBODY} at (1,1) size 398x68
     16                          RenderTableRow {TR} at (0,2) size 398x64
     17                            RenderTableCell {TD} at (2,2) size 394x64 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     18                              RenderText {#text} at (2,2) size 370x59
     19                                text run at (2,2) width 370: "Have a tip or rumor to share? Just click on the icon and if you"
     20                                text run at (2,22) width 370: "get a BrowserWatch net.fame be sure and display the icon on"
     21                                text run at (2,42) width 210: "your own home page for all to see!"
     22                    RenderTableCell {TD} at (426,27) size 68x42 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    2323                      RenderText {#text} at (11,11) size 20x19
    2424                        text run at (11,11) width 20: "foo"
  • trunk/LayoutTests/platform/chromium-win/tables/mozilla_expected_failures/bugs/bug7243-expected.txt

    r69281 r111742  
    111111        RenderTableSection {TBODY} at (1,1) size 98x44
    112112          RenderTableRow {TR} at (0,10) size 98x24
    113             RenderTableCell {TD} at (10,10) size 16x24 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     113            RenderTableCell {TD} at (10,10) size 14x24 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    114114              RenderText {#text} at (2,2) size 20x19
    115115                text run at (2,2) width 20: "foo"
    116             RenderTableCell {TD} at (36,10) size 22x24 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     116            RenderTableCell {TD} at (34,10) size 20x24 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    117117              RenderText {#text} at (2,2) size 20x19
    118118                text run at (2,2) width 20: "foo"
    119             RenderTableCell {TD} at (68,10) size 20x24 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
     119            RenderTableCell {TD} at (64,10) size 24x24 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
    120120              RenderText {#text} at (2,2) size 20x19
    121121                text run at (2,2) width 20: "foo"
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r111724 r111742  
    42524252BUGWK81857 SNOWLEOPARD DEBUG : fast/frames/calculate-order.html = PASS TIMEOUT
    42534253BUGWK81931 SNOWLEOPARD DEBUG : fast/images/destroyed-image-load-event.html = PASS TIMEOUT
     4254
     4255// Rebaseline after https://bugs.webkit.org/show_bug.cgi?id=78412
     4256BUGWK78412 MAC WIN : tables/mozilla/bugs/bug2123.html = IMAGE+TEXT
     4257BUGWK78412 MAC WIN  : tables/mozilla/bugs/bug2509.html = IMAGE+TEXT
     4258BUGWK78412 MAC WIN  : tables/mozilla/bugs/bug34176.html = IMAGE+TEXT
     4259BUGWK78412 MAC WIN  : tables/mozilla/bugs/bug44505.html = IMAGE+TEXT
     4260BUGWK78412 MAC WIN  : tables/mozilla_expected_failures/bugs/bug59252.html = IMAGE+TEXT
     4261BUGWK78412 MAC WIN  : tables/mozilla_expected_failures/bugs/bug7243.html = IMAGE+TEXT
     4262BUGWK78412 MAC WIN  : fast/repaint/scroll-inside-table-cell.html = IMAGE
     4263BUGWK78412 MAC WIN  : fast/repaint/scroll-relative-table-inside-table-cell.html = IMAGE
     4264BUGWK78412 MAC WIN  : fast/table/cell-pref-width-invalidation.html = TEXT
  • trunk/LayoutTests/platform/gtk/test_expectations.txt

    r111164 r111742  
    109109
    110110BUGWK80531 : fast/forms/textfield-overflow.html = IMAGE+TEXT
     111
     112// Rebaseline after https://bugs.webkit.org/show_bug.cgi?id=78412
     113BUGWK78412 : tables/mozilla/bugs/bug2123.html = TEXT
     114BUGWK78412 : tables/mozilla/bugs/bug2509.html = TEXT
     115BUGWK78412 : tables/mozilla/bugs/bug34176.html = TEXT
     116BUGWK78412 : tables/mozilla/bugs/bug44505.html = TEXT
     117BUGWK78412 : tables/mozilla_expected_failures/bugs/bug59252.html = TEXT
     118BUGWK78412 : tables/mozilla_expected_failures/bugs/bug7243.html = TEXT
     119BUGWK78412 : fast/table/cell-pref-width-invalidation.html = TEXT
     120
  • trunk/LayoutTests/platform/mac/Skipped

    r111628 r111742  
    611611# Not possible to set UA string for media requests with all Mac media engines.
    612612http/tests/media/video-useragent.html
     613
     614# Rebaseline after https://bugs.webkit.org/show_bug.cgi?id=78412
     615tables/mozilla/bugs/bug2123.html
     616tables/mozilla/bugs/bug2509.html
     617tables/mozilla/bugs/bug34176.html
     618tables/mozilla/bugs/bug44505.html
     619tables/mozilla_expected_failures/bugs/bug59252.html
     620tables/mozilla_expected_failures/bugs/bug7243.html
     621fast/repaint/scroll-inside-table-cell.html
     622fast/repaint/scroll-relative-table-inside-table-cell.html
     623fast/table/cell-pref-width-invalidation.html
  • trunk/LayoutTests/platform/qt/test_expectations.txt

    r110295 r111742  
    2121
    2222BUGWK73766 : css3/unicode-bidi-isolate-aharon-failing.html = FAIL
     23
     24// Rebaseline after https://bugs.webkit.org/show_bug.cgi?id=78412
     25BUGWK78412 : tables/mozilla/bugs/bug2123.html = TEXT
     26BUGWK78412 : tables/mozilla/bugs/bug2509.html = TEXT
     27BUGWK78412 : tables/mozilla/bugs/bug34176.html = TEXT
     28BUGWK78412 : tables/mozilla/bugs/bug44505.html = TEXT
     29BUGWK78412 : tables/mozilla_expected_failures/bugs/bug59252.html = TEXT
     30BUGWK78412 : tables/mozilla_expected_failures/bugs/bug7243.html = TEXT
  • trunk/LayoutTests/platform/win/Skipped

    r111637 r111742  
    18651865# Allowed to regress to fix a crash.
    18661866fast/inline/continuation-outlines-with-layers.html
     1867
     1868# Rebaseline after https://bugs.webkit.org/show_bug.cgi?id=78412
     1869tables/mozilla/bugs/bug2123.html
     1870tables/mozilla/bugs/bug2509.html
     1871tables/mozilla/bugs/bug34176.html
     1872tables/mozilla/bugs/bug44505.html
     1873tables/mozilla_expected_failures/bugs/bug59252.html
     1874tables/mozilla_expected_failures/bugs/bug7243.html
     1875fast/repaint/scroll-inside-table-cell.html
     1876fast/repaint/scroll-relative-table-inside-table-cell.html
     1877fast/table/cell-pref-width-invalidation.html
  • trunk/LayoutTests/tables/hittesting/filltable-stress.html

    r65714 r111742  
    3737          if (!success) failed = true;
    3838          logMsg += (success ? "SUCCESS" : "FAIL") + "<br />";
    39           xpos += cellwidth;
     39          xpos += cellwidth + 1;
    4040        }
    4141        ypos += cellHeight;
     
    4848
    4949    function CreateTable(tablewidth, rowcount, colcount) {
    50       var cellwidth = (tablewidth / colcount);
     50      var cellwidth = (tablewidth / colcount) - 1;
    5151      var tablestr = "<table style=\"table-layout:fixed;\" border=\"1\" width=\"" +
    5252                     tablewidth + "\" cellspacing=\"0\" cellpadding=\"0\">";
  • trunk/Source/WebCore/ChangeLog

    r111740 r111742  
     12012-03-21  Robert Hogan  <robert@webkit.org>
     2
     3        CSS 2.1 failure: fixed-table-layout-006 fails
     4        https://bugs.webkit.org/show_bug.cgi?id=78412
     5
     6        Reviewed by Julien Chaffraix.
     7
     8        Tests: css2.1/20110323/fixed-table-layout-006.htm
     9               fast/css/fixed-table-layout-cell-padding.htm
     10
     11        In fixed tables, positive width specified on a column should include borders and padding.
     12        See the thread at http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html. The discussion
     13        there resulted in a whole new set of tests for section 17.5.2.1 in the CSS 2.1 spec. See
     14        http://test.csswg.org/harness/test/CSS21_DEV/section/17.5.2.1/. This patch allows WebKit
     15        to pass all of them, and all tests for the 17.5.2.1 section as a whole. I'll land them all separately.
     16   
     17        * rendering/FixedTableLayout.cpp:
     18        (WebCore::FixedTableLayout::calcWidthArray): Include border width and cell padding in the width of the column.
     19         Note that borderAndPaddingLogicalWidth() returns the border width for separate and collapsed borders as appropriate.
     20
    1212012-03-22  Simon Fraser  <simon.fraser@apple.com>
    222
  • trunk/Source/WebCore/rendering/FixedTableLayout.cpp

    r111126 r111742  
    157157                unsigned span = cell->colSpan();
    158158                int effectiveColWidth = 0;
    159                 if (w.isFixed() && w.isPositive())
     159                if (w.isFixed() && w.isPositive()) {
     160                    w.setValue(w.value() + cell->borderAndPaddingLogicalWidth());
    160161                    effectiveColWidth = w.value();
     162                }
    161163               
    162164                unsigned usedSpan = 0;
Note: See TracChangeset for help on using the changeset viewer.