Changeset 19696 in webkit


Ignore:
Timestamp:
Feb 18, 2007 8:15:07 AM (17 years ago)
Author:
ap
Message:

2007-02-18 Mitz Pettel <mitz@webkit.org>

Reviewed by Hyatt.

Tests: fast/repaint/float-overflow.html

fast/repaint/float-overflow-right.html
fast/repaint/table-cell-vertical-overflow.html

Reflected in existing test results.

Unified floats and overflow for the purposes of painting and hit-testing.
Overhanging and overflowing floats are now factored into a block's overflow
unless their painting has been propagated to an ancestor.

Changed table cells to no longer expand to enclose overflow, thus making
it purely "visual overflow", having no effect on layout in WebCore. It
still determines scrolling dimensions.

  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): Include inline blocks' horizontal overflow in the inline box's dimensions.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Removed the expand to enclose overflows behavior. Added code to add this block's floats (and their overflow) to its overflow rect if it is not in a block formatting context. Otherwise, the inclusion of floats in the overflow is deferred until this block's parent examines its floats and possibly adopts overhanging floats. (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::paint): (WebCore::RenderBlock::floatRect): Made non-virtual and changed to return an empty rect if there are no floats or the floats are clipped, instead of returning the border box. (WebCore::RenderBlock::addOverhangingFloats): Any floats of the child that are not to be painted by the parent are added to the child's overflow rect. (WebCore::RenderBlock::addVisualOverflow): Added. Adjusts the overflow bounds to include the given rect. (WebCore::RenderBlock::nodeAtPoint):
  • rendering/RenderBlock.h:
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): (WebCore::RenderFlexibleBox::layoutHorizontalBox): After placing a normal child, add its floats to its overflow, since painting of floats does not propagate to flexible boxes. (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto.
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::layout):
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::layout):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::layout):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::absoluteBoundingBox):
  • rendering/RenderLayer.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
  • rendering/RenderObject.h: (WebCore::RenderObject::expandsToEncloseOverhangingFloats):
  • rendering/RenderPath.cpp: (WebCore::RenderPath::layout):
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout):
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::layout):
  • rendering/RenderTable.h: Removed the override of overflowHeight() since now tables can have vertical overflow.
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paint): Made sure that overflow is repainted.
  • rendering/RenderTableCell.h: (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats): Removed.
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): (WebCore::RenderTableSection::layoutRows): Factor in vertical overflow from cells. (WebCore::RenderTableSection::paint):
  • rendering/RenderTableSection.h: (WebCore::RenderTableSection::overflowHeight): (WebCore::RenderTableSection::overflowTop):
Location:
trunk
Files:
12 added
128 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r19691 r19696  
     12007-02-18  Mitz Pettel  <mitz@webkit.org>
     2
     3        Reviewed by Hyatt.
     4
     5        - repaint tests for http://bugs.webkit.org/show_bug.cgi?id=12123
     6          REGRESSION: Incomplete repaint of floats' overflows
     7
     8        - updated results for http://bugs.webkit.org/show_bug.cgi?id=10116
     9          REGRESSION: Menu item drawn 2 pixels short on WWDC 2006 Attendee Site
     10
     11        * css1/formatting_model/inline_elements-expected.checksum:
     12        * css1/formatting_model/inline_elements-expected.png:
     13        * css1/formatting_model/inline_elements-expected.txt:
     14        * css2.1/t0905-c414-flt-00-d-expected.txt:
     15        * css2.1/t0905-c414-flt-01-d-g-expected.txt:
     16        * css2.1/t0905-c414-flt-02-c-expected.txt:
     17        * css2.1/t0905-c414-flt-03-c-expected.txt:
     18        * css2.1/t0905-c414-flt-04-c-expected.txt:
     19        * css2.1/t0905-c414-flt-wrap-01-d-g-expected.txt:
     20        * css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
     21        * css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt:
     22        * css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt:
     23        * css2.1/t090501-c414-flt-02-d-g-expected.txt:
     24        * css2.1/t090501-c414-flt-03-b-g-expected.txt:
     25        * fast/backgrounds/repeat/negative-offset-repeat-expected.txt:
     26        * fast/block/float/008-expected.txt:
     27        * fast/block/float/013-expected.checksum:
     28        * fast/block/float/013-expected.txt:
     29        * fast/block/float/029-expected.txt:
     30        * fast/block/float/031-expected.txt:
     31        * fast/block/float/float-in-float-painting-expected.txt:
     32        * fast/block/margin-collapse/059-expected.checksum:
     33        * fast/block/margin-collapse/059-expected.png:
     34        * fast/block/margin-collapse/059-expected.txt:
     35        * fast/block/margin-collapse/062-expected.txt:
     36        * fast/block/margin-collapse/063-expected.txt:
     37        * fast/box-shadow/basic-shadows-expected.txt:
     38        * fast/forms/floating-textfield-relayout-expected.checksum:
     39        * fast/forms/floating-textfield-relayout-expected.txt:
     40        * fast/lists/003-expected.txt:
     41        * fast/media/mq-relative-constraints-08-expected.txt:
     42        * fast/multicol/float-multicol-expected.txt:
     43        * fast/repaint/float-overflow-expected.checksum: Added.
     44        * fast/repaint/float-overflow-expected.png: Added.
     45        * fast/repaint/float-overflow-expected.txt: Added.
     46        * fast/repaint/float-overflow-right-expected.checksum: Added.
     47        * fast/repaint/float-overflow-right-expected.png: Added.
     48        * fast/repaint/float-overflow-right-expected.txt: Added.
     49        * fast/repaint/float-overflow-right.html: Added.
     50        * fast/repaint/float-overflow.html: Added.
     51        * fast/repaint/table-cell-vertical-overflow-expected.checksum: Added.
     52        * fast/repaint/table-cell-vertical-overflow-expected.png: Added.
     53        * fast/repaint/table-cell-vertical-overflow-expected.txt: Added.
     54        * fast/repaint/table-cell-vertical-overflow.html: Added.
     55        * fast/table/009-expected.checksum:
     56        * fast/table/009-expected.png:
     57        * fast/table/009-expected.txt:
     58        * fast/text/whitespace/012-expected.txt:
     59        * tables/mozilla/bugs/bug120364-expected.txt:
     60        * tables/mozilla/bugs/bug196870-expected.checksum:
     61        * tables/mozilla/bugs/bug196870-expected.png:
     62        * tables/mozilla/bugs/bug196870-expected.txt:
     63        * tables/mozilla/bugs/bug45055-2-expected.txt:
     64        * tables/mozilla/bugs/bug72359-expected.txt:
     65        * tables/mozilla/marvin/x_table_align_left-expected.txt:
     66        * tables/mozilla/marvin/x_table_align_right-expected.txt:
     67        * tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt:
     68        * tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt:
     69        * tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt:
     70        * tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt:
     71        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.checksum:
     72        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.png:
     73        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt:
     74        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.checksum:
     75        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.png:
     76        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt:
     77        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.checksum:
     78        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.png:
     79        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt:
     80        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.checksum:
     81        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.png:
     82        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.txt:
     83        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.checksum:
     84        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.png:
     85        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.txt:
     86        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.checksum:
     87        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.png:
     88        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.txt:
     89        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.checksum:
     90        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.png:
     91        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt:
     92        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.checksum:
     93        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.png:
     94        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt:
     95        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.checksum:
     96        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.png:
     97        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt:
     98        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.checksum:
     99        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.png:
     100        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt:
     101        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.checksum:
     102        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png:
     103        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt:
     104        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.checksum:
     105        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.png:
     106        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt:
     107        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.checksum:
     108        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.png:
     109        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt:
     110        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.checksum:
     111        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.png:
     112        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt:
     113        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.checksum:
     114        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png:
     115        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt:
     116        * tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.checksum:
     117        * tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.png:
     118        * tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
     119        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.checksum:
     120        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.png:
     121        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt:
     122        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.checksum:
     123        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.png:
     124        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt:
     125        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.checksum:
     126        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.png:
     127        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt:
     128
    11292007-02-18  Alexey Proskuryakov  <ap@webkit.org>
    2130
  • trunk/LayoutTests/css1/formatting_model/inline_elements-expected.checksum

    r19593 r19696  
    1 55a1f301085cb525112043606e0fc453
     1b2da820c6f3f6667759c9aa205909f11
  • trunk/LayoutTests/css1/formatting_model/inline_elements-expected.txt

    r19593 r19696  
    1 layer at (0,0) size 785x792
     1layer at (0,0) size 785x779
    22  RenderView at (0,0) size 785x600
    3 layer at (0,0) size 785x792
    4   RenderBlock {HTML} at (0,0) size 785x792
    5     RenderBody {BODY} at (8,8) size 769x776 [bgcolor=#CCCCCC]
     3layer at (0,0) size 785x779
     4  RenderBlock {HTML} at (0,0) size 785x779
     5    RenderBody {BODY} at (8,8) size 769x763 [bgcolor=#CCCCCC]
    66      RenderBlock {P} at (0,0) size 769x18
    77        RenderText {#text} at (0,0) size 355x18
     
    5353          text run at (83,48) width 3: " "
    5454          text run at (86,48) width 412: "The line spacing in the whole paragraph should be 12pt, with font-size 10pt."
    55       RenderTable {TABLE} at (0,455) size 769x321 [border: (1px outset #808080)]
    56         RenderTableSection {TBODY} at (1,1) size 767x319
     55      RenderTable {TABLE} at (0,455) size 769x308 [border: (1px outset #808080)]
     56        RenderTableSection {TBODY} at (1,1) size 767x306
    5757          RenderTableRow {TR} at (0,0) size 767x26
    5858            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
     
    6060                RenderText {#text} at (4,4) size 163x18
    6161                  text run at (4,4) width 163: "TABLE Testing Section"
    62           RenderTableRow {TR} at (0,26) size 767x293
    63             RenderTableCell {TD} at (0,159) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
     62          RenderTableRow {TR} at (0,26) size 767x280
     63            RenderTableCell {TD} at (0,153) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
    6464              RenderText {#text} at (4,4) size 4x18
    6565                text run at (4,4) width 4: " "
    66             RenderTableCell {TD} at (12,26) size 755x293 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
     66            RenderTableCell {TD} at (12,26) size 755x280 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
    6767              RenderBlock {P} at (4,4) size 747x192
    6868                RenderText {#text} at (0,7) size 187x18
  • trunk/LayoutTests/css2.1/t0905-c414-flt-00-d-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x134
     3layer at (0,0) size 800x170
    44  RenderBlock {HTML} at (0,0) size 800x134
    55    RenderBody {BODY} at (8,16) size 784x102
  • trunk/LayoutTests/css2.1/t0905-c414-flt-01-d-g-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x130
     3layer at (0,0) size 800x162
    44  RenderBlock {HTML} at (0,0) size 800x130
    55    RenderBody {BODY} at (8,16) size 784x98
  • trunk/LayoutTests/css2.1/t0905-c414-flt-02-c-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x68
     3layer at (0,0) size 800x264
    44  RenderBlock {HTML} at (0,0) size 800x68
    55    RenderBody {BODY} at (8,16) size 784x36
  • trunk/LayoutTests/css2.1/t0905-c414-flt-03-c-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x68
     3layer at (0,0) size 800x264
    44  RenderBlock {HTML} at (0,0) size 800x68
    55    RenderBody {BODY} at (8,16) size 784x36
  • trunk/LayoutTests/css2.1/t0905-c414-flt-04-c-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x68
     3layer at (0,0) size 800x344
    44  RenderBlock {HTML} at (0,0) size 800x68
    55    RenderBody {BODY} at (8,16) size 784x36
  • trunk/LayoutTests/css2.1/t0905-c414-flt-wrap-01-d-g-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x156
     3layer at (0,0) size 800x163
    44  RenderBlock {HTML} at (0,0) size 800x156
    55    RenderBody {BODY} at (8,16) size 784x124
  • trunk/LayoutTests/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x8
     3layer at (0,0) size 800x260
    44  RenderBlock {HTML} at (0,0) size 800x8
    55    RenderBody {BODY} at (8,8) size 784x0
  • trunk/LayoutTests/css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x34
     3layer at (0,0) size 800x54
    44  RenderBlock {HTML} at (0,0) size 800x34
    55    RenderBody {BODY} at (8,8) size 784x18
  • trunk/LayoutTests/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x34
     3layer at (0,0) size 800x44
    44  RenderBlock {HTML} at (0,0) size 800x34
    55    RenderBody {BODY} at (8,8) size 784x18
  • trunk/LayoutTests/css2.1/t090501-c414-flt-02-d-g-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x154
     3layer at (0,0) size 800x218
    44  RenderBlock {HTML} at (0,0) size 800x154
    55    RenderBody {BODY} at (8,16) size 784x122
  • trunk/LayoutTests/css2.1/t090501-c414-flt-03-b-g-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x155
     3layer at (0,0) size 800x237
    44  RenderBlock {HTML} at (0,0) size 800x155
    55    RenderBody {BODY} at (8,16) size 784x123
  • trunk/LayoutTests/fast/backgrounds/repeat/negative-offset-repeat-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x484
     3layer at (0,0) size 800x524
    44  RenderBlock {HTML} at (0,0) size 800x484
    55    RenderBody {BODY} at (8,16) size 784x452
  • trunk/LayoutTests/fast/block/float/008-expected.txt

    r19593 r19696  
    11layer at (0,0) size 785x608
    22  RenderView at (0,0) size 785x600
    3 layer at (0,0) size 785x600
     3layer at (0,0) size 785x608
    44  RenderBlock {HTML} at (0,0) size 785x600
    55    RenderBody {BODY} at (8,8) size 769x300
  • trunk/LayoutTests/fast/block/float/013-expected.checksum

    r19593 r19696  
    1 76249c23fcdddcecf3cdb08b2120b225
     1f069ee9081d2de062f2c9e90efa023b9
  • trunk/LayoutTests/fast/block/float/013-expected.txt

    r19593 r19696  
    44  RenderBlock {HTML} at (0,0) size 800x8
    55    RenderBody {BODY} at (8,8) size 784x0
    6 layer at (8,64) size 800x108
     6layer at (8,64) size 800x115
    77  RenderBlock (positioned) {DIV} at (8,64) size 800x108 [bgcolor=#0000FF]
    88    RenderBlock {DIV} at (38,8) size 723x57 [bgcolor=#008000] [border: (2px solid #888878) none]
  • trunk/LayoutTests/fast/block/float/029-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x54
     3layer at (0,0) size 800x166
    44  RenderBlock {HTML} at (0,0) size 800x54
    55    RenderBody {BODY} at (8,8) size 784x38
  • trunk/LayoutTests/fast/block/float/031-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x300
     3layer at (0,0) size 800x332
    44  RenderBlock {HTML} at (0,0) size 800x300
    55    RenderBody {BODY} at (8,8) size 784x284
  • trunk/LayoutTests/fast/block/float/float-in-float-painting-expected.txt

    r19593 r19696  
    1313        RenderText {#text} at (115,18) size 597x18
    1414          text run at (115,18) width 597: ", or rather, a related painting issue. The word \"PASS\" should appear below in translucent blue."
    15 layer at (8,44) size 784x125
     15layer at (8,44) size 784x162
    1616  RenderBlock {DIV} at (0,36) size 784x125
    1717    RenderBlock (floating) {DIV} at (0,0) size 104x125
  • trunk/LayoutTests/fast/block/margin-collapse/059-expected.checksum

    r19593 r19696  
    1 8e03cda31efbafc6ddf1b53fa70376a9
     18f0042cc5c242365774f89743a2678a0
  • trunk/LayoutTests/fast/block/margin-collapse/059-expected.txt

    r19593 r19696  
    1010        RenderTableSection {TBODY} at (3,3) size 100x200
    1111          RenderTableRow {TR} at (0,0) size 100x200
    12             RenderTableCell {TD} at (0,0) size 50x200 [bgcolor=#FFA500] [r=0 c=0 rs=1 cs=1]
     12            RenderTableCell {TD} at (0,25) size 50x150 [bgcolor=#FFA500] [r=0 c=0 rs=1 cs=1]
    1313              RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#FF0000]
    1414                RenderBlock {DIV} at (0,0) size 50x150 [bgcolor=#00FFFF]
  • trunk/LayoutTests/fast/block/margin-collapse/062-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x46 layerType: background only
     3layer at (0,0) size 800x110 layerType: background only
    44layer at (10,46) size 320x64
    55  RenderBlock (positioned) zI: -1 {DIV} at (10,46) size 320x64 [color=#FFFF00] [bgcolor=#FF0000]
    66    RenderText zI: -1 {#text} at (0,0) size 36x18
    77      text run at (0,0) width 36: "FAIL"
    8 layer at (0,0) size 800x46 layerType: foreground only
     8layer at (0,0) size 800x110 layerType: foreground only
    99  RenderBlock {HTML} at (0,0) size 800x46
    1010    RenderBody {BODY} at (10,46) size 780x0
  • trunk/LayoutTests/fast/block/margin-collapse/063-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x49 layerType: background only
     3layer at (0,0) size 800x77 layerType: background only
    44layer at (10,13) size 320x64
    55  RenderBlock (positioned) zI: -1 {DIV} at (10,13) size 320x64 [color=#FFFF00] [bgcolor=#FF0000]
    66    RenderText zI: -1 {#text} at (0,0) size 36x18
    77      text run at (0,0) width 36: "FAIL"
    8 layer at (0,0) size 800x49 layerType: foreground only
     8layer at (0,0) size 800x77 layerType: foreground only
    99  RenderBlock {HTML} at (0,0) size 800x49
    1010    RenderBody {BODY} at (10,2) size 780x1
  • trunk/LayoutTests/fast/box-shadow/basic-shadows-expected.txt

    r19593 r19696  
    11layer at (0,0) size 785x671
    22  RenderView at (0,0) size 785x600
    3 layer at (0,0) size 785x658
     3layer at (0,0) size 785x671
    44  RenderBlock {HTML} at (0,0) size 785x658
    55    RenderBody {BODY} at (8,8) size 769x634
  • trunk/LayoutTests/fast/forms/floating-textfield-relayout-expected.checksum

    r19593 r19696  
    1 2a7212dd9cad1f4955efa5403430629c
     19eea4b422a919b63d920d6da21841f7b
  • trunk/LayoutTests/fast/forms/floating-textfield-relayout-expected.txt

    r19593 r19696  
    1818          text run at (59,18) width 4: "."
    1919      RenderBlock {HR} at (0,52) size 784x2 [border: (1px inset #000000)]
    20 layer at (8,70) size 784x0
     20layer at (8,70) size 784x21
    2121  RenderBlock (relative positioned) {DIV} at (0,62) size 784x0
    2222    RenderTextControl {INPUT} at (0,2) size 392x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
  • trunk/LayoutTests/fast/lists/003-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x334
     3layer at (0,0) size 800x350
    44  RenderBlock {HTML} at (0,0) size 800x334
    55    RenderBody {BODY} at (8,16) size 784x302
  • trunk/LayoutTests/fast/media/mq-relative-constraints-08-expected.txt

    r19593 r19696  
    11layer at (0,0) size 785x642
    22  RenderView at (0,0) size 785x600
    3 layer at (0,0) size 785x600
     3layer at (0,0) size 785x642
    44  RenderBlock {HTML} at (0,0) size 785x600
    55    RenderBody {BODY} at (8,8) size 769x576
  • trunk/LayoutTests/fast/multicol/float-multicol-expected.txt

    r19593 r19696  
    11layer at (0,0) size 785x794
    22  RenderView at (0,0) size 785x600
    3 layer at (0,0) size 785x670
     3layer at (0,0) size 785x794
    44  RenderBlock {HTML} at (0,0) size 785x670
    55    RenderBody {BODY} at (8,19) size 769x635
  • trunk/LayoutTests/fast/table/009-expected.checksum

    r19593 r19696  
    1 97ea3f069f0cfaf6898e9f733f98c33c
     112a8a4de3eab368c50a059827e98cb07
  • trunk/LayoutTests/fast/table/009-expected.txt

    r19593 r19696  
    44  RenderBlock {HTML} at (0,0) size 800x600
    55    RenderBody {BODY} at (0,0) size 800x584 [bgcolor=#FFFFFF]
    6       RenderBlock {CENTER} at (0,0) size 800x222
    7         RenderTable {TABLE} at (0,0) size 800x222 [bgcolor=#CCCCCC] [border: (1px outset #808080)]
    8           RenderTableSection {TBODY} at (1,1) size 798x220
    9             RenderTableRow {TR} at (0,0) size 798x220
    10               RenderTableCell {TD} at (0,0) size 798x220 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     6      RenderBlock {CENTER} at (0,0) size 800x58
     7        RenderTable {TABLE} at (0,0) size 800x58 [bgcolor=#CCCCCC] [border: (1px outset #808080)]
     8          RenderTableSection {TBODY} at (1,1) size 798x56
     9            RenderTableRow {TR} at (0,0) size 798x56
     10              RenderTableCell {TD} at (0,0) size 798x56 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1111                RenderBlock {DIV} at (82,1) size 634x54 [border: (2px solid #FF0000)]
    1212                  RenderTable {TABLE} at (2,2) size 630x216 [bgcolor=#CCCCCC] [border: (2px outset #808080)]
     
    1919                                RenderTableCell {TD} at (0,0) size 97x180 [r=0 c=0 rs=1 cs=1]
    2020                                  RenderImage {IMG} at (0,0) size 97x180
    21       RenderBlock {P} at (0,238) size 800x0
    22       RenderBlock (floating) {DIV} at (0,238) size 104x54 [border: (2px solid #FF0000)]
     21      RenderBlock {P} at (0,74) size 800x0
     22      RenderBlock (floating) {DIV} at (0,74) size 104x54 [border: (2px solid #FF0000)]
    2323        RenderText {#text} at (2,2) size 82x54
    2424          text run at (2,2) width 82: "Here is some"
     
    4040        RenderText {#text} at (2,146) size 45x18
    4141          text run at (2,146) width 45: "Really."
    42       RenderBlock {P} at (0,238) size 800x0
     42      RenderBlock {P} at (0,74) size 800x0
  • trunk/LayoutTests/fast/text/whitespace/012-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x76
     3layer at (0,0) size 800x156
    44  RenderBlock {HTML} at (0,0) size 800x76
    55    RenderBody {BODY} at (8,8) size 784x52
  • trunk/LayoutTests/tables/mozilla/bugs/bug120364-expected.txt

    r19593 r19696  
    11layer at (0,0) size 785x1813
    22  RenderView at (0,0) size 785x600
    3 layer at (0,0) size 785x600
     3layer at (0,0) size 785x1813
    44  RenderBlock {HTML} at (0,0) size 785x600
    55    RenderBody {BODY} at (8,8) size 769x584
  • trunk/LayoutTests/tables/mozilla/bugs/bug196870-expected.checksum

    r19593 r19696  
    1 1bec2a2cd4977686d9d5a1e056c8fdc2
     1904b2a329a83e47c32af9dde9b082774
  • trunk/LayoutTests/tables/mozilla/bugs/bug196870-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x103
    4   RenderBlock {HTML} at (0,0) size 800x103
    5     RenderBody {BODY} at (8,8) size 784x87
    6       RenderTable {TABLE} at (0,0) size 130x87
    7         RenderTableSection {TBODY} at (0,0) size 130x87
    8           RenderTableRow {TR} at (0,2) size 130x83
    9             RenderTableCell {TD} at (2,2) size 126x83 [r=0 c=0 rs=1 cs=1]
     3layer at (0,0) size 800x92
     4  RenderBlock {HTML} at (0,0) size 800x47
     5    RenderBody {BODY} at (8,8) size 784x31
     6      RenderTable {TABLE} at (0,0) size 130x31
     7        RenderTableSection {TBODY} at (0,0) size 130x31
     8          RenderTableRow {TR} at (0,2) size 130x27
     9            RenderTableCell {TD} at (2,2) size 126x27 [r=0 c=0 rs=1 cs=1]
    1010              RenderBlock {DIV} at (100,1) size 25x25
    1111                RenderImage {IMG} at (0,0) size 77x77
  • trunk/LayoutTests/tables/mozilla/bugs/bug45055-2-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x8
     3layer at (0,0) size 800x136
    44  RenderBlock {HTML} at (0,0) size 800x8
    55    RenderBody {BODY} at (8,8) size 784x0 [bgcolor=#FFFFFF]
  • trunk/LayoutTests/tables/mozilla/bugs/bug72359-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x8
     3layer at (0,0) size 800x62
    44  RenderBlock {html} at (0,0) size 800x8
    55    RenderBody {body} at (8,8) size 784x0
  • trunk/LayoutTests/tables/mozilla/marvin/x_table_align_left-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x8
     3layer at (0,0) size 800x36
    44  RenderBlock {html} at (0,0) size 800x8
    55    RenderBody {body} at (8,8) size 784x0
  • trunk/LayoutTests/tables/mozilla/marvin/x_table_align_right-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x8
     3layer at (0,0) size 800x36
    44  RenderBlock {html} at (0,0) size 800x8
    55    RenderBody {body} at (8,8) size 784x0
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt

    r14684 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x138
     3layer at (0,0) size 800x411
    44  RenderBlock {HTML} at (0,0) size 800x138
    55    RenderBody {BODY} at (8,8) size 784x122
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt

    r14684 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x138
     3layer at (0,0) size 800x411
    44  RenderBlock {HTML} at (0,0) size 800x138
    55    RenderBody {BODY} at (8,8) size 784x122
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt

    r14684 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x138
     3layer at (0,0) size 800x411
    44  RenderBlock {HTML} at (0,0) size 800x138
    55    RenderBody {BODY} at (8,8) size 784x122
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt

    r14684 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x138
     3layer at (0,0) size 800x411
    44  RenderBlock {HTML} at (0,0) size 800x138
    55    RenderBody {BODY} at (8,8) size 784x122
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.checksum

    r19593 r19696  
    1 034076c6256aecd14026c7637d29d4ff
     185c7b05d885bbac635c8b940fbcc4e1b
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x316
    4   RenderBlock {HTML} at (0,0) size 800x316
    5     RenderBody {BODY} at (8,8) size 784x300
    6       RenderTable {TABLE} at (0,0) size 200x300 [bgcolor=#0000FF]
    7         RenderTableSection {TBODY} at (0,0) size 200x300
    8           RenderTableRow {TR} at (0,0) size 200x300
    9             RenderTableCell {TD} at (0,141) size 59x18 [r=0 c=0 rs=1 cs=1]
     3layer at (0,0) size 800x308
     4  RenderBlock {HTML} at (0,0) size 800x116
     5    RenderBody {BODY} at (8,8) size 784x100
     6      RenderTable {TABLE} at (0,0) size 200x100 [bgcolor=#0000FF]
     7        RenderTableSection {TBODY} at (0,0) size 200x100
     8          RenderTableRow {TR} at (0,0) size 200x100
     9            RenderTableCell {TD} at (0,41) size 59x18 [r=0 c=0 rs=1 cs=1]
    1010              RenderText {#text} at (0,0) size 21x18
    1111                text run at (0,0) width 21: "foo"
    12             RenderTableCell {TD} at (59,0) size 141x300 [r=0 c=1 rs=1 cs=1]
     12            RenderTableCell {TD} at (59,0) size 141x50 [r=0 c=1 rs=1 cs=1]
    1313              RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#008000]
    1414                RenderBlock {DIV} at (0,0) size 400x300 [bgcolor=#FF0000]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.checksum

    r19593 r19696  
    1 7452def0f334ebd3b3e4ab06367e8955
     1ce9b6e763a48e26225e6f87c687e24ee
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt

    r19593 r19696  
    1 layer at (0,0) size 785x619
     1layer at (0,0) size 785x612
    22  RenderView at (0,0) size 785x600
    3 layer at (0,0) size 785x619
    4   RenderBlock {HTML} at (0,0) size 785x619
    5     RenderBody {BODY} at (8,8) size 769x603
    6       RenderTable {TABLE} at (0,0) size 229x603 [border: (1px outset #808080)]
     3layer at (0,0) size 785x612
     4  RenderBlock {HTML} at (0,0) size 785x416
     5    RenderBody {BODY} at (8,8) size 769x400
     6      RenderTable {TABLE} at (0,0) size 229x400 [border: (1px outset #808080)]
    77        RenderBlock {CAPTION} at (0,0) size 227x206 [border: (3px solid #FFA500)]
    88          RenderText {#text} at (102,3) size 22x18
    99            text run at (102,3) width 22: "cap"
    10         RenderTableSection {TBODY} at (1,207) size 227x395
    11           RenderTableRow {TR} at (0,30) size 227x335
    12             RenderTableCell {TD} at (30,172) size 53x50 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     10        RenderTableSection {TBODY} at (1,207) size 227x192
     11          RenderTableRow {TR} at (0,30) size 227x132
     12            RenderTableCell {TD} at (30,71) size 53x50 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1313              RenderText {#text} at (16,16) size 21x18
    1414                text run at (16,16) width 21: "foo"
    15             RenderTableCell {TD} at (113,30) size 84x335 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     15            RenderTableCell {TD} at (113,78) size 84x84 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1616              RenderBlock {DIV} at (16,16) size 52x52 [border: (1px solid #008000)]
    1717                RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.checksum

    r19593 r19696  
    1 e6081f0f652de26f0c095542cc9d5ac3
     1e00ac6458b82189a0b510a2a44bb4089
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x556
    4   RenderBlock {HTML} at (0,0) size 800x556
    5     RenderBody {BODY} at (8,8) size 784x540
    6       RenderTable {TABLE} at (0,0) size 200x540 [bgcolor=#0000FF]
     3layer at (0,0) size 800x578
     4  RenderBlock {HTML} at (0,0) size 800x356
     5    RenderBody {BODY} at (8,8) size 784x340
     6      RenderTable {TABLE} at (0,0) size 200x340 [bgcolor=#0000FF]
    77        RenderBlock {CAPTION} at (0,0) size 200x200 [bgcolor=#FFA500]
    88          RenderText {#text} at (89,0) size 22x18
    99            text run at (89,0) width 22: "cap"
    10         RenderTableSection {TBODY} at (0,200) size 200x340
    11           RenderTableRow {TR} at (0,0) size 200x340
    12             RenderTableCell {TD} at (0,141) size 80x58 [bgcolor=#FFFF00] [r=0 c=0 rs=1 cs=1]
     10        RenderTableSection {TBODY} at (0,200) size 200x140
     11          RenderTableRow {TR} at (0,0) size 200x140
     12            RenderTableCell {TD} at (0,41) size 80x58 [bgcolor=#FFFF00] [r=0 c=0 rs=1 cs=1]
    1313              RenderText {#text} at (20,20) size 21x18
    1414                text run at (20,20) width 21: "foo"
    15             RenderTableCell {TD} at (80,0) size 120x340 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
     15            RenderTableCell {TD} at (80,50) size 120x90 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
    1616              RenderBlock {DIV} at (20,20) size 50x50 [bgcolor=#008000]
    1717                RenderBlock {DIV} at (0,0) size 400x300 [bgcolor=#FF0000]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.checksum

    r19593 r19696  
    1 8e7ac76ea28c973ca22bda2328a5d662
     14d2cc65ae0c74caba21fd04ad66842c0
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.txt

    r19593 r19696  
    1 layer at (0,0) size 785x735
     1layer at (0,0) size 785x728
    22  RenderView at (0,0) size 785x600
    3 layer at (0,0) size 785x735
    4   RenderBlock {HTML} at (0,0) size 785x735
    5     RenderBody {BODY} at (8,8) size 769x719
    6       RenderTable {TABLE} at (0,0) size 229x719 [border: (1px outset #808080)]
     3layer at (0,0) size 785x728
     4  RenderBlock {HTML} at (0,0) size 785x532
     5    RenderBody {BODY} at (8,8) size 769x516
     6      RenderTable {TABLE} at (0,0) size 229x516 [border: (1px outset #808080)]
    77        RenderBlock {CAPTION} at (0,0) size 227x206 [border: (3px solid #FFA500)]
    88          RenderText {#text} at (102,3) size 22x18
    99            text run at (102,3) width 22: "cap"
    10         RenderTableSection {TBODY} at (1,207) size 227x511
     10        RenderTableSection {TBODY} at (1,207) size 227x308
    1111          RenderTableRow {TR} at (0,30) size 227x86
    1212            RenderTableCell {TD} at (30,48) size 53x50 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     
    2222              RenderText {#text} at (16,52) size 22x18
    2323                text run at (16,52) width 22: "zap"
    24           RenderTableRow {TR} at (0,146) size 227x335
    25             RenderTableCell {TD} at (30,288) size 53x50 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
     24          RenderTableRow {TR} at (0,146) size 227x132
     25            RenderTableCell {TD} at (30,187) size 53x50 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
    2626              RenderText {#text} at (16,16) size 21x18
    2727                text run at (16,16) width 21: "foo"
    28             RenderTableCell {TD} at (113,146) size 84x335 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
     28            RenderTableCell {TD} at (113,194) size 84x84 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
    2929              RenderBlock {DIV} at (16,16) size 52x52 [border: (1px solid #008000)]
    3030                RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.checksum

    r19593 r19696  
    1 363abbecc85936d99f10536ed1738d04
     1dca9eded4a80fd5251e2d86eebcafd39
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x529
    4   RenderBlock {HTML} at (0,0) size 800x529
    5     RenderBody {BODY} at (8,8) size 784x513
    6 layer at (8,8) size 22x513 clip at (9,9) size 20x511 scrollWidth 707
    7   RenderTable {TABLE} at (0,0) size 22x513 [border: (1px outset #808080)]
    8     RenderTableSection {TBODY} at (1,1) size 20x511
    9       RenderTableRow {TR} at (0,2) size 20x507
    10         RenderTableCell {TD} at (2,2) size 16x507 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     3layer at (0,0) size 800x38
     4  RenderBlock {HTML} at (0,0) size 800x38
     5    RenderBody {BODY} at (8,8) size 784x22
     6layer at (8,8) size 22x22 clip at (9,9) size 20x20 scrollWidth 707 scrollHeight 507
     7  RenderTable {TABLE} at (0,0) size 22x22 [border: (1px outset #808080)]
     8    RenderTableSection {TBODY} at (1,1) size 20x20
     9      RenderTableRow {TR} at (0,2) size 20x16
     10        RenderTableCell {TD} at (2,2) size 16x16 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1111          RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
    1212            RenderBlock {DIV} at (1,1) size 702x502 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.checksum

    r19593 r19696  
    1 363abbecc85936d99f10536ed1738d04
     1dca9eded4a80fd5251e2d86eebcafd39
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x529
    4   RenderBlock {HTML} at (0,0) size 800x529
    5     RenderBody {BODY} at (8,8) size 784x513
    6       RenderTable {TABLE} at (0,0) size 22x513 [border: (1px outset #808080)]
    7 layer at (9,9) size 20x511 scrollWidth 707
    8   RenderTableSection {TBODY} at (1,1) size 20x511
    9     RenderTableRow {TR} at (0,2) size 20x507
    10       RenderTableCell {TD} at (2,2) size 16x507 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     3layer at (0,0) size 800x38
     4  RenderBlock {HTML} at (0,0) size 800x38
     5    RenderBody {BODY} at (8,8) size 784x22
     6      RenderTable {TABLE} at (0,0) size 22x22 [border: (1px outset #808080)]
     7layer at (9,9) size 20x20 scrollWidth 707 scrollHeight 507
     8  RenderTableSection {TBODY} at (1,1) size 20x20
     9    RenderTableRow {TR} at (0,2) size 20x16
     10      RenderTableCell {TD} at (2,2) size 16x16 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1111        RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
    1212          RenderBlock {DIV} at (1,1) size 702x502 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.checksum

    r19593 r19696  
    1 363abbecc85936d99f10536ed1738d04
     1f7b5617cc469edc9dfc2a75cf6c05448
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x529
    4   RenderBlock {HTML} at (0,0) size 800x529
    5     RenderBody {BODY} at (8,8) size 784x513
    6       RenderTable {TABLE} at (0,0) size 22x513 [border: (1px outset #808080)]
    7         RenderTableSection {TBODY} at (1,1) size 20x511
    8 layer at (9,11) size 20x507
    9   RenderTableRow {TR} at (0,2) size 20x507
    10     RenderTableCell {TD} at (2,2) size 16x507 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     3layer at (0,0) size 800x516
     4  RenderBlock {HTML} at (0,0) size 800x38
     5    RenderBody {BODY} at (8,8) size 784x22
     6      RenderTable {TABLE} at (0,0) size 22x22 [border: (1px outset #808080)]
     7        RenderTableSection {TBODY} at (1,1) size 20x20
     8layer at (9,11) size 20x16
     9  RenderTableRow {TR} at (0,2) size 20x16
     10    RenderTableCell {TD} at (2,2) size 16x16 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1111      RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
    1212        RenderBlock {DIV} at (1,1) size 702x502 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.checksum

    r19593 r19696  
    1 9dd2a0762ccc745d867fe7f4951673ad
     13d382b6bf9a1f7ab24606204d2bc232c
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x589
    4   RenderBlock {HTML} at (0,0) size 800x589
    5     RenderBody {BODY} at (8,8) size 784x573
    6       RenderTable {TABLE} at (0,0) size 200x573 [border: (1px outset #808080)]
     3layer at (0,0) size 800x549
     4  RenderBlock {HTML} at (0,0) size 800x397
     5    RenderBody {BODY} at (8,8) size 784x381
     6      RenderTable {TABLE} at (0,0) size 200x381 [border: (1px outset #808080)]
    77        RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
    88          RenderText {#text} at (77,3) size 44x37
    99            text run at (77,3) width 44: "cap"
    10         RenderTableSection {TBODY} at (1,207) size 198x365
    11           RenderTableRow {TR} at (0,30) size 198x305
    12             RenderTableCell {TD} at (30,126) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     10        RenderTableSection {TBODY} at (1,207) size 198x173
     11          RenderTableRow {TR} at (0,30) size 198x113
     12            RenderTableCell {TD} at (30,30) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1313              RenderText {#text} at (1,1) size 44x111
    1414                text run at (1,1) width 43: "foo"
    1515                text run at (1,38) width 41: "bar"
    1616                text run at (1,75) width 44: "baz"
    17             RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     17            RenderTableCell {TD} at (114,30) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1818              RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
    1919                RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.checksum

    r19593 r19696  
    1 1874d8a1f9a2d0bb88510dc3c7d0782d
     14c160e95aa789559e237a137d55b4c85
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x589
    4   RenderBlock {HTML} at (0,0) size 800x589
    5     RenderBody {BODY} at (8,8) size 784x573
    6       RenderTable {TABLE} at (0,0) size 200x573 [border: (1px outset #808080)]
     3layer at (0,0) size 800x597
     4  RenderBlock {HTML} at (0,0) size 800x386
     5    RenderBody {BODY} at (8,8) size 784x370
     6      RenderTable {TABLE} at (0,0) size 200x370 [border: (1px outset #808080)]
    77        RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
    88          RenderText {#text} at (77,3) size 44x37
    99            text run at (77,3) width 44: "cap"
    10         RenderTableSection {TBODY} at (1,207) size 198x365
    11           RenderTableRow {TR} at (0,30) size 198x305
    12             RenderTableCell {TD} at (30,166) size 54x32 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     10        RenderTableSection {TBODY} at (1,207) size 198x162
     11          RenderTableRow {TR} at (0,30) size 198x102
     12            RenderTableCell {TD} at (30,65) size 54x32 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1313              RenderText {#text} at (1,1) size 38x30
    1414                text run at (1,1) width 38: "foo bar"
    1515                text run at (1,16) width 19: "baz"
    16             RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     16            RenderTableCell {TD} at (114,78) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1717              RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
    1818                RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.checksum

    r19593 r19696  
    1 e63da4ef64e59c683071748ac1829b6c
     1aa93dfeb51e6c55f6527c7bd8e73c430
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x589
    4   RenderBlock {HTML} at (0,0) size 800x589
    5     RenderBody {BODY} at (8,8) size 784x573
    6       RenderTable {TABLE} at (0,0) size 200x573 [border: (1px outset #808080)]
     3layer at (0,0) size 800x597
     4  RenderBlock {HTML} at (0,0) size 800x386
     5    RenderBody {BODY} at (8,8) size 784x370
     6      RenderTable {TABLE} at (0,0) size 200x370 [border: (1px outset #808080)]
    77        RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
    88          RenderText {#text} at (77,3) size 44x37
    99            text run at (77,3) width 44: "cap"
    10         RenderTableSection {TBODY} at (1,207) size 198x365
    11           RenderTableRow {TR} at (0,30) size 198x305
    12             RenderTableCell {TD} at (30,166) size 54x32 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     10        RenderTableSection {TBODY} at (1,207) size 198x162
     11          RenderTableRow {TR} at (0,30) size 198x102
     12            RenderTableCell {TD} at (30,65) size 54x32 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1313              RenderText {#text} at (1,1) size 38x30
    1414                text run at (1,1) width 38: "foo bar"
    1515                text run at (1,16) width 19: "baz"
    16             RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     16            RenderTableCell {TD} at (114,78) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1717              RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
    1818                RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.checksum

    r19593 r19696  
    1 5daf609f4be509c7fad304416a5cf780
     1fe62a0ba8b647113b665df2628b96dcb
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt

    r19593 r19696  
    1 layer at (0,0) size 785x666
     1layer at (0,0) size 785x685
    22  RenderView at (0,0) size 785x600
    3 layer at (0,0) size 785x666
    4   RenderBlock {HTML} at (0,0) size 785x666
    5     RenderBody {BODY} at (8,8) size 769x650
    6       RenderTable {TABLE} at (0,0) size 200x650 [border: (1px outset #808080)]
     3layer at (0,0) size 785x685
     4  RenderBlock {HTML} at (0,0) size 785x474
     5    RenderBody {BODY} at (8,8) size 769x458
     6      RenderTable {TABLE} at (0,0) size 200x458 [border: (1px outset #808080)]
    77        RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
    88          RenderText {#text} at (77,3) size 44x37
    99            text run at (77,3) width 44: "cap"
    10         RenderTableSection {TBODY} at (1,207) size 198x442
     10        RenderTableSection {TBODY} at (1,207) size 198x250
    1111          RenderTableRow {TR} at (0,30) size 198x47
    1212            RenderTableCell {TD} at (30,45) size 54x17 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     
    2222              RenderText {#text} at (1,31) size 19x15
    2323                text run at (1,31) width 19: "zap"
    24           RenderTableRow {TR} at (0,107) size 198x305
    25             RenderTableCell {TD} at (30,203) size 54x113 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
     24          RenderTableRow {TR} at (0,107) size 198x113
     25            RenderTableCell {TD} at (30,107) size 54x113 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
    2626              RenderText {#text} at (1,1) size 44x111
    2727                text run at (1,1) width 43: "foo"
    2828                text run at (1,38) width 41: "bar"
    2929                text run at (1,75) width 44: "baz"
    30             RenderTableCell {TD} at (114,107) size 54x305 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
     30            RenderTableCell {TD} at (114,166) size 54x54 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
    3131              RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
    3232                RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.checksum

    r19593 r19696  
    1 27f1de52df50405a3062410ef89621ad
     1e7916950ef324aa58f51045b23df8381
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x366
    4   RenderBlock {HTML} at (0,0) size 800x366
    5     RenderBody {BODY} at (8,8) size 784x350
    6       RenderTable {TABLE} at (0,0) size 200x350 [border: (1px outset #808080)]
     3layer at (0,0) size 800x404
     4  RenderBlock {HTML} at (0,0) size 800x163
     5    RenderBody {BODY} at (8,8) size 784x147
     6      RenderTable {TABLE} at (0,0) size 200x147 [border: (1px outset #808080)]
    77        RenderBlock {CAPTION} at (0,0) size 198x43 [border: (3px solid #FFA500)]
    88          RenderText {#text} at (77,3) size 44x37
    99            text run at (77,3) width 44: "cap"
    10         RenderTableSection {TBODY} at (1,44) size 198x305
    11           RenderTableRow {TR} at (0,0) size 198x305
    12             RenderTableCell {TD} at (0,114) size 144x76 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     10        RenderTableSection {TBODY} at (1,44) size 198x102
     11          RenderTableRow {TR} at (0,0) size 198x102
     12            RenderTableCell {TD} at (0,13) size 144x76 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1313              RenderText {#text} at (1,1) size 92x74
    1414                text run at (1,1) width 92: "foo bar"
    1515                text run at (1,38) width 44: "baz"
    16             RenderTableCell {TD} at (144,0) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     16            RenderTableCell {TD} at (144,48) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1717              RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
    1818                RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.checksum

    r19593 r19696  
    1 4d8c3409c239129ac7a9f69134e9f1d7
     19932242894c2a0c1ee5512d49c64c56d
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x426
    4   RenderBlock {HTML} at (0,0) size 800x426
    5     RenderBody {BODY} at (8,8) size 784x410
    6       RenderTable {TABLE} at (0,0) size 200x410 [border: (1px outset #808080)]
     3layer at (0,0) size 800x445
     4  RenderBlock {HTML} at (0,0) size 800x234
     5    RenderBody {BODY} at (8,8) size 784x218
     6      RenderTable {TABLE} at (0,0) size 200x218 [border: (1px outset #808080)]
    77        RenderBlock {CAPTION} at (0,0) size 198x43 [border: (3px solid #FFA500)]
    88          RenderText {#text} at (77,3) size 44x37
    99            text run at (77,3) width 44: "cap"
    10         RenderTableSection {TBODY} at (1,44) size 198x365
    11           RenderTableRow {TR} at (0,30) size 198x305
    12             RenderTableCell {TD} at (30,126) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     10        RenderTableSection {TBODY} at (1,44) size 198x173
     11          RenderTableRow {TR} at (0,30) size 198x113
     12            RenderTableCell {TD} at (30,30) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1313              RenderText {#text} at (1,1) size 44x111
    1414                text run at (1,1) width 43: "foo"
    1515                text run at (1,38) width 41: "bar"
    1616                text run at (1,75) width 44: "baz"
    17             RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     17            RenderTableCell {TD} at (114,89) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1818              RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
    1919                RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.checksum

    r19593 r19696  
    1 d7d6fcd1c1a085add192501ac38a1206
     1ecac3024fc833dc8fa265548836816a0
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x589
    4   RenderBlock {HTML} at (0,0) size 800x589
    5     RenderBody {BODY} at (8,8) size 784x573
    6       RenderTable {TABLE} at (0,0) size 200x573 [border: (1px outset #808080)]
     3layer at (0,0) size 800x597
     4  RenderBlock {HTML} at (0,0) size 800x386
     5    RenderBody {BODY} at (8,8) size 784x370
     6      RenderTable {TABLE} at (0,0) size 200x370 [border: (1px outset #808080)]
    77        RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
    88          RenderText {#text} at (77,3) size 44x37
    99            text run at (77,3) width 44: "cap"
    10         RenderTableSection {TBODY} at (1,207) size 198x365
    11           RenderTableRow {TR} at (0,30) size 198x305
    12             RenderTableCell {TD} at (30,163) size 54x38 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     10        RenderTableSection {TBODY} at (1,207) size 198x162
     11          RenderTableRow {TR} at (0,30) size 198x102
     12            RenderTableCell {TD} at (30,62) size 54x38 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1313              RenderText {#text} at (1,1) size 45x36
    1414                text run at (1,1) width 45: "foo bar"
    1515                text run at (1,19) width 22: "baz"
    16             RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     16            RenderTableCell {TD} at (114,78) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1717              RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
    1818                RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.checksum

    r19593 r19696  
    1 560d8103342d139c584cf15a2921d534
     1f1f156f4a8fa8c525e2b94002cbce377
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt

    r19593 r19696  
    1 layer at (0,0) size 785x705
     1layer at (0,0) size 785x724
    22  RenderView at (0,0) size 785x600
    3 layer at (0,0) size 785x705
    4   RenderBlock {HTML} at (0,0) size 785x705
    5     RenderBody {BODY} at (8,8) size 769x689
    6       RenderTable {TABLE} at (0,0) size 200x689 [border: (1px outset #808080)]
     3layer at (0,0) size 785x724
     4  RenderBlock {HTML} at (0,0) size 785x513
     5    RenderBody {BODY} at (8,8) size 769x497
     6      RenderTable {TABLE} at (0,0) size 200x497 [border: (1px outset #808080)]
    77        RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
    88          RenderText {#text} at (77,3) size 44x37
     
    2222              RenderText {#text} at (1,37) size 22x18
    2323                text run at (1,37) width 22: "zap"
    24         RenderTableSection {TBODY} at (1,323) size 198x365
    25           RenderTableRow {TR} at (0,30) size 198x305
    26             RenderTableCell {TD} at (30,126) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     24        RenderTableSection {TBODY} at (1,323) size 198x173
     25          RenderTableRow {TR} at (0,30) size 198x113
     26            RenderTableCell {TD} at (30,30) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    2727              RenderText {#text} at (1,1) size 44x111
    2828                text run at (1,1) width 43: "foo"
    2929                text run at (1,38) width 41: "bar"
    3030                text run at (1,75) width 44: "baz"
    31             RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     31            RenderTableCell {TD} at (114,89) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    3232              RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
    3333                RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.checksum

    r19593 r19696  
    1 7202a1cd6cca2d6cfb405d3c3133e366
     1268da7b88265f34521c21e4c5af04aa9
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x429
    4   RenderBlock {HTML} at (0,0) size 800x429
    5     RenderBody {BODY} at (8,8) size 784x413
    6       RenderTable {TABLE} at (0,0) size 200x413 [border: (1px outset #808080)]
    7         RenderTableSection {TBODY} at (1,1) size 198x411
    8           RenderTableRow {TR} at (0,2) size 198x407
    9             RenderTableCell {TD} at (2,194) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     3layer at (0,0) size 800x460
     4  RenderBlock {HTML} at (0,0) size 800x126
     5    RenderBody {BODY} at (8,8) size 784x110
     6      RenderTable {TABLE} at (0,0) size 200x110 [border: (1px outset #808080)]
     7        RenderTableSection {TBODY} at (1,1) size 198x108
     8          RenderTableRow {TR} at (0,2) size 198x104
     9            RenderTableCell {TD} at (2,43) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1010              RenderText {#text} at (2,2) size 21x18
    1111                text run at (2,2) width 21: "foo"
    12             RenderTableCell {TD} at (121,2) size 75x407 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     12            RenderTableCell {TD} at (121,46) size 75x16 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1313              RenderBlock {DIV} at (61,2) size 12x12 [border: (1px solid #008000)]
    1414                RenderBlock {DIV} at (-291,1) size 302x402 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.checksum

    r19593 r19696  
    1 ff1c7f3e9940d48f979950ad2a6e309d
     186c435aa1e700cc3c7911ce3449e76fb
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x429
    4   RenderBlock {HTML} at (0,0) size 800x429
    5     RenderBody {BODY} at (8,8) size 784x413
    6       RenderTable {TABLE} at (0,0) size 200x413 [border: (1px outset #808080)]
    7         RenderTableSection {TBODY} at (1,1) size 198x411
    8           RenderTableRow {TR} at (0,2) size 198x407
    9             RenderTableCell {TD} at (2,194) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     3layer at (0,0) size 800x504
     4  RenderBlock {HTML} at (0,0) size 800x126
     5    RenderBody {BODY} at (8,8) size 784x110
     6      RenderTable {TABLE} at (0,0) size 200x110 [border: (1px outset #808080)]
     7        RenderTableSection {TBODY} at (1,1) size 198x108
     8          RenderTableRow {TR} at (0,2) size 198x104
     9            RenderTableCell {TD} at (2,43) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1010              RenderText {#text} at (2,2) size 21x18
    1111                text run at (2,2) width 21: "foo"
    12             RenderTableCell {TD} at (121,2) size 75x407 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     12            RenderTableCell {TD} at (121,90) size 75x16 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1313              RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
    1414                RenderBlock {DIV} at (1,1) size 302x402 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.checksum

    r19593 r19696  
    1 ff1c7f3e9940d48f979950ad2a6e309d
     10f0df87821767c6540ad11435828fa94
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x429
    4   RenderBlock {HTML} at (0,0) size 800x429
    5     RenderBody {BODY} at (8,8) size 784x413
    6       RenderTable {TABLE} at (0,0) size 200x413 [border: (1px outset #808080)]
    7         RenderTableSection {TBODY} at (1,1) size 198x411
    8           RenderTableRow {TR} at (0,2) size 198x407
    9             RenderTableCell {TD} at (2,194) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     3layer at (0,0) size 800x460
     4  RenderBlock {HTML} at (0,0) size 800x126
     5    RenderBody {BODY} at (8,8) size 784x110
     6      RenderTable {TABLE} at (0,0) size 200x110 [border: (1px outset #808080)]
     7        RenderTableSection {TBODY} at (1,1) size 198x108
     8          RenderTableRow {TR} at (0,2) size 198x104
     9            RenderTableCell {TD} at (2,43) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1010              RenderText {#text} at (2,2) size 21x18
    1111                text run at (2,2) width 21: "foo"
    12             RenderTableCell {TD} at (121,2) size 75x407 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     12            RenderTableCell {TD} at (121,46) size 75x16 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1313              RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
    1414                RenderBlock {DIV} at (1,1) size 302x402 [border: (1px solid #FF0000)]
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.checksum

    r19593 r19696  
    1 ff1c7f3e9940d48f979950ad2a6e309d
     1337ee2a5b4b4f2cd5e4043b2ff7f021b
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt

    r19593 r19696  
    11layer at (0,0) size 800x600
    22  RenderView at (0,0) size 800x600
    3 layer at (0,0) size 800x429
    4   RenderBlock {HTML} at (0,0) size 800x429
    5     RenderBody {BODY} at (8,8) size 784x413
    6       RenderTable {TABLE} at (0,0) size 200x413 [border: (1px outset #808080)]
    7         RenderTableSection {TBODY} at (1,1) size 198x411
    8           RenderTableRow {TR} at (0,2) size 198x407
    9             RenderTableCell {TD} at (2,194) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     3layer at (0,0) size 800x416
     4  RenderBlock {HTML} at (0,0) size 800x126
     5    RenderBody {BODY} at (8,8) size 784x110
     6      RenderTable {TABLE} at (0,0) size 200x110 [border: (1px outset #808080)]
     7        RenderTableSection {TBODY} at (1,1) size 198x108
     8          RenderTableRow {TR} at (0,2) size 198x104
     9            RenderTableCell {TD} at (2,43) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    1010              RenderText {#text} at (2,2) size 21x18
    1111                text run at (2,2) width 21: "foo"
    12             RenderTableCell {TD} at (121,2) size 75x407 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     12            RenderTableCell {TD} at (121,2) size 75x16 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    1313              RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
    1414                RenderBlock {DIV} at (1,1) size 302x402 [border: (1px solid #FF0000)]
  • trunk/WebCore/ChangeLog

    r19695 r19696  
     12007-02-18  Mitz Pettel  <mitz@webkit.org>
     2
     3        Reviewed by Hyatt.
     4
     5        - fix http://bugs.webkit.org/show_bug.cgi?id=12123
     6          REGRESSION: Incomplete repaint of floats' overflows
     7
     8        Tests: fast/repaint/float-overflow.html
     9               fast/repaint/float-overflow-right.html
     10               fast/repaint/table-cell-vertical-overflow.html
     11
     12        - fix http://bugs.webkit.org/show_bug.cgi?id=10116
     13          REGRESSION: Menu item drawn 2 pixels short on WWDC 2006 Attendee Site
     14
     15        Reflected in existing test results.
     16
     17        Unified floats and overflow for the purposes of painting and hit-testing.
     18        Overhanging and overflowing floats are now factored into a block's overflow
     19        unless their painting has been propagated to an ancestor.
     20
     21        Changed table cells to no longer expand to enclose overflow, thus making
     22        it purely "visual overflow", having no effect on layout in WebCore. It
     23        still determines scrolling dimensions.
     24
     25        * rendering/InlineFlowBox.cpp:
     26        (WebCore::InlineFlowBox::placeBoxesHorizontally): Include inline blocks'
     27        horizontal overflow in the inline box's dimensions.
     28        * rendering/RenderBlock.cpp:
     29        (WebCore::RenderBlock::layoutBlock): Removed the expand to enclose overflows
     30        behavior. Added code to add this block's floats (and their overflow) to its
     31        overflow rect if it is not in a block formatting context. Otherwise, the
     32        inclusion of floats in the overflow is deferred until this block's parent
     33        examines its floats and possibly adopts overhanging floats.
     34        (WebCore::RenderBlock::layoutBlockChildren):
     35        (WebCore::RenderBlock::paint):
     36        (WebCore::RenderBlock::floatRect): Made non-virtual and changed to return an empty
     37        rect if there are no floats or the floats are clipped, instead of returning the border
     38        box.
     39        (WebCore::RenderBlock::addOverhangingFloats): Any floats of the child that
     40        are not to be painted by the parent are added to the child's overflow rect.
     41        (WebCore::RenderBlock::addVisualOverflow): Added. Adjusts the overflow
     42        bounds to include the given rect.
     43        (WebCore::RenderBlock::nodeAtPoint):
     44        * rendering/RenderBlock.h:
     45        * rendering/RenderFlexibleBox.cpp:
     46        (WebCore::RenderFlexibleBox::layoutBlock):
     47        (WebCore::RenderFlexibleBox::layoutHorizontalBox): After placing a normal
     48        child, add its floats to its overflow, since painting of floats does not
     49        propagate to flexible boxes.
     50        (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto.
     51        * rendering/RenderForeignObject.cpp:
     52        (WebCore::RenderForeignObject::layout):
     53        * rendering/RenderHTMLCanvas.cpp:
     54        (WebCore::RenderHTMLCanvas::layout):
     55        * rendering/RenderImage.cpp:
     56        (WebCore::RenderImage::layout):
     57        * rendering/RenderLayer.cpp:
     58        (WebCore::RenderLayer::updateLayerPositions):
     59        (WebCore::RenderLayer::absoluteBoundingBox):
     60        * rendering/RenderLayer.h:
     61        * rendering/RenderObject.cpp:
     62        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
     63        * rendering/RenderObject.h:
     64        (WebCore::RenderObject::expandsToEncloseOverhangingFloats):
     65        * rendering/RenderPath.cpp:
     66        (WebCore::RenderPath::layout):
     67        * rendering/RenderSVGContainer.cpp:
     68        (WebCore::RenderSVGContainer::layout):
     69        * rendering/RenderSVGText.cpp:
     70        (WebCore::RenderSVGText::layout):
     71        * rendering/RenderTable.h: Removed the override of overflowHeight() since now tables can have
     72        vertical overflow.
     73        * rendering/RenderTableCell.cpp:
     74        (WebCore::RenderTableCell::paint): Made sure that overflow is repainted.
     75        * rendering/RenderTableCell.h:
     76        (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats): Removed.
     77        * rendering/RenderTableSection.cpp:
     78        (WebCore::RenderTableSection::RenderTableSection):
     79        (WebCore::RenderTableSection::layoutRows): Factor in vertical overflow from cells.
     80        (WebCore::RenderTableSection::paint):
     81        * rendering/RenderTableSection.h:
     82        (WebCore::RenderTableSection::overflowHeight):
     83        (WebCore::RenderTableSection::overflowTop):
     84
    1852007-02-18  Oliver Hunt  <oliver@apple.com>
    286
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r19689 r19696  
    1116011160                        isa = PBXProject;
    1116111161                        buildConfigurationList = 149C284308902B11008A9EFC /* Build configuration list for PBXProject "WebCore" */;
    11162                         compatibilityVersion = "Xcode 2.4";
    1116311162                        hasScannedForEncodings = 1;
    1116411163                        knownRegions = (
     
    1117511174                        projectDirPath = "";
    1117611175                        projectRoot = "";
    11177                         shouldCheckCompatibility = 1;
    1117811176                        targets = (
    1117911177                                93F198A508245E59001E9ABC /* WebCore */,
  • trunk/WebCore/rendering/InlineFlowBox.cpp

    r19593 r19696  
    300300                x += curr->object()->marginLeft();
    301301                curr->setXPos(x);
    302                 leftPosition = min(x, leftPosition);
    303                 rightPosition = max(x + curr->width(), rightPosition);
     302                leftPosition = min(x + curr->object()->overflowLeft(false), leftPosition);
     303                rightPosition = max(x + curr->object()->overflowWidth(false), rightPosition);
    304304                x += curr->width() + curr->object()->marginRight();
    305305            }
  • trunk/WebCore/rendering/RenderBlock.cpp

    r19593 r19696  
    467467    }
    468468   
    469     IntRect oldBounds, oldFullBounds;
     469    IntRect oldBounds;
    470470    bool checkForRepaint = checkForRepaintDuringLayout();
    471471    if (checkForRepaint) {
    472         getAbsoluteRepaintRectIncludingFloats(oldBounds, oldFullBounds);
     472        oldBounds = getAbsoluteRepaintRect();
    473473        oldBounds.move(view()->layoutDelta());
    474         oldFullBounds.move(view()->layoutDelta());
    475474    }
    476475
     
    556555        relayoutChildren = true;
    557556
    558     // Table cells need to grow to accommodate blocks that have overflowed content.
    559     if (m_overflowHeight > m_height && !hasOverflowClip() && expandsToEncloseOverflow())
    560         m_height = m_overflowHeight + borderBottom() + paddingBottom();
    561 
    562557    // Some classes of objects (floats and fieldsets with no specified heights and table cells) expand to encompass
    563558    // overhanging floats.
     
    567562    }
    568563
     564    if ((isTableCell() || isInline() || isFloatingOrPositioned() || isRoot()) && !hasOverflowClip() && !hasControlClip())
     565        addVisualOverflow(floatRect());
     566
    569567    layoutPositionedObjects(relayoutChildren || isRoot());
    570568
     
    584582    bool didFullRepaint = false;
    585583    if (checkForRepaint)
    586         didFullRepaint = repaintAfterLayoutIfNeeded(oldBounds, oldFullBounds);
     584        didFullRepaint = repaintAfterLayoutIfNeeded(oldBounds);
    587585    if (!didFullRepaint && !repaintRect.isEmpty()) {
    588586        // FIXME: Deal with multiple column repainting.  We have to split the repaint
     
    11551153        determineHorizontalPosition(child);
    11561154
    1157         // Update our top overflow in case the child spills out the top of the block.
    1158         m_overflowTop = min(m_overflowTop, child->yPos() + child->overflowTop(false));
    1159        
    11601155        // Update our height now that the child has been placed in the correct position.
    11611156        m_height += child->height();
     
    11641159            marginInfo.clearMargin();
    11651160        }
    1166         int overflowDelta = child->overflowHeight(false) - child->height();
    1167         if (m_height + overflowDelta > m_overflowHeight)
    1168             m_overflowHeight = m_height + overflowDelta;
    1169 
    11701161        // If the child has overhanging floats that intrude into following siblings (or possibly out
    11711162        // of this block), then the parent gets notified of the floats now.
    11721163        addOverhangingFloats(static_cast<RenderBlock *>(child), -child->xPos(), -child->yPos());
    11731164
    1174         // See if this child has made our overflow need to grow.
     1165        // Update our overflow in case the child spills out the block.
     1166        m_overflowTop = min(m_overflowTop, child->yPos() + child->overflowTop(false));
     1167        m_overflowHeight = max(m_overflowHeight, m_height + child->overflowHeight(false) - child->height());
    11751168        m_overflowWidth = max(child->xPos() + child->overflowWidth(false), m_overflowWidth);
    11761169        m_overflowLeft = min(child->xPos() + child->overflowLeft(false), m_overflowLeft);
     
    12351228}
    12361229
    1237 void RenderBlock::getAbsoluteRepaintRectIncludingFloats(IntRect& bounds, IntRect& fullBounds)
    1238 {
    1239     bounds = fullBounds = getAbsoluteRepaintRect();
    1240 
    1241     // Include any overhanging floats (if we know we're the one to paint them).
    1242     // We null-check m_floatingObjects here to catch any cases where m_height ends up negative
    1243     // for some reason.  I think I've caught all those cases, but this way we stay robust and don't
    1244     // crash.
    1245     if (hasOverhangingFloats() && m_floatingObjects) {
    1246         FloatingObject* r;
    1247         DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects);
    1248         for ( ; (r = it.current()); ++it) {
    1249             // Only repaint the object if our noPaint flag isn't set and if it isn't in
    1250             // its own layer.
    1251             if (!r->noPaint && !r->node->layer()) {
    1252                 IntRect childRect, childFullRect;
    1253                 r->node->getAbsoluteRepaintRectIncludingFloats(childRect, childFullRect);
    1254                 fullBounds.unite(childFullRect);
    1255             }
    1256         }
    1257     }
    1258 }
    1259 
    12601230void RenderBlock::repaintOverhangingFloats(bool paintAllDescendants)
    12611231{
     
    13091279        overflowBox.inflate(maximalOutlineSize(paintInfo.phase));
    13101280        overflowBox.move(tx, ty);
    1311         bool intersectsOverflowBox = overflowBox.intersects(paintInfo.rect);
    1312         if (!intersectsOverflowBox) {
    1313             // Check floats next.
    1314             if (paintInfo.phase != PaintPhaseFloat && paintInfo.phase != PaintPhaseSelection)
    1315                 return;
    1316             IntRect floatBox = floatRect();
    1317             floatBox.inflate(maximalOutlineSize(paintInfo.phase));
    1318             floatBox.move(tx, ty);
    1319             if (!floatBox.intersects(paintInfo.rect))
    1320                 return;
    1321         }
     1281        if (!overflowBox.intersects(paintInfo.rect))
     1282            return;
    13221283    }
    13231284
     
    22502211IntRect RenderBlock::floatRect() const
    22512212{
    2252     IntRect result(borderBox());
     2213    IntRect result;
    22532214    if (!m_floatingObjects || hasOverflowClip())
    22542215        return result;
     
    22572218    for (; (r = it.current()); ++it) {
    22582219        if (!r->noPaint && !r->node->layer()) {
    2259             IntRect childRect = unionRect(r->node->floatRect(), r->node->overflowRect());
     2220            IntRect childRect = r->node->overflowRect(false);
    22602221            childRect.move(r->left + r->node->marginLeft(), r->startY + r->node->marginTop());
    22612222            result.unite(childRect);
     
    24912452{
    24922453    // Prevent floats from being added to the canvas by the root element, e.g., <html>.
    2493     if (child->hasOverflowClip() || !child->hasOverhangingFloats() || child->isRoot())
     2454    if (child->hasOverflowClip() || !child->containsFloats() || child->isRoot())
    24942455        return;
    2495    
    2496     // We think that we must be in a bad state if child->m_floatingObjects is nil at this point,
    2497     // so we assert on Debug builds and nil-check Release builds.
    2498     ASSERT(child->m_floatingObjects);
    2499     if (!child->m_floatingObjects)
    2500         return;
    2501 
     2456
     2457    // Floats that will remain the child's responsiblity to paint should factor into its
     2458    // visual overflow.
     2459    IntRect floatsOverflowRect;
    25022460    DeprecatedPtrListIterator<FloatingObject> it(*child->m_floatingObjects);
    2503     for (FloatingObject *r; (r = it.current()); ++it) {
     2461    for (FloatingObject* r; (r = it.current()); ++it) {
    25042462        if (child->yPos() + r->endY > height()) {
    2505             // The object may already be in our list. Check for it up front to avoid
    2506             // creating duplicate entries.
    2507             FloatingObject* f = 0;
    2508             if (m_floatingObjects) {
    2509                 DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects);
    2510                 while ((f = it.current())) {
    2511                     if (f->node == r->node) break;
    2512                     ++it;
    2513                 }
    2514             }
    2515 
    25162463            // If the object is not in the list, we add it now.
    2517             if (!f) {
     2464            if (!containsFloat(r->node)) {
    25182465                FloatingObject *floatingObj = new FloatingObject(r->type());
    25192466                floatingObj->startY = r->startY - yoff;
     
    25402487            }
    25412488        }
    2542     }
     2489        if (!r->noPaint && !r->node->layer()) {
     2490            IntRect floatOverflowRect = r->node->overflowRect(false);
     2491            floatOverflowRect.move(r->left + r->node->marginLeft(), r->startY + r->node->marginTop());
     2492            floatsOverflowRect.unite(floatOverflowRect);
     2493        }
     2494    }
     2495    child->addVisualOverflow(floatsOverflowRect);
    25432496}
    25442497
     
    26622615}
    26632616
     2617void RenderBlock::addVisualOverflow(const IntRect& r)
     2618{
     2619    if (r.isEmpty())
     2620        return;
     2621    m_overflowLeft = min(m_overflowLeft, r.x());
     2622    m_overflowWidth = max(m_overflowWidth, r.right());
     2623    m_overflowTop = min(m_overflowTop, r.y());
     2624    m_overflowHeight = max(m_overflowHeight, r.bottom());
     2625}
     2626
    26642627bool RenderBlock::isPointInScrollbar(HitTestResult& result, int _x, int _y, int _tx, int _ty)
    26652628{
     
    27032666        IntRect overflowBox = overflowRect(false);
    27042667        overflowBox.move(tx, ty);
    2705         bool insideOverflowBox = overflowBox.contains(_x, _y);
    2706         if (!insideOverflowBox) {
    2707             // Check floats next.
    2708             if (hitTestAction != HitTestFloat)
    2709                 return false;
    2710             IntRect floatBox = floatRect();
    2711             floatBox.move(tx, ty);
    2712             if (!floatBox.contains(_x, _y))
    2713                 return false;
    2714         }
     2668        if (!overflowBox.contains(_x, _y))
     2669            return false;
    27152670    }
    27162671
  • trunk/WebCore/rendering/RenderBlock.h

    r19593 r19696  
    7070    virtual void setOverflowWidth(int w) { m_overflowWidth = w; }
    7171
     72    void addVisualOverflow(const IntRect&);
     73
    7274    virtual bool isSelfCollapsingBlock() const;
    7375    virtual bool isTopMarginQuirk() const { return m_topMarginQuirk; }
     
    102104    virtual void repaintObjectsBeforeLayout();
    103105    virtual void repaintOverhangingFloats(bool paintAllDescendants);
    104     virtual void getAbsoluteRepaintRectIncludingFloats(IntRect& bounds, IntRect& fullBounds);
    105106
    106107    virtual void setStyle(RenderStyle*);
     
    179180    inline int leftBottom();
    180181    inline int rightBottom();
    181     virtual IntRect floatRect() const;
     182    IntRect floatRect() const;
    182183
    183184    virtual int lineWidth(int y) const;
     
    449450    int m_maxBottomNegMargin;
    450451
    451     // How much content overflows out of our block vertically or horizontally (all we support
    452     // for now is spillage out of the bottom and the right, which are the common cases).
    453     // FIXME: Generalize to work with top and left as well.
     452    // How much content overflows out of our block vertically or horizontally.
    454453    int m_overflowHeight;
    455454    int m_overflowWidth;
    456 
    457     // Left and top overflow.  Does not affect scrolling dimensions, but we do at least use it
    458     // when dirty rect checking and hit testing.
    459455    int m_overflowLeft;
    460456    int m_overflowTop;
  • trunk/WebCore/rendering/RenderFlexibleBox.cpp

    r19593 r19696  
    331331    // Repaint with our new bounds if they are different from our old bounds.
    332332    if (checkForRepaint)
    333         repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
     333        repaintAfterLayoutIfNeeded(oldBounds);
    334334   
    335335    setNeedsLayout(false);
     
    489489
    490490            placeChild(child, xPos, childY);
     491
     492            if (child->isRenderBlock())
     493                static_cast<RenderBlock*>(child)->addVisualOverflow(static_cast<RenderBlock*>(child)->floatRect());
     494
    491495            m_overflowHeight = max(m_overflowHeight, childY + child->overflowHeight(false));
    492496            m_overflowTop = min(m_overflowTop, child->yPos() + child->overflowTop(false));
     
    867871            m_height += child->height() + child->marginBottom();
    868872   
     873            if (child->isRenderBlock())
     874                static_cast<RenderBlock*>(child)->addVisualOverflow(static_cast<RenderBlock*>(child)->floatRect());
     875
    869876            // See if this child has made our overflow need to grow.
    870877            m_overflowWidth = max(child->xPos() + child->overflowWidth(false), m_overflowWidth);
  • trunk/WebCore/rendering/RenderForeignObject.cpp

    r19593 r19696  
    9898
    9999    if (checkForRepaint)
    100         repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
     100        repaintAfterLayoutIfNeeded(oldBounds);
    101101
    102102    setNeedsLayout(false);
  • trunk/WebCore/rendering/RenderHTMLCanvas.cpp

    r19593 r19696  
    9191    calcHeight();
    9292    if (checkForRepaint)
    93         repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
     93        repaintAfterLayoutIfNeeded(oldBounds);
    9494
    9595    setNeedsLayout(false);
  • trunk/WebCore/rendering/RenderImage.cpp

    r19593 r19696  
    317317
    318318    if (checkForRepaint)
    319         repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
     319        repaintAfterLayoutIfNeeded(oldBounds);
    320320   
    321321    setNeedsLayout(false);
  • trunk/WebCore/rendering/RenderLayer.cpp

    r19680 r19696  
    200200        int x, y;
    201201        m_object->absolutePosition(x, y);
    202         IntRect newRect, newFullRect;
    203         m_object->getAbsoluteRepaintRectIncludingFloats(newRect, newFullRect);
     202        IntRect newRect = m_object->getAbsoluteRepaintRect();
    204203        if (checkForRepaint) {
    205             RenderView *c = m_object->view();
     204            RenderView* c = m_object->view();
    206205            ASSERT(c);
    207206            if (c && !c->printing()) {
    208207                bool didMove = x != m_repaintX || y != m_repaintY;
    209208                if (!didMove && !m_repaintOverflowOnResize)
    210                     m_object->repaintAfterLayoutIfNeeded(m_repaintRect, m_fullRepaintRect);
     209                    m_object->repaintAfterLayoutIfNeeded(m_repaintRect);
    211210                else if (didMove || newRect != m_repaintRect) {
    212                     c->repaintViewRectangle(m_fullRepaintRect);
    213                     c->repaintViewRectangle(newFullRect);
     211                    c->repaintViewRectangle(m_repaintRect);
     212                    c->repaintViewRectangle(newRect);
    214213                }
    215214            }
    216215        }
    217216        m_repaintRect = newRect;
    218         m_fullRepaintRect = newFullRect;
    219217        m_repaintX = x;
    220218        m_repaintY = y;
    221219    } else {
    222220        m_repaintRect = IntRect();
    223         m_fullRepaintRect = IntRect();
    224221    }
    225222   
     
    18421839        if (bbox != overflowRect)
    18431840            result.unite(overflowRect);
    1844         IntRect floatRect = renderer()->floatRect();
    1845         if (bbox != floatRect)
    1846             result.unite(floatRect);
    18471841       
    18481842        // We have to adjust the x/y of this result so that it is in the coordinate space of the layer.
  • trunk/WebCore/rendering/RenderLayer.h

    r19593 r19696  
    388388
    389389    IntRect m_repaintRect; // Cached repaint rects. Used by layout.
    390     IntRect m_fullRepaintRect;
    391390    int m_repaintX;
    392391    int m_repaintY;
  • trunk/WebCore/rendering/RenderObject.cpp

    r19593 r19696  
    17351735}
    17361736
    1737 bool RenderObject::repaintAfterLayoutIfNeeded(const IntRect& oldBounds, const IntRect& oldFullBounds)
     1737bool RenderObject::repaintAfterLayoutIfNeeded(const IntRect& oldBounds)
    17381738{
    17391739    RenderView* v = view();
     
    17411741        return false; // Don't repaint if we're printing.
    17421742
    1743     IntRect newBounds, newFullBounds;
    1744     getAbsoluteRepaintRectIncludingFloats(newBounds, newFullBounds);
     1743    IntRect newBounds = getAbsoluteRepaintRect();
    17451744    if (newBounds == oldBounds && !selfNeedsLayout())
    17461745        return false;
     
    17481747    bool fullRepaint = selfNeedsLayout() || newBounds.location() != oldBounds.location() || mustRepaintBackgroundOrBorder();
    17491748    if (fullRepaint) {
    1750         v->repaintViewRectangle(oldFullBounds);
     1749        v->repaintViewRectangle(oldBounds);
    17511750        if (newBounds != oldBounds)
    1752             v->repaintViewRectangle(newFullBounds);
     1751            v->repaintViewRectangle(newBounds);
    17531752        return true;
    17541753    }
     
    18301829        return parent()->getAbsoluteRepaintRect();
    18311830    return IntRect();
    1832 }
    1833 
    1834 void RenderObject::getAbsoluteRepaintRectIncludingFloats(IntRect& bounds, IntRect& fullBounds)
    1835 {
    1836     bounds = fullBounds = getAbsoluteRepaintRect();
    18371831}
    18381832
  • trunk/WebCore/rendering/RenderObject.h

    r19593 r19696  
    718718
    719719    // Repaint only if our old bounds and new bounds are different.
    720     bool repaintAfterLayoutIfNeeded(const IntRect& oldBounds, const IntRect& oldFullBounds);
     720    bool repaintAfterLayoutIfNeeded(const IntRect& oldBounds);
    721721
    722722    // Repaint only if the object moved.
     
    736736
    737737    IntRect getAbsoluteRepaintRectWithOutline(int ow);
    738 
    739     virtual void getAbsoluteRepaintRectIncludingFloats(IntRect& bounds, IntRect& boundsWithChildren);
    740738
    741739    // Given a rect in the object's coordinate space, this method converts the rectangle to the view's
     
    750748    virtual bool hasOverhangingFloats() { return false; }
    751749    virtual bool expandsToEncloseOverhangingFloats() const { return isFloating() && style()->height().isAuto(); }
    752     virtual IntRect floatRect() const { return borderBox(); }
    753 
    754     virtual bool expandsToEncloseOverflow() const { return false; }
    755750
    756751    virtual void removePositionedObjects(RenderBlock*) { }
  • trunk/WebCore/rendering/RenderPath.cpp

    r19593 r19696  
    132132
    133133    if (selfNeedsLayout() && checkForRepaint)
    134         repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
     134        repaintAfterLayoutIfNeeded(oldBounds);
    135135
    136136    setNeedsLayout(false);
  • trunk/WebCore/rendering/RenderSVGContainer.cpp

    r19593 r19696  
    121121
    122122    if (selfNeedsLayout() && checkForRepaint)
    123         repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
     123        repaintAfterLayoutIfNeeded(oldBounds);
    124124
    125125    setNeedsLayout(false);
  • trunk/WebCore/rendering/RenderSVGText.cpp

    r19593 r19696  
    7878    bool repainted = false;
    7979    if (checkForRepaint)
    80         repainted = repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
     80        repainted = repaintAfterLayoutIfNeeded(oldBounds);
    8181   
    8282    setNeedsLayout(false);
  • trunk/WebCore/rendering/RenderTable.cpp

    r19593 r19696  
    277277
    278278    IntRect oldBounds;
    279     IntRect oldFullBounds;
    280279    bool checkForRepaint = checkForRepaintDuringLayout();
    281280    if (checkForRepaint) {
    282         getAbsoluteRepaintRectIncludingFloats(oldBounds, oldFullBounds);
     281        oldBounds = getAbsoluteRepaintRect();
    283282        oldBounds.move(view()->layoutDelta());
    284         oldFullBounds.move(view()->layoutDelta());
    285283    }
    286284   
     
    390388        if (!sectionMoved && section->yPos() != m_height) {
    391389            sectionMoved = true;
    392             movedSectionTop = min(m_height, section->yPos());
     390            movedSectionTop = min(m_height, section->yPos()) + section->overflowTop(false);
    393391        }
    394392        section->setPos(bl, m_height);
     
    397395        m_overflowLeft = min(m_overflowLeft, section->xPos() + section->overflowLeft(false));
    398396        m_overflowWidth = max(m_overflowWidth, section->xPos() + section->overflowWidth(false));
     397        m_overflowTop = min(m_overflowTop, section->yPos() + section->overflowTop(false));
     398        m_overflowHeight = max(m_overflowHeight, section->yPos() + section->overflowHeight(false));
    399399        section = sectionBelow(section);
    400400    }
     
    426426    // Repaint with our new bounds if they are different from our old bounds.
    427427    if (checkForRepaint)
    428         didFullRepaint = repaintAfterLayoutIfNeeded(oldBounds, oldFullBounds);
     428        didFullRepaint = repaintAfterLayoutIfNeeded(oldBounds);
    429429    if (!didFullRepaint && sectionMoved) {
    430430        IntRect repaintRect(m_overflowLeft, movedSectionTop, m_overflowWidth - m_overflowLeft, m_overflowHeight - movedSectionTop);
     
    452452
    453453    int os = 2 * maximalOutlineSize(paintPhase);
    454     if (ty + overflowTop() >= paintInfo.rect.bottom() + os || ty + overflowHeight() <= paintInfo.rect.y() - os)
     454    if (ty + overflowTop(false) >= paintInfo.rect.bottom() + os || ty + overflowHeight(false) <= paintInfo.rect.y() - os)
    455455        return;
    456     if (tx + overflowLeft() >= paintInfo.rect.right() + os || tx + overflowWidth() <= paintInfo.rect.x() - os)
     456    if (tx + overflowLeft(false) >= paintInfo.rect.right() + os || tx + overflowWidth(false) <= paintInfo.rect.x() - os)
    457457        return;
    458458
  • trunk/WebCore/rendering/RenderTable.h

    r18637 r19696  
    9999
    100100    // overrides
    101     virtual int overflowHeight(bool includeInterior = true) const { return height(); }
    102101    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0);
    103102    virtual void paint(PaintInfo&, int tx, int ty);
  • trunk/WebCore/rendering/RenderTableCell.cpp

    r18918 r19696  
    605605        paintCollapsedBorder(paintInfo.context, tx, ty, w, h);
    606606    } else {
    607         if (ty >= paintInfo.rect.bottom() + os || ty + m_topExtra + m_height + m_bottomExtra <= paintInfo.rect.y() - os)
     607        if (ty + overflowTop(false) >= paintInfo.rect.bottom() + os || ty + m_topExtra + overflowHeight(false) + m_bottomExtra <= paintInfo.rect.y() - os)
    608608            return;
    609609        RenderBlock::paintObject(paintInfo, tx, ty + m_topExtra);
  • trunk/WebCore/rendering/RenderTableCell.h

    r19593 r19696  
    6868
    6969    virtual bool expandsToEncloseOverhangingFloats() const { return true; }
    70     virtual bool expandsToEncloseOverflow() const { return true; }
    7170
    7271    int borderLeft() const;
  • trunk/WebCore/rendering/RenderTableSection.cpp

    r19490 r19696  
    5757    , m_overflowLeft(0)
    5858    , m_overflowWidth(0)
     59    , m_overflowTop(0)
     60    , m_overflowHeight(0)
    5961    , m_hasOverflowingCell(false)
    6062{
     
    372374    m_overflowLeft = 0;
    373375    m_overflowWidth = m_width;
     376    m_overflowTop = 0;
     377    m_overflowHeight = 0;
    374378    m_hasOverflowingCell = false;
    375379
     
    540544            m_overflowLeft = min(m_overflowLeft, cell->xPos() + cell->overflowLeft(false));
    541545            m_overflowWidth = max(m_overflowWidth, cell->xPos() + cell->overflowWidth(false));
    542             m_hasOverflowingCell |= cell->overflowLeft(false) || cell->overflowWidth(false) > cell->width();
     546            m_overflowTop = min(m_overflowTop, cell->yPos() + cell->overflowTop(false));
     547            m_overflowHeight = max(m_overflowHeight, cell->yPos() + cell->overflowHeight(false));
     548            m_hasOverflowingCell |= cell->overflowLeft(false) || cell->overflowWidth(false) > cell->width() || cell->overflowTop(false) || cell->overflowHeight(false) > cell->height();
    543549
    544550            // If the cell moved, we have to repaint it as well as any floating/positioned
     
    551557
    552558    m_height = m_rowPos[totalRows];
     559    m_overflowHeight = max(m_overflowHeight, m_height);
    553560    return m_height;
    554561}
     
    834841    unsigned startrow = 0;
    835842    unsigned endrow = totalRows;
    836     for (; startrow < totalRows; startrow++) {
    837         if (ty + m_rowPos[startrow + 1] >= y - os)
    838             break;
    839     }
    840     if (startrow == totalRows && ty + m_rowPos[totalRows] + table()->outerBorderBottom() >= y - os)
    841         startrow--;
    842 
    843     for (; endrow > 0; endrow--) {
    844         if (ty + m_rowPos[endrow - 1] <= y + h + os)
    845             break;
    846     }
    847     if (!endrow && ty + m_rowPos[0] - table()->outerBorderTop() <= y + h + os)
    848         endrow++;
     843   
     844    // If some cell overflows, just paint all of them.
     845    if (!m_hasOverflowingCell) {
     846        for (; startrow < totalRows; startrow++) {
     847            if (ty + m_rowPos[startrow + 1] >= y - os)
     848                break;
     849        }
     850        if (startrow == totalRows && ty + m_rowPos[totalRows] + table()->outerBorderBottom() >= y - os)
     851            startrow--;
     852
     853        for (; endrow > 0; endrow--) {
     854            if (ty + m_rowPos[endrow - 1] <= y + h + os)
     855                break;
     856        }
     857        if (!endrow && ty + m_rowPos[0] - table()->outerBorderTop() <= y + h + os)
     858            endrow++;
     859    }
    849860
    850861    unsigned startcol = 0;
    851862    unsigned endcol = totalCols;
    852     // If some cell overflows, just paint all of them.
    853863    // FIXME: Implement RTL.
    854864    if (!m_hasOverflowingCell && style()->direction() == LTR) {
  • trunk/WebCore/rendering/RenderTableSection.h

    r19490 r19696  
    8383    virtual int overflowWidth(bool includeInterior = true) const { return (!includeInterior && hasOverflowClip()) ? m_width : m_overflowWidth; }
    8484    virtual int overflowLeft(bool includeInterior = true) const { return (!includeInterior && hasOverflowClip()) ? 0 : m_overflowLeft; }
     85    virtual int overflowHeight(bool includeInterior = true) const { return (!includeInterior && hasOverflowClip()) ? m_height : m_overflowHeight; }
     86    virtual int overflowTop(bool includeInterior = true) const { return (!includeInterior && hasOverflowClip()) ? 0 : m_overflowTop; }
    8587
    8688    virtual int lowestPosition(bool includeOverflowInterior, bool includeSelf) const;
     
    147149    int m_overflowLeft;
    148150    int m_overflowWidth;
     151    int m_overflowTop;
     152    int m_overflowHeight;
    149153    bool m_hasOverflowingCell;
    150154};
Note: See TracChangeset for help on using the changeset viewer.