+2007-02-12 Mitz Pettel <mitz@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ - repaint test for http://bugs.webkit.org/show_bug.cgi?id=12123
+ REGRESSION: Incomplete repaint of floats' overflows
+
+ - updated results for http://bugs.webkit.org/show_bug.cgi?id=10116
+ REGRESSION: Menu item drawn 2 pixels short on WWDC 2006 Attendee Site
+
+ * 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:
+
2007-02-12 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
-55a1f301085cb525112043606e0fc453
\ No newline at end of file
+b2da820c6f3f6667759c9aa205909f11
\ No newline at end of file
-layer at (0,0) size 785x792
+layer at (0,0) size 785x779
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x792
- RenderBlock {HTML} at (0,0) size 785x792
- RenderBody {BODY} at (8,8) size 769x776 [bgcolor=#CCCCCC]
+layer at (0,0) size 785x779
+ RenderBlock {HTML} at (0,0) size 785x779
+ RenderBody {BODY} at (8,8) size 769x763 [bgcolor=#CCCCCC]
RenderBlock {P} at (0,0) size 769x18
RenderText {#text} at (0,0) size 355x18
text run at (0,0) width 355: "The style declarations which apply to the text below are:"
RenderText {#text} at (83,48) size 415x15
text run at (83,48) width 3: " "
text run at (86,48) width 412: "The line spacing in the whole paragraph should be 12pt, with font-size 10pt."
- RenderTable {TABLE} at (0,455) size 769x321 [border: (1px outset #808080)]
- RenderTableSection {TBODY} at (1,1) size 767x319
+ RenderTable {TABLE} at (0,455) size 769x308 [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 767x306
RenderTableRow {TR} at (0,0) size 767x26
RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
RenderInline {STRONG} at (0,0) size 163x18
RenderText {#text} at (4,4) size 163x18
text run at (4,4) width 163: "TABLE Testing Section"
- RenderTableRow {TR} at (0,26) size 767x293
- RenderTableCell {TD} at (0,159) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderTableRow {TR} at (0,26) size 767x280
+ RenderTableCell {TD} at (0,153) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
RenderText {#text} at (4,4) size 4x18
text run at (4,4) width 4: " "
- RenderTableCell {TD} at (12,26) size 755x293 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (12,26) size 755x280 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
RenderBlock {P} at (4,4) size 747x192
RenderText {#text} at (0,7) size 187x18
text run at (0,7) width 187: "This is a paragraph that has a "
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x134
+layer at (0,0) size 800x170
RenderBlock {HTML} at (0,0) size 800x134
RenderBody {BODY} at (8,16) size 784x102
RenderBlock {P} at (0,0) size 784x18 [color=#000080]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x130
+layer at (0,0) size 800x162
RenderBlock {HTML} at (0,0) size 800x130
RenderBody {BODY} at (8,16) size 784x98
RenderBlock {P} at (0,0) size 784x18 [color=#000080]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x68
+layer at (0,0) size 800x264
RenderBlock {HTML} at (0,0) size 800x68
RenderBody {BODY} at (8,16) size 784x36
RenderBlock {P} at (0,0) size 784x36 [color=#000080]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x68
+layer at (0,0) size 800x264
RenderBlock {HTML} at (0,0) size 800x68
RenderBody {BODY} at (8,16) size 784x36
RenderBlock {P} at (0,0) size 784x36 [color=#000080]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x68
+layer at (0,0) size 800x344
RenderBlock {HTML} at (0,0) size 800x68
RenderBody {BODY} at (8,16) size 784x36
RenderBlock {P} at (0,0) size 784x36 [color=#000080]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x156
+layer at (0,0) size 800x163
RenderBlock {HTML} at (0,0) size 800x156
RenderBody {BODY} at (8,16) size 784x124
RenderBlock {P} at (0,0) size 784x18 [color=#000080]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x8
+layer at (0,0) size 800x260
RenderBlock {HTML} at (0,0) size 800x8
RenderBody {BODY} at (8,8) size 784x0
RenderBlock (floating) {DIV} at (0,0) size 588x252 [color=#FFFFFF] [bgcolor=#000080]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x34
+layer at (0,0) size 800x54
RenderBlock {HTML} at (0,0) size 800x34
RenderBody {BODY} at (8,8) size 784x18
RenderBlock {DIV} at (0,0) size 784x18
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x34
+layer at (0,0) size 800x44
RenderBlock {HTML} at (0,0) size 800x34
RenderBody {BODY} at (8,8) size 784x18
RenderBlock {DIV} at (0,0) size 784x18
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x154
+layer at (0,0) size 800x218
RenderBlock {HTML} at (0,0) size 800x154
RenderBody {BODY} at (8,16) size 784x122
RenderBlock {P} at (0,0) size 784x18 [color=#000080]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x155
+layer at (0,0) size 800x237
RenderBlock {HTML} at (0,0) size 800x155
RenderBody {BODY} at (8,16) size 784x123
RenderBlock {P} at (0,0) size 784x37 [color=#000080]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x484
+layer at (0,0) size 800x524
RenderBlock {HTML} at (0,0) size 800x484
RenderBody {BODY} at (8,16) size 784x452
RenderBlock {P} at (0,0) size 784x18
layer at (0,0) size 785x608
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x600
+layer at (0,0) size 785x608
RenderBlock {HTML} at (0,0) size 785x600
RenderBody {BODY} at (8,8) size 769x300
RenderBlock (floating) {DIV} at (0,0) size 769x100 [bgcolor=#008000]
-76249c23fcdddcecf3cdb08b2120b225
\ No newline at end of file
+f069ee9081d2de062f2c9e90efa023b9
\ No newline at end of file
layer at (0,0) size 800x8
RenderBlock {HTML} at (0,0) size 800x8
RenderBody {BODY} at (8,8) size 784x0
-layer at (8,64) size 800x108
+layer at (8,64) size 800x115
RenderBlock (positioned) {DIV} at (8,64) size 800x108 [bgcolor=#0000FF]
RenderBlock {DIV} at (38,8) size 723x57 [bgcolor=#008000] [border: (2px solid #888878) none]
RenderText {#text} at (0,0) size 182x18
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x54
+layer at (0,0) size 800x166
RenderBlock {HTML} at (0,0) size 800x54
RenderBody {BODY} at (8,8) size 784x38
RenderBlock (floating) {DIV} at (532,0) size 252x102 [border: (1px solid #FF0000)]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x300
+layer at (0,0) size 800x332
RenderBlock {HTML} at (0,0) size 800x300
RenderBody {BODY} at (8,8) size 784x284
RenderBlock {P} at (0,0) size 784x50
text run at (0,18) width 115: "issues (flickr.com)"
RenderText {#text} at (115,18) size 597x18
text run at (115,18) width 597: ", or rather, a related painting issue. The word \"PASS\" should appear below in translucent blue."
-layer at (8,44) size 784x125
+layer at (8,44) size 784x162
RenderBlock {DIV} at (0,36) size 784x125
RenderBlock (floating) {DIV} at (0,0) size 104x125
RenderImage {IMG} at (0,0) size 100x100
-8e03cda31efbafc6ddf1b53fa70376a9
\ No newline at end of file
+8f0042cc5c242365774f89743a2678a0
\ No newline at end of file
RenderTable {TABLE} at (0,34) size 106x206 [bgcolor=#FF0000] [border: (3px solid #000000)]
RenderTableSection {TBODY} at (3,3) size 100x200
RenderTableRow {TR} at (0,0) size 100x200
- RenderTableCell {TD} at (0,0) size 50x200 [bgcolor=#FFA500] [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,25) size 50x150 [bgcolor=#FFA500] [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#FF0000]
RenderBlock {DIV} at (0,0) size 50x150 [bgcolor=#00FFFF]
RenderBlock {DIV} at (0,50) size 50x50 [bgcolor=#FFFF00]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x46 layerType: background only
+layer at (0,0) size 800x110 layerType: background only
layer at (10,46) size 320x64
RenderBlock (positioned) zI: -1 {DIV} at (10,46) size 320x64 [color=#FFFF00] [bgcolor=#FF0000]
RenderText zI: -1 {#text} at (0,0) size 36x18
text run at (0,0) width 36: "FAIL"
-layer at (0,0) size 800x46 layerType: foreground only
+layer at (0,0) size 800x110 layerType: foreground only
RenderBlock {HTML} at (0,0) size 800x46
RenderBody {BODY} at (10,46) size 780x0
RenderBlock {DIV} at (2,0) size 776x0
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x49 layerType: background only
+layer at (0,0) size 800x77 layerType: background only
layer at (10,13) size 320x64
RenderBlock (positioned) zI: -1 {DIV} at (10,13) size 320x64 [color=#FFFF00] [bgcolor=#FF0000]
RenderText zI: -1 {#text} at (0,0) size 36x18
text run at (0,0) width 36: "FAIL"
-layer at (0,0) size 800x49 layerType: foreground only
+layer at (0,0) size 800x77 layerType: foreground only
RenderBlock {HTML} at (0,0) size 800x49
RenderBody {BODY} at (10,2) size 780x1
RenderBlock {DIV} at (2,0) size 776x1
layer at (0,0) size 785x671
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x658
+layer at (0,0) size 785x671
RenderBlock {HTML} at (0,0) size 785x658
RenderBody {BODY} at (8,8) size 769x634
RenderBlock (anonymous) at (0,0) size 769x150
-2a7212dd9cad1f4955efa5403430629c
\ No newline at end of file
+9eea4b422a919b63d920d6da21841f7b
\ No newline at end of file
RenderText {#text} at (59,18) size 4x18
text run at (59,18) width 4: "."
RenderBlock {HR} at (0,52) size 784x2 [border: (1px inset #000000)]
-layer at (8,70) size 784x0
+layer at (8,70) size 784x21
RenderBlock (relative positioned) {DIV} at (0,62) size 784x0
RenderTextControl {INPUT} at (0,2) size 392x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
layer at (11,75) size 386x13
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x334
+layer at (0,0) size 800x350
RenderBlock {HTML} at (0,0) size 800x334
RenderBody {BODY} at (8,16) size 784x302
RenderBlock (floating) {DIV} at (0,0) size 470x334
layer at (0,0) size 785x642
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x600
+layer at (0,0) size 785x642
RenderBlock {HTML} at (0,0) size 785x600
RenderBody {BODY} at (8,8) size 769x576
RenderBlock {P} at (0,0) size 769x18 [color=#008000]
layer at (0,0) size 785x794
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x670
+layer at (0,0) size 785x794
RenderBlock {HTML} at (0,0) size 785x670
RenderBody {BODY} at (8,19) size 769x635
RenderBlock {DIV} at (0,0) size 769x28 [bgcolor=#00FFFF]
--- /dev/null
+4c0221aa9843edaa77971b6467ebaa88
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x588
+ RenderBlock {HTML} at (0,0) size 800x588
+ RenderBody {BODY} at (8,8) size 784x572
+ RenderBlock {DIV} at (2,0) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderBlock {DIV} at (51,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (-2,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (-2,1) size 16x16
+ text run at (-2,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,39) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderBlock {DIV} at (51,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (-2,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (-8,1) size 16x16
+ text run at (-8,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,78) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderBlock {DIV} at (51,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (-8,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (-2,1) size 16x16
+ text run at (-2,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,117) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderBlock {DIV} at (51,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (0,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (-8,1) size 16x16
+ text run at (-8,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,156) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderBlock {DIV} at (51,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (-8,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (0,1) size 16x16
+ text run at (0,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,195) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderFlexibleBox {DIV} at (51,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (-8,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (0,1) size 16x16
+ text run at (0,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,234) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderFlexibleBox {DIV} at (51,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 32x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (-8,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (0,1) size 16x16
+ text run at (0,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,273) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderTable {TABLE} at (51,7) size 58x28 [border: (1px solid #800080)]
+ RenderTableSection {TBODY} at (6,6) size 46x16
+ RenderTableRow {TR} at (0,2) size 46x12
+ RenderTableCell {TD} at (2,2) size 42x12 [bgcolor=#FFC0CB] [r=0 c=0 rs=1 cs=1]
+ RenderBlock (floating) {DIV} at (1,1) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (-4,1) size 16x16
+ text run at (-4,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,312) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderTable {TABLE} at (51,7) size 58x28 [border: (1px solid #800080)]
+ RenderTableSection {TBODY} at (6,6) size 46x16
+ RenderTableRow {TR} at (0,2) size 46x12
+ RenderTableCell {TD} at (2,2) size 42x12 [bgcolor=#FFC0CB] [r=0 c=0 rs=1 cs=1]
+ RenderBlock (floating) {DIV} at (1,1) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (-12,1) size 16x16
+ text run at (-12,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,351) size 780x52 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderBlock (anonymous) at (1,7) size 778x32
+ RenderTable {TABLE} at (50,0) size 58x28 [border: (1px solid #800080)]
+ RenderTableSection {TBODY} at (6,6) size 46x16
+ RenderTableRow {TR} at (0,2) size 46x12
+ RenderTableCell {TD} at (2,2) size 42x12 [bgcolor=#FFC0CB] [r=0 c=0 rs=1 cs=1]
+ RenderBlock (floating) {DIV} at (1,1) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (-12,1) size 16x16
+ text run at (-12,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,405) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderBlock {DIV} at (51,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock {DIV} at (2,444) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderBlock {DIV} at (51,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (2,483) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderBlock {DIV} at (2,522) size 780x50 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (1,1) size 0x6
+ RenderBlock {DIV} at (51,7) size 62x36 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 32x20 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (-8,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (0,1) size 16x16
+ text run at (0,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderText {#text} at (0,0) size 0x0
+layer at (59,426) size 40x18
+ RenderBlock (floating) {DIV} at (-8,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (0,1) size 16x16
+ text run at (0,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+layer at (67,465) size 50x18
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (-8,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (0,1) size 16x16
+ text run at (0,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+layer at (61,498) size 62x24
+ RenderBlock {DIV} at (51,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (-8,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (0,1) size 16x16
+ text run at (0,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
--- /dev/null
+34004910c9b8d766070b703d3a57e7e6
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x588
+ RenderBlock {HTML} at (0,0) size 800x588
+ RenderBody {BODY} at (8,8) size 784x572
+ RenderBlock {DIV} at (2,0) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderBlock {DIV} at (667,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (12,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (26,1) size 16x16
+ text run at (26,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,39) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderBlock {DIV} at (667,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (12,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (32,1) size 16x16
+ text run at (32,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,78) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderBlock {DIV} at (667,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (18,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (26,1) size 16x16
+ text run at (26,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,117) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderBlock {DIV} at (667,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (10,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (32,1) size 16x16
+ text run at (32,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,156) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderBlock {DIV} at (667,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (18,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (24,1) size 16x16
+ text run at (24,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,195) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderFlexibleBox {DIV} at (667,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (18,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (24,1) size 16x16
+ text run at (24,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,234) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderFlexibleBox {DIV} at (667,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (24,6) size 32x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (0,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (24,1) size 16x16
+ text run at (24,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,273) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderTable {TABLE} at (671,7) size 58x28 [border: (1px solid #800080)]
+ RenderTableSection {TBODY} at (6,6) size 46x16
+ RenderTableRow {TR} at (0,2) size 46x12
+ RenderTableCell {TD} at (2,2) size 42x12 [bgcolor=#FFC0CB] [r=0 c=0 rs=1 cs=1]
+ RenderBlock (floating) {DIV} at (1,1) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (28,1) size 16x16
+ text run at (28,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,312) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderTable {TABLE} at (671,7) size 58x28 [border: (1px solid #800080)]
+ RenderTableSection {TBODY} at (6,6) size 46x16
+ RenderTableRow {TR} at (0,2) size 46x12
+ RenderTableCell {TD} at (2,2) size 42x12 [bgcolor=#FFC0CB] [r=0 c=0 rs=1 cs=1]
+ RenderBlock (floating) {DIV} at (1,1) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (36,1) size 16x16
+ text run at (36,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,351) size 780x52 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderBlock (anonymous) at (1,7) size 778x32
+ RenderTable {TABLE} at (670,0) size 58x28 [border: (1px solid #800080)]
+ RenderTableSection {TBODY} at (6,6) size 46x16
+ RenderTableRow {TR} at (0,2) size 46x12
+ RenderTableCell {TD} at (2,2) size 42x12 [bgcolor=#FFC0CB] [r=0 c=0 rs=1 cs=1]
+ RenderBlock (floating) {DIV} at (1,1) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (36,1) size 16x16
+ text run at (36,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {DIV} at (2,405) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderBlock {DIV} at (667,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock {DIV} at (2,444) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderBlock {DIV} at (667,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (2,483) size 780x37 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderBlock {DIV} at (2,522) size 780x50 [border: (1px dotted #D3D3D3)]
+ RenderBlock {DIV} at (779,1) size 0x6
+ RenderBlock {DIV} at (667,7) size 62x36 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (24,6) size 32x20 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (0,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (24,1) size 16x16
+ text run at (24,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+ RenderText {#text} at (0,0) size 0x0
+layer at (701,426) size 40x18
+ RenderBlock (floating) {DIV} at (18,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (24,1) size 16x16
+ text run at (24,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+layer at (683,465) size 58x18
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (18,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (24,1) size 16x16
+ text run at (24,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
+layer at (677,498) size 64x24
+ RenderBlock {DIV} at (667,7) size 62x22 [border: (1px solid #800080)]
+ RenderBlock {DIV} at (6,6) size 50x10 [bgcolor=#FFC0CB]
+ RenderBlock (floating) {DIV} at (18,0) size 40x10 [bgcolor=#ADD8E6]
+ RenderInline {SPAN} at (0,0) size 16x16 [color=#0000FF]
+ RenderText {#text} at (24,1) size 16x16
+ text run at (24,1) width 16: "x"
+ RenderText {#text} at (0,0) size 0x0
--- /dev/null
+<!DOCTYPE HTML>
+<html>
+<head>
+ <title>Repaint test for http://bugs.webkit.org/show_bug.cgi?id=12123</title>
+ <style>
+ .spacer { width: 0; }
+ .test { direction: rtl; border: thin dotted lightgray; margin: 2px; height: 35px; }
+ .outer { border: thin solid purple; padding: 5px; width: 50px; margin-right: 50px; }
+ .outer > div { height: 10px; background-color: pink; }
+ .outer > div > div { width: 40px; height: 10px; background-color: lightblue; }
+ span { font-family: Ahem; color: blue; }
+ .box { display: -webkit-box; }
+ </style>
+ <script src="repaint.js"></script>
+ <script>
+ function repaintTest()
+ {
+ for (i = 1; i < 15; ++i)
+ document.getElementById("spacer" + i).style.height = "6px";
+ }
+ </script>
+</head>
+<body onload="runRepaintTest()">
+ <div class="test">
+ <div class="spacer" id="spacer1"></div>
+ <div class="outer">
+ <div>
+ <div style="float: right; margin-right: -2px;">
+ <span style="margin-right: -2px;">x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer2"></div>
+ <div class="outer">
+ <div>
+ <div style="float: right; margin-right: -2px;">
+ <span style="margin-right: -8px;">x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer3"></div>
+ <div class="outer">
+ <div>
+ <div style="float: right; margin-right: -8px;">
+ <span style="margin-right: -2px;">x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer4"></div>
+ <div class="outer">
+ <div>
+ <div style="float: right;">
+ <span style="margin-right: -8px;">x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer5"></div>
+ <div class="outer">
+ <div>
+ <div style="float: right; margin-right: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer6"></div>
+ <div class="outer box" style="-webkit-box-orient: vertical;">
+ <div>
+ <div style="float: right; margin-right: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer12"></div>
+ <div class="outer box" style="-webkit-box-orient: horizontal;">
+ <div>
+ <div style="float: right; margin-right: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer7"></div>
+ <table class="outer">
+ <tr>
+ <td style="height: 10px; background-color: pink; width: 100%;">
+ <div style="width: 40px; height: 10px; background-color: lightblue; float: right;">
+ <span style="margin-right: -4px;">x</span>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer8"></div>
+ <table class="outer">
+ <tr>
+ <td style="height: 10px; background-color: pink; width: 100%;">
+ <div style="width: 40px; height: 10px; background-color: lightblue; float: right;">
+ <span style="margin-right: -12px;">x</span>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <div class="test" style="height: 50px;">
+ <div class="spacer" id="spacer14"></div>
+ <table class="outer" style="display: inline-table;">
+ <tr>
+ <td style="height: 10px; background-color: pink; width: 100%;">
+ <div style="width: 40px; height: 10px; background-color: lightblue; float: right;">
+ <span style="margin-right: -12px;">x</span>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer9"></div>
+ <div class="outer">
+ <div>
+ <div style="opacity: 0.75; float: right; margin-right: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer10"></div>
+ <div class="outer">
+ <div style="opacity: 0.75;">
+ <div style="float: right; margin-right: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer11"></div>
+ <div class="outer" style="opacity: 0.75">
+ <div>
+ <div style="float: right; margin-right: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="test" style="height: 48px">
+ <div class="spacer" id="spacer13"></div>
+ <div class="outer">
+ <div style="display: inline-block; height: 20px;">
+ <div style="float: right; margin-right: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE HTML>
+<html>
+<head>
+ <title>Repaint test for http://bugs.webkit.org/show_bug.cgi?id=12123</title>
+ <style>
+ .spacer { width: 0; }
+ .test { border: thin dotted lightgray; margin: 2px; height: 35px; }
+ .outer { border: thin solid purple; padding: 5px; width: 50px; margin-left: 50px; }
+ .outer > div { height: 10px; background-color: pink; }
+ .outer > div > div { width: 40px; height: 10px; background-color: lightblue; }
+ span { font-family: Ahem; color: blue; }
+ .box { display: -webkit-box; }
+ </style>
+ <script src="repaint.js"></script>
+ <script>
+ function repaintTest()
+ {
+ for (i = 1; i < 15; ++i)
+ document.getElementById("spacer" + i).style.height = "6px";
+ }
+ </script>
+</head>
+<body onload="runRepaintTest()">
+ <div class="test">
+ <div class="spacer" id="spacer1"></div>
+ <div class="outer">
+ <div>
+ <div style="float: left; margin-left: -2px;">
+ <span style="margin-left: -2px;">x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer2"></div>
+ <div class="outer">
+ <div>
+ <div style="float: left; margin-left: -2px;">
+ <span style="margin-left: -8px;">x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer3"></div>
+ <div class="outer">
+ <div>
+ <div style="float: left; margin-left: -8px;">
+ <span style="margin-left: -2px;">x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer4"></div>
+ <div class="outer">
+ <div>
+ <div style="float: left;">
+ <span style="margin-left: -8px;">x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer5"></div>
+ <div class="outer">
+ <div>
+ <div style="float: left; margin-left: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer6"></div>
+ <div class="outer box" style="-webkit-box-orient: vertical;">
+ <div>
+ <div style="float: left; margin-left: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer12"></div>
+ <div class="outer box" style="-webkit-box-orient: horizontal;">
+ <div>
+ <div style="float: left; margin-left: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer7"></div>
+ <table class="outer">
+ <tr>
+ <td style="height: 10px; background-color: pink; width: 100%;">
+ <div style="width: 40px; height: 10px; background-color: lightblue; float: left;">
+ <span style="margin-left: -4px;">x</span>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer8"></div>
+ <table class="outer">
+ <tr>
+ <td style="height: 10px; background-color: pink; width: 100%;">
+ <div style="width: 40px; height: 10px; background-color: lightblue; float: left;">
+ <span style="margin-left: -12px;">x</span>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <div class="test" style="height: 50px;">
+ <div class="spacer" id="spacer14"></div>
+ <table class="outer" style="display: inline-table;">
+ <tr>
+ <td style="height: 10px; background-color: pink; width: 100%;">
+ <div style="width: 40px; height: 10px; background-color: lightblue; float: left;">
+ <span style="margin-left: -12px;">x</span>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer9"></div>
+ <div class="outer">
+ <div>
+ <div style="opacity: 0.75; float: left; margin-left: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer10"></div>
+ <div class="outer">
+ <div style="opacity: 0.75;">
+ <div style="float: left; margin-left: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="test">
+ <div class="spacer" id="spacer11"></div>
+ <div class="outer" style="opacity: 0.75">
+ <div>
+ <div style="float: left; margin-left: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="test" style="height: 48px">
+ <div class="spacer" id="spacer13"></div>
+ <div class="outer">
+ <div style="display: inline-block; height: 20px;">
+ <div style="float: left; margin-left: -8px;">
+ <span>x</span>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
-97ea3f069f0cfaf6898e9f733f98c33c
\ No newline at end of file
+12a8a4de3eab368c50a059827e98cb07
\ No newline at end of file
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (0,0) size 800x584 [bgcolor=#FFFFFF]
- RenderBlock {CENTER} at (0,0) size 800x222
- RenderTable {TABLE} at (0,0) size 800x222 [bgcolor=#CCCCCC] [border: (1px outset #808080)]
- RenderTableSection {TBODY} at (1,1) size 798x220
- RenderTableRow {TR} at (0,0) size 798x220
- RenderTableCell {TD} at (0,0) size 798x220 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderBlock {CENTER} at (0,0) size 800x58
+ RenderTable {TABLE} at (0,0) size 800x58 [bgcolor=#CCCCCC] [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 798x56
+ RenderTableRow {TR} at (0,0) size 798x56
+ RenderTableCell {TD} at (0,0) size 798x56 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (82,1) size 634x54 [border: (2px solid #FF0000)]
RenderTable {TABLE} at (2,2) size 630x216 [bgcolor=#CCCCCC] [border: (2px outset #808080)]
RenderTableSection {TBODY} at (2,2) size 626x212
RenderTableRow {TR} at (0,0) size 97x180
RenderTableCell {TD} at (0,0) size 97x180 [r=0 c=0 rs=1 cs=1]
RenderImage {IMG} at (0,0) size 97x180
- RenderBlock {P} at (0,238) size 800x0
- RenderBlock (floating) {DIV} at (0,238) size 104x54 [border: (2px solid #FF0000)]
+ RenderBlock {P} at (0,74) size 800x0
+ RenderBlock (floating) {DIV} at (0,74) size 104x54 [border: (2px solid #FF0000)]
RenderText {#text} at (2,2) size 82x54
text run at (2,2) width 82: "Here is some"
text run at (2,20) width 31: "text. "
RenderBR {BR} at (67,142) size 0x0
RenderText {#text} at (2,146) size 45x18
text run at (2,146) width 45: "Really."
- RenderBlock {P} at (0,238) size 800x0
+ RenderBlock {P} at (0,74) size 800x0
<head>
<title>Test HTML Page</title>
<script>
-if (window.layoutTestController)
- layoutTestController.dumpAsText();
+function test()
+{
+ if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ document.body.offsetTop;
+ layoutTestController.display();
+ }
+}
</script>
<style type="text/css">
p { text-shadow: purple 0px 0px 38005685px; }
</style>
</head>
-<body>
+<body onload="test()">
<p>Extreme text-shadow blur values should not crash.</p>
</body>
</html>
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x76
+layer at (0,0) size 800x156
RenderBlock {HTML} at (0,0) size 800x76
RenderBody {BODY} at (8,8) size 784x52
RenderBlock (anonymous) at (0,0) size 784x18
layer at (0,0) size 785x1813
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x600
+layer at (0,0) size 785x1813
RenderBlock {HTML} at (0,0) size 785x600
RenderBody {BODY} at (8,8) size 769x584
RenderText {#text} at (0,0) size 21x18
-1bec2a2cd4977686d9d5a1e056c8fdc2
\ No newline at end of file
+904b2a329a83e47c32af9dde9b082774
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x103
- RenderBlock {HTML} at (0,0) size 800x103
- RenderBody {BODY} at (8,8) size 784x87
- RenderTable {TABLE} at (0,0) size 130x87
- RenderTableSection {TBODY} at (0,0) size 130x87
- RenderTableRow {TR} at (0,2) size 130x83
- RenderTableCell {TD} at (2,2) size 126x83 [r=0 c=0 rs=1 cs=1]
+layer at (0,0) size 800x47
+ RenderBlock {HTML} at (0,0) size 800x47
+ RenderBody {BODY} at (8,8) size 784x31
+ RenderTable {TABLE} at (0,0) size 130x31
+ RenderTableSection {TBODY} at (0,0) size 130x31
+ RenderTableRow {TR} at (0,2) size 130x27
+ RenderTableCell {TD} at (2,2) size 126x27 [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (100,1) size 25x25
RenderImage {IMG} at (0,0) size 77x77
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x8
+layer at (0,0) size 800x136
RenderBlock {HTML} at (0,0) size 800x8
RenderBody {BODY} at (8,8) size 784x0 [bgcolor=#FFFFFF]
RenderTable {TABLE} at (0,0) size 86x123
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x8
+layer at (0,0) size 800x62
RenderBlock {html} at (0,0) size 800x8
RenderBody {body} at (8,8) size 784x0
RenderBlock (floating) {float} at (0,0) size 157x54 [bgcolor=#FF0000]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x8
+layer at (0,0) size 800x36
RenderBlock {html} at (0,0) size 800x8
RenderBody {body} at (8,8) size 784x0
RenderTable {table} at (0,0) size 288x28 [border: (1px outset #808080)]
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x8
+layer at (0,0) size 800x36
RenderBlock {html} at (0,0) size 800x8
RenderBody {body} at (8,8) size 784x0
RenderTable {table} at (487,0) size 297x28 [border: (1px outset #808080)]
-034076c6256aecd14026c7637d29d4ff
\ No newline at end of file
+85c7b05d885bbac635c8b940fbcc4e1b
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x316
- RenderBlock {HTML} at (0,0) size 800x316
- RenderBody {BODY} at (8,8) size 784x300
- RenderTable {TABLE} at (0,0) size 200x300 [bgcolor=#0000FF]
- RenderTableSection {TBODY} at (0,0) size 200x300
- RenderTableRow {TR} at (0,0) size 200x300
- RenderTableCell {TD} at (0,141) size 59x18 [r=0 c=0 rs=1 cs=1]
+layer at (0,0) size 800x116
+ RenderBlock {HTML} at (0,0) size 800x116
+ RenderBody {BODY} at (8,8) size 784x100
+ RenderTable {TABLE} at (0,0) size 200x100 [bgcolor=#0000FF]
+ RenderTableSection {TBODY} at (0,0) size 200x100
+ RenderTableRow {TR} at (0,0) size 200x100
+ RenderTableCell {TD} at (0,41) size 59x18 [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (0,0) size 21x18
text run at (0,0) width 21: "foo"
- RenderTableCell {TD} at (59,0) size 141x300 [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (59,0) size 141x50 [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#008000]
RenderBlock {DIV} at (0,0) size 400x300 [bgcolor=#FF0000]
RenderText {#text} at (0,0) size 8x18
-7452def0f334ebd3b3e4ab06367e8955
\ No newline at end of file
+ce9b6e763a48e26225e6f87c687e24ee
\ No newline at end of file
-layer at (0,0) size 785x619
+layer at (0,0) size 785x612
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x619
- RenderBlock {HTML} at (0,0) size 785x619
- RenderBody {BODY} at (8,8) size 769x603
- RenderTable {TABLE} at (0,0) size 229x603 [border: (1px outset #808080)]
+layer at (0,0) size 785x416
+ RenderBlock {HTML} at (0,0) size 785x416
+ RenderBody {BODY} at (8,8) size 769x400
+ RenderTable {TABLE} at (0,0) size 229x400 [border: (1px outset #808080)]
RenderBlock {CAPTION} at (0,0) size 227x206 [border: (3px solid #FFA500)]
RenderText {#text} at (102,3) size 22x18
text run at (102,3) width 22: "cap"
- RenderTableSection {TBODY} at (1,207) size 227x395
- RenderTableRow {TR} at (0,30) size 227x335
- RenderTableCell {TD} at (30,172) size 53x50 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderTableSection {TBODY} at (1,207) size 227x192
+ RenderTableRow {TR} at (0,30) size 227x132
+ RenderTableCell {TD} at (30,71) size 53x50 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (16,16) size 21x18
text run at (16,16) width 21: "foo"
- RenderTableCell {TD} at (113,30) size 84x335 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (113,78) size 84x84 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (16,16) size 52x52 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 8x18
-e6081f0f652de26f0c095542cc9d5ac3
\ No newline at end of file
+e00ac6458b82189a0b510a2a44bb4089
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x556
- RenderBlock {HTML} at (0,0) size 800x556
- RenderBody {BODY} at (8,8) size 784x540
- RenderTable {TABLE} at (0,0) size 200x540 [bgcolor=#0000FF]
+layer at (0,0) size 800x356
+ RenderBlock {HTML} at (0,0) size 800x356
+ RenderBody {BODY} at (8,8) size 784x340
+ RenderTable {TABLE} at (0,0) size 200x340 [bgcolor=#0000FF]
RenderBlock {CAPTION} at (0,0) size 200x200 [bgcolor=#FFA500]
RenderText {#text} at (89,0) size 22x18
text run at (89,0) width 22: "cap"
- RenderTableSection {TBODY} at (0,200) size 200x340
- RenderTableRow {TR} at (0,0) size 200x340
- RenderTableCell {TD} at (0,141) size 80x58 [bgcolor=#FFFF00] [r=0 c=0 rs=1 cs=1]
+ RenderTableSection {TBODY} at (0,200) size 200x140
+ RenderTableRow {TR} at (0,0) size 200x140
+ RenderTableCell {TD} at (0,41) size 80x58 [bgcolor=#FFFF00] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (20,20) size 21x18
text run at (20,20) width 21: "foo"
- RenderTableCell {TD} at (80,0) size 120x340 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (80,50) size 120x90 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (20,20) size 50x50 [bgcolor=#008000]
RenderBlock {DIV} at (0,0) size 400x300 [bgcolor=#FF0000]
RenderText {#text} at (0,0) size 8x18
-8e7ac76ea28c973ca22bda2328a5d662
\ No newline at end of file
+4d2cc65ae0c74caba21fd04ad66842c0
\ No newline at end of file
-layer at (0,0) size 785x735
+layer at (0,0) size 785x728
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x735
- RenderBlock {HTML} at (0,0) size 785x735
- RenderBody {BODY} at (8,8) size 769x719
- RenderTable {TABLE} at (0,0) size 229x719 [border: (1px outset #808080)]
+layer at (0,0) size 785x532
+ RenderBlock {HTML} at (0,0) size 785x532
+ RenderBody {BODY} at (8,8) size 769x516
+ RenderTable {TABLE} at (0,0) size 229x516 [border: (1px outset #808080)]
RenderBlock {CAPTION} at (0,0) size 227x206 [border: (3px solid #FFA500)]
RenderText {#text} at (102,3) size 22x18
text run at (102,3) width 22: "cap"
- RenderTableSection {TBODY} at (1,207) size 227x511
+ RenderTableSection {TBODY} at (1,207) size 227x308
RenderTableRow {TR} at (0,30) size 227x86
RenderTableCell {TD} at (30,48) size 53x50 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (16,16) size 21x18
RenderBR {BR} at (38,34) size 0x18
RenderText {#text} at (16,52) size 22x18
text run at (16,52) width 22: "zap"
- RenderTableRow {TR} at (0,146) size 227x335
- RenderTableCell {TD} at (30,288) size 53x50 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderTableRow {TR} at (0,146) size 227x132
+ RenderTableCell {TD} at (30,187) size 53x50 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
RenderText {#text} at (16,16) size 21x18
text run at (16,16) width 21: "foo"
- RenderTableCell {TD} at (113,146) size 84x335 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (113,194) size 84x84 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
RenderBlock {DIV} at (16,16) size 52x52 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 8x18
-363abbecc85936d99f10536ed1738d04
\ No newline at end of file
+dca9eded4a80fd5251e2d86eebcafd39
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x529
- RenderBlock {HTML} at (0,0) size 800x529
- RenderBody {BODY} at (8,8) size 784x513
-layer at (8,8) size 22x513 clip at (9,9) size 20x511 scrollWidth 707
- RenderTable {TABLE} at (0,0) size 22x513 [border: (1px outset #808080)]
- RenderTableSection {TBODY} at (1,1) size 20x511
- RenderTableRow {TR} at (0,2) size 20x507
- RenderTableCell {TD} at (2,2) size 16x507 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+layer at (0,0) size 800x38
+ RenderBlock {HTML} at (0,0) size 800x38
+ RenderBody {BODY} at (8,8) size 784x22
+layer at (8,8) size 22x22 clip at (9,9) size 20x20 scrollWidth 707 scrollHeight 507
+ RenderTable {TABLE} at (0,0) size 22x22 [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 20x20
+ RenderTableRow {TR} at (0,2) size 20x16
+ RenderTableCell {TD} at (2,2) size 16x16 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 702x502 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 60x18
-363abbecc85936d99f10536ed1738d04
\ No newline at end of file
+dca9eded4a80fd5251e2d86eebcafd39
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x529
- RenderBlock {HTML} at (0,0) size 800x529
- RenderBody {BODY} at (8,8) size 784x513
- RenderTable {TABLE} at (0,0) size 22x513 [border: (1px outset #808080)]
-layer at (9,9) size 20x511 scrollWidth 707
- RenderTableSection {TBODY} at (1,1) size 20x511
- RenderTableRow {TR} at (0,2) size 20x507
- RenderTableCell {TD} at (2,2) size 16x507 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+layer at (0,0) size 800x38
+ RenderBlock {HTML} at (0,0) size 800x38
+ RenderBody {BODY} at (8,8) size 784x22
+ RenderTable {TABLE} at (0,0) size 22x22 [border: (1px outset #808080)]
+layer at (9,9) size 20x20 scrollWidth 707 scrollHeight 507
+ RenderTableSection {TBODY} at (1,1) size 20x20
+ RenderTableRow {TR} at (0,2) size 20x16
+ RenderTableCell {TD} at (2,2) size 16x16 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 702x502 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 60x18
-363abbecc85936d99f10536ed1738d04
\ No newline at end of file
+f7b5617cc469edc9dfc2a75cf6c05448
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x529
- RenderBlock {HTML} at (0,0) size 800x529
- RenderBody {BODY} at (8,8) size 784x513
- RenderTable {TABLE} at (0,0) size 22x513 [border: (1px outset #808080)]
- RenderTableSection {TBODY} at (1,1) size 20x511
-layer at (9,11) size 20x507
- RenderTableRow {TR} at (0,2) size 20x507
- RenderTableCell {TD} at (2,2) size 16x507 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+layer at (0,0) size 800x38
+ RenderBlock {HTML} at (0,0) size 800x38
+ RenderBody {BODY} at (8,8) size 784x22
+ RenderTable {TABLE} at (0,0) size 22x22 [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 20x20
+layer at (9,11) size 20x16
+ RenderTableRow {TR} at (0,2) size 20x16
+ RenderTableCell {TD} at (2,2) size 16x16 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 702x502 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 60x18
-9dd2a0762ccc745d867fe7f4951673ad
\ No newline at end of file
+3d382b6bf9a1f7ab24606204d2bc232c
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x589
- RenderBlock {HTML} at (0,0) size 800x589
- RenderBody {BODY} at (8,8) size 784x573
- RenderTable {TABLE} at (0,0) size 200x573 [border: (1px outset #808080)]
+layer at (0,0) size 800x397
+ RenderBlock {HTML} at (0,0) size 800x397
+ RenderBody {BODY} at (8,8) size 784x381
+ RenderTable {TABLE} at (0,0) size 200x381 [border: (1px outset #808080)]
RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
RenderText {#text} at (77,3) size 44x37
text run at (77,3) width 44: "cap"
- RenderTableSection {TBODY} at (1,207) size 198x365
- RenderTableRow {TR} at (0,30) size 198x305
- RenderTableCell {TD} at (30,126) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderTableSection {TBODY} at (1,207) size 198x173
+ RenderTableRow {TR} at (0,30) size 198x113
+ RenderTableCell {TD} at (30,30) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (1,1) size 44x111
text run at (1,1) width 43: "foo"
text run at (1,38) width 41: "bar"
text run at (1,75) width 44: "baz"
- RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (114,30) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 16x37
-1874d8a1f9a2d0bb88510dc3c7d0782d
\ No newline at end of file
+4c160e95aa789559e237a137d55b4c85
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x589
- RenderBlock {HTML} at (0,0) size 800x589
- RenderBody {BODY} at (8,8) size 784x573
- RenderTable {TABLE} at (0,0) size 200x573 [border: (1px outset #808080)]
+layer at (0,0) size 800x386
+ RenderBlock {HTML} at (0,0) size 800x386
+ RenderBody {BODY} at (8,8) size 784x370
+ RenderTable {TABLE} at (0,0) size 200x370 [border: (1px outset #808080)]
RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
RenderText {#text} at (77,3) size 44x37
text run at (77,3) width 44: "cap"
- RenderTableSection {TBODY} at (1,207) size 198x365
- RenderTableRow {TR} at (0,30) size 198x305
- RenderTableCell {TD} at (30,166) size 54x32 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderTableSection {TBODY} at (1,207) size 198x162
+ RenderTableRow {TR} at (0,30) size 198x102
+ RenderTableCell {TD} at (30,65) size 54x32 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (1,1) size 38x30
text run at (1,1) width 38: "foo bar"
text run at (1,16) width 19: "baz"
- RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (114,78) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 16x37
-e63da4ef64e59c683071748ac1829b6c
\ No newline at end of file
+aa93dfeb51e6c55f6527c7bd8e73c430
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x589
- RenderBlock {HTML} at (0,0) size 800x589
- RenderBody {BODY} at (8,8) size 784x573
- RenderTable {TABLE} at (0,0) size 200x573 [border: (1px outset #808080)]
+layer at (0,0) size 800x386
+ RenderBlock {HTML} at (0,0) size 800x386
+ RenderBody {BODY} at (8,8) size 784x370
+ RenderTable {TABLE} at (0,0) size 200x370 [border: (1px outset #808080)]
RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
RenderText {#text} at (77,3) size 44x37
text run at (77,3) width 44: "cap"
- RenderTableSection {TBODY} at (1,207) size 198x365
- RenderTableRow {TR} at (0,30) size 198x305
- RenderTableCell {TD} at (30,166) size 54x32 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderTableSection {TBODY} at (1,207) size 198x162
+ RenderTableRow {TR} at (0,30) size 198x102
+ RenderTableCell {TD} at (30,65) size 54x32 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (1,1) size 38x30
text run at (1,1) width 38: "foo bar"
text run at (1,16) width 19: "baz"
- RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (114,78) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 7x15
-5daf609f4be509c7fad304416a5cf780
\ No newline at end of file
+fe62a0ba8b647113b665df2628b96dcb
\ No newline at end of file
-layer at (0,0) size 785x666
+layer at (0,0) size 785x685
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x666
- RenderBlock {HTML} at (0,0) size 785x666
- RenderBody {BODY} at (8,8) size 769x650
- RenderTable {TABLE} at (0,0) size 200x650 [border: (1px outset #808080)]
+layer at (0,0) size 785x474
+ RenderBlock {HTML} at (0,0) size 785x474
+ RenderBody {BODY} at (8,8) size 769x458
+ RenderTable {TABLE} at (0,0) size 200x458 [border: (1px outset #808080)]
RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
RenderText {#text} at (77,3) size 44x37
text run at (77,3) width 44: "cap"
- RenderTableSection {TBODY} at (1,207) size 198x442
+ RenderTableSection {TBODY} at (1,207) size 198x250
RenderTableRow {TR} at (0,30) size 198x47
RenderTableCell {TD} at (30,45) size 54x17 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (1,1) size 18x15
RenderBR {BR} at (20,16) size 0x15
RenderText {#text} at (1,31) size 19x15
text run at (1,31) width 19: "zap"
- RenderTableRow {TR} at (0,107) size 198x305
- RenderTableCell {TD} at (30,203) size 54x113 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+ RenderTableRow {TR} at (0,107) size 198x113
+ RenderTableCell {TD} at (30,107) size 54x113 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
RenderText {#text} at (1,1) size 44x111
text run at (1,1) width 43: "foo"
text run at (1,38) width 41: "bar"
text run at (1,75) width 44: "baz"
- RenderTableCell {TD} at (114,107) size 54x305 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (114,166) size 54x54 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 16x37
-27f1de52df50405a3062410ef89621ad
\ No newline at end of file
+e7916950ef324aa58f51045b23df8381
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x366
- RenderBlock {HTML} at (0,0) size 800x366
- RenderBody {BODY} at (8,8) size 784x350
- RenderTable {TABLE} at (0,0) size 200x350 [border: (1px outset #808080)]
+layer at (0,0) size 800x163
+ RenderBlock {HTML} at (0,0) size 800x163
+ RenderBody {BODY} at (8,8) size 784x147
+ RenderTable {TABLE} at (0,0) size 200x147 [border: (1px outset #808080)]
RenderBlock {CAPTION} at (0,0) size 198x43 [border: (3px solid #FFA500)]
RenderText {#text} at (77,3) size 44x37
text run at (77,3) width 44: "cap"
- RenderTableSection {TBODY} at (1,44) size 198x305
- RenderTableRow {TR} at (0,0) size 198x305
- RenderTableCell {TD} at (0,114) size 144x76 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderTableSection {TBODY} at (1,44) size 198x102
+ RenderTableRow {TR} at (0,0) size 198x102
+ RenderTableCell {TD} at (0,13) size 144x76 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (1,1) size 92x74
text run at (1,1) width 92: "foo bar"
text run at (1,38) width 44: "baz"
- RenderTableCell {TD} at (144,0) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (144,48) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 16x37
-4d8c3409c239129ac7a9f69134e9f1d7
\ No newline at end of file
+9932242894c2a0c1ee5512d49c64c56d
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x426
- RenderBlock {HTML} at (0,0) size 800x426
- RenderBody {BODY} at (8,8) size 784x410
- RenderTable {TABLE} at (0,0) size 200x410 [border: (1px outset #808080)]
+layer at (0,0) size 800x234
+ RenderBlock {HTML} at (0,0) size 800x234
+ RenderBody {BODY} at (8,8) size 784x218
+ RenderTable {TABLE} at (0,0) size 200x218 [border: (1px outset #808080)]
RenderBlock {CAPTION} at (0,0) size 198x43 [border: (3px solid #FFA500)]
RenderText {#text} at (77,3) size 44x37
text run at (77,3) width 44: "cap"
- RenderTableSection {TBODY} at (1,44) size 198x365
- RenderTableRow {TR} at (0,30) size 198x305
- RenderTableCell {TD} at (30,126) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderTableSection {TBODY} at (1,44) size 198x173
+ RenderTableRow {TR} at (0,30) size 198x113
+ RenderTableCell {TD} at (30,30) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (1,1) size 44x111
text run at (1,1) width 43: "foo"
text run at (1,38) width 41: "bar"
text run at (1,75) width 44: "baz"
- RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (114,89) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 16x37
-d7d6fcd1c1a085add192501ac38a1206
\ No newline at end of file
+ecac3024fc833dc8fa265548836816a0
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x589
- RenderBlock {HTML} at (0,0) size 800x589
- RenderBody {BODY} at (8,8) size 784x573
- RenderTable {TABLE} at (0,0) size 200x573 [border: (1px outset #808080)]
+layer at (0,0) size 800x386
+ RenderBlock {HTML} at (0,0) size 800x386
+ RenderBody {BODY} at (8,8) size 784x370
+ RenderTable {TABLE} at (0,0) size 200x370 [border: (1px outset #808080)]
RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
RenderText {#text} at (77,3) size 44x37
text run at (77,3) width 44: "cap"
- RenderTableSection {TBODY} at (1,207) size 198x365
- RenderTableRow {TR} at (0,30) size 198x305
- RenderTableCell {TD} at (30,163) size 54x38 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderTableSection {TBODY} at (1,207) size 198x162
+ RenderTableRow {TR} at (0,30) size 198x102
+ RenderTableCell {TD} at (30,62) size 54x38 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (1,1) size 45x36
text run at (1,1) width 45: "foo bar"
text run at (1,19) width 22: "baz"
- RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (114,78) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 8x18
-560d8103342d139c584cf15a2921d534
\ No newline at end of file
+f1f156f4a8fa8c525e2b94002cbce377
\ No newline at end of file
-layer at (0,0) size 785x705
+layer at (0,0) size 785x724
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x705
- RenderBlock {HTML} at (0,0) size 785x705
- RenderBody {BODY} at (8,8) size 769x689
- RenderTable {TABLE} at (0,0) size 200x689 [border: (1px outset #808080)]
+layer at (0,0) size 785x513
+ RenderBlock {HTML} at (0,0) size 785x513
+ RenderBody {BODY} at (8,8) size 769x497
+ RenderTable {TABLE} at (0,0) size 200x497 [border: (1px outset #808080)]
RenderBlock {CAPTION} at (0,0) size 198x206 [border: (3px solid #FFA500)]
RenderText {#text} at (77,3) size 44x37
text run at (77,3) width 44: "cap"
RenderBR {BR} at (23,19) size 0x18
RenderText {#text} at (1,37) size 22x18
text run at (1,37) width 22: "zap"
- RenderTableSection {TBODY} at (1,323) size 198x365
- RenderTableRow {TR} at (0,30) size 198x305
- RenderTableCell {TD} at (30,126) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+ RenderTableSection {TBODY} at (1,323) size 198x173
+ RenderTableRow {TR} at (0,30) size 198x113
+ RenderTableCell {TD} at (30,30) size 54x113 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (1,1) size 44x111
text run at (1,1) width 43: "foo"
text run at (1,38) width 41: "bar"
text run at (1,75) width 44: "baz"
- RenderTableCell {TD} at (114,30) size 54x305 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (114,89) size 54x54 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (1,1) size 52x52 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 402x302 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 16x37
-7202a1cd6cca2d6cfb405d3c3133e366
\ No newline at end of file
+268da7b88265f34521c21e4c5af04aa9
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x429
- RenderBlock {HTML} at (0,0) size 800x429
- RenderBody {BODY} at (8,8) size 784x413
- RenderTable {TABLE} at (0,0) size 200x413 [border: (1px outset #808080)]
- RenderTableSection {TBODY} at (1,1) size 198x411
- RenderTableRow {TR} at (0,2) size 198x407
- RenderTableCell {TD} at (2,194) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+layer at (0,0) size 800x126
+ RenderBlock {HTML} at (0,0) size 800x126
+ RenderBody {BODY} at (8,8) size 784x110
+ RenderTable {TABLE} at (0,0) size 200x110 [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 198x108
+ RenderTableRow {TR} at (0,2) size 198x104
+ RenderTableCell {TD} at (2,43) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (2,2) size 21x18
text run at (2,2) width 21: "foo"
- RenderTableCell {TD} at (121,2) size 75x407 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (121,46) size 75x16 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (61,2) size 12x12 [border: (1px solid #008000)]
RenderBlock {DIV} at (-291,1) size 302x402 [border: (1px solid #FF0000)]
RenderText {#text} at (293,1) size 8x18
-ff1c7f3e9940d48f979950ad2a6e309d
\ No newline at end of file
+86c435aa1e700cc3c7911ce3449e76fb
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x429
- RenderBlock {HTML} at (0,0) size 800x429
- RenderBody {BODY} at (8,8) size 784x413
- RenderTable {TABLE} at (0,0) size 200x413 [border: (1px outset #808080)]
- RenderTableSection {TBODY} at (1,1) size 198x411
- RenderTableRow {TR} at (0,2) size 198x407
- RenderTableCell {TD} at (2,194) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+layer at (0,0) size 800x126
+ RenderBlock {HTML} at (0,0) size 800x126
+ RenderBody {BODY} at (8,8) size 784x110
+ RenderTable {TABLE} at (0,0) size 200x110 [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 198x108
+ RenderTableRow {TR} at (0,2) size 198x104
+ RenderTableCell {TD} at (2,43) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (2,2) size 21x18
text run at (2,2) width 21: "foo"
- RenderTableCell {TD} at (121,2) size 75x407 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (121,90) size 75x16 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 302x402 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 8x18
-ff1c7f3e9940d48f979950ad2a6e309d
\ No newline at end of file
+0f0df87821767c6540ad11435828fa94
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x429
- RenderBlock {HTML} at (0,0) size 800x429
- RenderBody {BODY} at (8,8) size 784x413
- RenderTable {TABLE} at (0,0) size 200x413 [border: (1px outset #808080)]
- RenderTableSection {TBODY} at (1,1) size 198x411
- RenderTableRow {TR} at (0,2) size 198x407
- RenderTableCell {TD} at (2,194) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+layer at (0,0) size 800x126
+ RenderBlock {HTML} at (0,0) size 800x126
+ RenderBody {BODY} at (8,8) size 784x110
+ RenderTable {TABLE} at (0,0) size 200x110 [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 198x108
+ RenderTableRow {TR} at (0,2) size 198x104
+ RenderTableCell {TD} at (2,43) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (2,2) size 21x18
text run at (2,2) width 21: "foo"
- RenderTableCell {TD} at (121,2) size 75x407 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (121,46) size 75x16 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 302x402 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 8x18
-ff1c7f3e9940d48f979950ad2a6e309d
\ No newline at end of file
+337ee2a5b4b4f2cd5e4043b2ff7f021b
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x429
- RenderBlock {HTML} at (0,0) size 800x429
- RenderBody {BODY} at (8,8) size 784x413
- RenderTable {TABLE} at (0,0) size 200x413 [border: (1px outset #808080)]
- RenderTableSection {TBODY} at (1,1) size 198x411
- RenderTableRow {TR} at (0,2) size 198x407
- RenderTableCell {TD} at (2,194) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+layer at (0,0) size 800x126
+ RenderBlock {HTML} at (0,0) size 800x126
+ RenderBody {BODY} at (8,8) size 784x110
+ RenderTable {TABLE} at (0,0) size 200x110 [border: (1px outset #808080)]
+ RenderTableSection {TBODY} at (1,1) size 198x108
+ RenderTableRow {TR} at (0,2) size 198x104
+ RenderTableCell {TD} at (2,43) size 117x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
RenderText {#text} at (2,2) size 21x18
text run at (2,2) width 21: "foo"
- RenderTableCell {TD} at (121,2) size 75x407 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+ RenderTableCell {TD} at (121,2) size 75x16 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
RenderBlock {DIV} at (2,2) size 12x12 [border: (1px solid #008000)]
RenderBlock {DIV} at (1,1) size 302x402 [border: (1px solid #FF0000)]
RenderText {#text} at (1,1) size 8x18
+2007-02-12 Mitz Pettel <mitz@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ - fix http://bugs.webkit.org/show_bug.cgi?id=12123
+ REGRESSION: Incomplete repaint of floats' overflows
+
+ Tests: fast/repaint/float-overflow.html
+ fast/repaint/float-overflow-right.html
+
+ - fix http://bugs.webkit.org/show_bug.cgi?id=10116
+ REGRESSION: Menu item drawn 2 pixels short on WWDC 2006 Attendee Site
+
+ 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 Darin Adler <darin@apple.com>
Reviewed by Hyatt.
} else if (!curr->object()->isCompact() && (!curr->object()->isListMarker() || static_cast<RenderListMarker*>(curr->object())->isInside())) {
x += curr->object()->marginLeft();
curr->setXPos(x);
- leftPosition = min(x, leftPosition);
- rightPosition = max(x + curr->width(), rightPosition);
+ leftPosition = min(x + curr->object()->overflowLeft(false), leftPosition);
+ rightPosition = max(x + curr->object()->overflowWidth(false), rightPosition);
x += curr->width() + curr->object()->marginRight();
}
}
return;
}
- IntRect oldBounds, oldFullBounds;
+ IntRect oldBounds;
bool checkForRepaint = checkForRepaintDuringLayout();
if (checkForRepaint) {
- getAbsoluteRepaintRectIncludingFloats(oldBounds, oldFullBounds);
+ oldBounds = getAbsoluteRepaintRect();
oldBounds.move(view()->layoutDelta());
- oldFullBounds.move(view()->layoutDelta());
}
int oldWidth = m_width;
if (previousHeight != m_height)
relayoutChildren = true;
- // Table cells need to grow to accommodate blocks that have overflowed content.
- if (m_overflowHeight > m_height && !hasOverflowClip() && expandsToEncloseOverflow())
- m_height = m_overflowHeight + borderBottom() + paddingBottom();
-
// Some classes of objects (floats and fieldsets with no specified heights and table cells) expand to encompass
// overhanging floats.
if (hasOverhangingFloats() && expandsToEncloseOverhangingFloats()) {
m_height += borderBottom() + paddingBottom();
}
+ if ((isTableCell() || isInline() || isFloatingOrPositioned() || isRoot()) && !hasOverflowClip() && !hasControlClip())
+ addVisualOverflow(floatRect());
+
layoutPositionedObjects(relayoutChildren || isRoot());
positionListMarker();
// Repaint with our new bounds if they are different from our old bounds.
bool didFullRepaint = false;
if (checkForRepaint)
- didFullRepaint = repaintAfterLayoutIfNeeded(oldBounds, oldFullBounds);
+ didFullRepaint = repaintAfterLayoutIfNeeded(oldBounds);
if (!didFullRepaint && !repaintRect.isEmpty()) {
// FIXME: Deal with multiple column repainting. We have to split the repaint
// rect up into multiple rects if it spans columns.
// Now place the child in the correct horizontal position
determineHorizontalPosition(child);
- // Update our top overflow in case the child spills out the top of the block.
- m_overflowTop = min(m_overflowTop, child->yPos() + child->overflowTop(false));
-
// Update our height now that the child has been placed in the correct position.
m_height += child->height();
if (child->style()->marginBottomCollapse() == MSEPARATE) {
m_height += child->marginBottom();
marginInfo.clearMargin();
}
- int overflowDelta = child->overflowHeight(false) - child->height();
- if (m_height + overflowDelta > m_overflowHeight)
- m_overflowHeight = m_height + overflowDelta;
-
// If the child has overhanging floats that intrude into following siblings (or possibly out
// of this block), then the parent gets notified of the floats now.
addOverhangingFloats(static_cast<RenderBlock *>(child), -child->xPos(), -child->yPos());
- // See if this child has made our overflow need to grow.
+ // Update our overflow in case the child spills out the block.
+ m_overflowTop = min(m_overflowTop, child->yPos() + child->overflowTop(false));
+ m_overflowHeight = max(m_overflowHeight, m_height + child->overflowHeight(false) - child->height());
m_overflowWidth = max(child->xPos() + child->overflowWidth(false), m_overflowWidth);
m_overflowLeft = min(child->xPos() + child->overflowLeft(false), m_overflowLeft);
}
}
-void RenderBlock::getAbsoluteRepaintRectIncludingFloats(IntRect& bounds, IntRect& fullBounds)
-{
- bounds = fullBounds = getAbsoluteRepaintRect();
-
- // Include any overhanging floats (if we know we're the one to paint them).
- // We null-check m_floatingObjects here to catch any cases where m_height ends up negative
- // for some reason. I think I've caught all those cases, but this way we stay robust and don't
- // crash.
- if (hasOverhangingFloats() && m_floatingObjects) {
- FloatingObject* r;
- DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects);
- for ( ; (r = it.current()); ++it) {
- // Only repaint the object if our noPaint flag isn't set and if it isn't in
- // its own layer.
- if (!r->noPaint && !r->node->layer()) {
- IntRect childRect, childFullRect;
- r->node->getAbsoluteRepaintRectIncludingFloats(childRect, childFullRect);
- fullBounds.unite(childFullRect);
- }
- }
- }
-}
-
void RenderBlock::repaintOverhangingFloats(bool paintAllDescendants)
{
// Repaint any overhanging floats (if we know we're the one to paint them).
IntRect overflowBox = overflowRect(false);
overflowBox.inflate(maximalOutlineSize(paintInfo.phase));
overflowBox.move(tx, ty);
- bool intersectsOverflowBox = overflowBox.intersects(paintInfo.rect);
- if (!intersectsOverflowBox) {
- // Check floats next.
- if (paintInfo.phase != PaintPhaseFloat && paintInfo.phase != PaintPhaseSelection)
- return;
- IntRect floatBox = floatRect();
- floatBox.inflate(maximalOutlineSize(paintInfo.phase));
- floatBox.move(tx, ty);
- if (!floatBox.intersects(paintInfo.rect))
- return;
- }
+ if (!overflowBox.intersects(paintInfo.rect))
+ return;
}
// Push a clip.
IntRect RenderBlock::floatRect() const
{
- IntRect result(borderBox());
+ IntRect result;
if (!m_floatingObjects || hasOverflowClip())
return result;
FloatingObject* r;
DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects);
for (; (r = it.current()); ++it) {
if (!r->noPaint && !r->node->layer()) {
- IntRect childRect = unionRect(r->node->floatRect(), r->node->overflowRect());
+ IntRect childRect = r->node->overflowRect(false);
childRect.move(r->left + r->node->marginLeft(), r->startY + r->node->marginTop());
result.unite(childRect);
}
void RenderBlock::addOverhangingFloats(RenderBlock* child, int xoff, int yoff)
{
// Prevent floats from being added to the canvas by the root element, e.g., <html>.
- if (child->hasOverflowClip() || !child->hasOverhangingFloats() || child->isRoot())
- return;
-
- // We think that we must be in a bad state if child->m_floatingObjects is nil at this point,
- // so we assert on Debug builds and nil-check Release builds.
- ASSERT(child->m_floatingObjects);
- if (!child->m_floatingObjects)
+ if (child->hasOverflowClip() || !child->containsFloats() || child->isRoot())
return;
+ // Floats that will remain the child's responsiblity to paint should factor into its
+ // visual overflow.
+ IntRect floatsOverflowRect;
DeprecatedPtrListIterator<FloatingObject> it(*child->m_floatingObjects);
- for (FloatingObject *r; (r = it.current()); ++it) {
+ for (FloatingObject* r; (r = it.current()); ++it) {
if (child->yPos() + r->endY > height()) {
- // The object may already be in our list. Check for it up front to avoid
- // creating duplicate entries.
- FloatingObject* f = 0;
- if (m_floatingObjects) {
- DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects);
- while ((f = it.current())) {
- if (f->node == r->node) break;
- ++it;
- }
- }
-
// If the object is not in the list, we add it now.
- if (!f) {
+ if (!containsFloat(r->node)) {
FloatingObject *floatingObj = new FloatingObject(r->type());
floatingObj->startY = r->startY - yoff;
floatingObj->endY = r->endY - yoff;
m_floatingObjects->append(floatingObj);
}
}
+ if (!r->noPaint && !r->node->layer()) {
+ IntRect floatOverflowRect = r->node->overflowRect(false);
+ floatOverflowRect.move(r->left + r->node->marginLeft(), r->startY + r->node->marginTop());
+ floatsOverflowRect.unite(floatOverflowRect);
+ }
}
+ child->addVisualOverflow(floatsOverflowRect);
}
void RenderBlock::addIntrudingFloats(RenderBlock* prev, int xoff, int yoff)
return result;
}
+void RenderBlock::addVisualOverflow(const IntRect& r)
+{
+ if (r.isEmpty())
+ return;
+ m_overflowLeft = min(m_overflowLeft, r.x());
+ m_overflowWidth = max(m_overflowWidth, r.right());
+ m_overflowTop = min(m_overflowTop, r.y());
+ m_overflowHeight = max(m_overflowHeight, r.bottom());
+}
+
bool RenderBlock::isPointInScrollbar(HitTestResult& result, int _x, int _y, int _tx, int _ty)
{
if (!scrollsOverflow())
// Check if we need to do anything at all.
IntRect overflowBox = overflowRect(false);
overflowBox.move(tx, ty);
- bool insideOverflowBox = overflowBox.contains(_x, _y);
- if (!insideOverflowBox) {
- // Check floats next.
- if (hitTestAction != HitTestFloat)
- return false;
- IntRect floatBox = floatRect();
- floatBox.move(tx, ty);
- if (!floatBox.contains(_x, _y))
- return false;
- }
+ if (!overflowBox.contains(_x, _y))
+ return false;
}
if (isPointInScrollbar(result, _x, _y, tx, ty)) {
virtual void setOverflowHeight(int h) { m_overflowHeight = h; }
virtual void setOverflowWidth(int w) { m_overflowWidth = w; }
+ void addVisualOverflow(const IntRect&);
+
virtual bool isSelfCollapsingBlock() const;
virtual bool isTopMarginQuirk() const { return m_topMarginQuirk; }
virtual bool isBottomMarginQuirk() const { return m_bottomMarginQuirk; }
virtual void repaintObjectsBeforeLayout();
virtual void repaintOverhangingFloats(bool paintAllDescendants);
- virtual void getAbsoluteRepaintRectIncludingFloats(IntRect& bounds, IntRect& fullBounds);
virtual void setStyle(RenderStyle*);
int floatBottom() const;
inline int leftBottom();
inline int rightBottom();
- virtual IntRect floatRect() const;
virtual int lineWidth(int y) const;
virtual int lowestPosition(bool includeOverflowInterior = true, bool includeSelf = true) const;
void adjustPointToColumnContents(IntPoint&) const;
protected:
+ IntRect floatRect() const;
void newLine();
virtual bool hasLineIfEmpty() const;
int m_maxBottomPosMargin;
int m_maxBottomNegMargin;
- // How much content overflows out of our block vertically or horizontally (all we support
- // for now is spillage out of the bottom and the right, which are the common cases).
- // FIXME: Generalize to work with top and left as well.
+ // How much content overflows out of our block vertically or horizontally.
int m_overflowHeight;
int m_overflowWidth;
-
- // Left and top overflow. Does not affect scrolling dimensions, but we do at least use it
- // when dirty rect checking and hit testing.
int m_overflowLeft;
int m_overflowTop;
// Repaint with our new bounds if they are different from our old bounds.
if (checkForRepaint)
- repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
+ repaintAfterLayoutIfNeeded(oldBounds);
setNeedsLayout(false);
}
}
placeChild(child, xPos, childY);
+
+ if (child->isRenderBlock())
+ static_cast<RenderBlock*>(child)->addVisualOverflow(static_cast<RenderBlock*>(child)->floatRect());
+
m_overflowHeight = max(m_overflowHeight, childY + child->overflowHeight(false));
m_overflowTop = min(m_overflowTop, child->yPos() + child->overflowTop(false));
placeChild(child, childX, m_height);
m_height += child->height() + child->marginBottom();
+ if (child->isRenderBlock())
+ static_cast<RenderBlock*>(child)->addVisualOverflow(static_cast<RenderBlock*>(child)->floatRect());
+
// See if this child has made our overflow need to grow.
m_overflowWidth = max(child->xPos() + child->overflowWidth(false), m_overflowWidth);
m_overflowLeft = min(child->xPos() + child->overflowLeft(false), m_overflowLeft);
m_absoluteBounds = getAbsoluteRepaintRect();
if (checkForRepaint)
- repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
+ repaintAfterLayoutIfNeeded(oldBounds);
setNeedsLayout(false);
}
calcWidth();
calcHeight();
if (checkForRepaint)
- repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
+ repaintAfterLayoutIfNeeded(oldBounds);
setNeedsLayout(false);
}
calcHeight();
if (checkForRepaint)
- repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
+ repaintAfterLayoutIfNeeded(oldBounds);
setNeedsLayout(false);
}
if (m_hasVisibleContent) {
int x, y;
m_object->absolutePosition(x, y);
- IntRect newRect, newFullRect;
- m_object->getAbsoluteRepaintRectIncludingFloats(newRect, newFullRect);
+ IntRect newRect = m_object->getAbsoluteRepaintRect();
if (checkForRepaint) {
RenderView *c = m_object->view();
if (c && !c->printing()) {
bool didMove = x != m_repaintX || y != m_repaintY;
if (!didMove && !m_repaintOverflowOnResize)
- m_object->repaintAfterLayoutIfNeeded(m_repaintRect, m_fullRepaintRect);
+ m_object->repaintAfterLayoutIfNeeded(m_repaintRect);
else if (didMove || newRect != m_repaintRect) {
- c->repaintViewRectangle(m_fullRepaintRect);
- c->repaintViewRectangle(newFullRect);
+ c->repaintViewRectangle(m_repaintRect);
+ c->repaintViewRectangle(newRect);
}
}
}
m_repaintRect = newRect;
- m_fullRepaintRect = newFullRect;
m_repaintX = x;
m_repaintY = y;
} else {
m_repaintRect = IntRect();
- m_fullRepaintRect = IntRect();
}
for (RenderLayer* child = firstChild(); child; child = child->nextSibling())
IntRect overflowRect = renderer()->overflowRect(false);
if (bbox != overflowRect)
result.unite(overflowRect);
- IntRect floatRect = renderer()->floatRect();
- if (bbox != floatRect)
- result.unite(floatRect);
// We have to adjust the x/y of this result so that it is in the coordinate space of the layer.
// We also have to add in borderTopExtra here, since borderBox(), in order to play well with methods like
RenderLayer* m_last;
IntRect m_repaintRect; // Cached repaint rects. Used by layout.
- IntRect m_fullRepaintRect;
int m_repaintX;
int m_repaintY;
view->repaintViewRectangle(absRect, immediate);
}
-bool RenderObject::repaintAfterLayoutIfNeeded(const IntRect& oldBounds, const IntRect& oldFullBounds)
+bool RenderObject::repaintAfterLayoutIfNeeded(const IntRect& oldBounds)
{
RenderView* v = view();
if (v->printing())
return false; // Don't repaint if we're printing.
- IntRect newBounds, newFullBounds;
- getAbsoluteRepaintRectIncludingFloats(newBounds, newFullBounds);
+ IntRect newBounds = getAbsoluteRepaintRect();
if (newBounds == oldBounds && !selfNeedsLayout())
return false;
bool fullRepaint = selfNeedsLayout() || newBounds.location() != oldBounds.location() || mustRepaintBackgroundOrBorder();
if (fullRepaint) {
- v->repaintViewRectangle(oldFullBounds);
+ v->repaintViewRectangle(oldBounds);
if (newBounds != oldBounds)
- v->repaintViewRectangle(newFullBounds);
+ v->repaintViewRectangle(newBounds);
return true;
}
return IntRect();
}
-void RenderObject::getAbsoluteRepaintRectIncludingFloats(IntRect& bounds, IntRect& fullBounds)
-{
- bounds = fullBounds = getAbsoluteRepaintRect();
-}
-
void RenderObject::computeAbsoluteRepaintRect(IntRect& r, bool f)
{
if (parent())
void repaintRectangle(const IntRect&, bool immediate = false);
// Repaint only if our old bounds and new bounds are different.
- bool repaintAfterLayoutIfNeeded(const IntRect& oldBounds, const IntRect& oldFullBounds);
+ bool repaintAfterLayoutIfNeeded(const IntRect& oldBounds);
// Repaint only if the object moved.
virtual void repaintDuringLayoutIfMoved(const IntRect& rect);
IntRect getAbsoluteRepaintRectWithOutline(int ow);
- virtual void getAbsoluteRepaintRectIncludingFloats(IntRect& bounds, IntRect& boundsWithChildren);
-
// Given a rect in the object's coordinate space, this method converts the rectangle to the view's
// coordinate space.
virtual void computeAbsoluteRepaintRect(IntRect&, bool fixed = false);
virtual bool containsFloat(RenderObject*) { return false; }
virtual bool hasOverhangingFloats() { return false; }
virtual bool expandsToEncloseOverhangingFloats() const { return isFloating() && style()->height().isAuto(); }
- virtual IntRect floatRect() const { return borderBox(); }
-
- virtual bool expandsToEncloseOverflow() const { return false; }
virtual void removePositionedObjects(RenderBlock*) { }
setHeight(m_absoluteBounds.height());
if (selfNeedsLayout() && checkForRepaint)
- repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
+ repaintAfterLayoutIfNeeded(oldBounds);
setNeedsLayout(false);
}
m_absoluteBounds = getAbsoluteRepaintRect();
if (selfNeedsLayout() && checkForRepaint)
- repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
+ repaintAfterLayoutIfNeeded(oldBounds);
setNeedsLayout(false);
}
bool repainted = false;
if (checkForRepaint)
- repainted = repaintAfterLayoutIfNeeded(oldBounds, oldBounds);
+ repainted = repaintAfterLayoutIfNeeded(oldBounds);
setNeedsLayout(false);
}
}
IntRect oldBounds;
- IntRect oldFullBounds;
bool checkForRepaint = checkForRepaintDuringLayout();
if (checkForRepaint) {
- getAbsoluteRepaintRectIncludingFloats(oldBounds, oldFullBounds);
+ oldBounds = getAbsoluteRepaintRect();
oldBounds.move(view()->layoutDelta());
- oldFullBounds.move(view()->layoutDelta());
}
m_height = 0;
bool didFullRepaint = true;
// Repaint with our new bounds if they are different from our old bounds.
if (checkForRepaint)
- didFullRepaint = repaintAfterLayoutIfNeeded(oldBounds, oldFullBounds);
+ didFullRepaint = repaintAfterLayoutIfNeeded(oldBounds);
if (!didFullRepaint && sectionMoved) {
IntRect repaintRect(m_overflowLeft, movedSectionTop, m_overflowWidth - m_overflowLeft, m_overflowHeight - movedSectionTop);
if (FrameView* frameView = view()->frameView())
virtual void setStyle(RenderStyle*);
virtual bool expandsToEncloseOverhangingFloats() const { return true; }
- virtual bool expandsToEncloseOverflow() const { return true; }
int borderLeft() const;
int borderRight() const;