Changeset 19588 in webkit


Ignore:
Timestamp:
Feb 12, 2007 3:52:11 PM (17 years ago)
Author:
bdash
Message:

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

Reviewed by Dave Hyatt.

Tests: fast/repaint/float-overflow.html

fast/repaint/float-overflow-right.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): 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.cpp: (WebCore::RenderTable::layout):
  • rendering/RenderTableCell.h: (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats):

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

Reviewed by Dave Hyatt.

  • css1/formatting_model/inline_elements-expected.checksum:
  • css1/formatting_model/inline_elements-expected.png:
  • css1/formatting_model/inline_elements-expected.txt:
  • css2.1/t0905-c414-flt-00-d-expected.txt:
  • css2.1/t0905-c414-flt-01-d-g-expected.txt:
  • css2.1/t0905-c414-flt-02-c-expected.txt:
  • css2.1/t0905-c414-flt-03-c-expected.txt:
  • css2.1/t0905-c414-flt-04-c-expected.txt:
  • css2.1/t0905-c414-flt-wrap-01-d-g-expected.txt:
  • css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
  • css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt:
  • css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt:
  • css2.1/t090501-c414-flt-02-d-g-expected.txt:
  • css2.1/t090501-c414-flt-03-b-g-expected.txt:
  • fast/backgrounds/repeat/negative-offset-repeat-expected.txt:
  • fast/block/float/008-expected.txt:
  • fast/block/float/013-expected.checksum:
  • fast/block/float/013-expected.txt:
  • fast/block/float/029-expected.txt:
  • fast/block/float/031-expected.txt:
  • fast/block/float/float-in-float-painting-expected.txt:
  • fast/block/margin-collapse/059-expected.checksum:
  • fast/block/margin-collapse/059-expected.png:
  • fast/block/margin-collapse/059-expected.txt:
  • fast/block/margin-collapse/062-expected.txt:
  • fast/block/margin-collapse/063-expected.txt:
  • fast/box-shadow/basic-shadows-expected.txt:
  • fast/forms/floating-textfield-relayout-expected.checksum:
  • fast/forms/floating-textfield-relayout-expected.txt:
  • fast/lists/003-expected.txt:
  • fast/media/mq-relative-constraints-08-expected.txt:
  • fast/multicol/float-multicol-expected.txt:
  • fast/repaint/float-overflow-expected.checksum: Added.
  • fast/repaint/float-overflow-expected.png: Added.
  • fast/repaint/float-overflow-expected.txt: Added.
  • fast/repaint/float-overflow-right-expected.checksum: Added.
  • fast/repaint/float-overflow-right-expected.png: Added.
  • fast/repaint/float-overflow-right-expected.txt: Added.
  • fast/repaint/float-overflow-right.html: Added.
  • fast/repaint/float-overflow.html: Added.
  • fast/table/009-expected.checksum:
  • fast/table/009-expected.png:
  • fast/table/009-expected.txt:
  • fast/text/text-shadow-extreme-value.html:
  • fast/text/whitespace/012-expected.txt:
  • tables/mozilla/bugs/bug120364-expected.txt:
  • tables/mozilla/bugs/bug196870-expected.checksum:
  • tables/mozilla/bugs/bug196870-expected.png:
  • tables/mozilla/bugs/bug196870-expected.txt:
  • tables/mozilla/bugs/bug45055-2-expected.txt:
  • tables/mozilla/bugs/bug72359-expected.txt:
  • tables/mozilla/marvin/x_table_align_left-expected.txt:
  • tables/mozilla/marvin/x_table_align_right-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.checksum:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.png:
  • tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt:
Location:
trunk
Files:
8 added
120 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r19587 r19588  
     12007-02-12  Mitz Pettel  <mitz@webkit.org>
     2
     3        Reviewed by Dave Hyatt.
     4
     5        - repaint test 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/table/009-expected.checksum:
     52        * fast/table/009-expected.png:
     53        * fast/table/009-expected.txt:
     54        * fast/text/text-shadow-extreme-value.html:
     55        * fast/text/whitespace/012-expected.txt:
     56        * tables/mozilla/bugs/bug120364-expected.txt:
     57        * tables/mozilla/bugs/bug196870-expected.checksum:
     58        * tables/mozilla/bugs/bug196870-expected.png:
     59        * tables/mozilla/bugs/bug196870-expected.txt:
     60        * tables/mozilla/bugs/bug45055-2-expected.txt:
     61        * tables/mozilla/bugs/bug72359-expected.txt:
     62        * tables/mozilla/marvin/x_table_align_left-expected.txt:
     63        * tables/mozilla/marvin/x_table_align_right-expected.txt:
     64        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.checksum:
     65        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.png:
     66        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt:
     67        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.checksum:
     68        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.png:
     69        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt:
     70        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.checksum:
     71        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.png:
     72        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt:
     73        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.checksum:
     74        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.png:
     75        * tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.txt:
     76        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.checksum:
     77        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.png:
     78        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.txt:
     79        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.checksum:
     80        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.png:
     81        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.txt:
     82        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.checksum:
     83        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.png:
     84        * tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt:
     85        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.checksum:
     86        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.png:
     87        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt:
     88        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.checksum:
     89        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.png:
     90        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt:
     91        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.checksum:
     92        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.png:
     93        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt:
     94        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.checksum:
     95        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png:
     96        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt:
     97        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.checksum:
     98        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.png:
     99        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt:
     100        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.checksum:
     101        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.png:
     102        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt:
     103        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.checksum:
     104        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.png:
     105        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt:
     106        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.checksum:
     107        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png:
     108        * tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt:
     109        * tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.checksum:
     110        * tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.png:
     111        * tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
     112        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.checksum:
     113        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.png:
     114        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt:
     115        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.checksum:
     116        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.png:
     117        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt:
     118        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.checksum:
     119        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.png:
     120        * tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt:
     121
    11222007-02-12  Darin Adler  <darin@apple.com>
    2123
  • trunk/LayoutTests/css1/formatting_model/inline_elements-expected.checksum

    r13916 r19588  
    1 55a1f301085cb525112043606e0fc453
     1b2da820c6f3f6667759c9aa205909f11
  • trunk/LayoutTests/css1/formatting_model/inline_elements-expected.txt

    r14684 r19588  
    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

    r18645 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r19490 r19588  
    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

    r14684 r19588  
    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

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

    r17080 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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

    r18654 r19588  
    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

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

    r18264 r19588  
    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

    r18670 r19588  
    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

    r14779 r19588  
    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

    r18825 r19588  
    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

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

    r14684 r19588  
    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/text-shadow-extreme-value.html

    r19573 r19588  
    33    <title>Test HTML Page</title>
    44<script>
    5 if (window.layoutTestController)
    6     layoutTestController.dumpAsText();
     5function test()
     6{
     7    if (window.layoutTestController) {
     8        layoutTestController.dumpAsText();
     9        document.body.offsetTop;
     10        layoutTestController.display();
     11    }
     12}
    713</script>
    814    <style type="text/css">
     
    1016    </style>
    1117</head>
    12 <body>
     18<body onload="test()">
    1319    <p>Extreme text-shadow blur values should not crash.</p>
    1420</body>
  • trunk/LayoutTests/fast/text/whitespace/012-expected.txt

    r14684 r19588  
    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

    r19346 r19588  
    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

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

    r19346 r19588  
    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 800x47
     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

    r19346 r19588  
    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

    r19346 r19588  
    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

    r14684 r19588  
    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

    r14684 r19588  
    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_dirty_reflow-expected.checksum

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

    r14684 r19588  
    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 800x116
     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

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

    r14684 r19588  
    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 785x416
     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

    r14224 r19588  
    1 e6081f0f652de26f0c095542cc9d5ac3
     1e00ac6458b82189a0b510a2a44bb4089
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt

    r14684 r19588  
    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 800x356
     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

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

    r14684 r19588  
    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 785x532
     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

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

    r14684 r19588  
    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

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

    r14684 r19588  
    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

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

    r14684 r19588  
    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 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)]
     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

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

    r14684 r19588  
    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 800x397
     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

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

    r14684 r19588  
    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 800x386
     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

    r16431 r19588  
    1 e63da4ef64e59c683071748ac1829b6c
     1aa93dfeb51e6c55f6527c7bd8e73c430
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt

    r14684 r19588  
    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 800x386
     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

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

    r14684 r19588  
    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 785x474
     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

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

    r14684 r19588  
    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 800x163
     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

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

    r14684 r19588  
    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 800x234
     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

    r16431 r19588  
    1 d7d6fcd1c1a085add192501ac38a1206
     1ecac3024fc833dc8fa265548836816a0
  • trunk/LayoutTests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt

    r14684 r19588  
    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 800x386
     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

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

    r14684 r19588  
    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 785x513
     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

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

    r14684 r19588  
    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 800x126
     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

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

    r14684 r19588  
    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 800x126
     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

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

    r14684 r19588  
    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 800x126
     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

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

    r14684 r19588  
    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 800x126
     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

    r19587 r19588  
     12007-02-12  Mitz Pettel  <mitz@webkit.org>
     2
     3        Reviewed by Dave 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
     11        - fix http://bugs.webkit.org/show_bug.cgi?id=10116
     12          REGRESSION: Menu item drawn 2 pixels short on WWDC 2006 Attendee Site
     13
     14        Reflected in existing test results.
     15
     16        Unified floats and overflow for the purposes of painting and hit-testing.
     17        Overhanging and overflowing floats are now factored into a block's overflow
     18        unless their painting has been propagated to an ancestor.
     19
     20        Changed table cells to no longer expand to enclose overflow, thus making
     21        it purely "visual overflow", having no effect on layout in WebCore. It
     22        still determines scrolling dimensions.
     23
     24        * rendering/InlineFlowBox.cpp:
     25        (WebCore::InlineFlowBox::placeBoxesHorizontally): Include inline blocks'
     26        horizontal overflow in the inline box's dimensions.
     27        * rendering/RenderBlock.cpp:
     28        (WebCore::RenderBlock::layoutBlock): Removed the expand to enclose overflows
     29        behavior. Added code to add this block's floats (and their overflow) to its
     30        overflow rect if it is not in a block formatting context. Otherwise, the
     31        inclusion of floats in the overflow is deferred until this block's parent
     32        examines its floats and possibly adopts overhanging floats.
     33        (WebCore::RenderBlock::layoutBlockChildren):
     34        (WebCore::RenderBlock::paint):
     35        (WebCore::RenderBlock::floatRect): Changed to return an empty rect if there
     36        are no floats or the floats are clipped, instead of returning the border box.
     37        (WebCore::RenderBlock::addOverhangingFloats): Any floats of the child that
     38        are not to be painted by the parent are added to the child's overflow rect.
     39        (WebCore::RenderBlock::addVisualOverflow): Added. Adjusts the overflow
     40        bounds to include the given rect.
     41        (WebCore::RenderBlock::nodeAtPoint):
     42        * rendering/RenderBlock.h:
     43        * rendering/RenderFlexibleBox.cpp:
     44        (WebCore::RenderFlexibleBox::layoutBlock):
     45        (WebCore::RenderFlexibleBox::layoutHorizontalBox): After placing a normal
     46        child, add its floats to its overflow, since painting of floats does not
     47        propagate to flexible boxes.
     48        (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto.
     49        * rendering/RenderForeignObject.cpp:
     50        (WebCore::RenderForeignObject::layout):
     51        * rendering/RenderHTMLCanvas.cpp:
     52        (WebCore::RenderHTMLCanvas::layout):
     53        * rendering/RenderImage.cpp:
     54        (WebCore::RenderImage::layout):
     55        * rendering/RenderLayer.cpp:
     56        (WebCore::RenderLayer::updateLayerPositions):
     57        (WebCore::RenderLayer::absoluteBoundingBox):
     58        * rendering/RenderLayer.h:
     59        * rendering/RenderObject.cpp:
     60        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
     61        * rendering/RenderObject.h:
     62        (WebCore::RenderObject::expandsToEncloseOverhangingFloats):
     63        * rendering/RenderPath.cpp:
     64        (WebCore::RenderPath::layout):
     65        * rendering/RenderSVGContainer.cpp:
     66        (WebCore::RenderSVGContainer::layout):
     67        * rendering/RenderSVGText.cpp:
     68        (WebCore::RenderSVGText::layout):
     69        * rendering/RenderTable.cpp:
     70        (WebCore::RenderTable::layout):
     71        * rendering/RenderTableCell.h:
     72        (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats):
     73
    1742007-02-12  Darin Adler  <darin@apple.com>
    275
  • trunk/WebCore/rendering/InlineFlowBox.cpp

    r19587 r19588  
    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

    r19493 r19588  
    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

    r19414 r19588  
    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;
    182182
    183183    virtual int lineWidth(int y) const;
     
    290290
    291291protected:
     292    IntRect floatRect() const;
    292293    void newLine();
    293294    virtual bool hasLineIfEmpty() 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

    r19492 r19588  
    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

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

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

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

    r19566 r19588  
    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) {
    205204            RenderView *c = m_object->view();
     
    207206                bool didMove = x != m_repaintX || y != m_repaintY;
    208207                if (!didMove && !m_repaintOverflowOnResize)
    209                     m_object->repaintAfterLayoutIfNeeded(m_repaintRect, m_fullRepaintRect);
     208                    m_object->repaintAfterLayoutIfNeeded(m_repaintRect);
    210209                else if (didMove || newRect != m_repaintRect) {
    211                     c->repaintViewRectangle(m_fullRepaintRect);
    212                     c->repaintViewRectangle(newFullRect);
     210                    c->repaintViewRectangle(m_repaintRect);
     211                    c->repaintViewRectangle(newRect);
    213212                }
    214213            }
    215214        }
    216215        m_repaintRect = newRect;
    217         m_fullRepaintRect = newFullRect;
    218216        m_repaintX = x;
    219217        m_repaintY = y;
    220218    } else {
    221219        m_repaintRect = IntRect();
    222         m_fullRepaintRect = IntRect();
    223220    }
    224221   
     
    18031800        if (bbox != overflowRect)
    18041801            result.unite(overflowRect);
    1805         IntRect floatRect = renderer()->floatRect();
    1806         if (bbox != floatRect)
    1807             result.unite(floatRect);
    18081802       
    18091803        // 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

    r19016 r19588  
    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

    r19567 r19588  
    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

    r19582 r19588  
    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

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

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

    r19265 r19588  
    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

    r19492 r19588  
    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   
     
    426424    // Repaint with our new bounds if they are different from our old bounds.
    427425    if (checkForRepaint)
    428         didFullRepaint = repaintAfterLayoutIfNeeded(oldBounds, oldFullBounds);
     426        didFullRepaint = repaintAfterLayoutIfNeeded(oldBounds);
    429427    if (!didFullRepaint && sectionMoved) {
    430428        IntRect repaintRect(m_overflowLeft, movedSectionTop, m_overflowWidth - m_overflowLeft, m_overflowHeight - movedSectionTop);
  • trunk/WebCore/rendering/RenderTableCell.h

    r18918 r19588  
    6868
    6969    virtual bool expandsToEncloseOverhangingFloats() const { return true; }
    70     virtual bool expandsToEncloseOverflow() const { return true; }
    7170
    7271    int borderLeft() const;
Note: See TracChangeset for help on using the changeset viewer.